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.
		
		
		
		
		
			
		
			
				
					
					
						
							220 lines
						
					
					
						
							7.9 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							220 lines
						
					
					
						
							7.9 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.
							 | 
						|
								*
							 | 
						|
								 ********************************************************************************/
							 | 
						|
								require_once('include/logging.php');
							 | 
						|
								require_once('include/database/PearDatabase.php');
							 | 
						|
								global $adb;
							 | 
						|
								global $vtlog;
							 | 
						|
								
							 | 
						|
								$cvid = $_REQUEST["record"];
							 | 
						|
								$cvmodule = $_REQUEST["cvmodule"];
							 | 
						|
								
							 | 
						|
								if($cvmodule != "")
							 | 
						|
								{
							 | 
						|
									$viewname = addslashes($_REQUEST["viewName"]);
							 | 
						|
									if(isset($_REQUEST["setDefault"]))
							 | 
						|
									{
							 | 
						|
									  $setdefault = 1;
							 | 
						|
									}else
							 | 
						|
									{
							 | 
						|
									  $setdefault = 0;
							 | 
						|
									}
							 | 
						|
								
							 | 
						|
									if(isset($_REQUEST["setMetrics"]))
							 | 
						|
								        {
							 | 
						|
								          $setmetrics = 1;
							 | 
						|
								        }else
							 | 
						|
								        {
							 | 
						|
								          $setmetrics = 0;
							 | 
						|
								        }
							 | 
						|
								
							 | 
						|
									//echo $viewname.$setdefault;
							 | 
						|
								 	$allKeys = array_keys($HTTP_POST_VARS);
							 | 
						|
								
							 | 
						|
									//<<<<<<<columns>>>>>>>>>>
							 | 
						|
									for ($i=0;$i<count($allKeys);$i++)
							 | 
						|
									{
							 | 
						|
									   $string = substr($allKeys[$i], 0, 6);
							 | 
						|
									   if($string == "column")
							 | 
						|
									   {
							 | 
						|
								        	   $columnslist[] = $_REQUEST[$allKeys[$i]];
							 | 
						|
								   	   }
							 | 
						|
									}
							 | 
						|
									//<<<<<<<columns>>>>>>>>>
							 | 
						|
								
							 | 
						|
									//<<<<<<<standardfilters>>>>>>>>>
							 | 
						|
									$stdfiltercolumn = $_REQUEST["stdDateFilterField"];
							 | 
						|
									$std_filter_list["columnname"] = $stdfiltercolumn;
							 | 
						|
									$stdcriteria = $_REQUEST["stdDateFilter"];
							 | 
						|
									$std_filter_list["stdfilter"] = $stdcriteria;
							 | 
						|
									$startdate = $_REQUEST["startdate"];
							 | 
						|
									$std_filter_list["startdate"] = $startdate;
							 | 
						|
									$enddate = $_REQUEST["enddate"];
							 | 
						|
									$std_filter_list["enddate"]=$enddate;
							 | 
						|
									//<<<<<<<standardfilters>>>>>>>>>
							 | 
						|
								
							 | 
						|
									//<<<<<<<advancedfilter>>>>>>>>>
							 | 
						|
									for ($i=0;$i<count($allKeys);$i++)
							 | 
						|
									{
							 | 
						|
									   $string = substr($allKeys[$i], 0, 4);
							 | 
						|
									   if($string == "fcol")
							 | 
						|
								   	   {
							 | 
						|
								           	$adv_filter_col[] = $_REQUEST[$allKeys[$i]];
							 | 
						|
								   	   }
							 | 
						|
									}
							 | 
						|
								
							 | 
						|
									for ($i=0;$i<count($allKeys);$i++)
							 | 
						|
									{
							 | 
						|
									   $string = substr($allKeys[$i], 0, 3);
							 | 
						|
									   if($string == "fop")
							 | 
						|
								   	   {
							 | 
						|
								           	$adv_filter_option[] = $_REQUEST[$allKeys[$i]];
							 | 
						|
								   	   }
							 | 
						|
									}
							 | 
						|
									for ($i=0;$i<count($allKeys);$i++)
							 | 
						|
									{
							 | 
						|
								   	   $string = substr($allKeys[$i], 0, 4);
							 | 
						|
									   if($string == "fval")
							 | 
						|
								   	   {
							 | 
						|
								           	$adv_filter_value[] = addslashes($_REQUEST[$allKeys[$i]]);
							 | 
						|
								   	   }
							 | 
						|
									}
							 | 
						|
									//<<<<<<<advancedfilter>>>>>>>>
							 | 
						|
								
							 | 
						|
									if($cvid == "")
							 | 
						|
									{
							 | 
						|
										$genCVid = $adb->getUniqueID("customview");
							 | 
						|
										if($genCVid != "")
							 | 
						|
										{
							 | 
						|
								
							 | 
						|
										  if($setdefault == 1)
							 | 
						|
										  {
							 | 
						|
										  	$updatedefaultsql = "update customview set setdefault=0 where entitytype='".$cvmodule."'";
							 | 
						|
											$updatedefaultresult = $adb->query($updatedefaultsql);
							 | 
						|
										  }
							 | 
						|
										  $vtlog->logthis("CustomView :: Save :: setdefault upated successfully","info");
							 | 
						|
								
							 | 
						|
										  $customviewsql = "insert into customview(cvid,viewname,setdefault,setmetrics,entitytype)";
							 | 
						|
										  $customviewsql .= " values(".$genCVid.",'".$viewname."',".$setdefault.",".$setmetrics.",'".$cvmodule."')";
							 | 
						|
										  //echo $customviewsql;
							 | 
						|
										  $customviewresult = $adb->query($customviewsql);
							 | 
						|
										  $vtlog->logthis("CustomView :: Save :: customview created successfully","info");
							 | 
						|
										  if($customviewresult)
							 | 
						|
										  {
							 | 
						|
											if(isset($columnslist))
							 | 
						|
											{
							 | 
						|
								  			    for($i=0;$i<count($columnslist);$i++)
							 | 
						|
											    {
							 | 
						|
												$columnsql = "insert into cvcolumnlist (cvid,columnindex,columnname)";
							 | 
						|
												$columnsql .= " values (".$genCVid.",".$i.",'".$columnslist[$i]."')";
							 | 
						|
												//echo $columnsql;
							 | 
						|
												$columnresult = $adb->query($columnsql);
							 | 
						|
											    }
							 | 
						|
											    $vtlog->logthis("CustomView :: Save :: cvcolumnlist created successfully","info");
							 | 
						|
								
							 | 
						|
											    $stdfiltersql = "insert into cvstdfilter(cvid,columnname,stdfilter,startdate,enddate)";
							 | 
						|
											    $stdfiltersql .= " values (".$genCVid.",'".$std_filter_list["columnname"]."',";
							 | 
						|
											    $stdfiltersql .= "'".$std_filter_list["stdfilter"]."',";
							 | 
						|
											    $stdfiltersql .= "'".$std_filter_list["startdate"]."',";
							 | 
						|
											    $stdfiltersql .= "'".$std_filter_list["enddate"]."')";
							 | 
						|
											    //echo $stdfiltersql;
							 | 
						|
											    $stdfilterresult = $adb->query($stdfiltersql);
							 | 
						|
											    $vtlog->logthis("CustomView :: Save :: cvstdfilter created successfully","info");
							 | 
						|
								
							 | 
						|
											    for($i=0;$i<count($adv_filter_col);$i++)
							 | 
						|
											    {
							 | 
						|
												$advfiltersql = "insert into cvadvfilter(cvid,columnindex,columnname,comparator,value)";
							 | 
						|
												$advfiltersql .= " values (".$genCVid.",".$i.",'".$adv_filter_col[$i]."',";
							 | 
						|
												$advfiltersql .= "'".$adv_filter_option[$i]."',";
							 | 
						|
												$advfiltersql .= "'".$adv_filter_value[$i]."')";
							 | 
						|
												//echo $advfiltersql;
							 | 
						|
												$advfilterresult = $adb->query($advfiltersql);
							 | 
						|
											    }
							 | 
						|
											    $vtlog->logthis("CustomView :: Save :: cvadvfilter created successfully","info");
							 | 
						|
											}
							 | 
						|
										  }
							 | 
						|
										  $cvid = $genCVid;
							 | 
						|
										}
							 | 
						|
									}else
							 | 
						|
									{
							 | 
						|
								
							 | 
						|
									     if($setdefault == 1)
							 | 
						|
									     {
							 | 
						|
											$updatedefaultsql = "update customview set setdefault=0 where entitytype='".$cvmodule."'";
							 | 
						|
											$updatedefaultresult = $adb->query($updatedefaultsql);
							 | 
						|
									     }
							 | 
						|
									     $vtlog->logthis("CustomView :: Save :: setdefault upated successfully".$genCVid,"info");
							 | 
						|
								
							 | 
						|
									     $updatecvsql = "update customview set viewname='".$viewname."',setdefault=".$setdefault.",setmetrics=".$setmetrics." where cvid=".$cvid;
							 | 
						|
									     $updatecvresult = $adb->query($updatecvsql);
							 | 
						|
									     $vtlog->logthis("CustomView :: Save :: customview upated successfully".$genCVid,"info");
							 | 
						|
								
							 | 
						|
									     $deletesql = "delete from cvcolumnlist where cvid=".$cvid;
							 | 
						|
									     $deleteresult = $adb->query($deletesql);
							 | 
						|
								
							 | 
						|
									     $deletesql = "delete from cvstdfilter where cvid=".$cvid;
							 | 
						|
								             $deleteresult = $adb->query($deletesql);
							 | 
						|
								
							 | 
						|
								             $deletesql = "delete from cvadvfilter where cvid=".$cvid;
							 | 
						|
								             $deleteresult = $adb->query($deletesql);
							 | 
						|
									     $vtlog->logthis("CustomView :: Save :: cvcolumnlist,cvstdfilter,cvadvfilter deleted successfully before update".$genCVid,"info");
							 | 
						|
								
							 | 
						|
									     $genCVid = $cvid;
							 | 
						|
								             if($updatecvresult)
							 | 
						|
									     {
							 | 
						|
										if(isset($columnslist))
							 | 
						|
								                {
							 | 
						|
								                     for($i=0;$i<count($columnslist);$i++)
							 | 
						|
								                     {
							 | 
						|
								                         $columnsql = "insert into cvcolumnlist (cvid,columnindex,columnname)";
							 | 
						|
								                         $columnsql .= " values (".$genCVid.",".$i.",'".$columnslist[$i]."')";
							 | 
						|
								                         //echo $columnsql;
							 | 
						|
								                         $columnresult = $adb->query($columnsql);
							 | 
						|
								                     }
							 | 
						|
										     $vtlog->logthis("CustomView :: Save :: cvcolumnlist update successfully".$genCVid,"info");
							 | 
						|
								
							 | 
						|
								                     $stdfiltersql = "insert into cvstdfilter(cvid,columnname,stdfilter,startdate,enddate)";
							 | 
						|
								                     $stdfiltersql .= " values (".$genCVid.",'".$std_filter_list["columnname"]."',";
							 | 
						|
								                     $stdfiltersql .= "'".$std_filter_list["stdfilter"]."',";
							 | 
						|
								                     $stdfiltersql .= "'".$std_filter_list["startdate"]."',";
							 | 
						|
								                     $stdfiltersql .= "'".$std_filter_list["enddate"]."')";
							 | 
						|
								                     //echo $stdfiltersql;
							 | 
						|
								                     $stdfilterresult = $adb->query($stdfiltersql);
							 | 
						|
										     $vtlog->logthis("CustomView :: Save :: cvstdfilter update successfully".$genCVid,"info");
							 | 
						|
								
							 | 
						|
								                     for($i=0;$i<count($adv_filter_col);$i++)
							 | 
						|
								                     {
							 | 
						|
								                         $advfiltersql = "insert into cvadvfilter(cvid,columnindex,columnname,comparator,value)";
							 | 
						|
								                         $advfiltersql .= " values (".$genCVid.",".$i.",'".$adv_filter_col[$i]."',";
							 | 
						|
								                         $advfiltersql .= "'".$adv_filter_option[$i]."',";
							 | 
						|
								                         $advfiltersql .= "'".$adv_filter_value[$i]."')";
							 | 
						|
								                        // echo $advfiltersql;
							 | 
						|
								                         $advfilterresult = $adb->query($advfiltersql);
							 | 
						|
								                     }
							 | 
						|
										     $vtlog->logthis("CustomView :: Save :: cvadvfilter update successfully".$genCVid,"info");
							 | 
						|
								                }
							 | 
						|
									     }
							 | 
						|
									}
							 | 
						|
								}
							 | 
						|
								//echo $cvmodule;
							 | 
						|
								
							 | 
						|
								if($cvmodule == "Vendor")
							 | 
						|
								{
							 | 
						|
									$cvmodule = "Products&smodule=VENDOR";
							 | 
						|
								}elseif($cvmodule == "PriceBook")
							 | 
						|
								{
							 | 
						|
									$cvmodule = "Products&smodule=PRICEBOOK";
							 | 
						|
								}elseif($cvmodule == "SalesOrder")
							 | 
						|
								{
							 | 
						|
									$cvmodule = "Orders&smodule=SO";
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								header("Location: index.php?action=index&module=$cvmodule&viewname=$cvid");
							 | 
						|
								?>
							 | 
						|
								
							 |