[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/modules/Reports/ -> AdvancedFilter.php (source)

   1  <?php
   2  /*********************************************************************************
   3  ** The contents of this file are subject to the vtiger CRM Public License Version 1.0
   4   * ("License"); You may not use this file except in compliance with the License
   5   * The Original Code is:  vtiger CRM Open Source
   6   * The Initial Developer of the Original Code is vtiger.
   7   * Portions created by vtiger are Copyright (C) vtiger.
   8   * All Rights Reserved.
   9  *
  10   ********************************************************************************/
  11  require_once ('include/Zend/Json.php');
  12  if(isset($_REQUEST["record"]) && $_REQUEST['record']!='')
  13  {
  14      $reportid = vtlib_purify($_REQUEST["record"]);
  15      $oReport = new Reports($reportid);
  16      $oReport->getAdvancedFilterList($reportid);
  17  
  18      $oRep = new Reports();
  19      $secondarymodule = '';
  20      $secondarymodules =Array();
  21      
  22      if(!empty($oRep->related_modules[$oReport->primodule])) {
  23          foreach($oRep->related_modules[$oReport->primodule] as $key=>$value){
  24              if(isset($_REQUEST["secondarymodule_".$value]))$secondarymodules []= $_REQUEST["secondarymodule_".$value];
  25          }
  26      }
  27      $secondarymodule = implode(":",$secondarymodules);
  28      
  29      if($secondarymodule!='')
  30          $oReport->secmodule = $secondarymodule;
  31      
  32      $COLUMNS_BLOCK = getPrimaryColumns_AdvFilterHTML($oReport->primodule);
  33      $COLUMNS_BLOCK .= getSecondaryColumns_AdvFilterHTML($oReport->secmodule);
  34      $report_std_filter->assign("COLUMNS_BLOCK", $COLUMNS_BLOCK);
  35      
  36      $FILTER_OPTION = Reports::getAdvCriteriaHTML();
  37      $report_std_filter->assign("FOPTION",$FILTER_OPTION);
  38  
  39      $rel_fields = getRelatedFieldColumns();
  40      $report_std_filter->assign("REL_FIELDS",Zend_Json::encode($rel_fields));
  41      
  42      $report_std_filter->assign("CRITERIA_GROUPS",$oReport->advft_criteria);
  43  } else {
  44      $primarymodule = $_REQUEST["primarymodule"];
  45      $COLUMNS_BLOCK = getPrimaryColumns_AdvFilterHTML($primarymodule);
  46      $ogReport =  new Reports();
  47      if(!empty($ogReport->related_modules[$primarymodule])) {
  48          foreach($ogReport->related_modules[$primarymodule] as $key=>$value){
  49              //$BLOCK1 .= getSecondaryColumnsHTML($_REQUEST["secondarymodule_".$value]);
  50              $COLUMNS_BLOCK .= getSecondaryColumns_AdvFilterHTML($_REQUEST["secondarymodule_".$value]);
  51          }
  52      }
  53      $report_std_filter->assign("COLUMNS_BLOCK", $COLUMNS_BLOCK);
  54      
  55      $rel_fields = getRelatedFieldColumns();    
  56      $report_std_filter->assign("REL_FIELDS",Zend_Json::encode($rel_fields));
  57  }
  58  
  59  /** Function to get primary columns for an advanced filter
  60   *  This function accepts The module as an argument
  61   *  This generate columns of the primary modules for the advanced filter 
  62   *  It returns a HTML string of combo values 
  63   */
  64  
  65  function getPrimaryColumns_AdvFilterHTML($module,$selected="")
  66  {
  67      global $ogReport, $app_list_strings, $current_language;
  68      $mod_strings = return_module_language($current_language,$module);
  69      $block_listed = array();
  70      foreach($ogReport->module_list[$module] as $key=>$value)
  71      {
  72          if(isset($ogReport->pri_module_columnslist[$module][$value]) && !$block_listed[$value])
  73          {
  74              $block_listed[$value] = true;
  75              $shtml .= "<optgroup label=\"".$app_list_strings['moduleList'][$module]." ".getTranslatedString($value)."\" class=\"select\" style=\"border:none\">";
  76              foreach($ogReport->pri_module_columnslist[$module][$value] as $field=>$fieldlabel)
  77              {
  78                  if(isset($mod_strings[$fieldlabel]))
  79                  {
  80                      //fix for ticket 5191
  81                      $selected = decode_html($selected);
  82                      $field = decode_html($field);
  83                      //fix ends
  84                      if($selected == $field)
  85                      {
  86                          $shtml .= "<option selected value=\"".$field."\">".$mod_strings[$fieldlabel]."</option>";
  87                      }else
  88                      {
  89                          $shtml .= "<option value=\"".$field."\">".$mod_strings[$fieldlabel]."</option>";
  90                      }
  91                  }else
  92                  {
  93                      if($selected == $field)
  94                      {
  95                          $shtml .= "<option selected value=\"".$field."\">".$fieldlabel."</option>";
  96                      }else
  97                      {
  98                          $shtml .= "<option value=\"".$field."\">".$fieldlabel."</option>";
  99                      }
 100                  }
 101              }
 102         }
 103      }
 104      return $shtml;
 105  }
 106  
 107  
 108  
 109  /** Function to get Secondary columns for an advanced filter
 110   *  This function accepts The module as an argument
 111   *  This generate columns of the secondary module for the advanced filter 
 112   *  It returns a HTML string of combo values
 113   */
 114  
 115  function getSecondaryColumns_AdvFilterHTML($module,$selected="")
 116  {
 117      global $ogReport;
 118      global $app_list_strings;
 119      global $current_language;
 120  
 121      if($module != "")
 122      {
 123          $secmodule = explode(":",$module);
 124          for($i=0;$i < count($secmodule) ;$i++)
 125          {
 126              $mod_strings = return_module_language($current_language,$secmodule[$i]);
 127              if(vtlib_isModuleActive($secmodule[$i])){
 128                  $block_listed = array();
 129                  foreach($ogReport->module_list[$secmodule[$i]] as $key=>$value)
 130                  {
 131                      if(isset($ogReport->sec_module_columnslist[$secmodule[$i]][$value]) && !$block_listed[$value])
 132                      {
 133                          $block_listed[$value] = true;
 134                            $shtml .= "<optgroup label=\"".$app_list_strings['moduleList'][$secmodule[$i]]." ".getTranslatedString($value)."\" class=\"select\" style=\"border:none\">";
 135                            foreach($ogReport->sec_module_columnslist[$secmodule[$i]][$value] as $field=>$fieldlabel)
 136                            {
 137                              if(isset($mod_strings[$fieldlabel]))
 138                              {
 139                                  if($selected == $field)
 140                                  {
 141                                      $shtml .= "<option selected value=\"".$field."\">".$mod_strings[$fieldlabel]."</option>";
 142                                  }else
 143                                  {
 144                                      $shtml .= "<option value=\"".$field."\">".$mod_strings[$fieldlabel]."</option>";
 145                                  }
 146                              }else
 147                              {
 148                                  if($selected == $field)
 149                                  {
 150                                      $shtml .= "<option selected value=\"".$field."\">".$fieldlabel."</option>";
 151                                  }else
 152                                  {
 153                                      $shtml .= "<option value=\"".$field."\">".$fieldlabel."</option>";
 154                                  }
 155                              }
 156                            }
 157                      }
 158                  }
 159              }
 160          }
 161      }
 162      return $shtml;
 163  }
 164  
 165  function getRelatedColumns($selected=""){
 166      global $ogReport;
 167      $rel_fields = $ogReport->adv_rel_fields;
 168      if($selected!='All'){
 169          $selected = split(":",$selected);
 170      }
 171      $related_fields = array();
 172      foreach($rel_fields as $i=>$index){
 173          $shtml='';
 174          foreach($index as $key=>$value){
 175              $fieldarray = split("::",$value);
 176              $shtml .= "<option value=\"".$fieldarray[0]."\">".$fieldarray[1]."</option>";
 177          }
 178          $related_fields[$i] = $shtml;
 179      }
 180      if(!empty($selected) && $selected[4]!='')
 181          return $related_fields[$selected[4]];
 182      else if($selected=='All'){
 183          return $related_fields;
 184      }
 185      else
 186          return ;    
 187  }
 188  
 189  function getRelatedFieldColumns($selected=""){
 190      global $ogReport;
 191      $rel_fields = $ogReport->adv_rel_fields;
 192      return $rel_fields;
 193  }
 194  
 195  ?>


Generated: Fri Nov 28 20:08:37 2014 Cross-referenced by PHPXref 0.7.1