Ejemplo n.º 1
0
 /**
   * Function to get the Audit Trail Information values of the actions performed by a particular User.
   * @param integer $userid - User's ID
   * @param $navigation_array - Array values to navigate through the number of entries.
   * @param $sortorder - DESC
   * @param $orderby - actiondate
   * Returns the audit trail entries in an array format.
 **/
 function getAuditTrailEntries($userid, $navigation_array, $sorder = '', $orderby = '')
 {
     global $log;
     $log->debug("Entering getAuditTrailEntries(" . $userid . ") method ...");
     global $adb, $current_user;
     if ($sorder != '' && $order_by != '') {
         $list_query = "Select * from vtiger_audit_trial where userid =? order by " . $order_by . " " . $sorder;
     } else {
         $list_query = "Select * from vtiger_audit_trial where userid =? order by " . $this->default_order_by . " " . $this->default_sort_order;
     }
     $result = $adb->pquery($list_query, array($userid));
     $entries_list = array();
     if ($navigation_array['end_val'] != 0) {
         for ($i = $navigation_array['start']; $i <= $navigation_array['end_val']; $i++) {
             $entries = array();
             $userid = $adb->query_result($result, $i - 1, 'userid');
             $entries[] = getTranslatedString($adb->query_result($result, $i - 1, 'module'));
             $entries[] = $adb->query_result($result, $i - 1, 'action');
             $entries[] = $adb->query_result($result, $i - 1, 'recordid');
             $date = new DateTimeField($adb->query_result($result, $i - 1, 'actiondate'));
             $entries[] = $date->getDBInsertDateValue();
             $entries_list[] = $entries;
         }
         $log->debug("Exiting getAuditTrailEntries() method ...");
         return $entries_list;
     }
 }
