Changeset 12900
- Timestamp:
- 06/29/09 07:37:49 (7 months ago)
- Files:
-
- vtigercrm/branches/5.1/Smarty/templates/Reports.tpl (modified) (1 diff)
- vtigercrm/branches/5.1/include/js/en_us.lang.js (modified) (1 diff)
- vtigercrm/branches/5.1/modules/Reports/AdvancedFilter.php (modified) (2 diffs)
- vtigercrm/branches/5.1/modules/Reports/ReportColumns.php (modified) (2 diffs)
- vtigercrm/branches/5.1/modules/Reports/ReportGrouping.php (modified) (4 diffs)
- vtigercrm/branches/5.1/modules/Reports/ReportRun.php (modified) (4 diffs)
- vtigercrm/branches/5.1/modules/Reports/Reports.php (modified) (5 diffs)
- vtigercrm/branches/5.1/modules/Reports/Save.php (modified) (1 diff)
- vtigercrm/branches/5.1/modules/Reports/SaveAndRun.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
vtigercrm/branches/5.1/Smarty/templates/Reports.tpl
r12723 r12900 177 177 {literal} 178 178 } 179 else if((getObj('folder_name').value).match(/['" \+]/) || (getObj('folder_desc').value).match(/['"\+]/))180 {181 alert(alert_arr.NO_QUOTES+alert_arr.NAME_DESC);182 return false;183 }179 else if((getObj('folder_name').value).match(/['"<>/\+]/) || (getObj('folder_desc').value).match(/['"<>/\+]/)) 180 { 181 alert(alert_arr.SPECIAL_CHARS+' '+alert_arr.NOT_ALLOWED+alert_arr.NAME_DESC); 182 return false; 183 } 184 184 /*else if((!CharValidation(getObj('folder_name').value,'namespace')) || (!CharValidation(getObj('folder_desc').value,'namespace'))) 185 185 { 186 alert(alert_arr.NO_SPECIAL +alert_arr.NAME_DESC);186 alert(alert_arr.NO_SPECIAL +alert_arr.NAME_DESC); 187 187 return false; 188 188 }*/ vtigercrm/branches/5.1/include/js/en_us.lang.js
r12858 r12900 293 293 RSS: 'RSS', 294 294 Default: 'Default', 295 Notebook: 'Notebook' 295 Notebook: 'Notebook', 296 SPECIAL_CHARS:'\\ / < > + \' " ' 296 297 }; vtigercrm/branches/5.1/modules/Reports/AdvancedFilter.php
r12877 r12900 113 113 function getPrimaryColumns_AdvFilterHTML($module,$selected="") 114 114 { 115 global $ogReport, $app_list_strings, $current_language;115 global $ogReport, $app_list_strings, $current_language; 116 116 $mod_strings = return_module_language($current_language,$module); 117 foreach($ogReport->module_list[$module] as $key=>$value) 118 { 119 if(isset($ogReport->pri_module_columnslist[$module][$key])) 120 { 121 $shtml .= "<optgroup label=\"".$app_list_strings['moduleList'][$module]." ".getTranslatedString($key)."\" class=\"select\" style=\"border:none\">"; 122 foreach($ogReport->pri_module_columnslist[$module][$key] as $field=>$fieldlabel) 117 $block_listed = array(); 118 foreach($ogReport->module_list[$module] as $key=>$value) 119 { 120 if(isset($ogReport->pri_module_columnslist[$module][$value]) && !$block_listed[$value]) 121 { 122 $block_listed[$value] = true; 123 $shtml .= "<optgroup label=\"".$app_list_strings['moduleList'][$module]." ".getTranslatedString($value)."\" class=\"select\" style=\"border:none\">"; 124 foreach($ogReport->pri_module_columnslist[$module][$value] as $field=>$fieldlabel) 125 { 126 if(isset($mod_strings[$fieldlabel])) 123 127 { 124 if(isset($mod_strings[$fieldlabel])) 125 { 126 //fix for ticket 5191 127 $selected = decode_html($selected); 128 $field = decode_html($field); 129 //fix ends 130 if($selected == $field) 131 { 132 $shtml .= "<option selected value=\"".$field."\">".$mod_strings[$fieldlabel]."</option>"; 133 }else 134 { 135 $shtml .= "<option value=\"".$field."\">".$mod_strings[$fieldlabel]."</option>"; 136 } 128 //fix for ticket 5191 129 $selected = decode_html($selected); 130 $field = decode_html($field); 131 //fix ends 132 if($selected == $field) 133 { 134 $shtml .= "<option selected value=\"".$field."\">".$mod_strings[$fieldlabel]."</option>"; 137 135 }else 138 136 { 139 if($selected == $field) 140 { 141 $shtml .= "<option selected value=\"".$field."\">".$fieldlabel."</option>"; 142 }else 143 { 144 $shtml .= "<option value=\"".$field."\">".$fieldlabel."</option>"; 145 } 137 $shtml .= "<option value=\"".$field."\">".$mod_strings[$fieldlabel]."</option>"; 138 } 139 }else 140 { 141 if($selected == $field) 142 { 143 $shtml .= "<option selected value=\"".$field."\">".$fieldlabel."</option>"; 144 }else 145 { 146 $shtml .= "<option value=\"".$field."\">".$fieldlabel."</option>"; 146 147 } 147 148 } 148 } 149 } 150 return $shtml; 149 } 150 } 151 } 152 return $shtml; 151 153 } 152 154 … … 161 163 function getSecondaryColumns_AdvFilterHTML($module,$selected="") 162 164 { 163 global $ogReport; 164 global $app_list_strings; 165 global $current_language; 166 167 if($module != "") 168 { 169 $secmodule = explode(":",$module); 170 for($i=0;$i < count($secmodule) ;$i++) 171 { 172 $mod_strings = return_module_language($current_language,$secmodule[$i]); 173 if(vtlib_isModuleActive($secmodule[$i])){ 174 foreach($ogReport->module_list[$secmodule[$i]] as $key=>$value) 175 { 176 if(isset($ogReport->sec_module_columnslist[$secmodule[$i]][$key])) 177 { 178 $shtml .= "<optgroup label=\"".$app_list_strings['moduleList'][$secmodule[$i]]." ".getTranslatedString($key)."\" class=\"select\" style=\"border:none\">"; 179 foreach($ogReport->sec_module_columnslist[$secmodule[$i]][$key] as $field=>$fieldlabel) 180 { 181 if(isset($mod_strings[$fieldlabel])) 182 { 183 if($selected == $field) 184 { 185 $shtml .= "<option selected value=\"".$field."\">".$mod_strings[$fieldlabel]."</option>"; 186 }else 187 { 188 $shtml .= "<option value=\"".$field."\">".$mod_strings[$fieldlabel]."</option>"; 189 } 165 global $ogReport; 166 global $app_list_strings; 167 global $current_language; 168 169 if($module != "") 170 { 171 $secmodule = explode(":",$module); 172 for($i=0;$i < count($secmodule) ;$i++) 173 { 174 $mod_strings = return_module_language($current_language,$secmodule[$i]); 175 if(vtlib_isModuleActive($secmodule[$i])){ 176 $block_listed = array(); 177 foreach($ogReport->module_list[$secmodule[$i]] as $key=>$value) 178 { 179 if(isset($ogReport->sec_module_columnslist[$secmodule[$i]][$value]) && !$block_listed[$value]) 180 { 181 $block_listed[$value] = true; 182 $shtml .= "<optgroup label=\"".$app_list_strings['moduleList'][$secmodule[$i]]." ".getTranslatedString($value)."\" class=\"select\" style=\"border:none\">"; 183 foreach($ogReport->sec_module_columnslist[$secmodule[$i]][$value] as $field=>$fieldlabel) 184 { 185 if(isset($mod_strings[$fieldlabel])) 186 { 187 if($selected == $field) 188 { 189 $shtml .= "<option selected value=\"".$field."\">".$mod_strings[$fieldlabel]."</option>"; 190 190 }else 191 191 { 192 if($selected == $field) 193 { 194 $shtml .= "<option selected value=\"".$field."\">".$fieldlabel."</option>"; 195 }else 196 { 197 $shtml .= "<option value=\"".$field."\">".$fieldlabel."</option>"; 198 } 192 $shtml .= "<option value=\"".$field."\">".$mod_strings[$fieldlabel]."</option>"; 199 193 } 200 } 201 } 202 } 194 }else 195 { 196 if($selected == $field) 197 { 198 $shtml .= "<option selected value=\"".$field."\">".$fieldlabel."</option>"; 199 }else 200 { 201 $shtml .= "<option value=\"".$field."\">".$fieldlabel."</option>"; 202 } 203 } 204 } 205 } 203 206 } 204 } 205 } 206 return $shtml; 207 } 208 } 209 } 210 return $shtml; 207 211 } 208 212 vtigercrm/branches/5.1/modules/Reports/ReportColumns.php
r12877 r12900 83 83 $id_added=false; 84 84 $mod_strings = return_module_language($current_language,$module); 85 $block_listed = array(); 85 86 foreach($ogReport->module_list[$module] as $key=>$value) 86 87 { 87 if(isset($ogReport->pri_module_columnslist[$module][$ key]))88 if(isset($ogReport->pri_module_columnslist[$module][$value]) && !$block_listed[$value]) 88 89 { 89 90 $shtml .= "<optgroup label=\"".$app_list_strings['moduleList'][$module]." ".getTranslatedString($ key)."\" class=\"select\" style=\"border:none\">";90 $block_listed[$value] = true; 91 $shtml .= "<optgroup label=\"".$app_list_strings['moduleList'][$module]." ".getTranslatedString($value)."\" class=\"select\" style=\"border:none\">"; 91 92 if($id_added==false){ 92 93 $shtml .= "<option value=\"vtiger_crmentity:crmid:".$module."_ID:crmid:I\">".getTranslatedString(getTranslatedString($module).' ID')."</option>"; 93 94 $id_added=true; 94 95 } 95 foreach($ogReport->pri_module_columnslist[$module][$ key] as $field=>$fieldlabel)96 foreach($ogReport->pri_module_columnslist[$module][$value] as $field=>$fieldlabel) 96 97 { 97 98 if(isset($mod_strings[$fieldlabel])) … … 128 129 $mod_strings = return_module_language($current_language,$secmodule[$i]); 129 130 if(vtlib_isModuleActive($secmodule[$i])){ 131 $block_listed = array(); 130 132 foreach($ogReport->module_list[$secmodule[$i]] as $key=>$value) 131 133 { 132 if(isset($ogReport->sec_module_columnslist[$secmodule[$i]][$ key]))134 if(isset($ogReport->sec_module_columnslist[$secmodule[$i]][$value]) && !$block_listed[$value]) 133 135 { 134 $shtml .= "<optgroup label=\"".$app_list_strings['moduleList'][$secmodule[$i]]." ".getTranslatedString($key)."\" class=\"select\" style=\"border:none\">"; 135 foreach($ogReport->sec_module_columnslist[$secmodule[$i]][$key] as $field=>$fieldlabel) 136 $block_listed[$value] = true; 137 $shtml .= "<optgroup label=\"".$app_list_strings['moduleList'][$secmodule[$i]]." ".getTranslatedString($value)."\" class=\"select\" style=\"border:none\">"; 138 foreach($ogReport->sec_module_columnslist[$secmodule[$i]][$value] as $field=>$fieldlabel) 136 139 { 137 140 if(isset($mod_strings[$fieldlabel])) vtigercrm/branches/5.1/modules/Reports/ReportGrouping.php
r12877 r12900 87 87 function getPrimaryColumns_GroupingHTML($module,$selected="") 88 88 { 89 global $ogReport, $app_list_strings, $current_language; 90 $id_added=false; 91 92 $mod_strings = return_module_language($current_language,$module); 93 94 foreach($ogReport->module_list[$module] as $key=>$value) 89 global $ogReport, $app_list_strings, $current_language; 90 $id_added=false; 91 $mod_strings = return_module_language($current_language,$module); 92 93 $block_listed = array(); 94 $selected = decode_html($selected); 95 foreach($ogReport->module_list[$module] as $key=>$value) 96 { 97 if(isset($ogReport->pri_module_columnslist[$module][$value]) && !$block_listed[$value]) 95 98 { 96 if(isset($ogReport->pri_module_columnslist[$module][$key])) 97 { 98 $shtml .= "<optgroup label=\"".$app_list_strings['moduleList'][$module]." ".getTranslatedString($key)."\" class=\"select\" style=\"border:none\">";99 if($id_added==false){100 $shtml .= "<option value=\"vtiger_crmentity:crmid:".$module."_ID:crmid:I\">".getTranslatedString(getTranslatedString($module).' ID')."</option>";101 $i d_added=true;99 $block_listed[$value] = true; 100 $shtml .= "<optgroup label=\"".$app_list_strings['moduleList'][$module]." ".getTranslatedString($value)."\" class=\"select\" style=\"border:none\">"; 101 if($id_added==false){ 102 $is_selected =''; 103 if($selected == "vtiger_crmentity:crmid:".$module."_ID:crmid:I"){ 104 $is_selected = 'selected'; 102 105 } 103 foreach($ogReport->pri_module_columnslist[$module][$key] as $field=>$fieldlabel) 106 $shtml .= "<option value=\"vtiger_crmentity:crmid:".$module."_ID:crmid:I\" {$is_selected}>".getTranslatedString(getTranslatedString($module).' ID')."</option>"; 107 $id_added=true; 108 } 109 foreach($ogReport->pri_module_columnslist[$module][$value] as $field=>$fieldlabel) 110 { 111 if(isset($mod_strings[$fieldlabel])) 104 112 { 105 if(isset($mod_strings[$fieldlabel])) 106 { 107 if($selected == $field) 108 { 109 $shtml .= "<option selected value=\"".$field."\">".$mod_strings[$fieldlabel]."</option>"; 110 }else 111 { 112 $shtml .= "<option value=\"".$field."\">".$mod_strings[$fieldlabel]."</option>"; 113 } 113 if($selected == decode_html($field)) 114 { 115 $shtml .= "<option selected value=\"".$field."\">".$mod_strings[$fieldlabel]."</option>"; 114 116 }else 115 117 { 116 if($selected == $field) 117 { 118 $shtml .= "<option selected value=\"".$field."\">".$fieldlabel."</option>"; 119 }else 120 { 121 $shtml .= "<option value=\"".$field."\">".$fieldlabel."</option>"; 122 } 123 118 $shtml .= "<option value=\"".$field."\">".$mod_strings[$fieldlabel]."</option>"; 124 119 } 120 }else 121 { 122 if($selected == decode_html($field)) 123 { 124 $shtml .= "<option selected value=\"".$field."\">".$fieldlabel."</option>"; 125 }else 126 { 127 $shtml .= "<option value=\"".$field."\">".$fieldlabel."</option>"; 128 } 129 125 130 } 126 } 127 } 128 return $shtml; 131 } 132 } 133 } 134 return $shtml; 129 135 } 130 136 … … 141 147 global $current_language; 142 148 149 $selected = decode_html($selected); 143 150 if($module != "") 144 151 { … … 148 155 $mod_strings = return_module_language($current_language,$secmodule[$i]); 149 156 if(vtlib_isModuleActive($secmodule[$i])){ 157 $block_listed = array(); 150 158 foreach($ogReport->module_list[$secmodule[$i]] as $key=>$value) 151 159 { 152 if(isset($ogReport->sec_module_columnslist[$secmodule[$i]][$key])) { 153 $shtml .= "<optgroup label=\"".$app_list_strings['moduleList'][$secmodule[$i]]." ".getTranslatedString($key)."\" class=\"select\" style=\"border:none\">"; 154 foreach($ogReport->sec_module_columnslist[$secmodule[$i]][$key] as $field=>$fieldlabel) 160 if(isset($ogReport->sec_module_columnslist[$secmodule[$i]][$value]) && !$block_listed[$value]) { 161 $block_listed[$value] = true; 162 $shtml .= "<optgroup label=\"".$app_list_strings['moduleList'][$secmodule[$i]]." ".getTranslatedString($value)."\" class=\"select\" style=\"border:none\">"; 163 foreach($ogReport->sec_module_columnslist[$secmodule[$i]][$value] as $field=>$fieldlabel) 155 164 { 156 165 if(isset($mod_strings[$fieldlabel])) { 157 if($selected == $field) {166 if($selected == decode_html($field)) { 158 167 $shtml .= "<option selected value=\"".$field."\">".$mod_strings[$fieldlabel]."</option>"; 159 168 } else { … … 161 170 } 162 171 } else { 163 if($selected == $field) {172 if($selected == decode_html($field)) { 164 173 $shtml .= "<option selected value=\"".$field."\">".$fieldlabel."</option>"; 165 174 } else { vtigercrm/branches/5.1/modules/Reports/ReportRun.php
r12885 r12900 176 176 $columnslist[$fieldcolname] = 'vtiger_productsCampaigns.productname AS "'.$header_label.'"'; 177 177 } 178 elseif($selectedfields[0] == 'vtiger_products' && $selectedfields[1] == 'unit_price')//handled for product fields in Campaigns Module Reports 179 { 180 $columnslist[$fieldcolname] = 'concat('.$selectedfields[0].'.currency_id,"::",innerProduct.actual_unit_price) as "' . $header_label .'"'; 181 } 178 182 elseif(in_array($selectedfields[2], $this->append_currency_symbol_to_value)) { 179 183 $columnslist[$fieldcolname] = 'concat('.$selectedfields[0].'.currency_id,"::",'.$selectedfields[0].'.'.$selectedfields[1].') as "' . $header_label .'"'; … … 192 196 }elseif($selectedfields[0] == 'vtiger_potential' && $selectedfields[1] == 'related_to'){ 193 197 $columnslist[$fieldcolname] = "case when vtiger_accountPotentials.accountid is not NULL then vtiger_accountPotentials.accountname else concat(vtiger_contactdetailsPotentials.lastname, ' ', vtiger_contactdetailsPotentials.firstname) end as '$selectedfields[2]'"; 198 } 199 elseif(stristr($selectedfields[1],'cf_')==true && stripos($selectedfields[1],'cf_')==0) 200 { 201 $columnslist[$fieldcolname] = $selectedfields[0].".".$selectedfields[1].' AS "'.$adb->sql_escape_string(decode_html($header_label)).'"'; 194 202 } 195 203 else … … 1160 1168 if($selectedfields[0] == "vtiger_crmentity".$this->primarymodule) 1161 1169 $selectedfields[0] = "vtiger_crmentity"; 1162 $sqlvalue = $selectedfields[2]." ".$sortorder;//.".".$selectedfields[1]." ".$sortorder; 1163 $grouplist[$fieldcolname] = $sqlvalue; 1164 $fieldlabel = trim(str_replace($module," ",$selectedfields[2])); 1165 $mod_arr=explode('_',$fieldlabel); 1166 $mod = ($mod_arr[0] == '')?$module:$mod_arr[0]; 1167 if(CheckFieldPermission($fieldname,$mod) == 'true') 1170 $sqlvalue = "'".$selectedfields[2]."' ".$sortorder; 1171 if(stripos($selectedfields[1],'cf_')==0 && stristr($selectedfields[1],'cf_')==true){ 1172 $grouplist[$fieldcolname] = $adb->sql_escape_string(decode_html($sqlvalue)); 1173 } else { 1174 $grouplist[$fieldcolname] = $sqlvalue; 1175 } 1176 $temp = split("_",$selectedfields[2],2); 1177 $module = $temp[0]; 1178 if(CheckFieldPermission($fieldname,$module) == 'true') 1168 1179 { 1169 1180 $this->groupbylist[$fieldcolname] = $selectedfields[0].".".$selectedfields[1]." ".$selectedfields[2]; … … 1651 1662 $modprefixedlabel = getTabModuleName($currencyfieldrow['tabid']).' '.$currencyfieldrow['fieldlabel']; 1652 1663 $modprefixedlabel = str_replace(' ','_',$modprefixedlabel); 1653 if(!in_array($modprefixedlabel, $this->convert_currency) ) {1664 if(!in_array($modprefixedlabel, $this->convert_currency) && !in_array($modprefixedlabel, $this->append_currency_symbol_to_value)) { 1654 1665 $this->convert_currency[] = $modprefixedlabel; 1655 1666 } vtigercrm/branches/5.1/modules/Reports/Reports.php
r12877 r12900 254 254 continue; 255 255 } 256 $this->module_id[$resultrow['tabid']] = $resultrow['name']; 256 if($resultrow['name']!='Calendar'){ 257 $this->module_id[$resultrow['tabid']] = $resultrow['name']; 258 } else { 259 $this->module_id[9] = $resultrow['name']; 260 $this->module_id[16] = $resultrow['name']; 261 262 } 257 263 $this->module_list[$resultrow['name']] = array(); 258 264 } … … 262 268 $adb->pquery("SELECT blockid, blocklabel, tabid FROM vtiger_blocks WHERE tabid IN (" .generateQuestionMarks($moduleids) .")", 263 269 array($moduleids)); 264 270 $prev_block_label = ''; 265 271 if($adb->num_rows($reportblocks)) { 266 272 while($resultrow = $adb->fetch_array($reportblocks)) { … … 276 282 } 277 283 278 if($module == 'Calendar' && $blocklabel == 'LBL_CUSTOM_INFORMATION') 279 $this->module_list[$module][getTranslatedString($blocklabel,$module)][] = $blockid; 280 else 281 $this->module_list[$module][getTranslatedString($blocklabel,$module)] = $blockid; 284 if(!empty($blocklabel)){ 285 if($module == 'Calendar' && $blocklabel == 'LBL_CUSTOM_INFORMATION') 286 $this->module_list[$module][$blockid] = getTranslatedString($blocklabel,$module); 287 else 288 $this->module_list[$module][$blockid] = getTranslatedString($blocklabel,$module); 289 $prev_block_label = $blocklabel; 290 } else { 291 $this->module_list[$module][$blockid] = getTranslatedString($prev_block_label,$module); 292 } 282 293 } 283 294 } … … 487 498 foreach($this->module_list[$module] as $key=>$value) 488 499 { 489 $ret_module_list[$module][$key] = $this->getColumnsListbyBlock($module,$value); 500 if(!empty($ret_module_list[$module][$value])){ 501 $ret_module_list[$module][$value] = array_merge($ret_module_list[$module][$value],$this->getColumnsListbyBlock($module,$key)); 502 } else { 503 $ret_module_list[$module][$value] = $this->getColumnsListbyBlock($module,$key); 504 } 490 505 } 491 506 $this->pri_module_columnslist = $ret_module_list; … … 510 525 foreach($this->module_list[$secmodule[$i]] as $key=>$value) 511 526 { 512 $ret_module_list[$secmodule[$i]][$key] = $this->getColumnsListbyBlock($secmodule[$i],$value); 527 if(!empty($ret_module_list[$secmodule[$i]][$value])){ 528 $ret_module_list[$secmodule[$i]][$value] = array_merge($ret_module_list[$secmodule[$i]][$value],$this->getColumnsListbyBlock($secmodule[$i],$key)); 529 } else { 530 $ret_module_list[$secmodule[$i]][$value] = $this->getColumnsListbyBlock($secmodule[$i],$key); 531 } 513 532 } 514 533 $this->sec_module_columnslist[$secmodule[$i]] = $ret_module_list[$secmodule[$i]]; vtigercrm/branches/5.1/modules/Reports/Save.php
r12876 r12900 16 16 17 17 //<<<<<<<selectcolumn>>>>>>>>> 18 $selectedcolumnstring = vtlib_purify($_REQUEST["selectedColumnsString"]);18 $selectedcolumnstring = $_REQUEST["selectedColumnsString"]; 19 19 //<<<<<<<selectcolumn>>>>>>>>> 20 20 vtigercrm/branches/5.1/modules/Reports/SaveAndRun.php
r12877 r12900 89 89 $BLOCK1 .= getSecondaryStdFilterHTML($ogReport->secmodule,$ogReport->stdselectedcolumn); 90 90 // Check if selectedcolumn is found in the filters (Fix for ticket #4866) 91 $selectedcolumnvalue = '"'. $ogReport->stdselectedcolumn. '"';91 $selectedcolumnvalue = '"'. decode_html($ogReport->stdselectedcolumn) . '"'; 92 92 if (!$is_admin && isset($ogReport->stdselectedcolumn) && strpos($BLOCK1, $selectedcolumnvalue) === false) { 93 93 $BLOCK1 .= "<option selected value='Not Accessible'>".$app_strings['LBL_NOT_ACCESSIBLE']."</option>";
