You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							1174 lines
						
					
					
						
							40 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							1174 lines
						
					
					
						
							40 KiB
						
					
					
				| <?php | |
| /********************************************************************************* | |
| ** The contents of this file are subject to the vtiger CRM Public License Version 1.0 | |
|  * ("License"); You may not use this file except in compliance with the License | |
|  * The Original Code is:  vtiger CRM Open Source | |
|  * The Initial Developer of the Original Code is vtiger. | |
|  * Portions created by vtiger are Copyright (C) vtiger. | |
|  * All Rights Reserved. | |
| * | |
|  ********************************************************************************/ | |
| global $calpath; | |
| global $app_strings,$mod_strings; | |
| global $app_list_strings; | |
| global $theme; | |
| $theme_path="themes/".$theme."/"; | |
| $image_path=$theme_path."images/"; | |
| require_once('include/database/PearDatabase.php'); | |
| require_once ($theme_path."layout_utils.php"); | |
| require_once('data/CRMEntity.php'); | |
| require_once('include/utils.php'); | |
| 
 | |
| global $adv_filter_options; | |
| 
 | |
| $adv_filter_options = array("e"=>"equals", | |
|                             "n"=>"not equal to", | |
|                             "s"=>"starts with", | |
|                             "c"=>"contains", | |
|                             "k"=>"does not contain", | |
|                             "l"=>"less than", | |
|                             "g"=>"greater than", | |
|                             "m"=>"less or equal", | |
|                             "h"=>"greater or equal" | |
|                             ); | |
| 
 | |