Ejemplo n.º 2
0
 function replaceReport($content, $reportid)
 {
     session_start();
     require_once "modules/Reports/ReportRun.php";
     require_once "modules/Reports/Reports.php";
     require_once 'include/utils/utils.php';
     $current_language = Users_Record_Model::getCurrentUserModel()->get('language');
     include "modules/OSSPdf/language/" . $current_language . ".lang.php";
     $language = $_SESSION['authenticated_user_language'] . '.lang.php';
     require_once "include/language/{$language}";
     $db = PearDatabase::getInstance();
     $oReport = new Reports($reportid);
     //Code given by Csar Rodrguez for Rwport Filter
     $filtercolumn = $_REQUEST["stdDateFilterField"];
     $filter = $_REQUEST["stdDateFilter"];
     $oReportRun = new ReportRun($reportid);
     $startdate = $_REQUEST['startdate'];
     $enddate = $_REQUEST['enddate'];
     if (!empty($startdate) && !empty($enddate) && $startdate != "0000-00-00" && $enddate != "0000-00-00") {
         $date = new DateTimeField($_REQUEST['startdate']);
         $endDate = new DateTimeField($_REQUEST['enddate']);
         $startdate = $date->getDBInsertDateValue();
         //Convert the user date format to DB date format
         $enddate = $endDate->getDBInsertDateValue();
         //Convert the user date format to DB date format
     }
     $filterlist = $oReportRun->RunTimeFilter($filtercolumn, $filter, $startdate, $enddate);
     ############///////////////////////////////#########################
     $sql = $oReportRun->sGetSQLforReport($reportid, $filterlist);
     $result = $db->query($sql, true);
     $modules_selected = array();
     $modules_selected[] = $oReportRun->primarymodule;
     if (!empty($oReportRun->secondarymodule)) {
         $sec_modules = split(":", $oReportRun->secondarymodule);
         for ($i = 0; $i < count($sec_modules); $i++) {
             $modules_selected[] = $sec_modules[$i];
         }
     }
     $y = $db->num_fields($result);
     $report = '<table border="1" cellpadding="2"><tr width="500px" bgcolor="lightgrey">';
     $arrayHeaders = array();
     for ($x = 0; $x < $y; $x++) {
         $fld = $db->field_name($result, $x);
         if (in_array($oReportRun->getLstringforReportHeaders($fld->name), $arrayHeaders)) {
             $headerLabel = str_replace("_", " ", $fld->name);
             $arrayHeaders[] = $headerLabel;
         } else {
             $headerLabel = str_replace($modules, " ", $oReportRun->getLstringforReportHeaders($fld->name));
             $headerLabel = str_replace("_", " ", $oReportRun->getLstringforReportHeaders($fld->name));
             $arrayHeaders[] = $headerLabel;
         }
         /*STRING TRANSLATION starts */
         $mod_name = split(' ', $headerLabel, 2);
         $moduleLabel = '';
         if (in_array($mod_name[0], $modules_selected)) {
             $moduleLabel = getTranslatedString($mod_name[0], $mod_name[0]);
         }
         if (!empty($oReportRun->secondarymodule)) {
             if ($moduleLabel != '') {
                 $headerLabel_tmp = getTranslatedString($mod_name[1], $mod_name[0]);
             } else {
                 $headerLabel_tmp = getTranslatedString($mod_name[0] . " " . $mod_name[1]);
             }
         } else {
             if ($moduleLabel != '') {
                 $headerLabel_tmp = getTranslatedString($mod_name[1], $mod_name[0]);
             } else {
                 $headerLabel_tmp = getTranslatedString($mod_name[0] . " " . $mod_name[1]);
             }
         }
         if ($headerLabel == $headerLabel_tmp) {
             $headerLabel = getTranslatedString($headerLabel_tmp);
         } else {
             $headerLabel = $headerLabel_tmp;
         }
         /*STRING TRANSLATION ends */
         $report .= "<td class='rptCellLabel'><small><b>" . $headerLabel . "</b></small></td>";
         // Performance Optimization: If direct output is required
         // END
     }
     $report .= '</tr>';
     // END
     $noofrows = $db->num_rows($result);
     $custom_field_values = $db->fetch_array($result);
     $groupslist = $oReportRun->getGroupingList($oReportRun->reportid);
     $column_definitions = $db->getFieldsDefinition($result);
     do {
         $arraylists = array();
         if (count($groupslist) == 1) {
             $newvalue = $custom_field_values[0];
         } elseif (count($groupslist) == 2) {
             $newvalue = $custom_field_values[0];
             $snewvalue = $custom_field_values[1];
         } elseif (count($groupslist) == 3) {
             $newvalue = $custom_field_values[0];
             $snewvalue = $custom_field_values[1];
             $tnewvalue = $custom_field_values[2];
         }
         if ($newvalue == "") {
             $newvalue = "-";
         }
         if ($snewvalue == "") {
             $snewvalue = "-";
         }
         if ($tnewvalue == "") {
             $tnewvalue = "-";
         }
         $report .= '<tr width="500px">';
         // Performance Optimization
         // END
         for ($i = 0; $i < $y; $i++) {
             $fld = $db->field_name($result, $i);
             $fld_type = $column_definitions[$i]->type;
             $fieldvalue = getReportFieldValue($oReportRun, $picklistarray, $fld, $custom_field_values, $i);
             //check for Roll based pick list
             $temp_val = $fld->name;
             if ($fieldvalue == "") {
                 $fieldvalue = "-";
             } else {
                 if ($fld->name == 'LBL_ACTION') {
                 }
             }
             if ($lastvalue == $fieldvalue && $oReportRun->reporttype == "summary") {
                 if ($report->reporttype == "summary") {
                     $valtemplate .= "<td class='rptEmptyGrp'>&nbsp;</td>";
                 } else {
                     $report .= "<td class='rptData'>" . $fieldvalue . "</td>";
                 }
             } else {
                 if ($secondvalue === $fieldvalue && $oReportRun->reporttype == "summary") {
                     if ($lastvalue === $newvalue) {
                         $report .= "<td class='rptEmptyGrp'>&nbsp;</td>";
                     } else {
                         $report .= "<td class='rptGrpHead'>" . $fieldvalue . "</td>";
                     }
                 } else {
                     if ($thirdvalue === $fieldvalue && $oReportRun->reporttype == "summary") {
                         if ($secondvalue === $snewvalue) {
                             $report .= "<td class='rptEmptyGrp'>&nbsp;</td>";
                         } else {
                             $report .= "<td class='rptGrpHead'>" . $fieldvalue . "</td>";
                         }
                     } else {
                         if ($oReportRun->reporttype == "tabular") {
                             $report .= "<td class='rptData'><small>" . $fieldvalue . "</small></td>";
                         } else {
                             $report .= "<td class='rptGrpHead'><small>" . $fieldvalue . "</small></td>";
                         }
                     }
                 }
             }
             // Performance Optimization: If direct output is required
             // END
         }
         $report .= "</tr>";
         // Performance Optimization: If direct output is required
         //	echo $valtemplate;
         // END
         $lastvalue = $newvalue;
         $secondvalue = $snewvalue;
         $thirdvalue = $tnewvalue;
         $arr_val[] = $arraylists;
         set_time_limit($php_max_execution_time);
     } while ($custom_field_values = $db->fetch_array($result));
     $report .= "</table></br>";
     $content = str_replace("#report_tag#", $report, $content);
     ############///////////////////////////////#########################
     return $content;
 }
 /** Function to insert values in the specifed table for the specified module
  * @param $table_name -- table name:: Type varchar
  * @param $module -- module:: Type varchar
  */
 function insertIntoEntityTable($table_name, $module, $fileid = '')
 {
     global $log;
     global $current_user, $app_strings;
     $log->info("function insertIntoEntityTable " . $module . ' vtiger_table name ' . $table_name);
     global $adb;
     $insertion_mode = $this->mode;
     //Checkin whether an entry is already is present in the vtiger_table to update
     if ($insertion_mode == 'edit') {
         $tablekey = $this->tab_name_index[$table_name];
         // Make selection on the primary key of the module table to check.
         $check_query = "select {$tablekey} from {$table_name} where {$tablekey}=?";
         $check_result = $adb->pquery($check_query, array($this->id));
         $num_rows = $adb->num_rows($check_result);
         if ($num_rows <= 0) {
             $insertion_mode = '';
         }
     }
     $tabid = getTabid($module);
     if ($module == 'Calendar' && $this->column_fields["activitytype"] != null && $this->column_fields["activitytype"] != 'Task') {
         $tabid = getTabid('Events');
     }
     if ($insertion_mode == 'edit') {
         $update = array();
         $update_params = array();
         checkFileAccessForInclusion('user_privileges/user_privileges_' . $current_user->id . '.php');
         require 'user_privileges/user_privileges_' . $current_user->id . '.php';
         if ($is_admin == true || $profileGlobalPermission[1] == 0 || $profileGlobalPermission[2] == 0) {
             $sql = "select * from vtiger_field where tabid in (" . generateQuestionMarks($tabid) . ") and tablename=? and displaytype in (1,3) and presence in (0,2) group by columnname";
             $params = array($tabid, $table_name);
         } else {
             $profileList = getCurrentUserProfileList();
             if (count($profileList) > 0) {
                 $sql = "SELECT *\n\t\t\t  \t\t\tFROM vtiger_field\n\t\t\t  \t\t\tINNER JOIN vtiger_profile2field\n\t\t\t  \t\t\tON vtiger_profile2field.fieldid = vtiger_field.fieldid\n\t\t\t  \t\t\tINNER JOIN vtiger_def_org_field\n\t\t\t  \t\t\tON vtiger_def_org_field.fieldid = vtiger_field.fieldid\n\t\t\t  \t\t\tWHERE vtiger_field.tabid = ?\n\t\t\t  \t\t\tAND vtiger_profile2field.visible = 0 AND vtiger_profile2field.readonly = 0\n\t\t\t  \t\t\tAND vtiger_profile2field.profileid IN (" . generateQuestionMarks($profileList) . ")\n\t\t\t  \t\t\tAND vtiger_def_org_field.visible = 0 and vtiger_field.tablename=? and vtiger_field.displaytype in (1,3) and vtiger_field.presence in (0,2) group by columnname";
                 $params = array($tabid, $profileList, $table_name);
             } else {
                 $sql = "SELECT *\n\t\t\t  \t\t\tFROM vtiger_field\n\t\t\t  \t\t\tINNER JOIN vtiger_profile2field\n\t\t\t  \t\t\tON vtiger_profile2field.fieldid = vtiger_field.fieldid\n\t\t\t  \t\t\tINNER JOIN vtiger_def_org_field\n\t\t\t  \t\t\tON vtiger_def_org_field.fieldid = vtiger_field.fieldid\n\t\t\t  \t\t\tWHERE vtiger_field.tabid = ?\n\t\t\t  \t\t\tAND vtiger_profile2field.visible = 0 AND vtiger_profile2field.readonly = 0\n\t\t\t  \t\t\tAND vtiger_def_org_field.visible = 0 and vtiger_field.tablename=? and vtiger_field.displaytype in (1,3) and vtiger_field.presence in (0,2) group by columnname";
                 $params = array($tabid, $table_name);
             }
         }
     } else {
         $table_index_column = $this->tab_name_index[$table_name];
         if ($table_index_column == 'id' && $table_name == 'vtiger_users') {
             $currentuser_id = $adb->getUniqueID("vtiger_users");
             $this->id = $currentuser_id;
         }
         $column = array($table_index_column);
         $value = array($this->id);
         $sql = "select * from vtiger_field where tabid=? and tablename=? and displaytype in (1,3,4) and vtiger_field.presence in (0,2)";
         $params = array($tabid, $table_name);
     }
     // Attempt to re-use the quer-result to avoid reading for every save operation
     // TODO Need careful analysis on impact ... MEMORY requirement might be more
     static $_privatecache = array();
     $cachekey = "{$insertion_mode}-" . implode(',', $params);
     if (!isset($_privatecache[$cachekey])) {
         $result = $adb->pquery($sql, $params);
         $noofrows = $adb->num_rows($result);
         if (CRMEntity::isBulkSaveMode()) {
             $cacheresult = array();
             for ($i = 0; $i < $noofrows; ++$i) {
                 $cacheresult[] = $adb->fetch_array($result);
             }
             $_privatecache[$cachekey] = $cacheresult;
         }
     } else {
         // Useful when doing bulk save
         $result = $_privatecache[$cachekey];
         $noofrows = count($result);
     }
     for ($i = 0; $i < $noofrows; $i++) {
         $fieldname = $this->resolve_query_result_value($result, $i, "fieldname");
         $columname = $this->resolve_query_result_value($result, $i, "columnname");
         $uitype = $this->resolve_query_result_value($result, $i, "uitype");
         $generatedtype = $this->resolve_query_result_value($result, $i, "generatedtype");
         $typeofdata = $this->resolve_query_result_value($result, $i, "typeofdata");
         $typeofdata_array = explode("~", $typeofdata);
         $datatype = $typeofdata_array[0];
         $ajaxSave = false;
         if ($_REQUEST['file'] == 'DetailViewAjax' && $_REQUEST['ajxaction'] == 'DETAILVIEW' && isset($_REQUEST["fldName"]) && $_REQUEST["fldName"] != $fieldname || $_REQUEST['action'] == 'MassEditSave' && !isset($_REQUEST[$fieldname . "_mass_edit_check"])) {
             $ajaxSave = true;
         }
         if ($uitype == 4 && $insertion_mode != 'edit') {
             $fldvalue = '';
             // Bulk Save Mode: Avoid generation of module sequence number, take care later.
             // SalesPlatform.ru begin: Added separate numbering for self organizations
             if (!CRMEntity::isBulkSaveMode()) {
                 $modules = array('Invoice', 'Act', 'Consignment');
                 if (in_array($module, $modules) && isset($this->column_fields['spcompany'])) {
                     $fldvalue = $this->setModuleSeqNumber("increment", $module, '', '', $this->column_fields['spcompany']);
                 } else {
                     $fldvalue = $this->setModuleSeqNumber("increment", $module);
                 }
                 //$fldvalue = $this->setModuleSeqNumber("increment", $module);
             }
             // SalesPlatform.ru end
             $this->column_fields[$fieldname] = $fldvalue;
         }
         if (isset($this->column_fields[$fieldname])) {
             if ($uitype == 56) {
                 if ($this->column_fields[$fieldname] == 'on' || $this->column_fields[$fieldname] == 1) {
                     $fldvalue = '1';
                 } else {
                     $fldvalue = '0';
                 }
             } elseif ($uitype == 15 || $uitype == 16) {
                 if ($this->column_fields[$fieldname] == $app_strings['LBL_NOT_ACCESSIBLE']) {
                     //If the value in the request is Not Accessible for a picklist, the existing value will be replaced instead of Not Accessible value.
                     $sql = "select {$columname} from  {$table_name} where " . $this->tab_name_index[$table_name] . "=?";
                     $res = $adb->pquery($sql, array($this->id));
                     $pick_val = $adb->query_result($res, 0, $columname);
                     $fldvalue = $pick_val;
                 } else {
                     $fldvalue = $this->column_fields[$fieldname];
                 }
             } elseif ($uitype == 33) {
                 if (is_array($this->column_fields[$fieldname])) {
                     $field_list = implode(' |##| ', $this->column_fields[$fieldname]);
                 } else {
                     $field_list = $this->column_fields[$fieldname];
                 }
                 if ($field_list == '') {
                     $fldvalue = NULL;
                 } else {
                     $fldvalue = $field_list;
                 }
             } elseif ($uitype == 5 || $uitype == 6 || $uitype == 23) {
                 //Added to avoid function call getDBInsertDateValue in ajax save
                 if (isset($current_user->date_format) && !$ajaxSave) {
                     $fldvalue = getValidDBInsertDateValue($this->column_fields[$fieldname]);
                 } else {
                     $fldvalue = $this->column_fields[$fieldname];
                 }
             } elseif ($uitype == 7) {
                 //strip out the spaces and commas in numbers if given ie., in amounts there may be ,
                 $fldvalue = str_replace(",", "", $this->column_fields[$fieldname]);
                 //trim($this->column_fields[$fieldname],",");
             } elseif ($uitype == 26) {
                 if (empty($this->column_fields[$fieldname])) {
                     $fldvalue = 1;
                     //the documents will stored in default folder
                 } else {
                     $fldvalue = $this->column_fields[$fieldname];
                 }
             } elseif ($uitype == 28) {
                 if ($this->column_fields[$fieldname] == null) {
                     $fileQuery = $adb->pquery("SELECT filename from vtiger_notes WHERE notesid = ?", array($this->id));
                     $fldvalue = null;
                     if (isset($fileQuery)) {
                         $rowCount = $adb->num_rows($fileQuery);
                         if ($rowCount > 0) {
                             $fldvalue = decode_html($adb->query_result($fileQuery, 0, 'filename'));
                         }
                     }
                 } else {
                     $fldvalue = decode_html($this->column_fields[$fieldname]);
                 }
             } elseif ($uitype == 8) {
                 $this->column_fields[$fieldname] = rtrim($this->column_fields[$fieldname], ',');
                 $ids = explode(',', $this->column_fields[$fieldname]);
                 $json = new Zend_Json();
                 $fldvalue = $json->encode($ids);
             } elseif ($uitype == 12) {
                 // Bulk Sae Mode: Consider the FROM email address as specified, if not lookup
                 $fldvalue = $this->column_fields[$fieldname];
                 if (empty($fldvalue)) {
                     $query = "SELECT email1 FROM vtiger_users WHERE id = ?";
                     $res = $adb->pquery($query, array($current_user->id));
                     $rows = $adb->num_rows($res);
                     if ($rows > 0) {
                         $fldvalue = $adb->query_result($res, 0, 'email1');
                     }
                 }
                 // END
             } elseif ($uitype == 72 && !$ajaxSave) {
                 // Some of the currency fields like Unit Price, Totoal , Sub-total - doesn't need currency conversion during save
                 $fldvalue = CurrencyField::convertToDBFormat($this->column_fields[$fieldname], null, true);
             } elseif ($uitype == 71 && !$ajaxSave) {
                 $fldvalue = CurrencyField::convertToDBFormat($this->column_fields[$fieldname]);
             } else {
                 $fldvalue = $this->column_fields[$fieldname];
             }
             if ($uitype != 33 && $uitype != 8) {
                 $fldvalue = from_html($fldvalue, $insertion_mode == 'edit' ? true : false);
             }
         } else {
             $fldvalue = '';
         }
         if ($fldvalue == '') {
             $fldvalue = $this->get_column_value($columname, $fldvalue, $fieldname, $uitype, $datatype);
         }
         if ($insertion_mode == 'edit') {
             if ($table_name != 'vtiger_ticketcomments' && $uitype != 4) {
                 array_push($update, $columname . "=?");
                 array_push($update_params, $fldvalue);
             }
         } else {
             array_push($column, $columname);
             array_push($value, $fldvalue);
         }
     }
     if ($insertion_mode == 'edit') {
         if ($module == 'Potentials') {
             $dbquery = 'select sales_stage from vtiger_potential where potentialid = ?';
             $sales_stage = $adb->query_result($adb->pquery($dbquery, array($this->id)), 0, 'sales_stage');
             if ($sales_stage != $_REQUEST['sales_stage'] && $_REQUEST['sales_stage'] != '') {
                 $date_var = date("Y-m-d H:i:s");
                 $closingDateField = new DateTimeField($this->column_fields['closingdate']);
                 $closingdate = $_REQUEST['ajxaction'] == 'DETAILVIEW' ? $this->column_fields['closingdate'] : $closingDateField->getDBInsertDateValue();
                 $sql = "insert into vtiger_potstagehistory values(?,?,?,?,?,?,?,?)";
                 $params = array('', $this->id, $this->column_fields['amount'], decode_html($sales_stage), $this->column_fields['probability'], 0, $adb->formatDate($closingdate, true), $adb->formatDate($date_var, true));
                 $adb->pquery($sql, $params);
             }
         } elseif ($module == 'PurchaseOrder' || $module == 'SalesOrder' || $module == 'Quotes' || $module == 'Invoice' || $module == 'Act' || $module == 'Consignment') {
             //elseif ($module == 'PurchaseOrder' || $module == 'SalesOrder' || $module == 'Quotes' || $module == 'Invoice') {
             // SalesPlatform.ru end
             //added to update the history for PO, SO, Quotes and Invoice
             $history_field_array = array("Act" => "sp_actstatus", "Consignment" => "sp_consignmentstatus", "PurchaseOrder" => "postatus", "SalesOrder" => "sostatus", "Quotes" => "quotestage", "Invoice" => "invoicestatus");
             $inventory_module = $module;
             if ($_REQUEST['ajxaction'] == 'DETAILVIEW') {
                 //if we use ajax edit
                 if ($inventory_module == "PurchaseOrder") {
                     $relatedname = getVendorName($this->column_fields['vendor_id']);
                 } else {
                     $relatedname = getAccountName($this->column_fields['account_id']);
                 }
                 $total = $this->column_fields['hdnGrandTotal'];
             } else {
                 //using edit button and save
                 if ($inventory_module == "PurchaseOrder") {
                     $relatedname = $_REQUEST["vendor_name"];
                 } else {
                     $relatedname = $_REQUEST["account_name"];
                 }
                 $total = $_REQUEST['total'];
             }
             if ($this->column_fields["{$history_field_array[$inventory_module]}"] == $app_strings['LBL_NOT_ACCESSIBLE']) {
                 //If the value in the request is Not Accessible for a picklist, the existing value will be replaced instead of Not Accessible value.
                 $his_col = $history_field_array[$inventory_module];
                 $his_sql = "select {$his_col} from  {$this->table_name} where " . $this->table_index . "=?";
                 $his_res = $adb->pquery($his_sql, array($this->id));
                 $status_value = $adb->query_result($his_res, 0, $his_col);
                 $stat_value = $status_value;
             } else {
                 $stat_value = $this->column_fields["{$history_field_array[$inventory_module]}"];
             }
             $oldvalue = getSingleFieldValue($this->table_name, $history_field_array[$inventory_module], $this->table_index, $this->id);
             if ($this->column_fields["{$history_field_array[$inventory_module]}"] != '' && $oldvalue != $stat_value) {
                 addInventoryHistory($inventory_module, $this->id, $relatedname, $total, $stat_value);
             }
         }
         //Check done by Don. If update is empty the the query fails
         if (count($update) > 0) {
             $sql1 = "update {$table_name} set " . implode(",", $update) . " where " . $this->tab_name_index[$table_name] . "=?";
             array_push($update_params, $this->id);
             $adb->pquery($sql1, $update_params);
         }
     } else {
         $sql1 = "insert into {$table_name}(" . implode(",", $column) . ") values(" . generateQuestionMarks($value) . ")";
         $adb->pquery($sql1, $value);
     }
 }
Ejemplo n.º 4
0
 /** Function to get the RunTime Advanced filter conditions
  *  @ param $advft_criteria : Type Array
  *  @ param $advft_criteria_groups : Type Array
  *  This function returns  $advfiltersql
  *
  */
 function RunTimeAdvFilter($advft_criteria, $advft_criteria_groups)
 {
     $adb = PearDatabase::getInstance();
     $advfilterlist = array();
     $advfiltersql = '';
     if (!empty($advft_criteria)) {
         foreach ($advft_criteria as $column_index => $column_condition) {
             if (empty($column_condition)) {
                 continue;
             }
             $adv_filter_column = $column_condition["columnname"];
             $adv_filter_comparator = $column_condition["comparator"];
             $adv_filter_value = $column_condition["value"];
             $adv_filter_column_condition = $column_condition["columncondition"];
             $adv_filter_groupid = $column_condition["groupid"];
             $column_info = explode(":", $adv_filter_column);
             $moduleFieldLabel = $column_info[2];
             $fieldName = $column_info[3];
             list($module, $fieldLabel) = explode('__', $moduleFieldLabel, 2);
             $fieldInfo = getFieldByReportLabel($module, $fieldLabel);
             $fieldType = null;
             if (!empty($fieldInfo)) {
                 $field = WebserviceField::fromArray($adb, $fieldInfo);
                 $fieldType = $field->getFieldDataType();
             }
             if ($fieldType == 'currency') {
                 // Some of the currency fields like Unit Price, Total, Sub-total etc of Inventory modules, do not need currency conversion
                 if ($field->getUIType() == '72') {
                     $adv_filter_value = CurrencyField::convertToDBFormat($adv_filter_value, null, true);
                 } else {
                     $adv_filter_value = CurrencyField::convertToDBFormat($adv_filter_value);
                 }
             }
             $temp_val = explode(",", $adv_filter_value);
             if (($column_info[4] == 'D' || $column_info[4] == 'T' && $column_info[1] != 'time_start' && $column_info[1] != 'time_end' || $column_info[4] == 'DT') && ($column_info[4] != '' && $adv_filter_value != '')) {
                 $val = array();
                 for ($x = 0; $x < count($temp_val); $x++) {
                     if ($column_info[4] == 'D') {
                         $date = new DateTimeField(trim($temp_val[$x]));
                         $val[$x] = $date->getDBInsertDateValue();
                     } elseif ($column_info[4] == 'DT') {
                         $date = new DateTimeField(trim($temp_val[$x]));
                         $val[$x] = $date->getDBInsertDateTimeValue();
                     } else {
                         $date = new DateTimeField(trim($temp_val[$x]));
                         $val[$x] = $date->getDBInsertTimeValue();
                     }
                 }
                 $adv_filter_value = implode(",", $val);
             }
             $criteria = array();
             $criteria['columnname'] = $adv_filter_column;
             $criteria['comparator'] = $adv_filter_comparator;
             $criteria['value'] = $adv_filter_value;
             $criteria['column_condition'] = $adv_filter_column_condition;
             $advfilterlist[$adv_filter_groupid]['columns'][] = $criteria;
         }
         foreach ($advft_criteria_groups as $group_index => $group_condition_info) {
             if (empty($group_condition_info)) {
                 continue;
             }
             if (empty($advfilterlist[$group_index])) {
                 continue;
             }
             $advfilterlist[$group_index]['condition'] = $group_condition_info["groupcondition"];
             $noOfGroupColumns = count($advfilterlist[$group_index]['columns']);
             if (!empty($advfilterlist[$group_index]['columns'][$noOfGroupColumns - 1]['column_condition'])) {
                 $advfilterlist[$group_index]['columns'][$noOfGroupColumns - 1]['column_condition'] = '';
             }
         }
         $noOfGroups = count($advfilterlist);
         if (!empty($advfilterlist[$noOfGroups]['condition'])) {
             $advfilterlist[$noOfGroups]['condition'] = '';
         }
         $advfiltersql = $this->generateAdvFilterSql($advfilterlist);
     }
     return $advfiltersql;
 }
        echo $app_strings['LBL_SELECT_BUTTON_TITLE'];
        ?>