| class CustomView extends CRMEntity{ | |
| 
 | |
| 
 | |
| 
 | |
| 	var $module_list = Array("Leads"=>Array("Information"=>1,"Address"=>2,"Description"=>3,"Custom Information"=>5), | |
| 				 "Contacts"=>Array("Information"=>1,"Address"=>2,"Description"=>3,"Custom Information"=>5), | |
| 				 "Accounts"=>Array("Information"=>1,"Address"=>2,"Description"=>3,"Custom Information"=>5), | |
| 				 "Potentials"=>Array("Information"=>1,"Description"=>2,"Custom Information"=>5), | |
| 				 "Activities"=>Array("Information"=>1,"Description"=>2), | |
| 				 "Products"=>Array("Information"=>1,"Description"=>2,"Custom Information"=>5), | |
| 				 "Vendor"=>Array("Information"=>1,"Address"=>2,"Description"=>3,"Custom Information"=>5), | |
| 				 "PriceBook"=>Array("Information"=>1,"Description"=>2,"Custom Information"=>5), | |
| 				 "Notes"=>Array("Information"=>1,"Description"=>3), | |
| 				 "Emails"=>Array("Information"=>'1,2',"Description"=>4), | |
| 				 "HelpDesk"=>Array("Information"=>'1,2',"Description"=>3,"Custom Information"=>5), | |
| 				 "Quotes"=>Array("Information"=>1,"Address"=>2,"Description"=>3,"Custom Information"=>5), | |
| 				 "Orders"=>Array("Information"=>1,"Address"=>2,"Description"=>3,"Custom Information"=>5), | |
| 				 "SalesOrder"=>Array("Information"=>1,"Address"=>2,"Description"=>3,"Custom Information"=>5), | |
| 				 "Invoice"=>Array("Information"=>1,"Address"=>2,"Description"=>3,"Custom Information"=>5) | |
| 				); | |
| 
 | |
| 
 | |
| 	var $customviewmodule; | |
| 
 | |
| 	var $list_fields; | |
| 
 | |
| 	var $list_fields_name; | |
| 
 | |
| 	var $setdefaultviewid; | |
| 
 | |
| 	var $escapemodule; | |
| 
 | |
| 	var $mandatoryvalues; | |
| 	 | |
| 	var $showvalues; | |
| 
 | |
| 	function CustomView($module="") | |
| 	{ | |
| 		$this->customviewmodule = $module; | |
| 		$this->escapemodule[] =	$module."_"; | |
| 		$this->escapemodule[] = "_"; | |
| 	} | |
| 
 | |
| 	// to get the available customviews for a module | |
| 	// return type array | |
| 	function getCustomViewByCvid($cvid) | |
| 	{ | |
| 		global $adb; | |
| 		$tabid = getTabid($this->customviewmodule); | |
| 		$ssql = "select customview.* from customview inner join tab on tab.name = customview.entitytype"; | |
| 		$ssql .= " where customview.cvid=".$cvid;		 | |
| 
 | |
| 		$result = $adb->query($ssql); | |
| 
 | |
| 		while($cvrow=$adb->fetch_array($result)) | |
| 		{ | |
| 			$customviewlist["viewname"] = $cvrow["viewname"]; | |
| 			$customviewlist["setdefault"] = $cvrow["setdefault"]; | |
| 			$customviewlist["setmetrics"] = $cvrow["setmetrics"]; | |
| 		} | |
| 		return $customviewlist;		 | |
| 	}	 | |
| 	function getCustomViewCombo() | |
| 	{ | |
| 		global $adb; | |
|                 $tabid = getTabid($this->customviewmodule); | |
|                 $ssql = "select customview.* from customview inner join tab on tab.name = customview.entitytype"; | |
|                 $ssql .= " where tab.tabid=".$tabid; | |
| 		//echo $ssql; | |
|                 $result = $adb->query($ssql); | |
|                 while($cvrow=$adb->fetch_array($result)) | |
|                 { | |
|                         if($cvrow['setdefault'] == 1) | |
| 			{ | |
| 				$shtml .= "<option selected value=\"".$cvrow['cvid']."\">".$cvrow['viewname']."</option>"; | |
| 				$this->setdefaultviewid = $cvrow['cvid']; | |
| 			} | |
| 			else | |
| 			{ | |
| 				$shtml .= "<option value=\"".$cvrow['cvid']."\">".$cvrow['viewname']."</option>"; | |
| 			} | |
|                 } | |
| 		//echo $shtml; | |
|                 return $shtml; | |
| 	} | |
| 	function getColumnsListbyBlock($module,$block) | |
|         { | |
|                 global $adb; | |
|                 $tabid = getTabid($module); | |
|                 global $profile_id; | |
| 
 | |
|                 $sql = "select * from field inner join profile2field on profile2field.fieldid=field.fieldid"; | |
| 		$sql.= " where field.tabid=".$tabid." and field.block in (".$block.") and"; | |
| 		$sql.= " field.displaytype in (1,2) and profile2field.visible=0"; | |
| 		$sql.= " and profile2field.profileid=".$profile_id." order by sequence"; | |
| 
 | |
| 		$result = $adb->query($sql); | |
|                 $noofrows = $adb->num_rows($result); | |
|                 for($i=0; $i<$noofrows; $i++) | |
|                 { | |
|                         $fieldtablename = $adb->query_result($result,$i,"tablename"); | |
|                         $fieldcolname = $adb->query_result($result,$i,"columnname"); | |
| 			$fieldname = $adb->query_result($result,$i,"fieldname"); | |
| 			$fieldtype = $adb->query_result($result,$i,"typeofdata"); | |
| 			$fieldtype = explode("~",$fieldtype); | |
| 			$fieldtypeofdata = $fieldtype[0]; | |
|                         /*if($fieldcolname == "crmid" || $fieldcolname == "parent_id") | |
|                         { | |
|                            $fieldtablename = "crmentity"; | |
| 			   $fieldcolname = "setype"; | |
|                         }*/ | |
|                         $fieldlabel = $adb->query_result($result,$i,"fieldlabel"); | |
| 				if($fieldlabel == "Related To") | |
| 				{ | |
| 					$fieldlabel = "Related to"; | |
| 				} | |
|                         $fieldlabel1 = str_replace(" ","_",$fieldlabel); | |
|                         $optionvalue = $fieldtablename.":".$fieldcolname.":".$fieldname.":".$module."_".$fieldlabel1.":".$fieldtypeofdata; | |
|                         $module_columnlist[$optionvalue] = $fieldlabel; | |
| 			if($fieldtype[1] == "M") | |
| 			{ | |
| 				$this->mandatoryvalues[] = "'".$optionvalue."'"; | |
| 				$this->showvalues[] = $fieldlabel; | |
| 			} | |
|                 } | |
|                 return $module_columnlist; | |
|         } | |
| 
 | |
| 	function getModuleColumnsList($module) | |
|         { | |
|                 foreach($this->module_list[$module] as $key=>$value) | |
|                 { | |
|                         $columnlist = $this->getColumnsListbyBlock($module,$value); | |
| 			if(isset($columnlist)) | |
| 			{ | |
| 				$ret_module_list[$module][$key] = $columnlist; | |
| 			} | |
|                 } | |
|                 return $ret_module_list; | |
|         } | |
| 	 | |
| 	function getColumnsListByCvid($cvid) | |
| 	{ | |
| 		global $adb; | |
| 		 | |
| 		$sSQL = "select cvcolumnlist.* from cvcolumnlist"; | |
| 		$sSQL .= " inner join customview on customview.cvid = cvcolumnlist.cvid"; | |
| 		$sSQL .= " where customview.cvid =".$cvid." order by cvcolumnlist.columnindex"; | |
| 		//echo $sSQL; | |
| 		$result = $adb->query($sSQL); | |
| 		 | |
| 		while($columnrow = $adb->fetch_array($result)) | |
| 		{ | |
| 			$columnlist[$columnrow['columnindex']] = $columnrow['columnname']; | |
| 		}  | |
| 	 | |
| 		return $columnlist; | |
| 	} | |
| 
 | |
| 	function getStdCriteriaByModule($module) | |
|         { | |
|                 global $adb; | |
|                 $tabid = getTabid($module); | |
|                 global $profile_id; | |
| 	 | |
| 		foreach($this->module_list[$module] as $key=>$blockid) | |
|                 { | |
|                         $blockids[] = $blockid; | |
|                 } | |
|                 $blockids = implode(",",$blockids); | |
| 	 | |
|                 $sql = "select * from field inner join tab on tab.tabid = field.tabid | |
|                         inner join profile2field on profile2field.fieldid=field.fieldid | |
|                         where field.tabid=".$tabid." and field.block in (".$blockids.")  | |
| 			and (field.uitype =5 or field.displaytype=2)  | |
| 			and profile2field.visible=0 and profile2field.profileid=".$profile_id." order by field.sequence"; | |
| 
 | |
|                 $result = $adb->query($sql); | |
| 
 | |
|                 while($criteriatyperow = $adb->fetch_array($result)) | |
|                 { | |
|                         $fieldtablename = $criteriatyperow["tablename"]; | |
|                         $fieldcolname = $criteriatyperow["columnname"]; | |
|                         $fieldlabel = $criteriatyperow["fieldlabel"]; | |
| 			$fieldname = $criteriatyperow["fieldname"]; | |
|                         /*if($fieldtablename == "crmentity") | |
|                         { | |
|                            $fieldtablename = $fieldtablename.$module; | |
|                         }*/ | |
|                         $fieldlabel1 = str_replace(" ","_",$fieldlabel); | |
|                         $optionvalue = $fieldtablename.":".$fieldcolname.":".$fieldname.":".$module."_".$fieldlabel1; | |
|                         $stdcriteria_list[$optionvalue] = $fieldlabel; | |
|                 } | |
| 
 | |
|                 return $stdcriteria_list; | |
| 
 | |
|         } | |
| 
 | |
| 	function getStdFilterCriteria($selcriteria = "") | |
|         { | |
| 
 | |
|                 $stdfilter = Array("custom"=>"Custom", | |
| 					 "prevfy"=>"Previous FY", | |
| 					 "thisfy"=>"Current FY", | |
| 					 "nextfy"=>"Next FY", | |
| 					 "prevfq"=>"Previous FQ", | |
| 					 "thisfq"=>"Current FQ", | |
| 					 "nextfq"=>"Next FQ", | |
|                                          "yesterday"=>"Yesterday", | |
| 					 "today"=>"Today", | |
| 					 "tomorrow"=>"Tomorrow", | |
| 					 "lastweek"=>"Last Week", | |
| 					 "thisweek"=>"Current Week", | |
| 					 "nextweek"=>"Next Week", | |
| 					 "lastmonth"=>"Last Month", | |
| 					 "thismonth"=>"Current Month", | |
|                                          "nextmonth"=>"Next Month", | |
| 					 "last7days"=>"Last 7 Days", | |
| 					 "last30days"=>"Last 30 Days",  | |
| 					 "last60days"=>"Last 60 Days", | |
| 					 "last90days"=>"Last 90 Days", | |
| 					 "last120days"=>"Last 120 Days", | |
|                                          "next30days"=>"Next 30 Days", | |
| 					 "next60days"=>"Next 60 Days", | |
| 					 "next90days"=>"Next 90 Days", | |
| 					 "next120days"=>"Next 120 Days" | |
| 					 ); | |
| 
 | |
| 		foreach($stdfilter as $FilterKey=>$FilterValue) | |
| 		{ | |
| 			if($FilterKey == $selcriteria) | |
| 			{ | |
| 			 $shtml .= "<option selected value='".$FilterKey."'>".$FilterValue."</option>"; | |
| 			}else | |
| 			{ | |
| 			 $shtml .= "<option value='".$FilterKey."'>".$FilterValue."</option>"; | |
| 			} | |
| 		} | |
| 		return $shtml; | |
| 
 | |
|         } | |
| 
 | |
| 	function getCriteriaJS() | |
|         { | |
|                 $today = date("Y-m-d",mktime(0, 0, 0, date("m")  , date("d"), date("Y"))); | |
|                 $tomorrow  = date("Y-m-d",mktime(0, 0, 0, date("m")  , date("d")+1, date("Y"))); | |
|                 $yesterday  = date("Y-m-d",mktime(0, 0, 0, date("m")  , date("d")-1, date("Y"))); | |
| 
 | |
|                 $currentmonth0 = date("Y-m-d",mktime(0, 0, 0, date("m"), "01",   date("Y"))); | |
|                 $currentmonth1 = date("Y-m-t"); | |
|                 $lastmonth0 = date("Y-m-d",mktime(0, 0, 0, date("m")-1, "01",   date("Y"))); | |
|                 $lastmonth1 = date("Y-m-t", strtotime("-1 Month")); | |
|                 $nextmonth0 = date("Y-m-d",mktime(0, 0, 0, date("m")+1, "01",   date("Y"))); | |
|                 $nextmonth1 = date("Y-m-t", strtotime("+1 Month")); | |
| 
 | |
|                 $lastweek0 = date("Y-m-d",strtotime("-2 week Sunday")); | |
|                 $lastweek1 = date("Y-m-d",strtotime("-1 week Saturday")); | |
| 
 | |
|                 $thisweek0 = date("Y-m-d",strtotime("-1 week Sunday")); | |
|                 $thisweek1 = date("Y-m-d",strtotime("this Saturday")); | |
| 
 | |
|                 $nextweek0 = date("Y-m-d",strtotime("this Sunday")); | |
|                 $nextweek1 = date("Y-m-d",strtotime("+1 week Saturday")); | |
| 
 | |
|                 $next7days = date("Y-m-d",mktime(0, 0, 0, date("m")  , date("d")+6, date("Y"))); | |
|                 $next30days = date("Y-m-d",mktime(0, 0, 0, date("m")  , date("d")+29, date("Y"))); | |
|                 $next60days = date("Y-m-d",mktime(0, 0, 0, date("m")  , date("d")+59, date("Y"))); | |
|                 $next90days = date("Y-m-d",mktime(0, 0, 0, date("m")  , date("d")+89, date("Y"))); | |
|                 $next120days = date("Y-m-d",mktime(0, 0, 0, date("m")  , date("d")+119, date("Y"))); | |
| 
 | |
|                 $last7days = date("Y-m-d",mktime(0, 0, 0, date("m")  , date("d")-6, date("Y"))); | |
|                 $last30days = date("Y-m-d",mktime(0, 0, 0, date("m")  , date("d")-29, date("Y"))); | |
|                 $last60days = date("Y-m-d",mktime(0, 0, 0, date("m")  , date("d")-59, date("Y"))); | |
|                 $last90days = date("Y-m-d",mktime(0, 0, 0, date("m")  , date("d")-89, date("Y"))); | |
|                 $last120days = date("Y-m-d",mktime(0, 0, 0, date("m")  , date("d")-119, date("Y"))); | |
| 
 | |
|                 $currentFY0 = date("Y-m-d",mktime(0, 0, 0, "01", "01",   date("Y"))); | |
|                 $currentFY1 = date("Y-m-t",mktime(0, 0, 0, "12", date("d"),   date("Y"))); | |
|                 $lastFY0 = date("Y-m-d",mktime(0, 0, 0, "01", "01",   date("Y")-1)); | |
|                 $lastFY1 = date("Y-m-t", mktime(0, 0, 0, "12", date("d"), date("Y")-1)); | |
| 
 | |
| 		$nextFY0 = date("Y-m-d",mktime(0, 0, 0, "01", "01",   date("Y")+1)); | |
|                 $nextFY1 = date("Y-m-t", mktime(0, 0, 0, "12", date("d"), date("Y")+1)); | |
| 
 | |
|                 $sjsStr = '<script language="JavaScript" type="text/javaScript"> | |
|                 function showDateRange( type ) | |
|                 { | |
|                         if (type!="custom") | |
|                         { | |
|                                 document.CustomView.startdate.readOnly=true | |
|                                 document.CustomView.enddate.readOnly=true | |
|                                 getObj("jscal_trigger_date_start").style.visibility="hidden" | |
|                                 getObj("jscal_trigger_date_end").style.visibility="hidden" | |
|                         } | |
|                         else | |
|                         { | |
|                                 document.CustomView.startdate.readOnly=false | |
|                                 document.CustomView.enddate.readOnly=false | |
|                                 getObj("jscal_trigger_date_start").style.visibility="visible" | |
|                                 getObj("jscal_trigger_date_end").style.visibility="visible" | |
|                         } | |
|                         if( type == "today" ) | |
|                         { | |
|                         document.CustomView.startdate.value = "'.$today.'"; | |
|                         document.CustomView.enddate.value = "'.$today.'"; | |
|                         } | |
|                         else if( type == "yesterday" ) | |
|                         { | |
|                         document.CustomView.startdate.value = "'.$yesterday.'"; | |
|                         document.CustomView.enddate.value = "'.$yesterday.'"; | |
| 			} | |
|                         else if( type == "tomorrow" ) | |
|                         { | |
|  | |
|                         document.CustomView.startdate.value = "'.$tomorrow.'"; | |
|                         document.CustomView.enddate.value = "'.$tomorrow.'"; | |
|                         } | |
|                         else if( type == "thisweek" ) | |
|                         { | |
|                         document.CustomView.startdate.value = "'.$thisweek0.'"; | |
|                         document.CustomView.enddate.value = "'.$thisweek1.'"; | |
|                         } | |
|                         else if( type == "lastweek" ) | |
|                         { | |
|                         document.CustomView.startdate.value = "'.$lastweek0.'"; | |
|                         document.CustomView.enddate.value = "'.$lastweek1.'"; | |
|                         } | |
|                         else if( type == "nextweek" ) | |
|                         { | |
|                         document.CustomView.startdate.value = "'.$nextweek0.'"; | |
|                         document.CustomView.enddate.value = "'.$nextweek1.'"; | |
|                         } | |
|                         else if( type == "thismonth" ) | |
|                         { | |
|                         document.CustomView.startdate.value = "'.$currentmonth0.'"; | |
|                         document.CustomView.enddate.value = "'.$currentmonth1.'"; | |
|                         } | |
|                         else if( type == "lastmonth" ) | |
|                         { | |
|                         document.CustomView.startdate.value = "'.$lastmonth0.'"; | |
|                         document.CustomView.enddate.value = "'.$lastmonth1.'"; | |
| 			} | |
|                         else if( type == "nextmonth" ) | |
|                         { | |
|                         document.CustomView.startdate.value = "'.$nextmonth0.'"; | |
|                         document.CustomView.enddate.value = "'.$nextmonth1.'"; | |
|                         } | |
|                         else if( type == "next7days" ) | |
|                         { | |
|                         document.CustomView.startdate.value = "'.$today.'"; | |
|                         document.CustomView.enddate.value = "'.$next7days.'"; | |
|                         } | |
|                         else if( type == "next30days" ) | |
|                         { | |
|                         document.CustomView.startdate.value = "'.$today.'"; | |
|                         document.CustomView.enddate.value = "'.$next30days.'"; | |
|                         } | |
|                         else if( type == "next60days" ) | |
|                         { | |
|                         document.CustomView.startdate.value = "'.$today.'"; | |
|                         document.CustomView.enddate.value = "'.$next60days.'"; | |
|                         } | |
|                         else if( type == "next90days" ) | |
|                         { | |
|                         document.CustomView.startdate.value = "'.$today.'"; | |
|                         document.CustomView.enddate.value = "'.$next90days.'"; | |
|                         } | |
|                         else if( type == "next120days" ) | |
|                         { | |
|                         document.CustomView.startdate.value = "'.$today.'"; | |
|                         document.CustomView.enddate.value = "'.$next120days.'"; | |
|                         } | |
|                         else if( type == "last7days" ) | |
| 			{ | |
|                         document.CustomView.startdate.value = "'.$last7days.'"; | |
|                         document.CustomView.enddate.value =  "'.$today.'"; | |
|                         } | |
|                         else if( type == "last30days" ) | |
|                         { | |
|                         document.CustomView.startdate.value = "'.$last30days.'"; | |
|                         document.CustomView.enddate.value = "'.$today.'"; | |
|                         } | |
|                         else if( type == "last60days" ) | |
|                         { | |
|                         document.CustomView.startdate.value = "'.$last60days.'"; | |
|                         document.CustomView.enddate.value = "'.$today.'"; | |
|                         } | |
|                         else if( type == "last90days" ) | |
|                         { | |
|                         document.CustomView.startdate.value = "'.$last90days.'"; | |
|                         document.CustomView.enddate.value = "'.$today.'"; | |
|                         } | |
|                         else if( type == "last120days" ) | |
|                         { | |
|                         document.CustomView.startdate.value = "'.$last120days.'"; | |
|                         document.CustomView.enddate.value = "'.$today.'"; | |
|                         } | |
|                         else if( type == "thisfy" ) | |
|                         { | |
|                         document.CustomView.startdate.value = "'.$currentFY0.'"; | |
|                         document.CustomView.enddate.value = "'.$currentFY1.'"; | |
|                         } | |
|                         else if( type == "prevfy" ) | |
|                         { | |
| 			document.CustomView.startdate.value = "'.$lastFY0.'"; | |
|                         document.CustomView.enddate.value = "'.$lastFY1.'"; | |
|                         } | |
|                         else if( type == "nextfy" ) | |
|                         { | |
|                         document.CustomView.startdate.value = "'.$nextFY0.'"; | |
|                         document.CustomView.enddate.value = "'.$nextFY1.'"; | |
|                         } | |
|                         else if( type == "nextfq" ) | |
|                         { | |
|                         document.CustomView.startdate.value = "2005-07-01"; | |
|                         document.CustomView.enddate.value = "2005-09-30"; | |
|                         } | |
|                         else if( type == "prevfq" ) | |
|                         { | |
|                         document.CustomView.startdate.value = "2005-01-01"; | |
|                         document.CustomView.enddate.value = "2005-03-31"; | |
|                         } | |
|                         else if( type == "thisfq" ) | |
|                         { | |
|                         document.CustomView.startdate.value = "2005-04-01"; | |
|                         document.CustomView.enddate.value = "2005-06-30"; | |
|                         } | |
|                         else | |
|                         { | |
|                         document.CustomView.startdate.value = ""; | |
|                         document.CustomView.enddate.value = ""; | |
|                         } | |
|                 } | |
|                 </script>'; | |
| 
 | |
|                 return $sjsStr; | |
|         } | |
| 	 | |
| 	function getStdFilterByCvid($cvid) | |
|         { | |
|                 global $adb; | |
| 		 | |
| 		$sSQL = "select cvstdfilter.* from cvstdfilter inner join customview on customview.cvid = cvstdfilter.cvid"; | |
| 		$sSQL .= " where cvstdfilter.cvid=".$cvid; | |
| 
 | |
|                 $result = $adb->query($sSQL); | |
|                 $stdfilterrow = $adb->fetch_array($result); | |
| 
 | |
|                 $stdfilterlist["columnname"] = $stdfilterrow["columnname"]; | |
|                 $stdfilterlist["stdfilter"] = $stdfilterrow["stdfilter"]; | |
| 
 | |
|                 if($stdfilterrow["stdfilter"] == "custom") | |
|                 { | |
|                         if($stdfilterrow["startdate"] != "0000-00-00") | |
|                         { | |
|                                 $stdfilterlist["startdate"] = $stdfilterrow["startdate"]; | |
|                         } | |
|                         if($stdfilterrow["enddate"] != "0000-00-00") | |
|                         { | |
|                                 $stdfilterlist["enddate"] = $stdfilterrow["enddate"]; | |
|                         } | |
|                 } | |
| 		 | |
| 		return $stdfilterlist; | |
|         } | |
| 	 | |
| 	//<<<<<<<<advanced filter>>>>>>>>>>>>>> | |
|         function getAdvFilterByCvid($cvid) | |
|         { | |
|                 global $adb; | |
|                 global $modules; | |
| 	 | |
| 		$sSQL = "select cvadvfilter.* from cvadvfilter inner join customview on cvadvfilter.cvid = customview.cvid"; | |
| 		$sSQL .= " where cvadvfilter.cvid=".$cvid; | |
| 		//echo $sSQL; | |
|                 $result = $adb->query($sSQL); | |
| 
 | |
|                 while($advfilterrow = $adb->fetch_array($result)) | |
|                 { | |
|                         $advft["columnname"] = $advfilterrow["columnname"]; | |
|                         $advft["comparator"] = $advfilterrow["comparator"]; | |
|                         $advft["value"] = $advfilterrow["value"]; | |
| 			$advfilterlist[] = $advft; | |
|                 } | |
| 
 | |
|                 return $advfilterlist; | |
|         } | |
|         //<<<<<<<<advanced filter>>>>>>>>>>>>>> | |
|  | |
| 	function getCvColumnListSQL($cvid) | |
| 	{ | |
| 		$columnslist = $this->getColumnsListByCvid($cvid); | |
| 		//print_r($columnslist); | |
| 		if(isset($columnslist)) | |
| 		{ | |
| 			foreach($columnslist as $columnname=>$value) | |
| 			{ | |
| 				$tablefield = ""; | |
| 				if($value != "") | |
| 				{ | |
| 					$list = explode(":",$value); | |
| 					$sqllist[] = $list[0].".".$list[1]; | |
| 
 | |
| 					$tablefield[$list[0]] = $list[1]; | |
| 					$fieldlabel = trim(str_replace($this->escapemodule," ",$list[3])); | |
| 					$this->list_fields[$fieldlabel] = $tablefield; | |
| 					$this->list_fields_name[$fieldlabel] = $list[2]; | |
| 				} | |
| 			} | |
| 			$returnsql = implode(",",$sqllist); | |
| 		} | |
| 		return $returnsql; | |
| 	} | |
| 
 | |
| 	function getCVStdFilterSQL($cvid) | |
| 	{ | |
| 		global $adb; | |
| 
 | |
| 		$stdfilterlist = $this->getStdFilterByCvid($cvid); | |
| 		//print_r($stdfilterlist); | |
| 		if(isset($stdfilterlist)) | |
| 		{ | |
| 			foreach($stdfilterlist as $columnname=>$value) | |
| 			{ | |
| 				if($columnname == "columnname") | |
| 				{ | |
| 					$filtercolumn = $value; | |
| 				}elseif($columnname = "stdfilter") | |
| 				{ | |
| 					$filtertype = $value; | |
| 				}elseif($columnname = "startdate") | |
| 				{ | |
| 					$startdate = $value; | |
| 				}elseif($columnname = "enddate") | |
| 				{ | |
| 					$enddate = $value; | |
| 				} | |
| 			} | |
| 			if($filtertype != "custom") | |
| 			{ | |
| 				$datearray = $this->getDateforStdFilterBytype($filtertype); | |
| 				$startdate = $datearray[0]; | |
| 				$enddate = $datearray[1]; | |
| 			} | |
| 
 | |
| 			if($startdate != "" && $enddate != "") | |
| 			{ | |
| 				$columns = explode(":",$filtercolumn); | |
| 				$stdfiltersql = $columns[0].".".$columns[1]." between '".$startdate." 00:00:00' and '".$enddate." 23:59:00'"; | |
| 			} | |
| 		} | |
| 		//echo $stdfiltersql; | |
| 		return $stdfiltersql; | |
| 	} | |
| 	function getCVAdvFilterSQL($cvid) | |
| 	{ | |
| 		$advfilter = $this->getAdvFilterByCvid($cvid); | |
| 		if(isset($advfilter)) | |
| 		{ | |
| 			foreach($advfilter as $key=>$advfltrow) | |
| 			{ | |
| 				if(isset($advfltrow)) | |
| 				{ | |
| 					//echo $advfltrow["columnname"]; | |
| 					$columns = explode(":",$advfltrow["columnname"]); | |
| 					if($advfltrow["columnname"] != "" && $advfltrow["comparator"] != "" && $advfltrow["value"] != "") | |
| 					{ | |
| 						 | |
| 						$valuearray = explode(",",trim($advfltrow["value"])); | |
| 						if(isset($valuearray) && count($valuearray) > 1) | |
| 						{ | |
| 							$advorsql = ""; | |
| 							for($n=0;$n<count($valuearray);$n++) | |
| 							{ | |
| 								$advorsql[] = $this->getRealValues($columns[0],$columns[1],$advfltrow["comparator"],trim($valuearray[$n])); | |
| 							} | |
| 							$advorsqls = implode(" or ",$advorsql); | |
| 							$advfiltersql[] = " (".$advorsqls.") "; | |
| 						}else | |
| 						{ | |
| 							$advfiltersql[] = $this->getRealValues($columns[0],$columns[1],$advfltrow["comparator"],trim($advfltrow["value"])); | |
| 						} | |
| 					} | |
| 				} | |
| 			} | |
| 		} | |
| 		if(isset($advfiltersql)) | |
| 		{ | |
| 		    $advfsql = implode(" and ",$advfiltersql); | |
| 		} | |
| 		return $advfsql; | |
| 	} | |
| 	 | |
| 	function getRealValues($tablename,$fieldname,$comparator,$value) | |
| 	{ | |
| 		if($fieldname == "smownerid" || $fieldname == "inventorymanager") | |
| 		{ | |
| 			$value = $tablename.".".$fieldname.$this->getAdvComparator($comparator,getUserId_Ol($value)); | |
| 		}else if($fieldname == "parentid") | |
| 		{ | |
| 			$value = $tablename.".".$fieldname.$this->getAdvComparator($comparator,$this->getAccountId($value)); | |
| 		}else if($fieldname == "accountid") | |
| 		{ | |
| 			$value = $tablename.".".$fieldname.$this->getAdvComparator($comparator,$this->getAccountId($value)); | |
| 		}else if($fieldname == "contactid") | |
| 		{ | |
| 			$value = $tablename.".".$fieldname.$this->getAdvComparator($comparator,$this->getContactId($value)); | |
| 		}else if($fieldname == "vendor_id" || $fieldname == "vendorid") | |
| 		{ | |
| 			$value = $tablename.".".$fieldname.$this->getAdvComparator($comparator,$this->getVendorId($value)); | |
| 		}else if($fieldname == "potentialid") | |
| 		{ | |
| 			$value = $tablename.".".$fieldname.$this->getAdvComparator($comparator,$this->getPotentialId($value)); | |
| 		}else if($fieldname == "quoteid") | |
| 		{ | |
| 			$value = $tablename.".".$fieldname.$this->getAdvComparator($comparator,$this->getQuoteId($value)); | |
| 		} | |
| 		else if($fieldname == "product_id") | |
| 		{ | |
| 			$value = $tablename.".".$fieldname.$this->getAdvComparator($comparator,$this->getProductId($value)); | |
| 		} | |
| 		else if($fieldname == "salesorderid") | |
| 		{ | |
| 			$value = $tablename.".".$fieldname.$this->getAdvComparator($comparator,$this->getSoId($value)); | |
| 		} | |
| 		else if($fieldname == "crmid" || $fieldname == "parent_id") | |
| 		{ | |
| 			$value = $tablename.".".$fieldname." in (".$this->getSalesEntityId($value).") "; | |
| 		} | |
| 		else | |
| 		{ | |
| 			$value = $tablename.".".$fieldname.$this->getAdvComparator($comparator,$value);	 | |
| 		} | |
| 		return $value; | |
| 	} | |
| 	 | |
| 	function getSalesEntityId($setype) | |
| 	{ | |
| 		global $vtlog; | |
| 		$vtlog->logthis("in getSalesEntityId ".$setype,'info'); | |
| 		global $adb; | |
| 		$sql = "select crmid from crmentity where setype='".$setype."' and deleted = 0"; | |
| 		$result = $adb->query($sql); | |
| 		while($row = $adb->fetch_array($result)) | |
| 		{ | |
| 			$parent_id[] = $row["crmid"]; | |
| 		} | |
| 		if(isset($parent_id)) | |
| 		{ | |
| 			$parent_id = implode(",",$parent_id); | |
| 		}else | |
| 		{ | |
| 			$parent_id = 0; | |
| 		} | |
| 		return $parent_id; | |
| 	} | |
| 
 | |
| 	function getSoId($so_name) | |
| 	{ | |
| 		global $vtlog; | |
| 		$vtlog->logthis("in getSoId ".$so_name,'info'); | |
| 		global $adb; | |
| 		if($so_name != '') | |
| 		{ | |
| 			$sql = "select salesorderid from salesorder where subject='".$so_name."'"; | |
| 			$result = $adb->query($sql); | |
| 			$so_id = $adb->query_result($result,0,"salesorderid"); | |
| 		} | |
| 		return $so_id; | |
| 	} | |
| 
 | |
| 	function getProductId($product_name) | |
| 	{ | |
| 
 | |
| 		global $vtlog; | |
| 		$vtlog->logthis("in getProductId ".$product_name,'info'); | |
| 		global $adb; | |
| 		if($product_name != '') | |
| 		{ | |
| 			$sql = "select productid from products where productname='".$product_name."'"; | |
| 			$result = $adb->query($sql); | |
| 			$productid = $adb->query_result($result,0,"productid"); | |
| 		} | |
| 		return $productid; | |
| 	} | |
| 
 | |
| 	function getQuoteId($quote_name) | |
| 	{ | |
| 		global $vtlog; | |
| 		$vtlog->logthis("in getQuoteId ".$quote_name,'info'); | |
| 		global $adb; | |
| 		if($quote_name != '') | |
| 		{ | |
| 			$sql = "select quoteid from quotes where subject='".$quote_name."'"; | |
| 			$result = $adb->query($sql); | |
| 			$quote_id = $adb->query_result($result,0,"quoteid"); | |
| 		} | |
| 		return $quote_id; | |
| 	} | |
| 
 | |
| 	function getPotentialId($pot_name) | |
| 	{ | |
| 		global $vtlog; | |
| 		$vtlog->logthis("in getPotentialId ".$pot_name,'info'); | |
| 		global $adb; | |
| 		if($pot_name != '') | |
| 		{ | |
| 			$sql = "select potentialid from potential where potentialname='".$pot_name."'"; | |
| 			$result = $adb->query($sql); | |
| 			$potentialid = $adb->query_result($result,0,"potentialid"); | |
| 		} | |
| 		return $potentialid; | |
| 	} | |
| 	function getVendorId($vendor_name) | |
| 	{ | |
| 		global $vtlog; | |
| 		$vtlog->logthis("in getVendorId ".$vendor_name,'info'); | |
| 		global $adb; | |
| 		if($vendor_name != '') | |
| 		{ | |
| 			$sql = "select vendorid from vendor where vendorname='".$vendor_name."'"; | |
| 			$result = $adb->query($sql); | |
| 			$vendor_id = $adb->query_result($result,0,"vendorid"); | |
| 		} | |
| 		return $vendor_id; | |
| 	} | |
| 	 | |
| 	function getContactId($contact_name) | |
| 	{ | |
| 		global $vtlog; | |
| 		$vtlog->logthis("in getContactId ".$contact_name,'info'); | |
| 		global $adb; | |
| 		if($contact_name != '') | |
| 		{ | |
| 			$sql = "select contactid from contactdetails where lastname='".$contact_name."'"; | |
| 			$result = $adb->query($sql); | |
| 			$contact_id = $adb->query_result($result,0,"contactid"); | |
| 		} | |
| 		return $contact_id; | |
| 	} | |
| 
 | |
| 	function getAccountId($account_name) | |
| 	{ | |
| 		global $vtlog; | |
| 		$vtlog->logthis("in getAccountId ".$account_name,'info'); | |
| 
 | |
| 		global $adb; | |
| 		if($account_name != '') | |
| 		{ | |
| 			$sql = "select accountid from account where accountname='".$account_name."'"; | |
| 			$result = $adb->query($sql); | |
| 			$accountid = $adb->query_result($result,0,"accountid"); | |
| 		}		 | |
| 		return $accountid; | |
| 	} | |
| 
 | |
| 	function getAdvComparator($comparator,$value) | |
| 	{ | |
| /*		fLabels['e'] = 'equals'; | |
| 		fLabels['n'] = 'not equal to'; | |
| 		fLabels['s'] = 'starts with'; | |
| 		fLabels['c'] = 'contains'; | |
| 		fLabels['k'] = 'does not contain'; | |
| 		fLabels['l'] = 'less than'; | |
| 		fLabels['g'] = 'greater than'; | |
| 		fLabels['m'] = 'less or equal'; | |
| 		fLabels['h'] = 'greater or equal';*/ | |
| 		//require_once('include/database/PearDatabase.php'); | |
|  | |
| 		if($comparator == "e") | |
| 		{ | |
| 			if(trim($value) != "") | |
|                         { | |
|                                 $rtvalue = " = ".PearDatabase::quote($value); | |
|                         }else | |
|                         { | |
|                                 $rtvalue = " is NULL"; | |
|                         } | |
| 		} | |
| 		if($comparator == "n") | |
| 		{ | |
| 			if(trim($value) != "") | |
|                         { | |
|                                 $rtvalue = " <> ".PearDatabase::quote($value); | |
|                         }else | |
|                         { | |
|                                 $rtvalue = "is NOT NULL"; | |
|                         } | |
| 		} | |
| 		if($comparator == "s") | |
| 		{ | |
| 			$rtvalue = " like ".PearDatabase::quote($value."%"); | |
| 		} | |
| 		if($comparator == "c") | |
| 		{ | |
| 			$rtvalue = " like ".PearDatabase::quote("%".$value."%"); | |
| 		} | |
| 		if($comparator == "k") | |
| 		{ | |
| 			$rtvalue = " not like ".PearDatabase::quote("%".$value."%"); | |
| 		} | |
| 		if($comparator == "l") | |
| 		{ | |
| 			$rtvalue = " < ".PearDatabase::quote($value); | |
| 		} | |
| 		if($comparator == "g") | |
| 		{ | |
| 			$rtvalue = " > ".PearDatabase::quote($value); | |
| 		} | |
| 		if($comparator == "m") | |
| 		{ | |
| 			$rtvalue = " <= ".PearDatabase::quote($value); | |
| 		} | |
| 		if($comparator == "h") | |
| 		{ | |
| 			$rtvalue = " >= ".PearDatabase::quote($value); | |
| 		} | |
| 		 | |
| 		return $rtvalue; | |
| 	} | |
| 	function getDateforStdFilterBytype($type) | |
| 	{ | |
| 		$today = date("Y-m-d",mktime(0, 0, 0, date("m")  , date("d"), date("Y"))); | |
| 		$tomorrow  = date("Y-m-d",mktime(0, 0, 0, date("m")  , date("d")+1, date("Y"))); | |
| 		$yesterday  = date("Y-m-d",mktime(0, 0, 0, date("m")  , date("d")-1, date("Y"))); | |
| 
 | |
| 		$currentmonth0 = date("Y-m-d",mktime(0, 0, 0, date("m"), "01",   date("Y"))); | |
| 		$currentmonth1 = date("Y-m-t"); | |
| 		$lastmonth0 = date("Y-m-d",mktime(0, 0, 0, date("m")-1, "01",   date("Y"))); | |
| 		$lastmonth1 = date("Y-m-t", strtotime("-1 Month")); | |
| 		$nextmonth0 = date("Y-m-d",mktime(0, 0, 0, date("m")+1, "01",   date("Y"))); | |
| 		$nextmonth1 = date("Y-m-t", strtotime("+1 Month")); | |
| 
 | |
| 		$lastweek0 = date("Y-m-d",strtotime("-2 week Sunday")); | |
| 		$lastweek1 = date("Y-m-d",strtotime("-1 week Saturday")); | |
| 
 | |
| 		$thisweek0 = date("Y-m-d",strtotime("-1 week Sunday")); | |
| 		$thisweek1 = date("Y-m-d",strtotime("this Saturday")); | |
| 
 | |
| 		$nextweek0 = date("Y-m-d",strtotime("this Sunday")); | |
| 		$nextweek1 = date("Y-m-d",strtotime("+1 week Saturday")); | |
| 
 | |
| 		$next7days = date("Y-m-d",mktime(0, 0, 0, date("m")  , date("d")+6, date("Y"))); | |
| 		$next30days = date("Y-m-d",mktime(0, 0, 0, date("m")  , date("d")+29, date("Y"))); | |
| 		$next60days = date("Y-m-d",mktime(0, 0, 0, date("m")  , date("d")+59, date("Y"))); | |
| 		$next90days = date("Y-m-d",mktime(0, 0, 0, date("m")  , date("d")+89, date("Y"))); | |
| 		$next120days = date("Y-m-d",mktime(0, 0, 0, date("m")  , date("d")+119, date("Y"))); | |
| 
 | |
| 		$last7days = date("Y-m-d",mktime(0, 0, 0, date("m")  , date("d")-6, date("Y"))); | |
| 		$last30days = date("Y-m-d",mktime(0, 0, 0, date("m")  , date("d")-29, date("Y"))); | |
| 		$last60days = date("Y-m-d",mktime(0, 0, 0, date("m")  , date("d")-59, date("Y"))); | |
| 		$last90days = date("Y-m-d",mktime(0, 0, 0, date("m")  , date("d")-89, date("Y"))); | |
| 		$last120days = date("Y-m-d",mktime(0, 0, 0, date("m")  , date("d")-119, date("Y"))); | |
| 		 | |
| 		$currentFY0 = date("Y-m-d",mktime(0, 0, 0, "01", "01",   date("Y"))); | |
| 		$currentFY1 = date("Y-m-t",mktime(0, 0, 0, "12", date("d"),   date("Y"))); | |
| 		$lastFY0 = date("Y-m-d",mktime(0, 0, 0, "01", "01",   date("Y")-1)); | |
| 		$lastFY1 = date("Y-m-t", mktime(0, 0, 0, "12", date("d"), date("Y")-1)); | |
| 		$nextFY0 = date("Y-m-d",mktime(0, 0, 0, "01", "01",   date("Y")+1)); | |
| 		$nextFY1 = date("Y-m-t", mktime(0, 0, 0, "12", date("d"), date("Y")+1)); | |
| 
 | |
| 		if($type == "today" ) | |
| 		{ | |
| 
 | |
| 		$datevalue[0] = $today; | |
| 		$datevalue[1] = $today; | |
| 		} | |
| 		elseif($type == "yesterday" ) | |
| 		{ | |
| 
 | |
| 		$datevalue[0] = $yesterday; | |
| 		$datevalue[1] = $yesterday; | |
| 		} | |
| 		elseif($type == "tomorrow" ) | |
| 		{ | |
| 
 | |
| 		$datevalue[0] = $tomorrow; | |
| 		$datevalue[1] = $tomorrow; | |
| 		} | |
| 		elseif($type == "thisweek" ) | |
| 		{ | |
| 
 | |
| 		$datevalue[0] = $thisweek0; | |
| 		$datevalue[1] = $thisweek1; | |
| 		} | |
| 		elseif($type == "lastweek" ) | |
| 		{ | |
| 
 | |
| 		$datevalue[0] = $lastweek0; | |
| 		$datevalue[1] = $lastweek1; | |
| 		} | |
| 		elseif($type == "nextweek" ) | |
| 		{ | |
| 
 | |
| 		$datevalue[0] = $nextweek0; | |
| 		$datevalue[1] = $nextweek1; | |
| 		} | |
| 		elseif($type == "thismonth" ) | |
| 		{ | |
| 
 | |
| 		$datevalue[0] =$currentmonth0; | |
| 		$datevalue[1] = $currentmonth1; | |
| 		} | |
| 
 | |
| 		elseif($type == "lastmonth" ) | |
| 		{ | |
| 
 | |
| 		$datevalue[0] = $lastmonth0; | |
| 		$datevalue[1] = $lastmonth1; | |
| 		} | |
| 		elseif($type == "nextmonth" ) | |
| 		{ | |
| 
 | |
| 		$datevalue[0] = $nextmonth0; | |
| 		$datevalue[1] = $nextmonth1; | |
| 		}            | |
| 		elseif($type == "next7days" ) | |
| 		{ | |
| 
 | |
| 		$datevalue[0] = $today; | |
| 		$datevalue[1] = $next7days; | |
| 		}                 | |
| 		elseif($type == "next30days" ) | |
| 		{ | |
| 
 | |
| 		$datevalue[0] =$today; | |
| 		$datevalue[1] =$next30days; | |
| 		}                 | |
| 		elseif($type == "next60days" ) | |
| 		{ | |
| 
 | |
| 		$datevalue[0] = $today; | |
| 		$datevalue[1] = $next60days; | |
| 		}                 | |
| 		elseif($type == "next90days" ) | |
| 		{ | |
| 
 | |
| 		$datevalue[0] = $today; | |
| 		$datevalue[1] = $next90days; | |
| 		}         | |
| 		elseif($type == "next120days" ) | |
| 		{ | |
| 
 | |
| 		$datevalue[0] = $today; | |
| 		$datevalue[1] = $next120days; | |
| 		}         | |
| 		elseif($type == "last7days" ) | |
| 		{ | |
| 
 | |
| 		$datevalue[0] = $last7days; | |
| 		$datevalue[1] = $today; | |
| 		}                         | |
| 		elseif($type == "last30days" ) | |
| 		{ | |
| 
 | |
| 		$datevalue[0] = $last30days; | |
| 		$datevalue[1] =  $today; | |
| 		}                 | |
| 		elseif($type == "last60days" ) | |
| 		{ | |
| 
 | |
| 		$datevalue[0] = $last60days; | |
| 		$datevalue[1] = $today; | |
| 		}         | |
| 		else if($type == "last90days" ) | |
| 		{ | |
| 
 | |
| 		$datevalue[0] = $last90days; | |
| 		$datevalue[1] = $today; | |
| 		}         | |
| 		elseif($type == "last120days" ) | |
| 		{ | |
| 
 | |
| 		$datevalue[0] = $last120days; | |
| 		$datevalue[1] = $today; | |
| 		}         | |
| 		elseif($type == "thisfy" ) | |
| 		{ | |
| 
 | |
| 		$datevalue[0] = $currentFY0; | |
| 		$datevalue[1] = $currentFY1; | |
| 		}                 | |
| 		elseif($type == "prevfy" ) | |
| 		{ | |
| 
 | |
| 		$datevalue[0] = $lastFY0; | |
| 		$datevalue[1] = $lastFY1; | |
| 		}                 | |
| 		elseif($type == "nextfy" ) | |
| 		{ | |
| 
 | |
| 		$datevalue[0] = $nextFY0; | |
| 		$datevalue[1] = $nextFY1; | |
| 		}                 | |
| 		elseif($type == "nextfq" ) | |
| 		{ | |
| 
 | |
| 		$datevalue[0] = "2005-07-01"; | |
| 		$datevalue[1] = "2005-09-30"; | |
| 		}                         | |
| 		elseif($type == "prevfq" ) | |
| 		{ | |
| 
 | |
| 		$datevalue[0] = "2005-01-01"; | |
| 		$datevalue[1] = "2005-03-31"; | |
| 		}                 | |
| 		elseif($type == "thisfq" ) | |
| 		{ | |
| 		$datevalue[0] = "2005-04-01"; | |
| 		$datevalue[1] = "2005-06-30"; | |
| 		} | |
| 		else | |
| 		{ | |
| 		$datevalue[0] = ""; | |
| 		$datevalue[1] = ""; | |
| 		} | |
| 
 | |
| 		return $datevalue; | |
| 	} | |
| 
 | |
| 	function getModifiedCvListQuery($viewid,$listquery,$module) | |
| 	{ | |
| 		if($viewid != "" && $listquery != "") | |
| 		{ | |
| 			$listviewquery = substr($listquery, strpos($listquery,'from'),strlen($listquery)); | |
| 			//$listviewquery = substr($listviewquery,strpos($listviewquery,'from'),strpos($listviewquery,'where')); | |
|  | |
| 			//$wherequery = substr($listquery, strpos($listquery,'where'),strlen($listquery)); | |
|  | |
| 
 | |
| 			//echo $listviewquery." ".$wherequery; | |
| 			if($module == "Activities" || $module == "Emails") | |
| 			{ | |
| 				$query = "select ".$this->getCvColumnListSQL($viewid)." ,crmentity.crmid,activity.* ".$listviewquery; | |
| 			}else if($module == "Notes") | |
| 			{ | |
| 				$query = "select ".$this->getCvColumnListSQL($viewid)." ,crmentity.crmid,notes.* ".$listviewquery; | |
| 			} | |
| 			else if($module == "Products") | |
| 			{ | |
| 				$query = "select ".$this->getCvColumnListSQL($viewid)." ,crmentity.crmid,products.* ".$listviewquery; | |
| 			}else | |
| 			{ | |
| 				$query = "select ".$this->getCvColumnListSQL($viewid)." ,crmentity.crmid ".$listviewquery; | |
| 			} | |
| 			$stdfiltersql = $this->getCVStdFilterSQL($viewid); | |
| 			$advfiltersql = $this->getCVAdvFilterSQL($viewid); | |
| 			if(isset($stdfiltersql) && $stdfiltersql != '') | |
| 			{ | |
| 				$query .= ' and '.$stdfiltersql; | |
| 			} | |
| 			if(isset($advfiltersql) && $advfiltersql != '') | |
| 			{ | |
| 				$query .= ' and '.$advfiltersql; | |
| 			} | |
| 
 | |
| 		} | |
| 		//echo $query; | |
| 		return $query; | |
| 	} | |
| 	 | |
| 	function getMetricsCvListQuery($viewid,$listquery,$module) | |
| 	{ | |
| 		if($viewid != "" && $listquery != "") | |
|                 { | |
|                         $listviewquery = substr($listquery, strpos($listquery,'from'),strlen($listquery)); | |
| 
 | |
|                         $query = "select count(*) count ".$listviewquery; | |
|                          | |
| 			$stdfiltersql = $this->getCVStdFilterSQL($viewid); | |
|                         $advfiltersql = $this->getCVAdvFilterSQL($viewid); | |
|                         if(isset($stdfiltersql) && $stdfiltersql != '') | |
|                         { | |
|                                 $query .= ' and '.$stdfiltersql; | |
|                         } | |
|                         if(isset($advfiltersql) && $advfiltersql != '') | |
|                         { | |
|                                 $query .= ' and '.$advfiltersql; | |
|                         } | |
| 
 | |
|                 } | |
| 
 | |
|                 return $query; | |
| 	} | |
| 	 | |
| 	/*function getMetricsCustomView($viewnames) | |
| 	{ | |
| 		global $adb; | |
|                 $tabid = getTabid($this->customviewmodule); | |
|                 $ssql = "select customview.* from customview inner join tab on tab.name = customview.entitytype"; | |
|                 $ssql .= " where ; | |
|                 //echo $ssql; | |
|                 $result = $adb->query($ssql); | |
|                 while($cvrow=$adb->fetch_array($result)) | |
|                 { | |
|                         if($cvrow['setdefault'] == 1) | |
|                         { | |
|                                 $shtml .= "<option selected value=\"".$cvrow['cvid']."\">".$cvrow['viewname']."</option>"; | |
|                                 $this->setdefaultviewid = $cvrow['cvid']; | |
|                         } | |
|                         else | |
|                         { | |
|                                 $shtml .= "<option value=\"".$cvrow['cvid']."\">".$cvrow['viewname']."</option>"; | |
|                         } | |
|                 } | |
|                 //echo $shtml; | |
|                 return $shtml; | |
| 	}*/ | |
| 	function getCustomActionDetails($cvid) | |
| 	{ | |
| 		global $adb; | |
| 
 | |
| 		$sSQL = "select customaction.* from customaction inner join customview on customaction.cvid = customview.cvid"; | |
|                 $sSQL .= " where customaction.cvid=".$cvid; | |
|                 //echo $sSQL; | |
|                 $result = $adb->query($sSQL); | |
| 
 | |
|                 while($carow = $adb->fetch_array($result)) | |
|                 { | |
|                         $calist["subject"] = $carow["subject"]; | |
|                         $calist["module"] = $carow["module"]; | |
|                         $calist["content"] = $carow["content"]; | |
| 			$calist["cvid"] = $carow["cvid"]; | |
|                 } | |
|                 return $calist;	 | |
| 	} | |
| 
 | |
| 	function getParentId($fields,$values) | |
| 	{ | |
| 		global $adb; | |
| 
 | |
| 		if($fields = 'crmentity.smownerid') | |
| 		{ | |
| 			$sSQL = " left join users on users".$value; | |
| 			$result = $adb->query($sSQL); | |
| 		} | |
| 	} | |
| 
 | |
| } | |
| ?>
 | |
| 
 |