" accessKey="<?php 
        echo $app_strings['LBL_SELECT_BUTTON_KEY'];
        ?>
" value="<?php 
        echo $app_strings['LBL_SELECT_BUTTON_LABEL'];
        ?>
" /></td>
</tr></table>
</form>
<?php 
    } else {
        if (file_exists($tmp_dir . $cache_file_name)) {
            $date = new DateTimeField(date('Y-m-d H:i', filemtime($tmp_dir . $cache_file_name)));
            $file_date = $date->getDBInsertDateValue();
        } else {
            $file_date = '';
        }
        ?>
<div align=right><FONT size='1'>
<em><?php 
        echo $current_module_strings['LBL_CREATED_ON'] . ' ' . $file_date;
        ?>
 
</em>[<a href="javascript:void(0)" onClick="changeView('<?php 
        echo vtlib_purify($_REQUEST['display_view']);
        ?>
');"><?php 
        echo $current_module_strings['LBL_REFRESH'];
        ?>
Ejemplo n.º 6
0
 /** Function to get the RunTime Advanced filter conditions
  *  @ param $advft_criteria : Type Array
  *  @ param $advft_criteria_groups : Type Array
  *  This function returns  $advfiltersql
  */
 function RunTimeAdvFilter($advft_criteria, $advft_criteria_groups)
 {
     $adb = PearDatabase::getInstance();
     $advfilterlist = array();
     if (!empty($advft_criteria)) {
         foreach ($advft_criteria as $column_index => $column_condition) {
             if (empty($column_condition)) {
                 continue;
             }
             $adv_filter_column = $column_condition["columnname"];
             $adv_filter_comparator = $column_condition["comparator"];
             $adv_filter_value = $column_condition["value"];
             $adv_filter_column_condition = $column_condition["columncondition"];
             $adv_filter_groupid = $column_condition["groupid"];
             $column_info = explode(":", $adv_filter_column);
             $moduleFieldLabel = $column_info[2];
             $fieldName = $column_info[3];
             list($module, $fieldLabel) = explode('_', $moduleFieldLabel, 2);
             $fieldInfo = getFieldByReportLabel($module, $fieldLabel);
             $fieldType = null;
             if (!empty($fieldInfo)) {
                 $field = WebserviceField::fromArray($adb, $fieldInfo);
                 $fieldType = $field->getFieldDataType();
             }
             if ($fieldType == 'currency' or $fieldType == 'double') {
                 $flduitype = $fieldInfo['uitype'];
                 if ($flduitype == '72' or $flduitype == 9 or $flduitype == 7) {
                     $adv_filter_value = CurrencyField::convertToDBFormat($adv_filter_value, null, true);
                 } else {
                     $adv_filter_value = CurrencyField::convertToDBFormat($adv_filter_value);
                 }
             }
             $temp_val = explode(",", $adv_filter_value);
             if (($column_info[4] == 'D' || $column_info[4] == 'T' && $column_info[1] != 'time_start' && $column_info[1] != 'time_end' || $column_info[4] == 'DT') && ($column_info[4] != '' && $adv_filter_value != '')) {
                 $val = array();
                 for ($x = 0; $x < count($temp_val); $x++) {
                     if ($column_info[4] == 'D') {
                         $date = new DateTimeField(trim($temp_val[$x]));
                         $val[$x] = $date->getDBInsertDateValue();
                     } elseif ($column_info[4] == 'DT') {
                         $date = new DateTimeField(trim($temp_val[$x]));
                         $val[$x] = $date->getDBInsertDateTimeValue();
                     } else {
                         $date = new DateTimeField(trim($temp_val[$x]));
                         $val[$x] = $date->getDBInsertTimeValue();
                     }
                 }
                 $adv_filter_value = implode(",", $val);
             }
             if ($fieldType == 'picklist' || $fieldType == 'multipicklist') {
                 if (!isValueInPicklist($adv_filter_value, $fieldName)) {
                     $adv_filter_value = getTranslationKeyFromTranslatedValue($module, $adv_filter_value);
                 }
             }
             $criteria = array();
             $criteria['columnname'] = $adv_filter_column;
             $criteria['comparator'] = $adv_filter_comparator;
             $criteria['value'] = $adv_filter_value;
             $criteria['column_condition'] = $adv_filter_column_condition;
             $advfilterlist[$adv_filter_groupid]['columns'][] = $criteria;
         }
         foreach ($advft_criteria_groups as $group_index => $group_condition_info) {
             if (empty($group_condition_info)) {
                 continue;
             }
             if (empty($advfilterlist[$group_index])) {
                 continue;
             }
             $advfilterlist[$group_index]['condition'] = $group_condition_info["groupcondition"];
             $noOfGroupColumns = count($advfilterlist[$group_index]['columns']);
             if (!empty($advfilterlist[$group_index]['columns'][$noOfGroupColumns - 1]['column_condition'])) {
                 $advfilterlist[$group_index]['columns'][$noOfGroupColumns - 1]['column_condition'] = '';
             }
         }
         $noOfGroups = count($advfilterlist);
         if (!empty($advfilterlist[$noOfGroups]['condition'])) {
             $advfilterlist[$noOfGroups]['condition'] = '';
         }
         $advfiltersql = $this->generateAdvFilterSql($advfilterlist);
     }
     return $advfiltersql;
 }
Ejemplo n.º 7
0
$focus->save($tab_type);
function getRequestedToData()
{
    $mail_data = array();
    $mail_data['user_id'] = $_REQUEST["task_assigned_user_id"];
    $mail_data['subject'] = $_REQUEST['task_subject'];
    $mail_data['status'] = $_REQUEST['activity_mode'] == 'Task' ? $_REQUEST['taskstatus'] : $_REQUEST['eventstatus'];
    $mail_data['activity_mode'] = $_REQUEST['activity_mode'];
    $mail_data['taskpriority'] = $_REQUEST['taskpriority'];
    $mail_data['relatedto'] = $_REQUEST['task_parent_name'];
    $mail_data['contact_name'] = $_REQUEST['task_contact_name'];
    $mail_data['description'] = $_REQUEST['task_description'];
    $mail_data['assign_type'] = $_REQUEST['task_assigntype'];
    $mail_data['group_name'] = getGroupName($_REQUEST['task_assigned_group_id']);
    $mail_data['mode'] = $_REQUEST['task_mode'];
    $startTime = $_REQUEST['task_time_start'];
    $date = new DateTimeField($_REQUEST['task_date_start'] . " " . $startTime);
    $endTime = $_REQUEST['task_time_end'];
    $endDate = new DateTimeField($_REQUEST['task_due_date'] . " " . $startTime);
    $startTime = $date->getDisplayTime();
    $endTime = $endDate->getDisplayTime();
    $value = getaddEventPopupTime($startTime, $endTime, '24');
    $start_hour = $value['starthour'] . ':' . $value['startmin'] . '' . $value['startfmt'];
    $mail_data['st_date_time'] = $date->getDisplayDateTimeValue();
    $mail_data['end_date_time'] = $endDate->getDisplayDate();
    return $mail_data;
}
$date = new DateTimeField($_REQUEST["task_date_start"]);
echo $date->getDBInsertDateValue();
echo "-" . getTranslatedString("LBL_SUCCESSFULY_CREATED", "Calendar4You");
exit;
Ejemplo n.º 8
0
require_once "modules/Reports/Reports.php";
global $tmp_dir, $root_directory;
$fname = tempnam($root_directory . $tmp_dir, "merge2.xls");
# Write out the data
$reportid = vtlib_purify($_REQUEST["record"]);
$oReport = new Reports($reportid);
$filtercolumn = $_REQUEST['stdDateFilterField'];
$startdate = $_REQUEST['startdate'];
$enddate = $_REQUEST['enddate'];
if (!empty($startdate) && !empty($enddate) && $startdate != "0000-00-00" && $enddate != "0000-00-00") {
    $filter = $_REQUEST['stdDateFilter'];
    $date = new DateTimeField($_REQUEST['startdate']);
    $endDate = new DateTimeField($_REQUEST['enddate']);
    $startdate = $date->getDBInsertDateValue();
    //Convert the user date format to DB date format
    $enddate = $endDate->getDBInsertDateValue();
    //Convert the user date format to DB date format
}
$oReportRun = new ReportRun($reportid);
$filterlist = $oReportRun->RunTimeFilter($filtercolumn, $filter, $startdate, $enddate);
$oReportRun->writeReportToExcelFile($fname, $filterlist);
if (isset($_SERVER['HTTP_USER_AGENT']) && strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE')) {
    header("Pragma: public");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
}
header("Content-Type: application/x-msexcel");
header("Content-Length: " . @filesize($fname));
header('Content-disposition: attachment; filename="Reports.xls"');
$fh = fopen($fname, "rb");
fpassthru($fh);
//unlink($fname);
Ejemplo n.º 9
0
    /**
     * Function saves Reports Filter information
     */
    function saveAdvancedFilters()
    {
        $db = PearDatabase::getInstance();
        $reportId = $this->getId();
        $advancedFilter = $this->get('advancedFilter');
        if (!empty($advancedFilter)) {
            $db->pquery('DELETE FROM vtiger_relcriteria WHERE queryid = ?', array($reportId));
            $db->pquery('DELETE FROM vtiger_relcriteria_grouping WHERE queryid = ?', array($reportId));
            foreach ($advancedFilter as $groupIndex => $groupInfo) {
                if (empty($groupInfo)) {
                    continue;
                }
                $groupColumns = $groupInfo['columns'];
                $groupCondition = $groupInfo['condition'];
                foreach ($groupColumns as $columnIndex => $columnCondition) {
                    if (empty($columnCondition)) {
                        continue;
                    }
                    $advFilterColumn = $columnCondition["columnname"];
                    $advFilterComparator = $columnCondition["comparator"];
                    $advFilterValue = $columnCondition["value"];
                    $advFilterColumnCondition = $columnCondition["column_condition"];
                    $columnInfo = explode(":", $advFilterColumn);
                    $moduleFieldLabel = $columnInfo[2];
                    list($module, $fieldLabel) = explode('__', $moduleFieldLabel, 2);
                    $fieldInfo = getFieldByReportLabel($module, $fieldLabel);
                    $fieldType = null;
                    if (!empty($fieldInfo)) {
                        $field = WebserviceField::fromArray($db, $fieldInfo);
                        $fieldType = $field->getFieldDataType();
                    }
                    if ($fieldType == 'currency') {
                        if ($field->getUIType() == '72') {
                            // Some of the currency fields like Unit Price, Totoal , Sub-total - doesn't need currency conversion during save
                            $advFilterValue = Vtiger_Currency_UIType::convertToDBFormat($advFilterValue, null, true);
                        } else {
                            $advFilterValue = Vtiger_Currency_UIType::convertToDBFormat($advFilterValue);
                        }
                    }
                    $tempVal = explode(",", $advFilterValue);
                    if (($columnInfo[4] == 'D' || $columnInfo[4] == 'T' && $columnInfo[1] != 'time_start' && $columnInfo[1] != 'time_end' || $columnInfo[4] == 'DT') && ($columnInfo[4] != '' && $advFilterValue != '')) {
                        $val = array();
                        for ($i = 0; $i < count($tempVal); $i++) {
                            if (trim($tempVal[$i]) != '') {
                                $date = new DateTimeField(trim($tempVal[$i]));
                                if ($columnInfo[4] == 'D') {
                                    $val[$i] = DateTimeField::convertToDBFormat(trim($tempVal[$i]));
                                } elseif ($columnInfo[4] == 'DT') {
                                    /**
                                     * While generating query to retrieve report, for date time fields we are only taking
                                     * date field and appending '00:00:00' for correct results depending on time zone.
                                     * If you save the time also here by converting to db format, while showing in edit
                                     * view it was changing the date selected.
                                     */
                                    $values = explode(' ', $tempVal[$i]);
                                    $date = new DateTimeField($values[0]);
                                    $val[$i] = $date->getDBInsertDateValue();
                                } else {
                                    $val[$i] = $date->getDBInsertTimeValue();
                                }
                            }
                        }
                        $advFilterValue = implode(",", $val);
                    }
                    $db->pquery('INSERT INTO vtiger_relcriteria (queryid, columnindex, columnname, comparator, value,
						groupid, column_condition) VALUES (?,?,?,?,?,?,?)', array($reportId, $columnIndex, $advFilterColumn, $advFilterComparator, $advFilterValue, $groupIndex, $advFilterColumnCondition));
                    // Update the condition expression for the group to which the condition column belongs
                    $groupConditionExpression = '';
                    if (!empty($advancedFilter[$groupIndex]["conditionexpression"])) {
                        $groupConditionExpression = $advancedFilter[$groupIndex]["conditionexpression"];
                    }
                    $groupConditionExpression = $groupConditionExpression . ' ' . $columnIndex . ' ' . $advFilterColumnCondition;
                    $advancedFilter[$groupIndex]["conditionexpression"] = $groupConditionExpression;
                }
                $groupConditionExpression = $advancedFilter[$groupIndex]["conditionexpression"];
                if (empty($groupConditionExpression)) {
                    continue;
                }
                // Case when the group doesn't have any column criteria
                $db->pquery("INSERT INTO vtiger_relcriteria_grouping(groupid, queryid, group_condition, condition_expression) VALUES (?,?,?,?)", array($groupIndex, $reportId, $groupCondition, $groupConditionExpression));
            }
        }
    }
Ejemplo n.º 10
0
function getActivityMailInfo($return_id, $status, $activity_type)
{
    $mail_data = array();
    global $adb;
    $qry = "select * from vtiger_activity where activityid=?";
    $ary_res = $adb->pquery($qry, array($return_id));
    $send_notification = $adb->query_result($ary_res, 0, "sendnotification");
    $subject = $adb->query_result($ary_res, 0, "subject");
    $priority = $adb->query_result($ary_res, 0, "priority");
    $st_date = $adb->query_result($ary_res, 0, "date_start");
    $st_time = $adb->query_result($ary_res, 0, "time_start");
    $end_date = $adb->query_result($ary_res, 0, "due_date");
    $end_time = $adb->query_result($ary_res, 0, "time_end");
    $location = $adb->query_result($ary_res, 0, "location");
    if (!empty($st_time)) {
        $date = new DateTimeField($st_date . ' ' . $st_time);
        $st_date = $date->getDisplayDate();
        $st_time = $date->getDisplayTime();
    }
    if (!empty($end_time)) {
        $date = new DateTimeField($end_date . ' ' . $end_time);
        $end_date = $date->getDisplayDate();
        $end_time = $date->getDisplayTime();
    }
    $owner_qry = "select smownerid from vtiger_crmentity where crmid=?";
    $res = $adb->pquery($owner_qry, array($return_id));
    $owner_id = $adb->query_result($res, 0, "smownerid");
    $usr_res = $adb->pquery("select count(*) as count from vtiger_users where id=?", array($owner_id));
    if ($adb->query_result($usr_res, 0, 'count') > 0) {
        $assignType = "U";
        $usr_id = $owner_id;
    } else {
        $assignType = "T";
        $group_qry = "select groupname from vtiger_groups where groupid=?";
        $grp_res = $adb->pquery($group_qry, array($owner_id));
        $grp_name = $adb->query_result($grp_res, 0, "groupname");
    }
    $desc_qry = "select description from vtiger_crmentity where crmid=?";
    $des_res = $adb->pquery($desc_qry, array($return_id));
    $description = $adb->query_result($des_res, 0, "description");
    $rel_qry = "select case vtiger_crmentity.setype when 'Leads' then vtiger_leaddetails.lastname when 'Accounts' then vtiger_account.accountname when 'Potentials' then vtiger_potential.potentialname when 'Quotes' then vtiger_quotes.subject when 'PurchaseOrder' then vtiger_purchaseorder.subject when 'SalesOrder' then vtiger_salesorder.subject when 'Invoice' then vtiger_invoice.subject when 'Campaigns' then vtiger_campaign.campaignname when 'HelpDesk' then vtiger_troubletickets.title  end as relname from vtiger_seactivityrel inner join vtiger_crmentity on vtiger_crmentity.crmid=vtiger_seactivityrel.crmid left join vtiger_leaddetails on vtiger_leaddetails.leadid = vtiger_seactivityrel.crmid  left join vtiger_account on vtiger_account.accountid=vtiger_seactivityrel.crmid left join vtiger_potential on vtiger_potential.potentialid=vtiger_seactivityrel.crmid left join vtiger_quotes on vtiger_quotes.quoteid= vtiger_seactivityrel.crmid left join vtiger_purchaseorder on vtiger_purchaseorder.purchaseorderid = vtiger_seactivityrel.crmid  left join vtiger_salesorder on vtiger_salesorder.salesorderid = vtiger_seactivityrel.crmid left join vtiger_invoice on vtiger_invoice.invoiceid = vtiger_seactivityrel.crmid  left join vtiger_campaign on vtiger_campaign.campaignid = vtiger_seactivityrel.crmid left join vtiger_troubletickets on vtiger_troubletickets.ticketid = vtiger_seactivityrel.crmid where vtiger_seactivityrel.activityid=?";
    $rel_res = $adb->pquery($rel_qry, array($return_id));
    $rel_name = $adb->query_result($rel_res, 0, "relname");
    $relatedContacts = getActivityRelatedContacts($return_id);
    $mail_data['mode'] = "edit";
    $mail_data['activity_mode'] = $activity_type;
    $mail_data['sendnotification'] = $send_notification;
    $mail_data['user_id'] = $usr_id;
    $mail_data['subject'] = $subject;
    $mail_data['status'] = $status;
    $mail_data['taskpriority'] = $priority;
    $mail_data['relatedto'] = $rel_name;
    $mail_data['contact_name'] = implode(',', $relatedContacts);
    $mail_data['description'] = $description;
    $mail_data['assign_type'] = $assignType;
    $mail_data['group_name'] = $grp_name;
    $value = getaddEventPopupTime($st_time, $end_time, '24');
    $start_hour = $value['starthour'] . ':' . $value['startmin'] . '' . $value['startfmt'];
    if ($activity_type != 'Task') {
        $end_hour = $value['endhour'] . ':' . $value['endmin'] . '' . $value['endfmt'];
    }
    $date = new DateTimeField($st_date . " " . $start_hour);
    $endDate = new DateTimeField($end_date . " " . $end_hour);
    $mail_data['st_date_time'] = $date->getDBInsertDateTimeValue();
    $mail_data['end_date_time'] = $endDate->getDBInsertDateValue() . ' ' . $endDate->getDBInsertTimeValue();
    $mail_data['location'] = $location;
    return $mail_data;
}
Ejemplo n.º 11
0
        $_REQUEST['time_end'] = date('H:i', strtotime('+10 minutes', strtotime($focus->column_fields['date_start'] . ' ' . $_REQUEST['time_start'])));
    }
    $dateField = 'due_date';
    $fieldname = 'time_end';
    $date = new DateTimeField($_REQUEST[$dateField] . ' ' . $_REQUEST[$fieldname]);
    $focus->column_fields[$dateField] = $date->getDBInsertDateValue();
    $focus->column_fields[$fieldname] = $date->getDBInsertTimeValue();
    $focus->save($tab_type);
    /* For Followup START -- by Minnie */
    if (isset($_REQUEST['followup']) && $_REQUEST['followup'] == 'on' && $activity_mode == 'Events' && isset($_REQUEST['followup_time_start']) && $_REQUEST['followup_time_start'] != '') {
        $heldevent_id = $focus->id;
        $focus->column_fields['subject'] = '[Followup] ' . $focus->column_fields['subject'];
        $startDate = new DateTimeField($_REQUEST['followup_date'] . ' ' . $_REQUEST['followup_time_start']);
        $endDate = new DateTimeField($_REQUEST['followup_due_date'] . ' ' . $_REQUEST['followup_time_end']);
        $focus->column_fields['date_start'] = $startDate->getDBInsertDateValue();
        $focus->column_fields['due_date'] = $endDate->getDBInsertDateValue();
        $focus->column_fields['time_start'] = $startDate->getDBInsertTimeValue();
        $focus->column_fields['time_end'] = $endDate->getDBInsertTimeValue();
        $focus->column_fields['eventstatus'] = 'Planned';
        $focus->mode = 'create';
        $focus->save($tab_type);
    }
    /* For Followup END -- by Minnie */
    $return_id = $focus->id;
}
if (isset($_REQUEST['return_module']) && $_REQUEST['return_module'] != "") {
    $return_module = vtlib_purify($_REQUEST['return_module']);
} else {
    $return_module = "Calendar4You";
}
if (isset($_REQUEST['return_action']) && $_REQUEST['return_action'] != "") {
Ejemplo n.º 12
0
 //<<<<<<<standardfilters>>>>>>>>>
 $std_filter_list = array();
 $stdfiltercolumn = $_REQUEST["stdDateFilterField"];
 $std_filter_list["columnname"] = $stdfiltercolumn;
 $stdcriteria = $_REQUEST["stdDateFilter"];
 $std_filter_list["stdfilter"] = $stdcriteria;
 $startdate = $_REQUEST["startdate"];
 $enddate = $_REQUEST["enddate"];
 if (empty($startdate) && empty($enddate)) {
     unset($std_filter_list);
 } else {
     $dbCurrentDateTime = new DateTimeField(date('Y-m-d H:i:s'));
     $startDateTime = new DateTimeField($startdate . ' ' . $dbCurrentDateTime->getDisplayTime());
     $endDateTime = new DateTimeField($enddate . ' ' . $dbCurrentDateTime->getDisplayTime());
     $std_filter_list["startdate"] = $startDateTime->getDBInsertDateValue();
     $std_filter_list["enddate"] = $endDateTime->getDBInsertDateValue();
 }
 //<<<<<<<standardfilters>>>>>>>>>
 //<<<<<<<advancedfilter>>>>>>>>>
 $json = new Zend_Json();
 $advft_criteria = $_REQUEST['advft_criteria'];
 $advft_criteria = $json->decode($advft_criteria);
 $advft_criteria_groups = $_REQUEST['advft_criteria_groups'];
 $advft_criteria_groups = $json->decode($advft_criteria_groups);
 //<<<<<<<advancedfilter>>>>>>>>
 $moduleHandler = vtws_getModuleHandlerFromName($cvmodule, $current_user);
 $moduleMeta = $moduleHandler->getMeta();
 $moduleFields = $moduleMeta->getModuleFields();
 if (!$cvid) {
     $genCVid = $adb->getUniqueID("vtiger_customview");
     if ($genCVid != "") {
Ejemplo n.º 13
0
function getValidDBInsertDateTimeValue($value)
{
    $valueList = explode(' ', $value);
    $date = new DateTimeField($value);
    if (count($valueList) == 2) {
        $value = $date->getDBInsertDateTimeValue();
    } elseif (count($valueList == 1)) {
        $value = $date->getDBInsertDateValue();
    }
    return $value;
}
Ejemplo n.º 14
0
 function save_module($module)
 {
     global $adb;
     if ($this->HasDirectImageField) {
         $this->insertIntoAttachment($this->id, $module);
     }
     if ($this->mode == 'edit' and !empty($this->sales_stage) and $this->sales_stage != $this->column_fields['sales_stage'] && $this->column_fields['sales_stage'] != '') {
         $date_var = date("Y-m-d H:i:s");
         $closingDateField = new DateTimeField($this->column_fields['closingdate']);
         $closingdate = $_REQUEST['ajxaction'] == 'DETAILVIEW' ? $this->column_fields['closingdate'] : $closingDateField->getDBInsertDateValue();
         $sql = "insert into vtiger_potstagehistory values(?,?,?,?,?,?,?,?)";
         $params = array('', $this->id, $this->column_fields['amount'], decode_html($this->sales_stage), $this->column_fields['probability'], 0, $adb->formatDate($closingdate, true), $adb->formatDate($date_var, true));
         $adb->pquery($sql, $params);
     }
 }