function getContact($idContact) { //Realiza el query en la base de datos $mysqli = makeSqlConnection(); $sql = "SELECT * FROM contacts a LEFT JOIN contacts_cstm ac ON a.id = ac.id_c WHERE id = '{$idContact}'"; $res = $mysqli->query($sql); $rows = array(); while ($r = mysqli_fetch_assoc($res)) { $obj = (object) $r; $obj->email_address = getEmail($idContact); $obj->idAccount = getAccountId($idContact); $obj->nameAccount = getAccountName($obj->idAccount); $obj->reports_to_name = getContactName($obj->reports_to_id); $obj->created_by_name = getUserName($obj->created_by); $obj->modified_user_name = getUserName($obj->modified_user_id); $obj->assigned_user_name = getUserName($obj->user_id_c); $obj->nameCampaign = getCampaignName($obj->campaign_id); $a = (array) $obj; $rows[] = $a; } if (empty($rows)) { return '{"results" :[]}'; } else { //Convierte el arreglo en json y lo retorna $temp = json_encode(utf8ize($rows)); return '{"results" :' . $temp . '}'; } }
function getInfoFromBD($sql) { //Realiza el query en la base de datos $mysqli = makeSqlConnection(); $res = $mysqli->query($sql); $rows = array(); while ($r = mysqli_fetch_assoc($res)) { $obj = (object) $r; $obj->contact_name = getContactName($obj->contact_id); $obj->parent_name = getParentName($obj->parent_type, $obj->parent_id); $a = (array) $obj; $rows[] = $a; } if (empty($rows)) { return '{"results" :[]}'; } else { //Convierte el arreglo en json y lo retorna $temp = json_encode(utf8ize($rows)); return '{"results" :' . $temp . '}'; } }
function getListViewEntries2($focus, $module, $list_result, $navigation_array, $relatedlist = '', $returnset = '', $edit_action = 'EditView', $del_action = 'Delete', $oCv = '', $page = '', $selectedfields = '', $contRelatedfields = '', $skipActions = false) { global $log; global $mod_strings; $log->debug("Entering getListViewEntries(" . get_class($focus) . "," . $module . "," . $list_result . "," . $navigation_array . "," . $relatedlist . "," . $returnset . "," . $edit_action . "," . $del_action . "," . (is_object($oCv) ? get_class($oCv) : $oCv) . ") method ..."); $tabname = getParentTab(); global $adb, $current_user; global $app_strings; $noofrows = $adb->num_rows($list_result); $list_block = array(); global $theme; $evt_status = ''; $theme_path = "themes/" . $theme . "/"; $image_path = $theme_path . "images/"; //getting the vtiger_fieldtable entries from database $tabid = getTabid($module); //added for vtiger_customview 27/5 if ($oCv) { if (isset($oCv->list_fields)) { $focus->list_fields = $oCv->list_fields; } } if (is_array($selectedfields) && $selectedfields != '') { $focus->list_fields = $selectedfields; } // Remove fields which are made inactive $focus->filterInactiveFields($module); //Added to reduce the no. of queries logging for non-admin user -- by minnie-start $field_list = array(); $j = 0; require 'user_privileges/user_privileges_' . $current_user->id . '.php'; foreach ($focus->list_fields as $name => $tableinfo) { $fieldname = $focus->list_fields_name[$name]; if ($oCv) { if (isset($oCv->list_fields_name)) { $fieldname = $oCv->list_fields_name[$name]; } } if ($fieldname == 'accountname' && $module != 'Accounts') { $fieldname = 'account_id'; } if ($fieldname == 'lastname' && ($module == 'SalesOrder' || $module == 'PurchaseOrder' || $module == 'Invoice' || $module == 'Quotes' || $module == 'Calendar')) { $fieldname = 'contact_id'; } if ($fieldname == 'productname' && $module != 'Products') { $fieldname = 'product_id'; } array_push($field_list, $fieldname); $j++; } $field = array(); if ($is_admin == false) { if ($module == 'Emails') { $query = "SELECT fieldname FROM vtiger_field WHERE tabid = ? and vtiger_field.presence in (0,2)"; $params = array($tabid); } else { $profileList = getCurrentUserProfileList(); $params = array(); $query = "SELECT DISTINCT vtiger_field.fieldname\r\n\t\t\t\tFROM vtiger_field\r\n\t\t\t\tINNER JOIN vtiger_profile2field\r\n\t\t\t\t\tON vtiger_profile2field.fieldid = vtiger_field.fieldid\r\n\t\t\t\tINNER JOIN vtiger_def_org_field\r\n\t\t\t\t\tON vtiger_def_org_field.fieldid = vtiger_field.fieldid"; if ($module == "Calendar") { $query .= " WHERE vtiger_field.tabid in (9,16) and vtiger_field.presence in (0,2)"; } else { $query .= " WHERE vtiger_field.tabid = ? and vtiger_field.presence in (0,2)"; array_push($params, $tabid); } $query .= " AND vtiger_profile2field.visible = 0\r\n\t\t\t\t\tAND vtiger_profile2field.visible = 0\r\n\t\t\t\t\tAND vtiger_def_org_field.visible = 0\r\n\t\t\t\t\tAND vtiger_profile2field.profileid IN (" . generateQuestionMarks($profileList) . ")\r\n\t\t\t\t\tAND vtiger_field.fieldname IN (" . generateQuestionMarks($field_list) . ")"; array_push($params, $profileList, $field_list); } $result = $adb->pquery($query, $params); for ($k = 0; $k < $adb->num_rows($result); $k++) { $field[] = $adb->query_result($result, $k, "fieldname"); } } //constructing the uitype and columnname array $ui_col_array = array(); $params = array(); $query = "SELECT uitype, columnname, fieldname FROM vtiger_field "; if ($module == "Calendar") { $query .= " WHERE vtiger_field.tabid in (9,16) and vtiger_field.presence in (0,2)"; } else { $query .= " WHERE vtiger_field.tabid = ? and vtiger_field.presence in (0,2)"; array_push($params, $tabid); } $query .= " AND fieldname IN (" . generateQuestionMarks($field_list) . ") "; array_push($params, $field_list); $result = $adb->pquery($query, $params); $num_rows = $adb->num_rows($result); for ($i = 0; $i < $num_rows; $i++) { $tempArr = array(); $uitype = $adb->query_result($result, $i, 'uitype'); $columnname = $adb->query_result($result, $i, 'columnname'); $field_name = $adb->query_result($result, $i, 'fieldname'); $tempArr[$uitype] = $columnname; $ui_col_array[$field_name] = $tempArr; } //end if ($navigation_array['start'] != 0) { for ($i = 1; $i <= $noofrows; $i++) { $list_header = array(); //Getting the entityid if ($module != 'Users') { $entity_id = $adb->query_result($list_result, $i - 1, "crmid"); $owner_id = $adb->query_result($list_result, $i - 1, "smownerid"); } else { $entity_id = $adb->query_result($list_result, $i - 1, "id"); } // Fredy Klammsteiner, 4.8.2005: changes from 4.0.1 migrated to 4.2 // begin: Armando Lüscher 05.07.2005 -> §priority // Code contri buted by fredy Desc: Set Priority color $priority = $adb->query_result($list_result, $i - 1, "priority"); $font_color_high = "color:#00DD00;"; $font_color_medium = "color:#DD00DD;"; $P_FONT_COLOR = ""; switch ($priority) { case 'High': $P_FONT_COLOR = $font_color_high; break; case 'Medium': $P_FONT_COLOR = $font_color_medium; break; default: $P_FONT_COLOR = ""; } //end: Armando Lüscher 05.07.2005 -> §priority foreach ($focus->list_fields as $name => $tableinfo) { $fieldname = $focus->list_fields_name[$name]; //added for vtiger_customview 27/5 if ($oCv) { if (isset($oCv->list_fields_name)) { $fieldname = $oCv->list_fields_name[$name]; if ($fieldname == 'accountname' && $module != 'Accounts') { $fieldname = 'account_id'; } if ($fieldname == 'lastname' && ($module == 'SalesOrder' || $module == 'PurchaseOrder' || $module == 'Invoice' || $module == 'Quotes' || $module == 'Calendar')) { $fieldname = 'contact_id'; } if ($fieldname == 'productname' && $module != 'Products') { $fieldname = 'product_id'; } } else { $fieldname = $focus->list_fields_name[$name]; } } else { $fieldname = $focus->list_fields_name[$name]; if ($fieldname == 'accountname' && $module != 'Accounts') { $fieldname = 'account_id'; } if ($fieldname == 'lastname' && ($module == 'SalesOrder' || $module == 'PurchaseOrder' || $module == 'Invoice' || $module == 'Quotes' || $module == 'Calendar')) { $fieldname = 'contact_id'; } if ($fieldname == 'productname' && $module != 'Products') { $fieldname = 'product_id'; } } if ($is_admin == true || $profileGlobalPermission[1] == 0 || $profileGlobalPermission[2] == 0 || in_array($fieldname, $field) || $fieldname == '' || $name == 'Close' && $module == 'Calendar') { if ($fieldname == '') { $table_name = ''; $column_name = ''; foreach ($tableinfo as $tablename => $colname) { $table_name = $tablename; $column_name = $colname; } $value = $adb->query_result($list_result, $i - 1, $colname); } else { if ($module == 'Calendar') { $act_id = $adb->query_result($list_result, $i - 1, "activityid"); $cal_sql = "select activitytype from vtiger_activity where activityid=?"; $cal_res = $adb->pquery($cal_sql, array($act_id)); if ($adb->num_rows($cal_res) >= 0) { $activitytype = $adb->query_result($cal_res, 0, "activitytype"); } } if (($module == 'Calendar' || $module == 'Emails' || $module == 'HelpDesk' || $module == 'Invoice' || $module == 'Leads' || $module == 'Contacts') && ($fieldname == 'parent_id' || $name == 'Contact Name' || $name == 'Close' || $fieldname == 'firstname')) { if ($module == 'Calendar') { if ($fieldname == 'status') { if ($activitytype == 'Task') { $fieldname = 'taskstatus'; } else { $fieldname = 'eventstatus'; } } if ($activitytype == 'Task') { if (getFieldVisibilityPermission('Calendar', $current_user->id, $fieldname) == '0') { $has_permission = 'yes'; } else { $has_permission = 'no'; } } else { if (getFieldVisibilityPermission('Events', $current_user->id, $fieldname) == '0') { $has_permission = 'yes'; } else { $has_permission = 'no'; } } } if ($module != 'Calendar' || $module == 'Calendar' && $has_permission == 'yes') { if ($fieldname == 'parent_id') { $value = getRelatedTo($module, $list_result, $i - 1); } if ($name == 'Contact Name') { $contact_id = $adb->query_result($list_result, $i - 1, "contactid"); $contact_name = getFullNameFromQResult($list_result, $i - 1, "Contacts"); $value = ""; //Added to get the contactname for activities custom view - t=2190 if ($contact_id != '' && !empty($contact_name)) { $contact_name = getContactName($contact_id); } if ($contact_name != "" && $contact_id != 'NULL') { // Fredy Klammsteiner, 4.8.2005: changes from 4.0.1 migrated to 4.2 $value = "<a href='index.php?module=Contacts&action=DetailView&parenttab=" . $tabname . "&record=" . $contact_id . "' style='" . $P_FONT_COLOR . "'>" . $contact_name . "</a>"; // Armando Lüscher 05.07.2005 -> §priority -> Desc: inserted style="$P_FONT_COLOR" } } if ($fieldname == "firstname") { $first_name = textlength_check($adb->query_result($list_result, $i - 1, "firstname")); $value = '<a href="index.php?action=DetailView&module=' . $module . '&parenttab=' . $tabname . '&record=' . $entity_id . '">' . $first_name . '</a>'; } if ($name == 'Close') { $status = $adb->query_result($list_result, $i - 1, "status"); $activityid = $adb->query_result($list_result, $i - 1, "activityid"); if (empty($activityid)) { $activityid = $adb->query_result($list_result, $i - 1, "tmp_activity_id"); } $activitytype = $adb->query_result($list_result, $i - 1, "activitytype"); // TODO - Picking activitytype when it is not present in the Custom View. // Going forward, this column should be added to the select list if not already present as a performance improvement. if (empty($activitytype)) { $activitytypeRes = $adb->pquery('SELECT activitytype FROM vtiger_activity WHERE activityid=?', array($activityid)); if ($adb->num_rows($activitytypeRes) > 0) { $activitytype = $adb->query_result($activitytypeRes, 0, 'activitytype'); } } if ($activitytype != 'Task' && $activitytype != 'Emails') { $eventstatus = $adb->query_result($list_result, $i - 1, "eventstatus"); if (isset($eventstatus)) { $status = $eventstatus; } } if ($status == 'Deferred' || $status == 'Completed' || $status == 'Held' || $status == '') { $value = ""; } else { if ($activitytype == 'Task') { $evt_status = '&status=Completed'; } else { $evt_status = '&eventstatus=Held'; } if (isPermitted("Calendar", 'EditView', $activityid) == 'yes') { if ($returnset == '') { $returnset = '&return_module=Calendar&return_action=ListView&return_id=' . $activityid . '&return_viewname=' . $oCv->setdefaultviewid; } // Fredy Klammsteiner, 4.8.2005: changes from 4.0.1 migrated to 4.2 $value = "<a href='index.php?action=Save&module=Calendar&record=" . $activityid . "&parenttab=" . $tabname . "&change_status=true" . $returnset . $evt_status . "&start=" . $navigation_array['current'] . "' style='" . $P_FONT_COLOR . "'>X</a>"; // Armando Lüscher 05.07.2005 -> §priority -> Desc: inserted style="$P_FONT_COLOR" } else { $value = ""; } } } } else { $value = ""; } } elseif ($module == "Documents" && ($fieldname == 'filelocationtype' || $fieldname == 'filename' || $fieldname == 'filesize' || $fieldname == 'filestatus' || $fieldname == 'filetype')) { $value = $adb->query_result($list_result, $i - 1, $fieldname); if ($fieldname == 'filelocationtype') { if ($value == 'I') { $value = getTranslatedString('LBL_INTERNAL', $module); } elseif ($value == 'E') { $value = getTranslatedString('LBL_EXTERNAL', $module); } else { $value = ' --'; } } if ($fieldname == 'filename') { $downloadtype = $adb->query_result($list_result, $i - 1, 'filelocationtype'); if ($downloadtype == 'I') { $fld_value = $value; $ext_pos = strrpos($fld_value, "."); $ext = substr($fld_value, $ext_pos + 1); $ext = strtolower($ext); if ($value != '') { if ($ext == 'bin' || $ext == 'exe' || $ext == 'rpm') { $fileicon = "<img src='" . vtiger_imageurl('fExeBin.gif', $theme) . "' hspace='3' align='absmiddle' border='0'>"; } elseif ($ext == 'jpg' || $ext == 'gif' || $ext == 'bmp') { $fileicon = "<img src='" . vtiger_imageurl('fbImageFile.gif', $theme) . "' hspace='3' align='absmiddle' border='0'>"; } elseif ($ext == 'txt' || $ext == 'doc' || $ext == 'xls') { $fileicon = "<img src='" . vtiger_imageurl('fbTextFile.gif', $theme) . "' hspace='3' align='absmiddle' border='0'>"; } elseif ($ext == 'zip' || $ext == 'gz' || $ext == 'rar') { $fileicon = "<img src='" . vtiger_imageurl('fbZipFile.gif', $theme) . "' hspace='3' align='absmiddle'\tborder='0'>"; } else { $fileicon = "<img src='" . vtiger_imageurl('fbUnknownFile.gif', $theme) . "' hspace='3' align='absmiddle' border='0'>"; } } } elseif ($downloadtype == 'E') { if (trim($value) != '') { $fld_value = $value; $fileicon = "<img src='" . vtiger_imageurl('fbLink.gif', $theme) . "' alt='" . getTranslatedString('LBL_EXTERNAL_LNK', $module) . "' title='" . getTranslatedString('LBL_EXTERNAL_LNK', $module) . "' hspace='3' align='absmiddle' border='0'>"; } else { $fld_value = '--'; $fileicon = ''; } } else { $fld_value = ' --'; $fileicon = ''; } $file_name = $adb->query_result($list_result, $i - 1, 'filename'); $notes_id = $adb->query_result($list_result, $i - 1, 'crmid'); $folder_id = $adb->query_result($list_result, $i - 1, 'folderid'); $download_type = $adb->query_result($list_result, $i - 1, 'filelocationtype'); $file_status = $adb->query_result($list_result, $i - 1, 'filestatus'); $fileidQuery = "select attachmentsid from vtiger_seattachmentsrel where crmid=?"; $fileidres = $adb->pquery($fileidQuery, array($notes_id)); $fileid = $adb->query_result($fileidres, 0, 'attachmentsid'); if ($file_name != '' && $file_status == 1) { if ($download_type == 'I') { $fld_value = "<a href='index.php?module=uploads&action=downloadfile&entityid={$notes_id}&fileid={$fileid}' title='" . getTranslatedString("LBL_DOWNLOAD_FILE", $module) . "' onclick='javascript:dldCntIncrease({$notes_id});'>" . $fld_value . "</a>"; } elseif ($download_type == 'E') { $fld_value = "<a target='_blank' href='{$file_name}' onclick='javascript:dldCntIncrease({$notes_id});' title='" . getTranslatedString("LBL_DOWNLOAD_FILE", $module) . "'>" . $fld_value . "</a>"; } else { $fld_value = ' --'; } } $value = $fileicon . $fld_value; } if ($fieldname == 'filesize') { $downloadtype = $adb->query_result($list_result, $i - 1, 'filelocationtype'); if ($downloadtype == 'I') { $filesize = $value; if ($filesize < 1024) { $value = $filesize . ' B'; } elseif ($filesize > 1024 && $filesize < 1048576) { $value = round($filesize / 1024, 2) . ' KB'; } else { if ($filesize > 1048576) { $value = round($filesize / (1024 * 1024), 2) . ' MB'; } } } else { $value = ' --'; } } if ($fieldname == 'filestatus') { $filestatus = $value; if ($filestatus == 1) { $value = getTranslatedString('yes', $module); } elseif ($filestatus == 0) { $value = getTranslatedString('no', $module); } else { $value = ' --'; } } if ($fieldname == 'filetype') { $downloadtype = $adb->query_result($list_result, $i - 1, 'filelocationtype'); $filetype = $adb->query_result($list_result, $i - 1, 'filetype'); if ($downloadtype == 'E' || $downloadtype != 'I') { $value = ' --'; } else { $value = $filetype; } } if ($fieldname == 'notecontent') { $value = decode_html($value); $value = textlength_check($value); } } elseif ($module == "Products" && $name == "Related to") { $value = getRelatedTo($module, $list_result, $i - 1); } elseif ($name == 'Contact Name' && ($module == 'SalesOrder' || $module == 'Quotes' || $module == 'PurchaseOrder')) { if ($name == 'Contact Name') { $contact_id = $adb->query_result($list_result, $i - 1, "contactid"); $contact_name = getFullNameFromQResult($list_result, $i - 1, "Contacts"); $value = ""; if ($contact_name != "" && $contact_id != 'NULL') { $value = "<a href='index.php?module=Contacts&action=DetailView&parenttab=" . $tabname . "&record=" . $contact_id . "' style='" . $P_FONT_COLOR . "'>" . $contact_name . "</a>"; } } } elseif ($name == 'Product') { $product_id = textlength_check($adb->query_result($list_result, $i - 1, "productname")); $value = $product_id; } elseif ($name == 'Account Name') { //modified for vtiger_customview 27/5 if ($module == 'Accounts') { $account_id = $adb->query_result($list_result, $i - 1, "crmid"); //$account_name = getAccountName($account_id); $account_name = textlength_check($adb->query_result($list_result, $i - 1, "accountname")); // Fredy Klammsteiner, 4.8.2005: changes from 4.0.1 migrated to 4.2 $value = '<a href="index.php?module=Accounts&action=DetailView&record=' . $account_id . '&parenttab=' . $tabname . '" style="' . $P_FONT_COLOR . '">' . $account_name . '</a>'; // Armando Lüscher 05.07.2005 -> §priority -> Desc: inserted style="$P_FONT_COLOR" } elseif ($module == 'Potentials' || $module == 'Contacts' || $module == 'Invoice' || $module == 'SalesOrder' || $module == 'Quotes') { //Potential,Contacts,Invoice,SalesOrder & Quotes records sort by Account Name $accountname = textlength_check($adb->query_result($list_result, $i - 1, "accountname")); $accountid = $adb->query_result($list_result, $i - 1, "accountid"); $value = '<a href="index.php?module=Accounts&action=DetailView&record=' . $accountid . '&parenttab=' . $tabname . '" style="' . $P_FONT_COLOR . '">' . $accountname . '</a>'; } else { $account_id = $adb->query_result($list_result, $i - 1, "accountid"); $account_name = getAccountName($account_id); $acc_name = textlength_check($account_name); // Fredy Klammsteiner, 4.8.2005: changes from 4.0.1 migrated to 4.2 $value = '<a href="index.php?module=Accounts&action=DetailView&record=' . $account_id . '&parenttab=' . $tabname . '" style="' . $P_FONT_COLOR . '">' . $acc_name . '</a>'; // Armando Lüscher 05.07.2005 -> §priority -> Desc: inserted style="$P_FONT_COLOR" } } elseif (($module == 'HelpDesk' || $module == 'PriceBook' || $module == 'Quotes' || $module == 'PurchaseOrder' || $module == 'Faq') && $name == 'Product Name') { if ($module == 'HelpDesk' || $module == 'Faq') { $product_id = $adb->query_result($list_result, $i - 1, "product_id"); } else { $product_id = $adb->query_result($list_result, $i - 1, "productid"); } if ($product_id != '') { $product_name = getProductName($product_id); } else { $product_name = ''; } $value = '<a href="index.php?module=Products&action=DetailView&parenttab=' . $tabname . '&record=' . $product_id . '">' . textlength_check($product_name) . '</a>'; } elseif ($module == 'Quotes' && $name == 'Potential Name' || $module == 'SalesOrder' && $name == 'Potential Name') { $potential_id = $adb->query_result($list_result, $i - 1, "potentialid"); $potential_name = getPotentialName($potential_id); $value = '<a href="index.php?module=Potentials&action=DetailView&parenttab=' . $tabname . '&record=' . $potential_id . '">' . textlength_check($potential_name) . '</a>'; } elseif ($module == 'Emails' && $relatedlist != '' && ($name == 'Subject' || $name == 'Date Sent' || $name == 'To')) { $list_result_count = $i - 1; $tmp_value = getValue($ui_col_array, $list_result, $fieldname, $focus, $module, $entity_id, $list_result_count, "list", "", $returnset, $oCv->setdefaultviewid); $value = '<a href="javascript:;" onClick="ShowEmail(\'' . $entity_id . '\');">' . textlength_check($tmp_value) . '</a>'; if ($name == 'Date Sent') { $sql = "select email_flag from vtiger_emaildetails where emailid=?"; $result = $adb->pquery($sql, array($entity_id)); $email_flag = $adb->query_result($result, 0, "email_flag"); if ($email_flag != 'SAVED') { $value = getValue($ui_col_array, $list_result, $fieldname, $focus, $module, $entity_id, $list_result_count, "list", "", $returnset, $oCv->setdefaultviewid); } else { $value = ''; } } } elseif ($module == 'Calendar' && ($fieldname != 'taskstatus' && $fieldname != 'eventstatus')) { if ($activitytype == 'Task') { if (getFieldVisibilityPermission('Calendar', $current_user->id, $fieldname) == '0') { $list_result_count = $i - 1; $value = getValue($ui_col_array, $list_result, $fieldname, $focus, $module, $entity_id, $list_result_count, "list", "", $returnset, $oCv->setdefaultviewid); } else { $value = ''; } } else { if (getFieldVisibilityPermission('Events', $current_user->id, $fieldname) == '0') { $list_result_count = $i - 1; $value = getValue($ui_col_array, $list_result, $fieldname, $focus, $module, $entity_id, $list_result_count, "list", "", $returnset, $oCv->setdefaultviewid); } else { $value = ''; } } } elseif ($module == "Accounting" && $fieldname == "accounting_id") { $list_result_count = $i - 1; $value = getValue($ui_col_array, $list_result, $fieldname, $focus, $module, $entity_id, $list_result_count, "list", "", $returnset, $oCv->setdefaultviewid); $value = '<a href="index.php?action=DetailView&module=' . $module . '&parenttab=' . $tabname . '&record=' . $entity_id . '">' . $value . '</a>'; } else { $list_result_count = $i - 1; $value = getValue($ui_col_array, $list_result, $fieldname, $focus, $module, $entity_id, $list_result_count, "list", "", $returnset, $oCv->setdefaultviewid); } } // vtlib customization: For listview javascript triggers $value = "{$value} <span type='vtlib_metainfo' vtrecordid='{$entity_id}' vtfieldname='{$fieldname}' vtmodule='{$module}' style='display:none;'></span>"; // END if ($module == "Calendar" && $name == $app_strings['Close']) { if (isPermitted("Calendar", "EditView") == 'yes') { if (getFieldVisibilityPermission('Events', $current_user->id, 'eventstatus') == '0' || getFieldVisibilityPermission('Calendar', $current_user->id, 'taskstatus') == '0') { array_push($list_header, $value); } } } else { $list_header[] = $value; } } } $varreturnset = ''; if ($returnset == '') { $varreturnset = '&return_module=' . $module . '&return_action=index'; } else { $varreturnset = $returnset; } if ($module == 'Calendar') { $actvity_type = $adb->query_result($list_result, $list_result_count, 'activitytype'); if ($actvity_type == 'Task') { $varreturnset .= '&activity_mode=Task'; } else { $varreturnset .= '&activity_mode=Events'; } } //Added for Actions ie., edit and delete links in listview $links_info = ""; if (!(is_array($selectedfields) && $selectedfields != '')) { if (isPermitted($module, "EditView", "") == 'yes') { $edit_link = getListViewEditLink($module, $entity_id, $relatedlist, $varreturnset, $list_result, $list_result_count); if (isset($_REQUEST['start']) && $_REQUEST['start'] > 1 && $module != 'Emails') { $links_info .= "<a href=\"{$edit_link}&start=" . vtlib_purify($_REQUEST['start']) . "\">" . $app_strings["LNK_EDIT"] . "</a> "; } else { $links_info .= "<a href=\"{$edit_link}\">" . $app_strings["LNK_EDIT"] . "</a> "; } } if (isPermitted($module, "Delete", "") == 'yes') { $del_link = getListViewDeleteLink($module, $entity_id, $relatedlist, $varreturnset); if ($links_info != "" && $del_link != "") { $links_info .= " | "; } if ($del_link != "") { $links_info .= "<a href='javascript:confirmdelete(\"" . addslashes(urlencode($del_link)) . "\")'>" . $app_strings["LNK_DELETE"] . "</a>"; } } } // Record Change Notification if (method_exists($focus, 'isViewed') && PerformancePrefs::getBoolean('LISTVIEW_RECORD_CHANGE_INDICATOR', true)) { if (!$focus->isViewed($entity_id)) { $links_info .= " | <img src='" . vtiger_imageurl('important1.gif', $theme) . "' border=0>"; } } // END if ($links_info != "" && !$skipActions) { $list_header[] = $links_info; } // $list_block[$entity_id] = $list_header; if (isset($_SESSION['partialpaymentview']) && $_SESSION['partialpaymentview'] == "true") { $list_block[$entity_id . "_" . $i] = $list_header; } else { $list_block[$entity_id] = $list_header; } } } $log->debug("Exiting getListViewEntries method ..."); return $list_block; }
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"); $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"); $cont_qry = "select * from vtiger_cntactivityrel where activityid=?"; $cont_res = $adb->pquery($cont_qry, array($return_id)); $cont_id = $adb->query_result($cont_res, 0, "contactid"); $cont_name = ''; if ($cont_id != '') { $cont_name = getContactName($cont_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'] = $cont_name; $mail_data['description'] = $description; $mail_data['assingn_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']; } $mail_data['st_date_time'] = getDisplayDate($st_date) . " " . $start_hour; $mail_data['end_date_time'] = getDisplayDate($end_date) . " " . $end_hour; $mail_data['location'] = $location; return $mail_data; }
function createXls($accountinfs) { $headArr = array('合同订单编号', '状态', '客户名称', '联系人姓名', '签约日期', '合同金额', '产品名称', '产品编码', '数量', '价格', '备注'); $filepath = $this->accountfile; if (is_array($accountinfs) && count($accountinfs) > 0) { $objPHPExcel = new PHPExcel(); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, "Excel5"); $objWorksheet = $objPHPExcel->getActiveSheet(); $rowIndex = 1; $cellIndex = 0; $headrows = $headArr; foreach ($headrows as $headcell) { $objWorksheet->getCellByColumnAndRow($cellIndex, $rowIndex)->setValue($headcell); $cellIndex += 1; } $rowIndex += 1; $cellIndex = 0; $accountrelation = array('subject', 'sostatus', 'account_id', 'contact_id', 'duedate', 'salestotal', 'productname', 'productcode', 'quantity', 'listprice', 'commet'); foreach ($accountinfs as $accountinf) { foreach ($accountrelation as $pos => $propname) { $accountval = $accountinf[$propname]; if ($propname == 'account_id') { $accountval = getAccountName($accountval); } if ($propname == 'contact_id') { $accountval = getContactName($accountval); } $objWorksheet->getCellByColumnAndRow($pos, $rowIndex)->setValueExplicit($accountval, PHPExcel_Cell_DataType::TYPE_STRING); } $rowIndex += 1; } $objWriter->save($filepath); } }
$navtitle = 'Customers'; $keywords = ''; $description = ''; include "/srv/athenace/lib/shared/common.php"; include "/srv/athenace/lib/intranet/common.php"; include "/srv/athenace/lib/shared/functions_form.php"; include "/srv/athenace/lib/shared/athena_mail.php"; include "/srv/athenace/lib/shared/functions_email.php"; if (!is_numeric($_GET['id'])) { header("Location: /customers/?id=notFound"); exit; } $done = ''; if (isset($_GET['go']) && $_GET['go'] == "y") { $logContent = sendContactAccessMail($_GET['cid']); $name = getContactName($_GET['cid']); $done = "An email has been sent to {$name} with access details for the Customer Control Panel"; $logresult = logEvent(26, $logContent); } include "../tmpl/header.php"; $sqltext = "SELECT * FROM customer WHERE custid=?"; // print "<br>$sqltext"; $q = $db->select($sqltext, array($_GET['id']), 'i'); $r = $q[0]; $adds = getAddress($r->addsid); if ($done != '') { ?> <div id=help> <?php echo $done; ?>
/** * Compute the full inventory on devices in the data centers and return the data * center summary statistics * * @param PHPExcel_Worksheet $worksheet * @param array $DProps properties defined for the Excel document * @return (array|array|array|boolean)[] * statistics array, device inventory, cabinet inventory */ function computeSheetBodyDCInventory($DProps) { global $person; global $sessID; $dc = new DataCenter(); $cab = new Cabinet(); $device = new Device(); $invData = array(); $invCab = array(); $sheetColumns = $DProps['DC Inventory']['Columns']; $cabinetColumns = $DProps['Rack Inventory']['Columns']; $devTemplates = DeviceTemplate::getTemplateListIndexedbyID(); $deptList = Department::GetDepartmentListIndexedbyID(); $contactList = $person->GetUserList('indexed'); $limitedUser = false; $dcList = $dc->GetDCList(); $Stats = array(); // A little code to update the counter $percentDone = 0; $sectionMaxPercent = 40; $incrementalPercent = 1 / sizeof($dcList) * $sectionMaxPercent; foreach ($dcList as $dc) { $dcContainerList = $dc->getContainerList(); $dcStats = array(); $cab->DataCenterID = $dc->DataCenterID; $dcStats['Fl_Spc'] = $dc->SquareFootage; $dcStats['DesignPower'] = $dc->MaxkW; $dcStats['Watts'] = 0; $dcStats['Rk_Num'] = 0; $dcStats['Rk_UtT'] = 0; $dcStats['Rk_UtU'] = 0; $dcStats['Rk_UtE'] = 0; $dcStats['Rk_Res'] = 0; $cabList = $cab->ListCabinetsByDC(); if (count($cabList) == 0) { // empty data center room $devSpec = makeEmptySpec($sheetColumns, $dcContainerList); $devSpec['DC Name'] = $dc->Name; $invData[] = $devSpec; } else { foreach ($cabList as $cab) { if (!$person->ReadAccess and $cab->AssignedTo == 0 or $cab->AssignedTo > 0 and !$person->canRead($cab->AssignedTo)) { // User is not allowed to see anything in here $limitedUser = true; continue; } $zoneName = getZoneName($cab); $rowName = getRowName($cab); addRackStat($invCab, $cab, $cabinetColumns, $dc, $dcContainerList); $cab_height = $cab->CabinetHeight; if (mb_strtoupper($cab->Model) == 'RESERVED') { $dcStats['Rk_Res']++; } else { $dcStats['Rk_Num']++; } $dcStats['Rk_UtT'] += $cab_height; $device->Cabinet = $cab->CabinetID; $device_list = $device->ViewDevicesByCabinet(); // empty cabinet if (count($device_list) == 0 && $cab->CabinetHeight > 0) { $dcStats['Rk_UtE'] += $cab_height; $devSpec = makeEmptySpec($sheetColumns, $dcContainerList); $devSpec['Zone'] = $zoneName; $devSpec['Row'] = $rowName; $devSpec['DC Name'] = $dc->Name; $devSpec['Cabinet'] = $cab->Location; $devSpec['Position'] = 1; $devSpec['Height'] = $cab->CabinetHeight; $devSpec['Device'] = '__EMPTY'; $invData[] = $devSpec; } else { usort($device_list, 'cmpDevPos'); $low_idx = 1; foreach ($device_list as $dev) { if ($low_idx < $dev->Position) { // range of empty slots if ($dev->Position <= $cab_height) { $height = $dev->Position - $low_idx; } else { $height = $cab_height - $low_idx + 1; } if ($height > 0) { $dcStats['Rk_UtE'] += $height; $devSpec = makeEmptySpec($sheetColumns, $dcContainerList); ${$devSpec}['Zone'] = $zoneName; $devSpec['Row'] = $rowName; $devSpec['DC Name'] = $dc->Name; $devSpec['Cabinet'] = $cab->Location; $devSpec['Position'] = $low_idx; $devSpec['Height'] = $height; $devSpec['Device'] = '__EMPTY'; $invData[] = $devSpec; } $low_idx = $dev->Position; } // device in cabinet $reserved = $dev->Reservation ? 'reserved' : null; list($manufacturer, $model) = getDeviceTemplateName($devTemplates, $dev); $devSpec = makeEmptySpec($sheetColumns, $dcContainerList); $devSpec['DevID'] = $dev->DeviceID; $devSpec['Zone'] = $zoneName; $devSpec['Row'] = $rowName; $devSpec['DC Name'] = $dc->Name; $devSpec['Cabinet'] = $cab->Location; $devSpec['Position'] = $dev->Position; $devSpec['Half Depth'] = getDeviceDepthPos($dev); $devSpec['Height'] = $dev->Height; $devSpec['Device'] = $dev->Label; $devSpec['Parent Device'] = null; $devSpec['Manufacturer'] = $manufacturer; $devSpec['Model'] = $model; $devSpec['Device Type'] = $dev->DeviceType; $devSpec['Asset Number'] = $dev->AssetTag; $devSpec['Serial No.'] = $dev->SerialNo; $devSpec['Install Date'] = $dev->InstallDate; $devSpec['Warranty End'] = $dev->WarrantyExpire; $devSpec['Owner'] = getOwnerName($dev, $deptList); $devSpec['Power (W)'] = $dev->NominalWatts; $devSpec['Reservation'] = $reserved; $devSpec['Contact'] = getContactName($contactList, $dev->PrimaryContact); $devSpec['Tags'] = getTagsString($dev); $devSpec['Notes'] = html_entity_decode(strip_tags($dev->Notes), ENT_COMPAT, 'UTF-8'); $invData[] = $devSpec; $dcStats['Watts'] += $dev->NominalWatts; // devices can be installed at the same position and // could be of different height; count only the free // rack units which are not covered by any device if ($low_idx == $dev->Position) { $low_idx += $dev->Height; $dcStats['Rk_UtU'] += $dev->Height; } else { $rest_height = $dev->Position + $dev->Height - $low_idx; $rest_height = $rest_height > 0 ? $rest_height : 0; $low_idx += $rest_height; $dcStats['Rk_UtU'] += $rest_height; } if ($dev->DeviceType == 'Chassis') { list($watts, $invData) = computeDeviceChildren($sheetColumns, $invData, $dev, $dc->Name, $cab, $devTemplates, $deptList, $contactList, $dcContainerList); $dcStats['Watts'] += $watts; } } if ($low_idx <= $cab->CabinetHeight) { // empty range at the top of the cabinet, $low_idx is // the potentially free location $height = $cab->CabinetHeight - $low_idx + 1; $dcStats['Rk_UtE'] += $height; $devSpec = makeEmptySpec($sheetColumns, $dcContainerList); $devSpec['Zone'] = $zoneName; $devSpec['Row'] = $rowName; $devSpec['DC Name'] = $dc->Name; $devSpec['Cabinet'] = $cab->Location; $devSpec['Position'] = $low_idx; $devSpec['Height'] = $height; $devSpec['Device'] = '__EMPTY'; $invData[] = $devSpec; } } } } assignStatsVal($Stats, $dc, $dcStats); $percentDone += $incrementalPercent; JobQueue::updatePercentage($sessID, $percentDone); } return array($Stats, $invData, $invCab, $limitedUser); }
/** Function to return the duplicate records data as a formatted array */ function getDuplicateRecordsArr($module) { global $adb, $app_strings, $list_max_entries_per_page, $theme; $field_values_array = getFieldValues($module); $field_values = $field_values_array['fieldnames_list']; $fld_arr = $field_values_array['fieldnames_array']; $col_arr = $field_values_array['columnnames_array']; $fld_labl_arr = $field_values_array['fieldlabels_array']; $ui_type = $field_values_array['fieldname_uitype']; $dup_query = getDuplicateQuery($module, $field_values, $ui_type); // added for page navigation $dup_count_query = substr($dup_query, stripos($dup_query, 'FROM'), strlen($dup_query)); $dup_count_query = "SELECT count(*) as count " . $dup_count_query; $count_res = $adb->query($dup_count_query); $no_of_rows = $adb->query_result($count_res, 0, "count"); if ($no_of_rows <= $list_max_entries_per_page) { $_SESSION['dup_nav_start' . $module] = 1; } else { if (isset($_REQUEST["start"]) && $_REQUEST["start"] != "" && $_SESSION['dup_nav_start' . $module] != $_REQUEST["start"]) { $_SESSION['dup_nav_start' . $module] = ListViewSession::getRequestStartPage(); } } $start = $_SESSION['dup_nav_start' . $module] != "" ? $_SESSION['dup_nav_start' . $module] : 1; $navigation_array = getNavigationValues($start, $no_of_rows, $list_max_entries_per_page); $start_rec = $navigation_array['start']; $end_rec = $navigation_array['end_val']; $navigationOutput = getTableHeaderNavigation($navigation_array, "", $module, "FindDuplicate", ""); if ($start_rec == 0) { $limit_start_rec = 0; } else { $limit_start_rec = $start_rec - 1; } $dup_query .= " LIMIT {$limit_start_rec}, {$list_max_entries_per_page}"; //ends $nresult = $adb->query($dup_query); $no_rows = $adb->num_rows($nresult); $theme_path = "themes/" . $theme . "/"; $image_path = $theme_path . "images/"; require_once $theme_path . 'layout_utils.php'; if ($no_rows == 0) { if ($_REQUEST['action'] == 'FindDuplicateRecords') { //echo "<br><br><center>".$app_strings['LBL_NO_DUPLICATE']." <a href='javascript:window.history.back()'>".$app_strings['LBL_GO_BACK'].".</a></center>"; //die; echo "<link rel='stylesheet' type='text/css' href='themes/{$theme}/style.css'>"; echo "<table border='0' cellpadding='5' cellspacing='0' width='100%' height='450px'><tr><td align='center'>"; echo "<div style='border: 3px solid rgb(153, 153, 153); background-color: rgb(255, 255, 255); width: 55%; position: relative; z-index: 10000000;'>\n\t\t\n\t\t\t\t<table border='0' cellpadding='5' cellspacing='0' width='98%'>\n\t\t\t\t<tbody><tr>\n\t\t\t\t<td rowspan='2' width='11%'><img src='" . vtiger_imageurl('empty.jpg', $theme) . "' ></td>\n\t\t\t\t<td style='border-bottom: 1px solid rgb(204, 204, 204);' nowrap='nowrap' width='70%'><span class='genHeaderSmall'>{$app_strings['LBL_NO_DUPLICATE']}</span></td>\n\t\t\t\t</tr>\n\t\t\t\t<tr>\n\t\t\t\t<td class='small' align='right' nowrap='nowrap'>\t\t\t \t\n\t\t\t\t<a href='javascript:window.history.back();'>{$app_strings['LBL_GO_BACK']}</a><br> </td>\n\t\t\t\t</tr>\n\t\t\t\t</tbody></table> \n\t\t\t\t</div>"; echo "</td></tr></table>"; exit; } else { echo "<br><br><table align='center' class='reportCreateBottom big' width='95%'><tr><td align='center'>" . $app_strings['LBL_NO_DUPLICATE'] . "</td></tr></table>"; die; } } $rec_cnt = 0; $temp = array(); $sl_arr = array(); $grp = "group0"; $gcnt = 0; $ii = 0; //ii'th record in group while ($rec_cnt < $no_rows) { $result = $adb->fetchByAssoc($nresult); //echo '<pre>';print_r($result);echo '</pre>'; if ($rec_cnt != 0) { $sl_arr = array_slice($result, 2); array_walk($temp, 'lower_array'); array_walk($sl_arr, 'lower_array'); $arr_diff = array_diff($temp, $sl_arr); if (count($arr_diff) > 0) { $gcnt++; $temp = $sl_arr; $ii = 0; } $grp = "group" . $gcnt; } $fld_values[$grp][$ii]['recordid'] = $result['recordid']; for ($k = 0; $k < count($col_arr); $k++) { if ($rec_cnt == 0) { $temp[$fld_labl_arr[$k]] = $result[$col_arr[$k]]; } if ($ui_type[$fld_arr[$k]] == 56) { if ($result[$col_arr[$k]] == 0) { $result[$col_arr[$k]] = $app_strings['no']; } else { $result[$col_arr[$k]] = $app_strings['yes']; } } if ($ui_type[$fld_arr[$k]] == 75 || $ui_type[$fld_arr[$k]] == 81) { $vendor_id = $result[$col_arr[$k]]; if ($vendor_id != '') { $vendor_name = getVendorName($vendor_id); } $result[$col_arr[$k]] = $vendor_name; } if ($ui_type[$fld_arr[$k]] == 57) { $contact_id = $result[$col_arr[$k]]; if ($contact_id != '') { $contactname = getContactName($contact_id); } $result[$col_arr[$k]] = $contactname; } if ($ui_type[$fld_arr[$k]] == 68) { $parent_id = $result[$col_arr[$k]]; if ($parent_id != '') { $parentname = getParentName($parent_id); } $result[$col_arr[$k]] = $parentname; } if ($ui_type[$fld_arr[$k]] == 53 || $ui_type[$fld_arr[$k]] == 52) { if ($result[$col_arr[$k]] != '') { $owner = getOwnerName($result[$col_arr[$k]]); } $result[$col_arr[$k]] = $owner; } if ($ui_type[$fld_arr[$k]] == 50 or $ui_type[$fld_arr[$k]] == 51) { if ($module != 'Products') { $entity_name = getAccountName($result[$col_arr[$k]]); } else { $entity_name = getProductName($result[$col_arr[$k]]); } if ($entity_name != '') { $result[$col_arr[$k]] = $entity_name; } else { $result[$col_arr[$k]] = ''; } } if ($ui_type[$fld_arr[$k]] == 58) { $campaign_name = getCampaignName($result[$col_arr[$k]]); if ($campaign_name != '') { $result[$col_arr[$k]] = $campaign_name; } else { $result[$col_arr[$k]] = ''; } } if ($ui_type[$fld_arr[$k]] == 59) { $product_name = getProductName($result[$col_arr[$k]]); if ($product_name != '') { $result[$col_arr[$k]] = $product_name; } else { $result[$col_arr[$k]] = ''; } } /*uitype 10 handling*/ if ($ui_type[$fld_arr[$k]] == 10) { $result[$col_arr[$k]] = getRecordInfoFromID($result[$col_arr[$k]]); } $fld_values[$grp][$ii][$fld_labl_arr[$k]] = $result[$col_arr[$k]]; } $fld_values[$grp][$ii]['Entity Type'] = $result['deleted']; $ii++; $rec_cnt++; } $gro = "group"; for ($i = 0; $i < $no_rows; $i++) { $ii = 0; $dis_group[] = $fld_values[$gro . $i][$ii]; $count_group[$i] = count($fld_values[$gro . $i]); $ii++; $new_group[] = $dis_group[$i]; } $fld_nam = $new_group[0]; $ret_arr[0] = $fld_values; $ret_arr[1] = $fld_nam; $ret_arr[2] = $ui_type; $ret_arr["navigation"] = $navigationOutput; return $ret_arr; }
function getValue($field_result, $list_result, $fieldname, $focus, $module, $entity_id, $list_result_count, $mode, $popuptype, $returnset = '', $viewid = '') { global $log, $listview_max_textlength, $app_strings, $current_language, $currentModule; $log->debug("Entering getValue(" . $field_result . "," . $list_result . "," . $fieldname . "," . get_class($focus) . "," . $module . "," . $entity_id . "," . $list_result_count . "," . $mode . "," . $popuptype . "," . $returnset . "," . $viewid . ") method ..."); global $adb, $current_user, $default_charset; require 'user_privileges/user_privileges_' . $current_user->id . '.php'; $tabname = getParentTab(); $tabid = getTabid($module); $current_module_strings = return_module_language($current_language, $module); $uicolarr = $field_result[$fieldname]; foreach ($uicolarr as $key => $value) { $uitype = $key; $colname = $value; } //added for getting event status in Custom view - Jaguar if ($module == 'Calendar' && ($colname == "status" || $colname == "eventstatus")) { $colname = "activitystatus"; } //Ends $field_val = $adb->query_result($list_result, $list_result_count, $colname); if (stristr(html_entity_decode($field_val), "<a href") === false && $uitype != 8) { $temp_val = textlength_check($field_val); } elseif ($uitype != 8) { $temp_val = html_entity_decode($field_val, ENT_QUOTES); } else { $temp_val = $field_val; } // vtlib customization: New uitype to handle relation between modules if ($uitype == '10') { $parent_id = $field_val; if (!empty($parent_id)) { $parent_module = getSalesEntityType($parent_id); $valueTitle = $parent_module; if ($app_strings[$valueTitle]) { $valueTitle = $app_strings[$valueTitle]; } $displayValueArray = getEntityName($parent_module, $parent_id); if (!empty($displayValueArray)) { foreach ($displayValueArray as $key => $value) { $displayValue = $value; } } $value = "<a href='index.php?module={$parent_module}&action=DetailView&record={$parent_id}' title='{$valueTitle}'>{$displayValue}</a>"; } else { $value = ''; } } else { if ($uitype == 53) { $value = textlength_check($adb->query_result($list_result, $list_result_count, 'user_name')); // When Assigned To field is used in Popup window if ($value == '') { $user_id = $adb->query_result($list_result, $list_result_count, 'smownerid'); if ($user_id != null && $user_id != '') { $value = getOwnerName($user_id); } } } elseif ($uitype == 52) { $value = getUserName($adb->query_result($list_result, $list_result_count, $colname)); } elseif ($uitype == 51) { $parentid = $adb->query_result($list_result, $list_result_count, "parentid"); if ($module == 'Accounts') { $entity_name = textlength_check(getAccountName($parentid)); } elseif ($module == 'Products') { $entity_name = textlength_check(getProductName($parentid)); } $value = '<a href="index.php?module=' . $module . '&action=DetailView&record=' . $parentid . '&parenttab=' . $tabname . '" style="' . $P_FONT_COLOR . '">' . $entity_name . '</a>'; } elseif ($uitype == 77) { $value = getUserName($adb->query_result($list_result, $list_result_count, 'inventorymanager')); } elseif ($uitype == 5 || $uitype == 6 || $uitype == 23 || $uitype == 70) { if ($temp_val != '' && $temp_val != '0000-00-00') { $value = getDisplayDate($temp_val); } elseif ($temp_val == '0000-00-00') { $value = ''; } else { $value = $temp_val; } } elseif ($uitype == 15 || $uitype == 55 && $fieldname == "salutationtype") { $temp_val = decode_html($adb->query_result($list_result, $list_result_count, $colname)); if ($is_admin == false && $profileGlobalPermission[1] == 1 && $profileGlobalPermission[2] == 1 && $temp_val != '') { $temp_acttype = $adb->query_result($list_result, $list_result_count, 'activitytype'); if ($temp_acttype != 'Task' && $fieldname == "taskstatus") { $temptable = "eventstatus"; } else { $temptable = $fieldname; } $roleid = $current_user->roleid; $roleids = array(); $subrole = getRoleSubordinates($roleid); if (count($subrole) > 0) { $roleids = $subrole; } array_push($roleids, $roleid); //here we are checking wheather the table contains the sortorder column .If sortorder is present in the main picklist table, then the role2picklist will be applicable for this table... $sql = "select * from vtiger_{$temptable} where {$temptable}=?"; $res = $adb->pquery($sql, array(decode_html($temp_val))); $picklistvalueid = $adb->query_result($res, 0, 'picklist_valueid'); if ($picklistvalueid != null) { $pick_query = "select * from vtiger_role2picklist where picklistvalueid={$picklistvalueid} and roleid in (" . generateQuestionMarks($roleids) . ")"; $res_val = $adb->pquery($pick_query, array($roleids)); $num_val = $adb->num_rows($res_val); } if ($num_val > 0 || $temp_acttype == 'Task' && $fieldname == 'activitytype') { $temp_val = $temp_val; } else { $temp_val = "<font color='red'>" . $app_strings['LBL_NOT_ACCESSIBLE'] . "</font>"; } } $value = $current_module_strings[$temp_val] != '' ? $current_module_strings[$temp_val] : ($app_strings[$temp_val] != '' ? $app_strings[$temp_val] : $temp_val); if ($value != "<font color='red'>" . $app_strings['LBL_NOT_ACCESSIBLE'] . "</font>") { $value = textlength_check($value); } } elseif ($uitype == 16) { $value = getTranslatedString($temp_val, $currentModule); } elseif ($uitype == 71 || $uitype == 72) { if ($temp_val != '') { if ($fieldname == 'unit_price') { $currency_id = getProductBaseCurrency($entity_id, $module); $cursym_convrate = getCurrencySymbolandCRate($currency_id); $value = "<font style='color:grey;'>" . $cursym_convrate['symbol'] . "</font> " . $temp_val; } else { $rate = $user_info['conv_rate']; //changes made to remove vtiger_currency symbol infront of each vtiger_potential amount if ($temp_val != 0) { $value = convertFromDollar($temp_val, $rate); } else { $value = $temp_val; } } } else { $value = ''; } } elseif ($uitype == 17) { $value = '<a href="http://' . $field_val . '" target="_blank">' . $temp_val . '</a>'; } elseif ($uitype == 13 || $uitype == 104 && ($_REQUEST['action'] != 'Popup' && $_REQUEST['file'] != 'Popup')) { if ($_SESSION['internal_mailer'] == 1) { //check added for email link in user detailview if ($module == 'Calendar') { if (getActivityType($entity_id) == 'Task') { $tabid = 9; } else { $tabid = 16; } } else { $tabid = getTabid($module); } $fieldid = getFieldid($tabid, $fieldname); if (empty($popuptype)) { $value = '<a href="javascript:InternalMailer(' . $entity_id . ',' . $fieldid . ',\'' . $fieldname . '\',\'' . $module . '\',\'record_id\');">' . $temp_val . '</a>'; } else { $value = $temp_val; } } else { $value = '<a href="mailto:' . $field_val . '">' . $temp_val . '</a>'; } } elseif ($uitype == 56) { if ($temp_val == 1) { $value = $app_strings['yes']; } elseif ($temp_val == 0) { $value = $app_strings['no']; } else { $value = ''; } } elseif ($uitype == 57) { if ($temp_val != '') { $sql = "SELECT * FROM vtiger_contactdetails WHERE contactid=?"; $result = $adb->pquery($sql, array($temp_val)); $value = ''; if ($adb->num_rows($result)) { $name = getFullNameFromQResult($result, 0, "Contacts"); $value = '<a href=index.php?module=Contacts&action=DetailView&record=' . $temp_val . '>' . $name . '</a>'; } } else { $value = ''; } } elseif ($uitype == 58) { if ($temp_val != '') { $sql = "SELECT * FROM vtiger_campaign WHERE campaignid=?"; $result = $adb->pquery($sql, array($temp_val)); $campaignname = $adb->query_result($result, 0, "campaignname"); $value = '<a href=index.php?module=Campaigns&action=DetailView&record=' . $temp_val . '>' . $campaignname . '</a>'; } else { $value = ''; } } elseif ($uitype == 59) { if ($temp_val != '') { $value = getProductName($temp_val); } else { $value = ''; } } elseif ($uitype == 61) { $attachmentid = $adb->query_result($adb->pquery("SELECT * FROM vtiger_seattachmentsrel WHERE crmid = ?", array($entity_id)), 0, 'attachmentsid'); $value = '<a href = "index.php?module=uploads&action=downloadfile&return_module=' . $module . '&fileid=' . $attachmentid . '&filename=' . $temp_val . '">' . $temp_val . '</a>'; } elseif ($uitype == 62) { $parentid = $adb->query_result($list_result, $list_result_count, "parent_id"); $parenttype = $adb->query_result($list_result, $list_result_count, "parent_type"); if ($parenttype == "Leads") { $tablename = "vtiger_leaddetails"; $fieldname = "lastname"; $idname = "leadid"; } if ($parenttype == "Accounts") { $tablename = "vtiger_account"; $fieldname = "accountname"; $idname = "accountid"; } if ($parenttype == "Products") { $tablename = "vtiger_products"; $fieldname = "productname"; $idname = "productid"; } if ($parenttype == "HelpDesk") { $tablename = "vtiger_troubletickets"; $fieldname = "title"; $idname = "ticketid"; } if ($parenttype == "Invoice") { $tablename = "vtiger_invoice"; $fieldname = "subject"; $idname = "invoiceid"; } if ($parentid != '') { $sql = "SELECT * FROM {$tablename} WHERE {$idname} = ?"; $fieldvalue = $adb->query_result($adb->pquery($sql, array($parentid)), 0, $fieldname); $value = '<a href=index.php?module=' . $parenttype . '&action=DetailView&record=' . $parentid . '&parenttab=' . urlencode($tabname) . '>' . $fieldvalue . '</a>'; } else { $value = ''; } } elseif ($uitype == 66) { $parentid = $adb->query_result($list_result, $list_result_count, "parent_id"); $parenttype = $adb->query_result($list_result, $list_result_count, "parent_type"); if ($parenttype == "Leads") { $tablename = "vtiger_leaddetails"; $fieldname = "lastname"; $idname = "leadid"; } if ($parenttype == "Accounts") { $tablename = "vtiger_account"; $fieldname = "accountname"; $idname = "accountid"; } if ($parenttype == "HelpDesk") { $tablename = "vtiger_troubletickets"; $fieldname = "title"; $idname = "ticketid"; } if ($parentid != '') { $sql = "SELECT * FROM {$tablename} WHERE {$idname} = ?"; $fieldvalue = $adb->query_result($adb->pquery($sql, array($parentid)), 0, $fieldname); $value = '<a href=index.php?module=' . $parenttype . '&action=DetailView&record=' . $parentid . '&parenttab=' . urlencode($tabname) . '>' . $fieldvalue . '</a>'; } else { $value = ''; } } elseif ($uitype == 67) { $parentid = $adb->query_result($list_result, $list_result_count, "parent_id"); $parenttype = $adb->query_result($list_result, $list_result_count, "parent_type"); if ($parenttype == "Leads") { $tablename = "vtiger_leaddetails"; $fieldname = "lastname"; $idname = "leadid"; } if ($parenttype == "Contacts") { $tablename = "vtiger_contactdetails"; $fieldname = "contactname"; $idname = "contactid"; } if ($parentid != '') { $sql = "SELECT * FROM {$tablename} WHERE {$idname} = ?"; $fieldvalue = $adb->query_result($adb->pquery($sql, array($parentid)), 0, $fieldname); $value = '<a href=index.php?module=' . $parenttype . '&action=DetailView&record=' . $parentid . '&parenttab=' . urlencode($tabname) . '>' . $fieldvalue . '</a>'; } else { $value = ''; } } elseif ($uitype == 68) { $parentid = $adb->query_result($list_result, $list_result_count, "parent_id"); $parenttype = $adb->query_result($list_result, $list_result_count, "parent_type"); if ($parenttype == '' && $parentid != '') { $parenttype = getSalesEntityType($parentid); } if ($parenttype == "Contacts") { $tablename = "vtiger_contactdetails"; $fieldname = "contactname"; $idname = "contactid"; } if ($parenttype == "Accounts") { $tablename = "vtiger_account"; $fieldname = "accountname"; $idname = "accountid"; } if ($parentid != '') { $sql = "SELECT * FROM {$tablename} WHERE {$idname} = ?"; $fieldvalue = $adb->query_result($adb->pquery($sql, array($parentid)), 0, $fieldname); $value = '<a href=index.php?module=' . $parenttype . '&action=DetailView&record=' . $parentid . '&parenttab=' . urlencode($tabname) . '>' . $fieldvalue . '</a>'; } else { $value = ''; } } elseif ($uitype == 78) { if ($temp_val != '') { $quote_name = getQuoteName($temp_val); $value = '<a href=index.php?module=Quotes&action=DetailView&record=' . $temp_val . '&parenttab=' . urlencode($tabname) . '>' . textlength_check($quote_name) . '</a>'; } else { $value = ''; } } elseif ($uitype == 79) { if ($temp_val != '') { $purchaseorder_name = getPoName($temp_val); $value = '<a href=index.php?module=PurchaseOrder&action=DetailView&record=' . $temp_val . '&parenttab=' . urlencode($tabname) . '>' . textlength_check($purchaseorder_name) . '</a>'; } else { $value = ''; } } elseif ($uitype == 80) { if ($temp_val != '') { $salesorder_name = getSoName($temp_val); $value = "<a href=index.php?module=SalesOrder&action=DetailView&record={$temp_val}&parenttab=" . urlencode($tabname) . ">" . textlength_check($salesorder_name) . '</a>'; } else { $value = ''; } } elseif ($uitype == 75 || $uitype == 81) { if ($temp_val != '') { $vendor_name = getVendorName($temp_val); $value = '<a href=index.php?module=Vendors&action=DetailView&record=' . $temp_val . '&parenttab=' . urlencode($tabname) . '>' . textlength_check($vendor_name) . '</a>'; } else { $value = ''; } } elseif ($uitype == 98) { $value = '<a href="index.php?action=RoleDetailView&module=Settings&parenttab=Settings&roleid=' . $temp_val . '">' . textlength_check(getRoleName($temp_val)) . '</a>'; } elseif ($uitype == 33) { $value = $temp_val != "" ? str_ireplace(' |##| ', ', ', $temp_val) : ""; if (!$is_admin && $value != '') { $value = $field_val != "" ? str_ireplace(' |##| ', ', ', $field_val) : ""; if ($value != '') { $value_arr = explode(',', trim($value)); $roleid = $current_user->roleid; $subrole = getRoleSubordinates($roleid); if (count($subrole) > 0) { $roleids = $subrole; array_push($roleids, $roleid); } else { $roleids = $roleid; } if (count($roleids) > 0) { $pick_query = "select distinct {$fieldname} from vtiger_{$fieldname} inner join vtiger_role2picklist on vtiger_role2picklist.picklistvalueid = vtiger_{$fieldname}.picklist_valueid where roleid in (" . generateQuestionMarks($roleids) . ") and picklistid in (select picklistid from vtiger_{$fieldname}) order by {$fieldname} asc"; $params = array($roleids); } else { $pick_query = "select distinct {$fieldname} from vtiger_{$fieldname} inner join vtiger_role2picklist on vtiger_role2picklist.picklistvalueid = vtiger_{$fieldname}.picklist_valueid where picklistid in (select picklistid from vtiger_{$fieldname}) order by {$fieldname} asc"; $params = array(); } $pickListResult = $adb->pquery($pick_query, $params); $picklistval = array(); for ($i = 0; $i < $adb->num_rows($pickListResult); $i++) { $picklistarr[] = $adb->query_result($pickListResult, $i, $fieldname); } $value_temp = array(); $string_temp = ''; $str_c = 0; foreach ($value_arr as $ind => $val) { $notaccess = '<font color="red">' . $app_strings['LBL_NOT_ACCESSIBLE'] . "</font>"; if (!$listview_max_textlength || !(strlen(preg_replace("/(<\\/?)(\\w+)([^>]*>)/i", "", $string_temp)) > $listview_max_textlength)) { $value_temp1 = in_array(trim($val), $picklistarr) ? $val : $notaccess; if ($str_c != 0) { $string_temp .= ' , '; } $string_temp .= $value_temp1; $str_c++; } else { $string_temp .= '...'; } } $value = $string_temp; } } } elseif ($uitype == 85) { $value = $temp_val != "" ? "<a href='skype:{$temp_val}?call'>{$temp_val}</a>" : ""; } elseif ($uitype == 116) { $value = $temp_val != "" ? getCurrencyName($temp_val) : ""; } elseif ($uitype == 117) { // NOTE: Without symbol the value could be used for filtering/lookup hence avoiding the translation $value = $temp_val != "" ? getCurrencyName($temp_val, false) : ""; } elseif ($uitype == 26) { $sql = "select foldername from vtiger_attachmentsfolder where folderid = ?"; $res = $adb->pquery($sql, array($temp_val)); $foldername = $adb->query_result($res, 0, 'foldername'); $value = $foldername; } elseif ($uitype == 11) { // Fix added for Trac Id: 6139 if (vtlib_isModuleActive('PBXManager')) { $value = "<a href='javascript:;' onclick='startCall("{$temp_val}", "{$entity_id}")'>" . $temp_val . "</a>"; } else { $value = $temp_val; } } elseif ($uitype == 25) { $contactid = $_REQUEST['record']; $emailid = $adb->query_result($list_result, $list_result_count, "activityid"); $result = $adb->pquery("SELECT access_count FROM vtiger_email_track WHERE crmid=? AND mailid=?", array($contactid, $emailid)); $value = $adb->query_result($result, 0, "access_count"); if (!$value) { $value = 0; } } elseif ($uitype == 8) { if (!empty($temp_val)) { $temp_val = html_entity_decode($temp_val, ENT_QUOTES, $default_charset); $json = new Zend_Json(); $value = vt_suppressHTMLTags(implode(',', $json->decode($temp_val))); } } else { if ($fieldname == $focus->list_link_field) { if ($mode == "search") { if ($popuptype == "specific" || $popuptype == "toDospecific") { // Added for get the first name of contact in Popup window if ($colname == "lastname" && $module == 'Contacts') { $temp_val = getFullNameFromQResult($list_result, $list_result_count, "Contacts"); } $slashes_temp_val = popup_from_html($temp_val); $slashes_temp_val = htmlspecialchars($slashes_temp_val, ENT_QUOTES, $default_charset); //Added to avoid the error when select SO from Invoice through AjaxEdit if ($module == 'SalesOrder') { $value = '<a href="javascript:window.close();" onclick=\'set_return_specific("' . $entity_id . '", "' . nl2br(decode_html($slashes_temp_val)) . '","' . $_REQUEST['form'] . '");\'>' . $temp_val . '</a>'; } elseif ($module == 'Contacts') { require_once 'modules/Contacts/Contacts.php'; $cntct_focus = new Contacts(); $cntct_focus->retrieve_entity_info($entity_id, "Contacts"); $slashes_temp_val = popup_from_html($temp_val); //ADDED TO CHECK THE FIELD PERMISSIONS FOR $xyz = array('mailingstreet', 'mailingcity', 'mailingzip', 'mailingpobox', 'mailingcountry', 'mailingstate', 'otherstreet', 'othercity', 'otherzip', 'otherpobox', 'othercountry', 'otherstate'); for ($i = 0; $i < 12; $i++) { if (getFieldVisibilityPermission($module, $current_user->id, $xyz[$i]) == '0') { $cntct_focus->column_fields[$xyz[$i]] = $cntct_focus->column_fields[$xyz[$i]]; } else { $cntct_focus->column_fields[$xyz[$i]] = ''; } } // For ToDo creation the underlying form is not named as EditView $form = !empty($_REQUEST['form']) ? $_REQUEST['form'] : ''; if (!empty($form)) { $form = htmlspecialchars($form, ENT_QUOTES, $default_charset); } $value = '<a href="javascript:window.close();" onclick=\'set_return_contact_address("' . $entity_id . '", "' . nl2br(decode_html($slashes_temp_val)) . '", "' . popup_decode_html($cntct_focus->column_fields['mailingstreet']) . '", "' . popup_decode_html($cntct_focus->column_fields['otherstreet']) . '", "' . popup_decode_html($cntct_focus->column_fields['mailingcity']) . '", "' . popup_decode_html($cntct_focus->column_fields['othercity']) . '", "' . popup_decode_html($cntct_focus->column_fields['mailingstate']) . '", "' . popup_decode_html($cntct_focus->column_fields['otherstate']) . '", "' . popup_decode_html($cntct_focus->column_fields['mailingzip']) . '", "' . popup_decode_html($cntct_focus->column_fields['otherzip']) . '", "' . popup_decode_html($cntct_focus->column_fields['mailingcountry']) . '", "' . popup_decode_html($cntct_focus->column_fields['othercountry']) . '","' . popup_decode_html($cntct_focus->column_fields['mailingpobox']) . '", "' . popup_decode_html($cntct_focus->column_fields['otherpobox']) . '","' . $form . '");\'>' . $temp_val . '</a>'; } else { if ($popuptype == 'toDospecific') { $value = '<a href="javascript:window.close();" onclick=\'set_return_toDospecific("' . $entity_id . '", "' . nl2br(decode_html($slashes_temp_val)) . '");\'>' . $temp_val . '</a>'; } else { $value = '<a href="javascript:window.close();" onclick=\'set_return_specific("' . $entity_id . '", "' . nl2br(decode_html($slashes_temp_val)) . '");\'>' . $temp_val . '</a>'; } } } elseif ($popuptype == "detailview") { if ($colname == "lastname" && ($module == 'Contacts' || $module == 'Leads')) { $temp_val = getFullNameFromQResult($list_result, $list_result_count, $module); } $slashes_temp_val = popup_from_html($temp_val); $slashes_temp_val = htmlspecialchars($slashes_temp_val, ENT_QUOTES, $default_charset); $focus->record_id = $_REQUEST['recordid']; if ($_REQUEST['return_module'] == "Calendar") { $value = '<a href="javascript:window.close();" id="calendarCont' . $entity_id . '" LANGUAGE=javascript onclick=\'add_data_to_relatedlist_incal("' . $entity_id . '","' . decode_html($slashes_temp_val) . '");\'>' . $temp_val . '</a>'; } else { $value = '<a href="javascript:window.close();" onclick=\'add_data_to_relatedlist("' . $entity_id . '","' . $focus->record_id . '","' . $module . '");\'>' . $temp_val . '</a>'; } } elseif ($popuptype == "formname_specific") { $slashes_temp_val = popup_from_html($temp_val); $slashes_temp_val = htmlspecialchars($slashes_temp_val, ENT_QUOTES, $default_charset); $value = '<a href="javascript:window.close();" onclick=\'set_return_formname_specific("' . $_REQUEST['form'] . '", "' . $entity_id . '", "' . nl2br(decode_html($slashes_temp_val)) . '");\'>' . $temp_val . '</a>'; } elseif ($popuptype == "inventory_prod") { $row_id = $_REQUEST['curr_row']; //To get all the tax types and values and pass it to product details $tax_str = ''; $tax_details = getAllTaxes(); for ($tax_count = 0; $tax_count < count($tax_details); $tax_count++) { $tax_str .= $tax_details[$tax_count]['taxname'] . '=' . $tax_details[$tax_count]['percentage'] . ','; } $tax_str = trim($tax_str, ','); $rate = $user_info['conv_rate']; if (getFieldVisibilityPermission('Products', $current_user->id, 'unit_price') == '0') { $unitprice = $adb->query_result($list_result, $list_result_count, 'unit_price'); if ($_REQUEST['currencyid'] != null) { $prod_prices = getPricesForProducts($_REQUEST['currencyid'], array($entity_id)); $unitprice = $prod_prices[$entity_id]; } } else { $unit_price = ''; } $sub_products = ''; $sub_prod = ''; $sub_prod_query = $adb->pquery("SELECT vtiger_products.productid,vtiger_products.productname,vtiger_products.qtyinstock,vtiger_crmentity.description from vtiger_products INNER JOIN vtiger_crmentity ON vtiger_crmentity.crmid=vtiger_products.productid INNER JOIN vtiger_seproductsrel on vtiger_seproductsrel.crmid=vtiger_products.productid WHERE vtiger_seproductsrel.productid=? and vtiger_seproductsrel.setype='Products'", array($entity_id)); for ($i = 0; $i < $adb->num_rows($sub_prod_query); $i++) { //$sub_prod=array(); $id = $adb->query_result($sub_prod_query, $i, "productid"); $str_sep = ''; if ($i > 0) { $str_sep = ":"; } $sub_products .= $str_sep . $id; $sub_prod .= $str_sep . " - " . $adb->query_result($sub_prod_query, $i, "productname"); } $sub_det = $sub_products . "::" . str_replace(":", "<br>", $sub_prod); $qty_stock = $adb->query_result($list_result, $list_result_count, 'qtyinstock'); //fix for T6943 $slashes_temp_val = popup_from_html($field_val); $slashes_temp_val = htmlspecialchars($slashes_temp_val, ENT_QUOTES, $default_charset); $description = popup_from_html($adb->query_result($list_result, $list_result_count, 'description')); $slashes_temp_desc = decode_html(htmlspecialchars($description, ENT_QUOTES, $default_charset)); $slashes_desc = str_replace(array("\r", "\n"), array('\\r', '\\n'), $slashes_temp_desc); $tmp_arr = array("entityid" => $entity_id, "prodname" => "" . stripslashes(decode_html(nl2br($slashes_temp_val))) . "", "unitprice" => "{$unitprice}", "qtyinstk" => "{$qty_stock}", "taxstring" => "{$tax_str}", "rowid" => "{$row_id}", "desc" => "{$slashes_desc}", "subprod_ids" => "{$sub_det}"); require_once 'include/Zend/Json.php'; $prod_arr = Zend_Json::encode($tmp_arr); $value = '<a href="javascript:window.close();" id=\'popup_product_' . $entity_id . '\' onclick=\'set_return_inventory("' . $entity_id . '", "' . decode_html(nl2br($slashes_temp_val)) . '", "' . $unitprice . '", "' . $qty_stock . '","' . $tax_str . '","' . $row_id . '","' . $slashes_desc . '","' . $sub_det . '");\' vt_prod_arr=\'' . $prod_arr . '\' >' . $temp_val . '</a>'; } elseif ($popuptype == "inventory_prod_po") { $row_id = $_REQUEST['curr_row']; //To get all the tax types and values and pass it to product details $tax_str = ''; $tax_details = getAllTaxes(); for ($tax_count = 0; $tax_count < count($tax_details); $tax_count++) { $tax_str .= $tax_details[$tax_count]['taxname'] . '=' . $tax_details[$tax_count]['percentage'] . ','; } $tax_str = trim($tax_str, ','); $rate = $user_info['conv_rate']; if (getFieldVisibilityPermission($module, $current_user->id, 'unit_price') == '0') { $unitprice = $adb->query_result($list_result, $list_result_count, 'unit_price'); if ($_REQUEST['currencyid'] != null) { $prod_prices = getPricesForProducts($_REQUEST['currencyid'], array($entity_id), $module); $unitprice = $prod_prices[$entity_id]; } } else { $unit_price = ''; } $sub_products = ''; $sub_prod = ''; $sub_prod_query = $adb->pquery("SELECT vtiger_products.productid,vtiger_products.productname,vtiger_products.qtyinstock,vtiger_crmentity.description from vtiger_products INNER JOIN vtiger_crmentity ON vtiger_crmentity.crmid=vtiger_products.productid INNER JOIN vtiger_seproductsrel on vtiger_seproductsrel.crmid=vtiger_products.productid WHERE vtiger_seproductsrel.productid=? and vtiger_seproductsrel.setype='Products'", array($entity_id)); for ($i = 0; $i < $adb->num_rows($sub_prod_query); $i++) { //$sub_prod=array(); $id = $adb->query_result($sub_prod_query, $i, "productid"); $str_sep = ''; if ($i > 0) { $str_sep = ":"; } $sub_products .= $str_sep . $id; $sub_prod .= $str_sep . " - {$id}." . $adb->query_result($sub_prod_query, $i, "productname"); } $sub_det = $sub_products . "::" . str_replace(":", "<br>", $sub_prod); $slashes_temp_val = popup_from_html($field_val); $slashes_temp_val = htmlspecialchars($slashes_temp_val, ENT_QUOTES, $default_charset); $description = popup_from_html($adb->query_result($list_result, $list_result_count, 'description')); $slashes_temp_desc = decode_html(htmlspecialchars($description, ENT_QUOTES, $default_charset)); $slashes_desc = str_replace(array("\r", "\n"), array('\\r', '\\n'), $slashes_temp_desc); $tmp_arr = array("entityid" => $entity_id, "prodname" => "" . stripslashes(decode_html(nl2br($slashes_temp_val))) . "", "unitprice" => "{$unitprice}", "qtyinstk" => "{$qty_stock}", "taxstring" => "{$tax_str}", "rowid" => "{$row_id}", "desc" => "{$slashes_desc}", "subprod_ids" => "{$sub_det}"); require_once 'include/Zend/Json.php'; $prod_arr = Zend_Json::encode($tmp_arr); $value = '<a href="javascript:window.close();" id=\'popup_product_' . $entity_id . '\' onclick=\'set_return_inventory_po("' . $entity_id . '", "' . decode_html(nl2br($slashes_temp_val)) . '", "' . $unitprice . '", "' . $tax_str . '","' . $row_id . '","' . $slashes_desc . '","' . $sub_det . '"); \' vt_prod_arr=\'' . $prod_arr . '\' >' . $temp_val . '</a>'; } elseif ($popuptype == "inventory_service") { $row_id = $_REQUEST['curr_row']; //To get all the tax types and values and pass it to product details $tax_str = ''; $tax_details = getAllTaxes(); for ($tax_count = 0; $tax_count < count($tax_details); $tax_count++) { $tax_str .= $tax_details[$tax_count]['taxname'] . '=' . $tax_details[$tax_count]['percentage'] . ','; } $tax_str = trim($tax_str, ','); $rate = $user_info['conv_rate']; if (getFieldVisibilityPermission('Services', $current_user->id, 'unit_price') == '0') { $unitprice = $adb->query_result($list_result, $list_result_count, 'unit_price'); if ($_REQUEST['currencyid'] != null) { $prod_prices = getPricesForProducts($_REQUEST['currencyid'], array($entity_id), $module); $unitprice = $prod_prices[$entity_id]; } } else { $unit_price = ''; } $slashes_temp_val = popup_from_html($field_val); $slashes_temp_val = htmlspecialchars($slashes_temp_val, ENT_QUOTES, $default_charset); $description = popup_from_html($adb->query_result($list_result, $list_result_count, 'description')); $slashes_temp_desc = decode_html(htmlspecialchars($description, ENT_QUOTES, $default_charset)); $slashes_desc = str_replace(array("\r", "\n"), array('\\r', '\\n'), $slashes_temp_desc); $tmp_arr = array("entityid" => $entity_id, "prodname" => "" . stripslashes(decode_html(nl2br($slashes_temp_val))) . "", "unitprice" => "{$unitprice}", "taxstring" => "{$tax_str}", "rowid" => "{$row_id}", "desc" => "{$slashes_desc}"); require_once 'include/Zend/Json.php'; $prod_arr = Zend_Json::encode($tmp_arr); $value = '<a href="javascript:window.close();" id=\'popup_product_' . $entity_id . '\' onclick=\'set_return_inventory("' . $entity_id . '", "' . decode_html(nl2br($slashes_temp_val)) . '", "' . $unitprice . '", "' . $tax_str . '","' . $row_id . '","' . $slashes_desc . '");\' vt_prod_arr=\'' . $prod_arr . '\' >' . $temp_val . '</a>'; } elseif ($popuptype == "inventory_pb") { $prod_id = $_REQUEST['productid']; $flname = $_REQUEST['fldname']; $listprice = getListPrice($prod_id, $entity_id); $temp_val = popup_from_html($temp_val); $value = '<a href="javascript:window.close();" onclick=\'set_return_inventory_pb("' . $listprice . '", "' . $flname . '"); \'>' . $temp_val . '</a>'; } elseif ($popuptype == "specific_account_address") { require_once 'modules/Accounts/Accounts.php'; $acct_focus = new Accounts(); $acct_focus->retrieve_entity_info($entity_id, "Accounts"); $slashes_temp_val = popup_from_html($temp_val); $slashes_temp_val = htmlspecialchars($slashes_temp_val, ENT_QUOTES, $default_charset); $xyz = array('bill_street', 'bill_city', 'bill_code', 'bill_pobox', 'bill_country', 'bill_state', 'ship_street', 'ship_city', 'ship_code', 'ship_pobox', 'ship_country', 'ship_state'); for ($i = 0; $i < 12; $i++) { if (getFieldVisibilityPermission($module, $current_user->id, $xyz[$i]) == '0') { $acct_focus->column_fields[$xyz[$i]] = $acct_focus->column_fields[$xyz[$i]]; } else { $acct_focus->column_fields[$xyz[$i]] = ''; } } $bill_street = str_replace(array("\r", "\n"), array('\\r', '\\n'), popup_decode_html($acct_focus->column_fields['bill_street'])); $ship_street = str_replace(array("\r", "\n"), array('\\r', '\\n'), popup_decode_html($acct_focus->column_fields['ship_street'])); $value = '<a href="javascript:window.close();" onclick=\'set_return_address("' . $entity_id . '", "' . nl2br(decode_html($slashes_temp_val)) . '", "' . $bill_street . '", "' . $ship_street . '", "' . popup_decode_html($acct_focus->column_fields['bill_city']) . '", "' . popup_decode_html($acct_focus->column_fields['ship_city']) . '", "' . popup_decode_html($acct_focus->column_fields['bill_state']) . '", "' . popup_decode_html($acct_focus->column_fields['ship_state']) . '", "' . popup_decode_html($acct_focus->column_fields['bill_code']) . '", "' . popup_decode_html($acct_focus->column_fields['ship_code']) . '", "' . popup_decode_html($acct_focus->column_fields['bill_country']) . '", "' . popup_decode_html($acct_focus->column_fields['ship_country']) . '","' . popup_decode_html($acct_focus->column_fields['bill_pobox']) . '", "' . popup_decode_html($acct_focus->column_fields['ship_pobox']) . '");\'>' . $temp_val . '</a>'; } elseif ($popuptype == "specific_contact_account_address") { require_once 'modules/Accounts/Accounts.php'; $acct_focus = new Accounts(); $acct_focus->retrieve_entity_info($entity_id, "Accounts"); $slashes_temp_val = popup_from_html($temp_val); $slashes_temp_val = htmlspecialchars($slashes_temp_val, ENT_QUOTES, $default_charset); $bill_street = str_replace(array("\r", "\n"), array('\\r', '\\n'), popup_decode_html($acct_focus->column_fields['bill_street'])); $ship_street = str_replace(array("\r", "\n"), array('\\r', '\\n'), popup_decode_html($acct_focus->column_fields['ship_street'])); $value = '<a href="javascript:window.close();" onclick=\'set_return_contact_address("' . $entity_id . '", "' . nl2br(decode_html($slashes_temp_val)) . '", "' . $bill_street . '", "' . $ship_street . '", "' . popup_decode_html($acct_focus->column_fields['bill_city']) . '", "' . popup_decode_html($acct_focus->column_fields['ship_city']) . '", "' . popup_decode_html($acct_focus->column_fields['bill_state']) . '", "' . popup_decode_html($acct_focus->column_fields['ship_state']) . '", "' . popup_decode_html($acct_focus->column_fields['bill_code']) . '", "' . popup_decode_html($acct_focus->column_fields['ship_code']) . '", "' . popup_decode_html($acct_focus->column_fields['bill_country']) . '", "' . popup_decode_html($acct_focus->column_fields['ship_country']) . '","' . popup_decode_html($acct_focus->column_fields['bill_pobox']) . '", "' . popup_decode_html($acct_focus->column_fields['ship_pobox']) . '");\'>' . $temp_val . '</a>'; } elseif ($popuptype == "specific_potential_account_address") { $slashes_temp_val = popup_from_html($temp_val); $slashes_temp_val = htmlspecialchars($slashes_temp_val, ENT_QUOTES, $default_charset); // For B2C support, Potential was enabled to be linked to Contacts also. // Hence we need case handling for it. $relatedid = $adb->query_result($list_result, $list_result_count, "related_to"); $relatedentity = getSalesEntityType($relatedid); if ($relatedentity == 'Accounts') { require_once 'modules/Accounts/Accounts.php'; $acct_focus = new Accounts(); $acct_focus->retrieve_entity_info($relatedid, "Accounts"); $account_name = getAccountName($relatedid); $slashes_account_name = popup_from_html($account_name); $slashes_account_name = htmlspecialchars($slashes_account_name, ENT_QUOTES, $default_charset); $xyz = array('bill_street', 'bill_city', 'bill_code', 'bill_pobox', 'bill_country', 'bill_state', 'ship_street', 'ship_city', 'ship_code', 'ship_pobox', 'ship_country', 'ship_state'); for ($i = 0; $i < 12; $i++) { if (getFieldVisibilityPermission('Accounts', $current_user->id, $xyz[$i]) == '0') { $acct_focus->column_fields[$xyz[$i]] = $acct_focus->column_fields[$xyz[$i]]; } else { $acct_focus->column_fields[$xyz[$i]] = ''; } } $bill_street = str_replace(array("\r", "\n"), array('\\r', '\\n'), popup_decode_html($acct_focus->column_fields['bill_street'])); $ship_street = str_replace(array("\r", "\n"), array('\\r', '\\n'), popup_decode_html($acct_focus->column_fields['ship_street'])); $value = '<a href="javascript:window.close();" onclick=\'set_return_address("' . $entity_id . '", "' . nl2br(decode_html($slashes_temp_val)) . '", "' . $relatedid . '", "' . nl2br(decode_html($slashes_account_name)) . '", "' . $bill_street . '", "' . $ship_street . '", "' . popup_decode_html($acct_focus->column_fields['bill_city']) . '", "' . popup_decode_html($acct_focus->column_fields['ship_city']) . '", "' . popup_decode_html($acct_focus->column_fields['bill_state']) . '", "' . popup_decode_html($acct_focus->column_fields['ship_state']) . '", "' . popup_decode_html($acct_focus->column_fields['bill_code']) . '", "' . popup_decode_html($acct_focus->column_fields['ship_code']) . '", "' . popup_decode_html($acct_focus->column_fields['bill_country']) . '", "' . popup_decode_html($acct_focus->column_fields['ship_country']) . '","' . popup_decode_html($acct_focus->column_fields['bill_pobox']) . '", "' . popup_decode_html($acct_focus->column_fields['ship_pobox']) . '");\'>' . $temp_val . '</a>'; } else { if ($relatedentity == 'Contacts') { require_once 'modules/Contacts/Contacts.php'; $contact_name = getContactName($relatedid); $slashes_contact_name = popup_from_html($contact_name); $slashes_contact_name = htmlspecialchars($slashes_contact_name, ENT_QUOTES, $default_charset); $value = '<a href="javascript:window.close();" onclick=\'set_return_contact("' . $entity_id . '", "' . nl2br(decode_html($slashes_temp_val)) . '", "' . $relatedid . '", "' . nl2br(decode_html($slashes_contact_name)) . '");\'>' . $temp_val . '</a>'; } else { $value = $temp_val; } } } elseif ($popuptype == "set_return_emails") { if ($module == 'Accounts') { $name = $adb->query_result($list_result, $list_result_count, 'accountname'); $accid = $adb->query_result($list_result, $list_result_count, 'accountid'); if (CheckFieldPermission('email1', $module) == "true") { $emailaddress = $adb->query_result($list_result, $list_result_count, "email1"); $email_check = 1; } else { $email_check = 0; } if ($emailaddress == '') { if (CheckFieldPermission('email2', $module) == 'true') { $emailaddress2 = $adb->query_result($list_result, $list_result_count, "email2"); $email_check = 2; } else { if ($email_check == 1) { $email_check = 4; } else { $email_check = 3; } } } $querystr = "SELECT fieldid,fieldlabel,columnname FROM vtiger_field WHERE tabid=? and uitype=13 and vtiger_field.presence in (0,2)"; $queryres = $adb->pquery($querystr, array(getTabid($module))); //Change this index 0 - to get the vtiger_fieldid based on email1 or email2 $fieldid = $adb->query_result($queryres, 0, 'fieldid'); $slashes_name = popup_from_html($name); $slashes_name = htmlspecialchars($slashes_name, ENT_QUOTES, $default_charset); $value = '<a href="javascript:window.close();" onclick=\'return set_return_emails(' . $entity_id . ',' . $fieldid . ',"' . decode_html($slashes_name) . '","' . $emailaddress . '","' . $emailaddress2 . '","' . $email_check . '"); \'>' . textlength_check($name) . '</a>'; } elseif ($module == 'Vendors') { $name = $adb->query_result($list_result, $list_result_count, 'vendorname'); $venid = $adb->query_result($list_result, $list_result_count, 'vendorid'); if (CheckFieldPermission('email', $module) == "true") { $emailaddress = $adb->query_result($list_result, $list_result_count, "email"); $email_check = 1; } else { $email_check = 0; } $querystr = "SELECT fieldid,fieldlabel,columnname FROM vtiger_field WHERE tabid=? and uitype=13 and vtiger_field.presence in (0,2)"; $queryres = $adb->pquery($querystr, array(getTabid($module))); //Change this index 0 - to get the vtiger_fieldid based on email1 or email2 $fieldid = $adb->query_result($queryres, 0, 'fieldid'); $slashes_name = popup_from_html($name); $slashes_name = htmlspecialchars($slashes_name, ENT_QUOTES, $default_charset); $value = '<a href="javascript:window.close();" onclick=\'return set_return_emails(' . $entity_id . ',' . $fieldid . ',"' . decode_html($slashes_name) . '","' . $emailaddress . '","' . $emailaddress2 . '","' . $email_check . '"); \'>' . textlength_check($name) . '</a>'; } elseif ($module == 'Contacts' || $module == 'Leads') { $name = getFullNameFromQResult($list_result, $list_result_count, $module); if (CheckFieldPermission('email', $module) == "true") { $emailaddress = $adb->query_result($list_result, $list_result_count, "email"); $email_check = 1; } else { $email_check = 0; } if ($emailaddress == '') { if (CheckFieldPermission('yahooid', $module) == 'true') { $emailaddress2 = $adb->query_result($list_result, $list_result_count, "yahooid"); $email_check = 2; } else { if ($email_check == 1) { $email_check = 4; } else { $email_check = 3; } } } $querystr = "SELECT fieldid,fieldlabel,columnname FROM vtiger_field WHERE tabid=? and uitype=13 and vtiger_field.presence in (0,2)"; $queryres = $adb->pquery($querystr, array(getTabid($module))); //Change this index 0 - to get the vtiger_fieldid based on email or yahooid $fieldid = $adb->query_result($queryres, 0, 'fieldid'); $slashes_name = popup_from_html($name); $slashes_name = htmlspecialchars($slashes_name, ENT_QUOTES, $default_charset); $value = '<a href="javascript:window.close();" onclick=\'return set_return_emails(' . $entity_id . ',' . $fieldid . ',"' . decode_html($slashes_name) . '","' . $emailaddress . '","' . $emailaddress2 . '","' . $email_check . '"); \'>' . $name . '</a>'; } else { $firstname = $adb->query_result($list_result, $list_result_count, "first_name"); $lastname = $adb->query_result($list_result, $list_result_count, "last_name"); $name = $lastname . ' ' . $firstname; $emailaddress = $adb->query_result($list_result, $list_result_count, "email1"); $slashes_name = popup_from_html($name); $slashes_name = htmlspecialchars($slashes_name, ENT_QUOTES, $default_charset); $email_check = 1; $value = '<a href="javascript:window.close();" onclick=\'return set_return_emails(' . $entity_id . ',-1,"' . decode_html($slashes_name) . '","' . $emailaddress . '","' . $emailaddress2 . '","' . $email_check . '"); \'>' . textlength_check($name) . '</a>'; } } elseif ($popuptype == "specific_vendor_address") { require_once 'modules/Vendors/Vendors.php'; $acct_focus = new Vendors(); $acct_focus->retrieve_entity_info($entity_id, "Vendors"); $slashes_temp_val = popup_from_html($temp_val); $slashes_temp_val = htmlspecialchars($slashes_temp_val, ENT_QUOTES, $default_charset); $xyz = array('street', 'city', 'postalcode', 'pobox', 'country', 'state'); for ($i = 0; $i < 6; $i++) { if (getFieldVisibilityPermission($module, $current_user->id, $xyz[$i]) == '0') { $acct_focus->column_fields[$xyz[$i]] = $acct_focus->column_fields[$xyz[$i]]; } else { $acct_focus->column_fields[$xyz[$i]] = ''; } } $bill_street = str_replace(array("\r", "\n"), array('\\r', '\\n'), popup_decode_html($acct_focus->column_fields['street'])); $value = '<a href="javascript:window.close();" onclick=\'set_return_address("' . $entity_id . '", "' . nl2br(decode_html($slashes_temp_val)) . '", "' . $bill_street . '", "' . popup_decode_html($acct_focus->column_fields['city']) . '", "' . popup_decode_html($acct_focus->column_fields['state']) . '", "' . popup_decode_html($acct_focus->column_fields['postalcode']) . '", "' . popup_decode_html($acct_focus->column_fields['country']) . '","' . popup_decode_html($acct_focus->column_fields['pobox']) . '");\'>' . $temp_val . '</a>'; } elseif ($popuptype == "specific_campaign") { $slashes_temp_val = popup_from_html($temp_val); $slashes_temp_val = htmlspecialchars($slashes_temp_val, ENT_QUOTES, $default_charset); $value = '<a href="javascript:window.close();" onclick=\'set_return_specific_campaign("' . $entity_id . '", "' . nl2br(decode_html($slashes_temp_val)) . '");\'>' . $temp_val . '</a>'; } else { if ($colname == "lastname") { $temp_val = getFullNameFromQResult($list_result, $list_result_count, $module); } $slashes_temp_val = popup_from_html($temp_val); $slashes_temp_val = htmlspecialchars($slashes_temp_val, ENT_QUOTES, $default_charset); $log->debug("Exiting getValue method ..."); if ($_REQUEST['maintab'] == 'Calendar') { $value = '<a href="javascript:window.close();" onclick=\'set_return_todo("' . $entity_id . '", "' . nl2br(decode_html($slashes_temp_val)) . '");\'>' . $temp_val . '</a>'; } else { $value = '<a href="javascript:window.close();" onclick=\'set_return("' . $entity_id . '", "' . nl2br(decode_html($slashes_temp_val)) . '");\'>' . $temp_val . '</a>'; } } } else { if ($module == "Leads" && $colname == "lastname" || $module == "Contacts" && $colname == "lastname") { $value = '<a href="index.php?action=DetailView&module=' . $module . '&record=' . $entity_id . '&parenttab=' . $tabname . '">' . $temp_val . '</a>'; } elseif ($module == "Calendar") { $actvity_type = $adb->query_result($list_result, $list_result_count, 'activitytype'); $actvity_type = $actvity_type != '' ? $actvity_type : $adb->query_result($list_result, $list_result_count, 'type'); if ($actvity_type == "Task") { $value = '<a href="index.php?action=DetailView&module=' . $module . '&record=' . $entity_id . '&activity_mode=Task&parenttab=' . $tabname . '">' . $temp_val . '</a>'; } else { $value = '<a href="index.php?action=DetailView&module=' . $module . '&record=' . $entity_id . '&activity_mode=Events&parenttab=' . $tabname . '">' . $temp_val . '</a>'; } } elseif ($module == "Vendors") { $value = '<a href="index.php?action=DetailView&module=Vendors&record=' . $entity_id . '&parenttab=' . $tabname . '">' . $temp_val . '</a>'; } elseif ($module == "PriceBooks") { $value = '<a href="index.php?action=DetailView&module=PriceBooks&record=' . $entity_id . '&parenttab=' . $tabname . '">' . $temp_val . '</a>'; } elseif ($module == "SalesOrder") { $value = '<a href="index.php?action=DetailView&module=SalesOrder&record=' . $entity_id . '&parenttab=' . $tabname . '">' . $temp_val . '</a>'; } elseif ($module == 'Emails') { $value = $temp_val; } else { $value = '<a href="index.php?action=DetailView&module=' . $module . '&record=' . $entity_id . '&parenttab=' . $tabname . '">' . $temp_val . '</a>'; } } } elseif ($fieldname == 'expectedroi' || $fieldname == 'actualroi' || $fieldname == 'actualcost' || $fieldname == 'budgetcost' || $fieldname == 'expectedrevenue') { $rate = $user_info['conv_rate']; $value = convertFromDollar($temp_val, $rate); } elseif (($module == 'Invoice' || $module == 'Quotes' || $module == 'PurchaseOrder' || $module == 'SalesOrder') && ($fieldname == 'hdnGrandTotal' || $fieldname == 'hdnSubTotal' || $fieldname == 'txtAdjustment' || $fieldname == 'hdnDiscountAmount' || $fieldname == 'hdnS_H_Amount')) { $currency_info = getInventoryCurrencyInfo($module, $entity_id); $currency_id = $currency_info['currency_id']; $currency_symbol = $currency_info['currency_symbol']; $value = $currency_symbol . $temp_val; } else { $value = $temp_val; } } } // Mike Crowe Mod --------------------------------------------------------Make right justified and vtiger_currency value if (in_array($uitype, array(71, 72, 7, 9, 90))) { $value = '<span align="right">' . $value . '</div>'; } $log->debug("Exiting getValue method ..."); return $value; }
private function x0e($emodule, $efocus, $is_related = false, $is_inventory = false) { global $x0b, $x0c, $x0d, $x0e, $x0f, $x10, $x11, $x12, $x13, $x14, $x15, $x16, $x17, $x18, $x19, $x1a, $x1b, $x1c, $x1d, $x1e, $x1f, $x20, $x21, $x22, $x23, $x24, $x25, $x26; $related_fieldnames = array("related_to", "relatedto", "parent_id", "parentid", "product_id", "productid", "service_id", "serviceid", "vendor_id", "product", "account", "invoiceid", "linktoaccountscontacts", "projectid", "sc_related_to"); if ($is_inventory) { $inventory_content = array(); } $tabid = getTabid($emodule); if ($is_related) { $related = "R_"; } else { $related = ""; } $Checkboxes = array(); $Picklists = array(); $Textareas = array(); $Datefields = array(); $Multipicklists = array(); $NumbersField = array(); $sql = "SELECT fieldname, uitype FROM vtiger_field WHERE tabid = '" . $tabid . "'"; $result = $this->db->query($sql); while ($row = $this->db->fetchByAssoc($result)) { if ($row["uitype"] == "19" || $row["uitype"] == "20" || $row["uitype"] == "21" || $row["uitype"] == "24") { $Textareas[] = $row["fieldname"]; } elseif ($row["uitype"] == "5" || $row["uitype"] == "23" || $row["uitype"] == "70") { $Datefields[] = $row["fieldname"]; } elseif ($row["uitype"] == "15" || $row["fieldname"] == "salutationtype") { $Picklists[] = $row["fieldname"]; } elseif ($row["uitype"] == "56") { $Checkboxes[] = $row["fieldname"]; } elseif ($row["uitype"] == "33") { $Multipicklists[] = $row["fieldname"]; } elseif ($row["uitype"] == "71") { $NumbersField[] = $row["fieldname"]; } } foreach ($efocus->column_fields as $fieldname => $value) { if ($fieldname == "assigned_user_id") { $value = $this->x19($value); } elseif ($fieldname == "account_id") { $value = getAccountName($value); } elseif ($fieldname == "potential_id") { $value = getPotentialName($value); } elseif ($fieldname == "contact_id") { $value = getContactName($value); } elseif ($fieldname == "quote_id") { $value = getQuoteName($value); } elseif ($fieldname == "salesorder_id") { $value = getSoName($value); } elseif ($fieldname == "campaignid") { $value = getCampaignName($value); } elseif ($fieldname == "terms_conditions") { $value = $this->x20($value); } elseif ($fieldname == "comments") { $value = $this->x21($efocus); } elseif ($fieldname == "folderid") { $value = $this->x22($value); } elseif ($x16($fieldname, $related_fieldnames)) { if ($value != "") { $parent_module = getSalesEntityType($value); $displayValueArray = getEntityName($parent_module, $value); if (!empty($displayValueArray)) { foreach ($displayValueArray as $key => $p_value) { $value = $p_value; } } if ($fieldname == "invoiceid" && $value == "0") { $value = ""; } } } if ($x16($fieldname, $Datefields)) { $value = getValidDisplayDate($value); } elseif ($x16($fieldname, $Picklists)) { if (!$x16($x26($value), $this->ignored_picklist_values)) { $value = $this->x1b($value, $emodule); } else { $value = ""; } } elseif ($x16($fieldname, $Checkboxes)) { $pdf_app_strings = return_application_language($this->language); if ($value == 1) { $value = $pdf_app_strings["yes"]; } else { $value = $pdf_app_strings["no"]; } } elseif ($x16($fieldname, $Textareas)) { $value = $x1a($value); } elseif ($x16($fieldname, $Multipicklists)) { $value = $x1f(' |##| ', ', ', $value); } elseif ($x16($fieldname, $NumbersField)) { $value = $this->x1e($value); } if ($is_inventory) { $inventory_content[$x22($emodule . "_" . $fieldname)] = $value; } else { $this->replacements["\$" . $related . $x22($emodule . "_" . $fieldname) . "\$"] = $value; } } if ($is_inventory) { return $inventory_content; } else { $this->x12(); } }
/** This function returns the vtiger_field details for a given vtiger_fieldname. * Param $uitype - UI type of the vtiger_field * Param $fieldname - Form vtiger_field name * Param $fieldlabel - Form vtiger_field label name * Param $maxlength - maximum length of the vtiger_field * Param $col_fields - array contains the vtiger_fieldname and values * Param $generatedtype - Field generated type (default is 1) * Param $module_name - module name * Return type is an array */ function getOutputHtml($uitype, $fieldname, $fieldlabel, $maxlength, $col_fields, $generatedtype, $module_name, $mode = '', $typeofdata = null) { global $log, $app_strings; $log->debug("Entering getOutputHtml(" . $uitype . "," . $fieldname . "," . $fieldlabel . "," . $maxlength . "," . $col_fields . "," . $generatedtype . "," . $module_name . ") method ..."); global $adb, $log, $default_charset; global $theme; global $mod_strings; global $app_strings; global $current_user; require 'user_privileges/sharing_privileges_' . $current_user->id . '.php'; require 'user_privileges/user_privileges_' . $current_user->id . '.php'; $theme_path = "themes/" . $theme . "/"; $image_path = $theme_path . "images/"; $fieldlabel = from_html($fieldlabel); $fieldvalue = array(); $final_arr = array(); $value = $col_fields[$fieldname]; $custfld = ''; $ui_type[] = $uitype; $editview_fldname[] = $fieldname; // vtlib customization: Related type field if ($uitype == '10') { global $adb; $fldmod_result = $adb->pquery('SELECT relmodule, status FROM vtiger_fieldmodulerel WHERE fieldid= (SELECT fieldid FROM vtiger_field, vtiger_tab WHERE vtiger_field.tabid=vtiger_tab.tabid AND fieldname=? AND name=? and vtiger_field.presence in (0,2))', array($fieldname, $module_name)); $entityTypes = array(); $parent_id = $value; for ($index = 0; $index < $adb->num_rows($fldmod_result); ++$index) { $entityTypes[] = $adb->query_result($fldmod_result, $index, 'relmodule'); } if (!empty($value)) { $valueType = getSalesEntityType($value); $displayValueArray = getEntityName($valueType, $value); if (!empty($displayValueArray)) { foreach ($displayValueArray as $key => $value) { $displayValue = $value; } } } else { $displayValue = ''; $valueType = ''; $value = ''; } $editview_label[] = array('options' => $entityTypes, 'selected' => $valueType, 'displaylabel' => getTranslatedString($fieldlabel, $module_name)); $fieldvalue[] = array('displayvalue' => $displayValue, 'entityid' => $parent_id); } else { if ($uitype == 5 || $uitype == 6 || $uitype == 23) { $log->info("uitype is " . $uitype); if ($value == '') { //modified to fix the issue in trac(http://vtiger.fosslabs.com/cgi-bin/trac.cgi/ticket/1469) if ($fieldname != 'birthday' && $generatedtype != 2 && getTabid($module_name) != 14) { // && $fieldname != 'due_date')//due date is today's date by default $disp_value = getNewDisplayDate(); } //Added to display the Contact - Support End Date as one year future instead of today's date -- 30-11-2005 if ($fieldname == 'support_end_date' && $_REQUEST['module'] == 'Contacts') { $addyear = strtotime("+1 year"); global $current_user; $dat_fmt = $current_user->date_format == '' ? 'dd-mm-yyyy' : $current_user->date_format; $disp_value = $dat_fmt == 'dd-mm-yyyy' ? date('d-m-Y', $addyear) : ($dat_fmt == 'mm-dd-yyyy' ? date('m-d-Y', $addyear) : ($dat_fmt == 'yyyy-mm-dd' ? date('Y-m-d', $addyear) : '')); } if ($fieldname == 'validtill' && $_REQUEST['module'] == 'Quotes') { $disp_value = ''; } } else { $disp_value = getValidDisplayDate($value); } $editview_label[] = getTranslatedString($fieldlabel, $module_name); $date_format = parse_calendardate($app_strings['NTC_DATE_FORMAT']); if ($uitype == 6) { if ($col_fields['time_start'] != '') { $curr_time = $col_fields['time_start']; } else { $curr_time = date('H:i', time() + 5 * 60); } } if ($module_name == 'Events' && $uitype == 23) { if ($col_fields['time_end'] != '') { $curr_time = $col_fields['time_end']; } else { $endtime = time() + 10 * 60; $curr_time = date('H:i', $endtime); } } $fieldvalue[] = array($disp_value => $curr_time); if ($uitype == 5 || $uitype == 23) { if ($module_name == 'Events' && $uitype == 23) { $fieldvalue[] = array($date_format => $current_user->date_format . ' ' . $app_strings['YEAR_MONTH_DATE']); } else { $fieldvalue[] = array($date_format => $current_user->date_format); } } else { $fieldvalue[] = array($date_format => $current_user->date_format . ' ' . $app_strings['YEAR_MONTH_DATE']); } } elseif ($uitype == 16) { require_once 'modules/PickList/PickListUtils.php'; $editview_label[] = getTranslatedString($fieldlabel, $module_name); $fieldname = $adb->sql_escape_string($fieldname); $pick_query = "select {$fieldname} from vtiger_{$fieldname} order by sortorderid"; $params = array(); $pickListResult = $adb->pquery($pick_query, $params); $noofpickrows = $adb->num_rows($pickListResult); $options = array(); $pickcount = 0; $found = false; for ($j = 0; $j < $noofpickrows; $j++) { $value = decode_html($value); $pickListValue = decode_html($adb->query_result($pickListResult, $j, strtolower($fieldname))); if ($value == trim($pickListValue)) { $chk_val = "selected"; $pickcount++; $found = true; } else { $chk_val = ''; } $pickListValue = to_html($pickListValue); if (isset($_REQUEST['file']) && $_REQUEST['file'] == 'QuickCreate') { $options[] = array(htmlentities(getTranslatedString($pickListValue), ENT_QUOTES, $default_charset), $pickListValue, $chk_val); } else { $options[] = array(getTranslatedString($pickListValue), $pickListValue, $chk_val); } } $fieldvalue[] = $options; } elseif ($uitype == 15 || $uitype == 33) { require_once 'modules/PickList/PickListUtils.php'; $roleid = $current_user->roleid; $picklistValues = getAssignedPicklistValues($fieldname, $roleid, $adb); $valueArr = explode("|##|", $value); $pickcount = 0; if (!empty($picklistValues)) { foreach ($picklistValues as $order => $pickListValue) { if (in_array(trim($pickListValue), array_map("trim", $valueArr))) { $chk_val = "selected"; $pickcount++; } else { $chk_val = ''; } if (isset($_REQUEST['file']) && $_REQUEST['file'] == 'QuickCreate') { $options[] = array(htmlentities(getTranslatedString($pickListValue), ENT_QUOTES, $default_charset), $pickListValue, $chk_val); } else { $options[] = array(getTranslatedString($pickListValue), $pickListValue, $chk_val); } } if ($pickcount == 0 && !empty($value)) { $options[] = array($app_strings['LBL_NOT_ACCESSIBLE'], $value, 'selected'); } } $editview_label[] = getTranslatedString($fieldlabel, $module_name); $fieldvalue[] = $options; } elseif ($uitype == 17) { $editview_label[] = getTranslatedString($fieldlabel, $module_name); $fieldvalue[] = $value; } elseif ($uitype == 85) { $editview_label[] = getTranslatedString($fieldlabel, $module_name); $fieldvalue[] = $value; } elseif ($uitype == 19 || $uitype == 20) { if (isset($_REQUEST['body'])) { $value = $_REQUEST['body']; } if ($fieldname == 'terms_conditions') { //Assign the value from focus->column_fields (if we create Invoice from SO the SO's terms and conditions will be loaded to Invoice's terms and conditions, etc.,) $value = $col_fields['terms_conditions']; //if the value is empty then only we should get the default Terms and Conditions if ($value == '' && $mode != 'edit') { $value = getTermsandConditions(); } } $editview_label[] = getTranslatedString($fieldlabel, $module_name); $fieldvalue[] = $value; } elseif ($uitype == 21 || $uitype == 24) { $editview_label[] = getTranslatedString($fieldlabel, $module_name); $fieldvalue[] = $value; } elseif ($uitype == 22) { $editview_label[] = getTranslatedString($fieldlabel, $module_name); $fieldvalue[] = $value; } elseif ($uitype == 52 || $uitype == 77) { $editview_label[] = getTranslatedString($fieldlabel, $module_name); global $current_user; if ($value != '') { $assigned_user_id = $value; } else { $assigned_user_id = $current_user->id; } if ($uitype == 52) { $combo_lbl_name = 'assigned_user_id'; } elseif ($uitype == 77) { $combo_lbl_name = 'assigned_user_id1'; } //Control will come here only for Products - Handler and Quotes - Inventory Manager if ($is_admin == false && $profileGlobalPermission[2] == 1 && ($defaultOrgSharingPermission[getTabid($module_name)] == 3 or $defaultOrgSharingPermission[getTabid($module_name)] == 0)) { $users_combo = get_select_options_array(get_user_array(FALSE, "Active", $assigned_user_id, 'private'), $assigned_user_id); } else { $users_combo = get_select_options_array(get_user_array(FALSE, "Active", $assigned_user_id), $assigned_user_id); } $fieldvalue[] = $users_combo; } elseif ($uitype == 53) { global $noof_group_rows; $editview_label[] = getTranslatedString($fieldlabel, $module_name); //Security Checks if ($fieldlabel == 'Assigned To' && $is_admin == false && $profileGlobalPermission[2] == 1 && ($defaultOrgSharingPermission[getTabid($module_name)] == 3 or $defaultOrgSharingPermission[getTabid($module_name)] == 0)) { $result = get_current_user_access_groups($module_name); } else { $result = get_group_options(); } if ($result) { $nameArray = $adb->fetch_array($result); } if ($value != '' && $value != 0) { $assigned_user_id = $value; } else { if ($value == '0') { if (isset($col_fields['assigned_group_info']) && $col_fields['assigned_group_info'] != '') { $selected_groupname = $col_fields['assigned_group_info']; } else { $record = $col_fields["record_id"]; $module = $col_fields["record_module"]; $selected_groupname = getGroupName($record, $module); } } else { $assigned_user_id = $current_user->id; } } if ($fieldlabel == 'Assigned To' && $is_admin == false && $profileGlobalPermission[2] == 1 && ($defaultOrgSharingPermission[getTabid($module_name)] == 3 or $defaultOrgSharingPermission[getTabid($module_name)] == 0)) { $users_combo = get_select_options_array(get_user_array(FALSE, "Active", $assigned_user_id, 'private'), $assigned_user_id); } else { $users_combo = get_select_options_array(get_user_array(FALSE, "Active", $assigned_user_id), $assigned_user_id); } if ($noof_group_rows != 0) { if ($fieldlabel == 'Assigned To' && $is_admin == false && $profileGlobalPermission[2] == 1 && ($defaultOrgSharingPermission[getTabid($module_name)] == 3 or $defaultOrgSharingPermission[getTabid($module_name)] == 0)) { $groups_combo = get_select_options_array(get_group_array(FALSE, "Active", $assigned_user_id, 'private'), $assigned_user_id); } else { $groups_combo = get_select_options_array(get_group_array(FALSE, "Active", $assigned_user_id), $assigned_user_id); } } $fieldvalue[] = $users_combo; $fieldvalue[] = $groups_combo; } elseif ($uitype == 51 || $uitype == 50 || $uitype == 73) { if ($_REQUEST['convertmode'] != 'update_quote_val' && $_REQUEST['convertmode'] != 'update_so_val') { if (isset($_REQUEST['account_id']) && $_REQUEST['account_id'] != '') { $value = $_REQUEST['account_id']; } } if ($value != '') { $account_name = getAccountName($value); } $editview_label[] = getTranslatedString($fieldlabel, $module_name); $fieldvalue[] = $account_name; $fieldvalue[] = $value; } elseif ($uitype == 54) { $options = array(); $editview_label[] = getTranslatedString($fieldlabel, $module_name); $pick_query = "select * from vtiger_groups"; $pickListResult = $adb->pquery($pick_query, array()); $noofpickrows = $adb->num_rows($pickListResult); for ($j = 0; $j < $noofpickrows; $j++) { $pickListValue = $adb->query_result($pickListResult, $j, "name"); if ($value == $pickListValue) { $chk_val = "selected"; } else { $chk_val = ''; } $options[] = array($pickListValue => $chk_val); } $fieldvalue[] = $options; } elseif ($uitype == 55 || $uitype == 255) { require_once 'modules/PickList/PickListUtils.php'; if ($uitype == 255) { $fieldpermission = getFieldVisibilityPermission($module_name, $current_user->id, 'firstname'); } if ($uitype == 255 && $fieldpermission == '0') { $fieldvalue[] = ''; } else { $roleid = $current_user->roleid; $picklistValues = getAssignedPicklistValues('salutationtype', $roleid, $adb); $pickcount = 0; $salt_value = $col_fields["salutationtype"]; foreach ($picklistValues as $order => $pickListValue) { if ($salt_value == trim($pickListValue)) { $chk_val = "selected"; $pickcount++; } else { $chk_val = ''; } if (isset($_REQUEST['file']) && $_REQUEST['file'] == 'QuickCreate') { $options[] = array(htmlentities(getTranslatedString($pickListValue), ENT_QUOTES, $default_charset), $pickListValue, $chk_val); } else { $options[] = array(getTranslatedString($pickListValue), $pickListValue, $chk_val); } } if ($pickcount == 0 && $salt_value != '') { $options[] = array($app_strings['LBL_NOT_ACCESSIBLE'], $salt_value, 'selected'); } $fieldvalue[] = $options; } $editview_label[] = getTranslatedString($fieldlabel, $module_name); $fieldvalue[] = $value; } elseif ($uitype == 59) { if ($_REQUEST['module'] == 'HelpDesk') { if (isset($_REQUEST['product_id']) & $_REQUEST['product_id'] != '') { $value = $_REQUEST['product_id']; } } elseif (isset($_REQUEST['parent_id']) & $_REQUEST['parent_id'] != '') { $value = $_REQUEST['parent_id']; } if ($value != '') { $product_name = getProductName($value); } $editview_label[] = getTranslatedString($fieldlabel, $module_name); $fieldvalue[] = $product_name; $fieldvalue[] = $value; } elseif ($uitype == 63) { $editview_label[] = getTranslatedString($fieldlabel, $module_name); if ($value == '') { $value = 1; } $options = array(); $pick_query = "select * from vtiger_duration_minutes order by sortorderid"; $pickListResult = $adb->pquery($pick_query, array()); $noofpickrows = $adb->num_rows($pickListResult); $salt_value = $col_fields["duration_minutes"]; for ($j = 0; $j < $noofpickrows; $j++) { $pickListValue = $adb->query_result($pickListResult, $j, "duration_minutes"); if ($salt_value == $pickListValue) { $chk_val = "selected"; } else { $chk_val = ''; } $options[$pickListValue] = $chk_val; } $fieldvalue[] = $value; $fieldvalue[] = $options; } elseif ($uitype == 64) { $editview_label[] = getTranslatedString($fieldlabel, $module_name); $date_format = parse_calendardate($app_strings['NTC_DATE_FORMAT']); $fieldvalue[] = $value; } elseif ($uitype == 156) { $editview_label[] = getTranslatedString($fieldlabel, $module_name); $fieldvalue[] = $value; $fieldvalue[] = $is_admin; } elseif ($uitype == 56) { $editview_label[] = getTranslatedString($fieldlabel, $module_name); $fieldvalue[] = $value; } elseif ($uitype == 57) { if ($value != '') { $contact_name = getContactName($value); } elseif (isset($_REQUEST['contact_id']) && $_REQUEST['contact_id'] != '') { if ($_REQUEST['module'] == 'Contacts' && ($fieldname = 'contact_id')) { $contact_name = ''; } else { $value = $_REQUEST['contact_id']; $contact_name = getContactName($value); } } //Checking for contacts duplicate $editview_label[] = getTranslatedString($fieldlabel, $module_name); $fieldvalue[] = $contact_name; $fieldvalue[] = $value; } elseif ($uitype == 58) { if ($value != '') { $campaign_name = getCampaignName($value); } elseif (isset($_REQUEST['campaignid']) && $_REQUEST['campaignid'] != '') { if ($_REQUEST['module'] == 'Campaigns' && ($fieldname = 'campaignid')) { $campaign_name = ''; } else { $value = $_REQUEST['campaignid']; $campaign_name = getCampaignName($value); } } $editview_label[] = getTranslatedString($fieldlabel, $module_name); $fieldvalue[] = $campaign_name; $fieldvalue[] = $value; } elseif ($uitype == 61) { if ($value != '') { $assigned_user_id = $value; } else { $assigned_user_id = $current_user->id; } if ($module_name == 'Emails' && $col_fields['record_id'] != '') { $attach_result = $adb->pquery("select * from vtiger_seattachmentsrel where crmid = ?", array($col_fields['record_id'])); //to fix the issue in mail attachment on forwarding mails if (isset($_REQUEST['forward']) && $_REQUEST['forward'] != '') { global $att_id_list; } for ($ii = 0; $ii < $adb->num_rows($attach_result); $ii++) { $attachmentid = $adb->query_result($attach_result, $ii, 'attachmentsid'); if ($attachmentid != '') { $attachquery = "select * from vtiger_attachments where attachmentsid=?"; $attachmentsname = $adb->query_result($adb->pquery($attachquery, array($attachmentid)), 0, 'name'); if ($attachmentsname != '') { $fieldvalue[$attachmentid] = '[ ' . $attachmentsname . ' ]'; } if (isset($_REQUEST['forward']) && $_REQUEST['forward'] != '') { $att_id_list .= $attachmentid . ';'; } } } } else { if ($col_fields['record_id'] != '') { $attachmentid = $adb->query_result($adb->pquery("select * from vtiger_seattachmentsrel where crmid = ?", array($col_fields['record_id'])), 0, 'attachmentsid'); if ($col_fields[$fieldname] == '' && $attachmentid != '') { $attachquery = "select * from vtiger_attachments where attachmentsid=?"; $value = $adb->query_result($adb->pquery($attachquery, array($attachmentid)), 0, 'name'); } } if ($value != '') { $filename = ' [ ' . $value . ' ]'; } if ($filename != '') { $fieldvalue[] = $filename; } if ($value != '') { $fieldvalue[] = $value; } } $editview_label[] = getTranslatedString($fieldlabel, $module_name); } elseif ($uitype == 28) { if ($col_fields['record_id'] != '') { $attachmentid = $adb->query_result($adb->pquery("select * from vtiger_seattachmentsrel where crmid = ?", array($col_fields['record_id'])), 0, 'attachmentsid'); if ($col_fields[$fieldname] == '' && $attachmentid != '') { $attachquery = "select * from vtiger_attachments where attachmentsid=?"; $value = $adb->query_result($adb->pquery($attachquery, array($attachmentid)), 0, 'name'); } } if ($value != '' && $module_name != 'Documents') { $filename = ' [ ' . $value . ' ]'; } elseif ($value != '' && $module_name == 'Documents') { $filename = $value; } if ($filename != '') { $fieldvalue[] = $filename; } if ($value != '') { $fieldvalue[] = $value; } $editview_label[] = getTranslatedString($fieldlabel, $module_name); } elseif ($uitype == 69) { $editview_label[] = getTranslatedString($fieldlabel, $module_name); if ($col_fields['record_id'] != "") { //This query is for Products only if ($module_name == 'Products') { $query = 'select vtiger_attachments.path, vtiger_attachments.attachmentsid, vtiger_attachments.name ,vtiger_crmentity.setype from vtiger_products left join vtiger_seattachmentsrel on vtiger_seattachmentsrel.crmid=vtiger_products.productid inner join vtiger_attachments on vtiger_attachments.attachmentsid=vtiger_seattachmentsrel.attachmentsid inner join vtiger_crmentity on vtiger_crmentity.crmid=vtiger_attachments.attachmentsid where vtiger_crmentity.setype="Products Image" and productid=?'; } else { $query = "select vtiger_attachments.*,vtiger_crmentity.setype from vtiger_attachments inner join vtiger_seattachmentsrel on vtiger_seattachmentsrel.attachmentsid = vtiger_attachments.attachmentsid inner join vtiger_crmentity on vtiger_crmentity.crmid=vtiger_attachments.attachmentsid where vtiger_crmentity.setype='Contacts Image' and vtiger_seattachmentsrel.crmid=?"; } $result_image = $adb->pquery($query, array($col_fields['record_id'])); for ($image_iter = 0; $image_iter < $adb->num_rows($result_image); $image_iter++) { $image_id_array[] = $adb->query_result($result_image, $image_iter, 'attachmentsid'); //decode_html - added to handle UTF-8 characters in file names //urlencode - added to handle special characters like #, %, etc., $image_array[] = urlencode(decode_html($adb->query_result($result_image, $image_iter, 'name'))); $image_orgname_array[] = decode_html($adb->query_result($result_image, $image_iter, 'name')); $image_path_array[] = $adb->query_result($result_image, $image_iter, 'path'); } if (is_array($image_array)) { for ($img_itr = 0; $img_itr < count($image_array); $img_itr++) { $fieldvalue[] = array('name' => $image_array[$img_itr], 'path' => $image_path_array[$img_itr] . $image_id_array[$img_itr] . "_", "orgname" => $image_orgname_array[$img_itr]); } } else { $fieldvalue[] = ''; } } else { $fieldvalue[] = ''; } } elseif ($uitype == 62) { if (isset($_REQUEST['parent_id']) && $_REQUEST['parent_id'] != '') { $value = $_REQUEST['parent_id']; } if ($value != '') { $parent_module = getSalesEntityType($value); } if (isset($_REQUEST['account_id']) && $_REQUEST['account_id'] != '') { $parent_module = "Accounts"; $value = $_REQUEST['account_id']; } if ($parent_module != 'Contacts') { if ($parent_module == "Leads") { $parent_name = getLeadName($value); $lead_selected = "selected"; } elseif ($parent_module == "Accounts") { $sql = "select * from vtiger_account where accountid=?"; $result = $adb->pquery($sql, array($value)); $parent_name = $adb->query_result($result, 0, "accountname"); $account_selected = "selected"; } elseif ($parent_module == "Potentials") { $sql = "select * from vtiger_potential where potentialid=?"; $result = $adb->pquery($sql, array($value)); $parent_name = $adb->query_result($result, 0, "potentialname"); $potential_selected = "selected"; } elseif ($parent_module == "Products") { $sql = "select * from vtiger_products where productid=?"; $result = $adb->pquery($sql, array($value)); $parent_name = $adb->query_result($result, 0, "productname"); $product_selected = "selected"; } elseif ($parent_module == "PurchaseOrder") { $sql = "select * from vtiger_purchaseorder where purchaseorderid=?"; $result = $adb->pquery($sql, array($value)); $parent_name = $adb->query_result($result, 0, "subject"); $porder_selected = "selected"; } elseif ($parent_module == "SalesOrder") { $sql = "select * from vtiger_salesorder where salesorderid=?"; $result = $adb->pquery($sql, array($value)); $parent_name = $adb->query_result($result, 0, "subject"); $sorder_selected = "selected"; } elseif ($parent_module == "Invoice") { $sql = "select * from vtiger_invoice where invoiceid=?"; $result = $adb->pquery($sql, array($value)); $parent_name = $adb->query_result($result, 0, "subject"); $invoice_selected = "selected"; } elseif ($parent_module == "Quotes") { $sql = "select * from vtiger_quotes where quoteid=?"; $result = $adb->pquery($sql, array($value)); $parent_name = $adb->query_result($result, 0, "subject"); $quote_selected = "selected"; } elseif ($parent_module == "HelpDesk") { $sql = "select * from vtiger_troubletickets where ticketid=?"; $result = $adb->pquery($sql, array($value)); $parent_name = $adb->query_result($result, 0, "title"); $ticket_selected = "selected"; } } $editview_label[] = array($app_strings['COMBO_LEADS'], $app_strings['COMBO_ACCOUNTS'], $app_strings['COMBO_POTENTIALS'], $app_strings['COMBO_PRODUCTS'], $app_strings['COMBO_INVOICES'], $app_strings['COMBO_PORDER'], $app_strings['COMBO_SORDER'], $app_strings['COMBO_QUOTES'], $app_strings['COMBO_HELPDESK']); $editview_label[] = array($lead_selected, $account_selected, $potential_selected, $product_selected, $invoice_selected, $porder_selected, $sorder_selected, $quote_selected, $ticket_selected); $editview_label[] = array("Leads&action=Popup", "Accounts&action=Popup", "Potentials&action=Popup", "Products&action=Popup", "Invoice&action=Popup", "PurchaseOrder&action=Popup", "SalesOrder&action=Popup", "Quotes&action=Popup", "HelpDesk&action=Popup"); $fieldvalue[] = $parent_name; $fieldvalue[] = $value; } elseif ($uitype == 66) { if (isset($_REQUEST['parent_id']) && $_REQUEST['parent_id'] != '') { $value = $_REQUEST['parent_id']; } if ($value != '') { $parent_module = getSalesEntityType($value); } // Check for vtiger_activity type if task orders to be added in select option $act_mode = $_REQUEST['activity_mode']; if ($parent_module != "Contacts") { if ($parent_module == "Leads") { $parent_name = getLeadName($value); $lead_selected = "selected"; } elseif ($parent_module == "Accounts") { $sql = "select * from vtiger_account where accountid=?"; $result = $adb->pquery($sql, array($value)); $parent_name = $adb->query_result($result, 0, "accountname"); $account_selected = "selected"; } elseif ($parent_module == "Potentials") { $sql = "select * from vtiger_potential where potentialid=?"; $result = $adb->pquery($sql, array($value)); $parent_name = $adb->query_result($result, 0, "potentialname"); $potential_selected = "selected"; } elseif ($parent_module == "HelpDesk") { $sql = "select title from vtiger_troubletickets where ticketid=?"; $result = $adb->pquery($sql, array($value)); $parent_name = $adb->query_result($result, 0, "title"); $ticket_selected = "selected"; } elseif ($act_mode == "Task") { if ($parent_module == "PurchaseOrder") { $sql = "select * from vtiger_purchaseorder where purchaseorderid=?"; $result = $adb->pquery($sql, array($value)); $parent_name = $adb->query_result($result, 0, "subject"); $purchase_selected = "selected"; } if ($parent_module == "SalesOrder") { $sql = "select * from vtiger_salesorder where salesorderid=?"; $result = $adb->pquery($sql, array($value)); $parent_name = $adb->query_result($result, 0, "subject"); $sales_selected = "selected"; } if ($parent_module == "Invoice") { $sql = "select * from vtiger_invoice where invoiceid=?"; $result = $adb->pquery($sql, array($value)); $parent_name = $adb->query_result($result, 0, "subject"); $invoice_selected = "selected"; } if ($parent_module == "Campaigns") { $sql = "select campaignname from vtiger_campaign where campaignid=?"; $result = $adb->pquery($sql, array($value)); $parent_name = $adb->query_result($result, 0, "campaignname"); $campaign_selected = "selected"; } if ($parent_module == "Quotes") { $sql = "select * from vtiger_quotes where quoteid=?"; $result = $adb->pquery($sql, array($value)); $parent_name = $adb->query_result($result, 0, "subject"); $quote_selected = "selected"; } } $fieldvalue[] = $parent_name; $fieldvalue[] = $value; } $editview_label[0] = array($app_strings['COMBO_LEADS'], $app_strings['COMBO_ACCOUNTS'], $app_strings['COMBO_POTENTIALS']); $editview_label[1] = array($lead_selected, $account_selected, $potential_selected); $editview_label[2] = array("Leads&action=Popup", "Accounts&action=Popup", "Potentials&action=Popup"); if ($act_mode == "Task") { array_push($editview_label[0], $app_strings['COMBO_QUOTES'], $app_strings['COMBO_PORDER'], $app_strings['COMBO_SORDER'], $app_strings['COMBO_INVOICES'], $app_strings['COMBO_CAMPAIGNS'], $app_strings['COMBO_HELPDESK']); array_push($editview_label[1], $quote_selected, $purchase_selected, $sales_selected, $invoice_selected, $campaign_selected, $ticket_selected); array_push($editview_label[2], "Quotes&action=Popup", "PurchaseOrder&action=Popup", "SalesOrder&action=Popup", "Invoice&action=Popup", "Campaigns&action=Popup", "HelpDesk&action=Popup"); } elseif ($act_mode == "Events") { array_push($editview_label[0], $app_strings['COMBO_HELPDESK']); array_push($editview_label[1], $ticket_selected); array_push($editview_label[2], "HelpDesk&action=Popup"); } } elseif ($uitype == 357) { $pmodule = $_REQUEST['pmodule']; if (empty($pmodule)) { $pmodule = $_REQUEST['par_module']; } if ($pmodule == 'Contacts') { $contact_selected = 'selected'; } elseif ($pmodule == 'Accounts') { $account_selected = 'selected'; } elseif ($pmodule == 'Leads') { $lead_selected = 'selected'; } elseif ($pmodule == 'Vendors') { $vendor_selected = 'selected'; } elseif ($pmodule == 'Users') { $user_selected = 'selected'; } if (isset($_REQUEST['emailids']) && $_REQUEST['emailids'] != '') { $parent_id = $_REQUEST['emailids']; $parent_name = ''; $myids = explode("|", $parent_id); for ($i = 0; $i < count($myids) - 1; $i++) { $realid = explode("@", $myids[$i]); $entityid = $realid[0]; $nemail = count($realid); if ($pmodule == 'Accounts') { require_once 'modules/Accounts/Accounts.php'; $myfocus = new Accounts(); $myfocus->retrieve_entity_info($entityid, "Accounts"); $fullname = br2nl($myfocus->column_fields['accountname']); $account_selected = 'selected'; } elseif ($pmodule == 'Contacts') { require_once 'modules/Contacts/Contacts.php'; $myfocus = new Contacts(); $myfocus->retrieve_entity_info($entityid, "Contacts"); $fname = br2nl($myfocus->column_fields['firstname']); $lname = br2nl($myfocus->column_fields['lastname']); $fullname = $lname . ' ' . $fname; $contact_selected = 'selected'; } elseif ($pmodule == 'Leads') { require_once 'modules/Leads/Leads.php'; $myfocus = new Leads(); $myfocus->retrieve_entity_info($entityid, "Leads"); $fname = br2nl($myfocus->column_fields['firstname']); $lname = br2nl($myfocus->column_fields['lastname']); $fullname = $lname . ' ' . $fname; $lead_selected = 'selected'; } for ($j = 1; $j < $nemail; $j++) { $querystr = 'select columnname from vtiger_field where fieldid=? and vtiger_field.presence in (0,2)'; $result = $adb->pquery($querystr, array($realid[$j])); $temp = $adb->query_result($result, 0, 'columnname'); $temp1 = br2nl($myfocus->column_fields[$temp]); //Modified to display the entities in red which don't have email id if (!empty($temp_parent_name) && strlen($temp_parent_name) > 150) { $parent_name .= '<br>'; $temp_parent_name = ''; } if ($temp1 != '') { $parent_name .= $fullname . '<' . $temp1 . '>; '; $temp_parent_name .= $fullname . '<' . $temp1 . '>; '; } else { $parent_name .= "<b style='color:red'>" . $fullname . '<' . $temp1 . '>; ' . "</b>"; $temp_parent_name .= "<b style='color:red'>" . $fullname . '<' . $temp1 . '>; ' . "</b>"; } } } } else { if ($_REQUEST['record'] != '' && $_REQUEST['record'] != NULL) { $parent_name = ''; $parent_id = ''; $myemailid = $_REQUEST['record']; $mysql = "select crmid from vtiger_seactivityrel where activityid=?"; $myresult = $adb->pquery($mysql, array($myemailid)); $mycount = $adb->num_rows($myresult); if ($mycount > 0) { for ($i = 0; $i < $mycount; $i++) { $mycrmid = $adb->query_result($myresult, $i, 'crmid'); $parent_module = getSalesEntityType($mycrmid); if ($parent_module == "Leads") { $sql = "select firstname,lastname,email from vtiger_leaddetails where leadid=?"; $result = $adb->pquery($sql, array($mycrmid)); $full_name = getFullNameFromQResult($result, 0, "Leads"); $myemail = $adb->query_result($result, 0, "email"); $parent_id .= $mycrmid . '@0|'; //make it such that the email adress sent is remebered and only that one is retrived $parent_name .= $full_name . '<' . $myemail . '>; '; $lead_selected = 'selected'; } elseif ($parent_module == "Contacts") { $sql = "select * from vtiger_contactdetails where contactid=?"; $result = $adb->pquery($sql, array($mycrmid)); $full_name = getFullNameFromQResult($result, 0, "Contacts"); $myemail = $adb->query_result($result, 0, "email"); $parent_id .= $mycrmid . '@0|'; //make it such that the email adress sent is remebered and only that one is retrived $parent_name .= $full_name . '<' . $myemail . '>; '; $contact_selected = 'selected'; } elseif ($parent_module == "Accounts") { $sql = "select * from vtiger_account where accountid=?"; $result = $adb->pquery($sql, array($mycrmid)); $account_name = $adb->query_result($result, 0, "accountname"); $myemail = $adb->query_result($result, 0, "email1"); $parent_id .= $mycrmid . '@0|'; //make it such that the email adress sent is remebered and only that one is retrived $parent_name .= $account_name . '<' . $myemail . '>; '; $account_selected = 'selected'; } elseif ($parent_module == "Users") { $sql = "select user_name,email1 from vtiger_users where id=?"; $result = $adb->pquery($sql, array($mycrmid)); $account_name = $adb->query_result($result, 0, "user_name"); $myemail = $adb->query_result($result, 0, "email1"); $parent_id .= $mycrmid . '@0|'; //make it such that the email adress sent is remebered and only that one is retrived $parent_name .= $account_name . '<' . $myemail . '>; '; $user_selected = 'selected'; } elseif ($parent_module == "Vendors") { $sql = "select * from vtiger_vendor where vendorid=?"; $result = $adb->pquery($sql, array($mycrmid)); $vendor_name = $adb->query_result($result, 0, "vendorname"); $myemail = $adb->query_result($result, 0, "email"); $parent_id .= $mycrmid . '@0|'; //make it such that the email adress sent is remebered and only that one is retrived $parent_name .= $vendor_name . '<' . $myemail . '>; '; $vendor_selected = 'selected'; } } } } $custfld .= '<td width="20%" class="dataLabel">' . $app_strings['To'] . ' </td>'; $custfld .= '<td width="90%" colspan="3"><input name="parent_id" type="hidden" value="' . $parent_id . '"><textarea readonly name="parent_name" cols="70" rows="2">' . $parent_name . '</textarea> <select name="parent_type" >'; $custfld .= '<OPTION value="Contacts" selected>' . $app_strings['COMBO_CONTACTS'] . '</OPTION>'; $custfld .= '<OPTION value="Accounts" >' . $app_strings['COMBO_ACCOUNTS'] . '</OPTION>'; $custfld .= '<OPTION value="Leads" >' . $app_strings['COMBO_LEADS'] . '</OPTION>'; $custfld .= '<OPTION value="Vendors" >' . $app_strings['COMBO_VENDORS'] . '</OPTION></select><img src="' . vtiger_imageurl('select.gif', $theme) . '" alt="Select" title="Select" LANGUAGE=javascript onclick=\'$log->debug("Exiting getOutputHtml method ..."); return window.open("index.php?module="+ document.EditView.parent_type.value +"&action=Popup&popuptype=set_$log->debug("Exiting getOutputHtml method ..."); return_emails&form=EmailEditView&form_submit=false","test","width=600,height=400,resizable=1,scrollbars=1,top=150,left=200");\' align="absmiddle" style=\'cursor:hand;cursor:pointer\'> <input type="image" src="' . vtiger_imageurl('clear_field.gif', $theme) . '" alt="Clear" title="Clear" LANGUAGE=javascript onClick="this.form.parent_id.value=\'\';this.form.parent_name.value=\'\';$log->debug("Exiting getOutputHtml method ..."); return false;" align="absmiddle" style=\'cursor:hand;cursor:pointer\'></td>'; $editview_label[] = array('Contacts' => $contact_selected, 'Accounts' => $account_selected, 'Vendors' => $vendor_selected, 'Leads' => $lead_selected, 'Users' => $user_selected); $fieldvalue[] = $parent_name; $fieldvalue[] = $parent_id; } } elseif ($uitype == 68) { if (isset($_REQUEST['parent_id']) && $_REQUEST['parent_id'] != '') { $value = $_REQUEST['parent_id']; } if ($value != '') { $parent_module = getSalesEntityType($value); if ($parent_module == "Contacts") { $parent_name = getContactName($value); $contact_selected = "selected"; } elseif ($parent_module == "Accounts") { $sql = "select * from vtiger_account where accountid=?"; $result = $adb->pquery($sql, array($value)); $parent_name = $adb->query_result($result, 0, "accountname"); $account_selected = "selected"; } else { $parent_name = ""; $value = ""; } } $editview_label[] = array($app_strings['COMBO_CONTACTS'], $app_strings['COMBO_ACCOUNTS']); $editview_label[] = array($contact_selected, $account_selected); $editview_label[] = array("Contacts", "Accounts"); $fieldvalue[] = $parent_name; $fieldvalue[] = $value; } elseif ($uitype == 71 || $uitype == 72) { if ($col_fields['record_id'] != '' && $fieldname == 'unit_price') { $rate_symbol = getCurrencySymbolandCRate(getProductBaseCurrency($col_fields['record_id'], $module_name)); $fieldvalue[] = $value; } else { $currency_id = fetchCurrency($current_user->id); $rate_symbol = getCurrencySymbolandCRate($currency_id); $rate = $rate_symbol['rate']; $fieldvalue[] = convertFromDollar($value, $rate); } $currency = $rate_symbol['symbol']; $editview_label[] = getTranslatedString($fieldlabel, $module_name) . ': (' . $currency . ')'; } elseif ($uitype == 75 || $uitype == 81) { if ($value != '') { $vendor_name = getVendorName($value); } elseif (isset($_REQUEST['vendor_id']) && $_REQUEST['vendor_id'] != '') { $value = $_REQUEST['vendor_id']; $vendor_name = getVendorName($value); } $pop_type = 'specific'; if ($uitype == 81) { $pop_type = 'specific_vendor_address'; } $editview_label[] = getTranslatedString($fieldlabel, $module_name); $fieldvalue[] = $vendor_name; $fieldvalue[] = $value; } elseif ($uitype == 76) { if ($value != '') { $potential_name = getPotentialName($value); } elseif (isset($_REQUEST['potential_id']) && $_REQUEST['potential_id'] != '') { $value = $_REQUEST['potental_id']; $potential_name = getPotentialName($value); } $editview_label[] = getTranslatedString($fieldlabel, $module_name); $fieldvalue[] = $potential_name; $fieldvalue[] = $value; } elseif ($uitype == 78) { if ($value != '') { $quote_name = getQuoteName($value); } elseif (isset($_REQUEST['quote_id']) && $_REQUEST['quote_id'] != '') { $value = $_REQUEST['quote_id']; $potential_name = getQuoteName($value); } $editview_label[] = getTranslatedString($fieldlabel, $module_name); $fieldvalue[] = $quote_name; $fieldvalue[] = $value; } elseif ($uitype == 79) { if ($value != '') { $purchaseorder_name = getPoName($value); } elseif (isset($_REQUEST['purchaseorder_id']) && $_REQUEST['purchaseorder_id'] != '') { $value = $_REQUEST['purchaseorder_id']; $purchaseorder_name = getPoName($value); } $editview_label[] = getTranslatedString($fieldlabel, $module_name); $fieldvalue[] = $purchaseorder_name; $fieldvalue[] = $value; } elseif ($uitype == 80) { if ($value != '') { $salesorder_name = getSoName($value); } elseif (isset($_REQUEST['salesorder_id']) && $_REQUEST['salesorder_id'] != '') { $value = $_REQUEST['salesorder_id']; $salesorder_name = getSoName($value); } $editview_label[] = getTranslatedString($fieldlabel, $module_name); $fieldvalue[] = $salesorder_name; $fieldvalue[] = $value; } elseif ($uitype == 30) { $rem_days = 0; $rem_hrs = 0; $rem_min = 0; if ($value != '') { $SET_REM = "CHECKED"; } $rem_days = floor($col_fields[$fieldname] / (24 * 60)); $rem_hrs = floor(($col_fields[$fieldname] - $rem_days * 24 * 60) / 60); $rem_min = ($col_fields[$fieldname] - $rem_days * 24 * 60) % 60; $editview_label[] = getTranslatedString($fieldlabel, $module_name); $day_options = getReminderSelectOption(0, 31, 'remdays', $rem_days); $hr_options = getReminderSelectOption(0, 23, 'remhrs', $rem_hrs); $min_options = getReminderSelectOption(1, 59, 'remmin', $rem_min); $fieldvalue[] = array(array(0, 32, 'remdays', getTranslatedString('LBL_DAYS'), $rem_days), array(0, 24, 'remhrs', getTranslatedString('LBL_HOURS'), $rem_hrs), array(1, 60, 'remmin', getTranslatedString('LBL_MINUTES') . ' ' . getTranslatedString('LBL_BEFORE_EVENT'), $rem_min)); $fieldvalue[] = array($SET_REM, getTranslatedString('LBL_YES'), getTranslatedString('LBL_NO')); $SET_REM = ''; } elseif ($uitype == 115) { $editview_label[] = getTranslatedString($fieldlabel, $module_name); $pick_query = "select * from vtiger_" . $adb->sql_escape_string($fieldname); $pickListResult = $adb->pquery($pick_query, array()); $noofpickrows = $adb->num_rows($pickListResult); //Mikecrowe fix to correctly default for custom pick lists $options = array(); $found = false; for ($j = 0; $j < $noofpickrows; $j++) { $pickListValue = $adb->query_result($pickListResult, $j, strtolower($fieldname)); if ($value == $pickListValue) { $chk_val = "selected"; $found = true; } else { $chk_val = ''; } $options[] = array(getTranslatedString($pickListValue), $pickListValue, $chk_val); } $fieldvalue[] = $options; $fieldvalue[] = $is_admin; } elseif ($uitype == 116 || $uitype == 117) { $editview_label[] = getTranslatedString($fieldlabel, $module_name); $pick_query = "select * from vtiger_currency_info where currency_status = 'Active' and deleted=0"; $pickListResult = $adb->pquery($pick_query, array()); $noofpickrows = $adb->num_rows($pickListResult); //Mikecrowe fix to correctly default for custom pick lists $options = array(); $found = false; for ($j = 0; $j < $noofpickrows; $j++) { $pickListValue = $adb->query_result($pickListResult, $j, 'currency_name'); $currency_id = $adb->query_result($pickListResult, $j, 'id'); if ($value == $currency_id) { $chk_val = "selected"; $found = true; } else { $chk_val = ''; } $options[$currency_id] = array($pickListValue => $chk_val); } $fieldvalue[] = $options; $fieldvalue[] = $is_admin; } elseif ($uitype == 98) { $editview_label[] = getTranslatedString($fieldlabel, $module_name); $fieldvalue[] = $value; $fieldvalue[] = getRoleName($value); $fieldvalue[] = $is_admin; } elseif ($uitype == 105) { $editview_label[] = getTranslatedString($fieldlabel, $module_name); if (isset($col_fields['record_id']) && $col_fields['record_id'] != '') { $query = "select vtiger_attachments.path, vtiger_attachments.name from vtiger_contactdetails left join vtiger_seattachmentsrel on vtiger_seattachmentsrel.crmid=vtiger_contactdetails.contactid inner join vtiger_attachments on vtiger_attachments.attachmentsid=vtiger_seattachmentsrel.attachmentsid where vtiger_contactdetails.imagename=vtiger_attachments.name and contactid=?"; $result_image = $adb->pquery($query, array($col_fields['record_id'])); for ($image_iter = 0; $image_iter < $adb->num_rows($result_image); $image_iter++) { $image_array[] = $adb->query_result($result_image, $image_iter, 'name'); $image_path_array[] = $adb->query_result($result_image, $image_iter, 'path'); } } if (is_array($image_array)) { for ($img_itr = 0; $img_itr < count($image_array); $img_itr++) { $fieldvalue[] = array('name' => $image_array[$img_itr], 'path' => $image_path_array[$img_itr]); } } else { $fieldvalue[] = ''; } } elseif ($uitype == 101) { $editview_label[] = getTranslatedString($fieldlabel, $module_name); $fieldvalue[] = getUserName($value); $fieldvalue[] = $value; } elseif ($uitype == 26) { $editview_label[] = getTranslatedString($fieldlabel, $module_name); $folderid = $col_fields['folderid']; $foldername_query = 'select foldername from vtiger_attachmentsfolder where folderid = ?'; $res = $adb->pquery($foldername_query, array($folderid)); $foldername = $adb->query_result($res, 0, 'foldername'); if ($foldername != '' && $folderid != '') { $fldr_name[$folderid] = $foldername; } $sql = "select foldername,folderid from vtiger_attachmentsfolder order by foldername"; $res = $adb->pquery($sql, array()); for ($i = 0; $i < $adb->num_rows($res); $i++) { $fid = $adb->query_result($res, $i, "folderid"); $fldr_name[$fid] = $adb->query_result($res, $i, "foldername"); } $fieldvalue[] = $fldr_name; } elseif ($uitype == 27) { if ($value == 'I') { $internal_selected = "selected"; $filename = $col_fields['filename']; } else { $external_selected = "selected"; $filename = $col_fields['filename']; } $editview_label[] = array(getTranslatedString('Internal'), getTranslatedString('External')); $editview_label[] = array($internal_selected, $external_selected); $editview_label[] = array("I", "E"); $editview_label[] = getTranslatedString($fieldlabel, $module_name); $fieldvalue[] = $value; $fieldvalue[] = $filename; } else { //Added condition to set the subject if click Reply All from web mail if ($_REQUEST['module'] == 'Emails' && $_REQUEST['mg_subject'] != '') { $value = $_REQUEST['mg_subject']; } $editview_label[] = getTranslatedString($fieldlabel, $module_name); if ($uitype == 1 && ($fieldname == 'expectedrevenue' || $fieldname == 'budgetcost' || $fieldname == 'actualcost' || $fieldname == 'expectedroi' || $fieldname == 'actualroi') && $module_name == 'Campaigns') { $rate_symbol = getCurrencySymbolandCRate($user_info['currency_id']); $fieldvalue[] = convertFromDollar($value, $rate_symbol['rate']); } elseif ($fieldname == 'fileversion') { if (empty($value)) { $value = ''; } else { $fieldvalue[] = $value; } } else { $fieldvalue[] = $value; } } } // Mike Crowe Mod --------------------------------------------------------force numerics right justified. if (!preg_match("/id=/i", $custfld)) { $custfld = preg_replace("/<input/iS", "<input id='{$fieldname}' ", $custfld); } if (in_array($uitype, array(71, 72, 7, 9, 90))) { $custfld = preg_replace("/<input/iS", "<input align=right ", $custfld); } $final_arr[] = $ui_type; $final_arr[] = $editview_label; $final_arr[] = $editview_fldname; $final_arr[] = $fieldvalue; $type_of_data = explode('~', $typeofdata); $final_arr[] = $type_of_data[1]; $log->debug("Exiting getOutputHtml method ..."); return $final_arr; }
/** This function returns the detail view form ec_field and and its properties in array format. * Param $uitype - UI type of the ec_field * Param $fieldname - Form ec_field name * Param $fieldlabel - Form ec_field label name * Param $col_fields - array contains the ec_fieldname and values * Param $generatedtype - Field generated type (default is 1) * Param $tabid - ec_tab id to which the Field belongs to (default is "") * Return type is an array */ function getDetailViewOutputHtml($uitype, $fieldname, $fieldlabel, $col_fields, $generatedtype, $tabid = '') { global $log; $log->debug("Entering getDetailViewOutputHtml() method ..."); global $adb; global $mod_strings; global $app_strings; global $current_user; //$fieldlabel = from_html($fieldlabel); $custfld = ''; $value = ''; $arr_data = array(); $label_fld = array(); $data_fld = array(); if ($generatedtype == 2) { $mod_strings[$fieldlabel] = $fieldlabel; } if (!isset($mod_strings[$fieldlabel])) { $mod_strings[$fieldlabel] = $fieldlabel; } if ($col_fields[$fieldname] == '--None--') { $col_fields[$fieldname] = ''; } if ($uitype == 116) { $label_fld[] = $mod_strings[$fieldlabel]; $label_fld[] = $col_fields[$fieldname]; } elseif ($uitype == 13) { $label_fld[] = $mod_strings[$fieldlabel]; $temp_val = $col_fields[$fieldname]; $label_fld[] = $temp_val; $linkvalue = getComposeMailUrl($temp_val); $label_fld["link"] = $linkvalue; } elseif ($uitype == 5 || $uitype == 23 || $uitype == 70) { $label_fld[] = $mod_strings[$fieldlabel]; $cur_date_val = $col_fields[$fieldname]; if (!isValidDate($cur_date_val)) { $display_val = ''; } else { $display_val = getDisplayDate($cur_date_val); } $label_fld[] = $display_val; } elseif ($uitype == 15 || $uitype == 16 || $uitype == 115 || $uitype == 111) { $label_fld[] = $mod_strings[$fieldlabel]; $label_fld[] = $col_fields[$fieldname]; } elseif ($uitype == 10) { if (isset($app_strings[$fieldlabel])) { $label_fld[] = $app_strings[$fieldlabel]; } elseif (isset($mod_strings[$fieldlabel])) { $label_fld[] = $mod_strings[$fieldlabel]; } else { $label_fld[] = $fieldlabel; } $value = $col_fields[$fieldname]; $module_entityname = ""; if ($value != '') { $query = "SELECT ec_entityname.* FROM ec_crmentityrel inner join ec_entityname on ec_entityname.modulename=ec_crmentityrel.relmodule inner join ec_tab on ec_tab.name=ec_crmentityrel.module WHERE ec_tab.tabid='" . $tabid . "' and ec_entityname.entityidfield='" . $fieldname . "'"; $fldmod_result = $adb->query($query); $rownum = $adb->num_rows($fldmod_result); if ($rownum > 0) { $rel_modulename = $adb->query_result($fldmod_result, 0, 'modulename'); $rel_tablename = $adb->query_result($fldmod_result, 0, 'tablename'); $rel_entityname = $adb->query_result($fldmod_result, 0, 'fieldname'); $rel_entityid = $adb->query_result($fldmod_result, 0, 'entityidfield'); $module_entityname = getEntityNameForTen($rel_tablename, $rel_entityname, $fieldname, $value); } } $label_fld[] = $module_entityname; $label_fld["secid"] = $value; $label_fld["link"] = "index.php?module=" . $rel_modulename . "&action=DetailView&record=" . $value; } elseif ($uitype == 33) { $label_fld[] = $mod_strings[$fieldlabel]; $label_fld[] = str_ireplace(' |##| ', ', ', $col_fields[$fieldname]); } elseif ($uitype == 17) { $label_fld[] = $mod_strings[$fieldlabel]; $label_fld[] = $col_fields[$fieldname]; //$label_fld[] = '<a href="http://'.$col_fields[$fieldname].'" target="_blank">'.$col_fields[$fieldname].'</a>'; } elseif ($uitype == 19) { //$tmp_value = str_replace("<","<",nl2br($col_fields[$fieldname])); //$tmp_value = str_replace(">",">",$tmp_value); //$col_fields[$fieldname]= make_clickable($tmp_value); $label_fld[] = $mod_strings[$fieldlabel]; $label_fld[] = $col_fields[$fieldname]; } elseif ($uitype == 20 || $uitype == 21 || $uitype == 22 || $uitype == 24) { //$col_fields[$fieldname]=nl2br($col_fields[$fieldname]); $label_fld[] = $mod_strings[$fieldlabel]; $label_fld[] = $col_fields[$fieldname]; } elseif ($uitype == 51 || $uitype == 50 || $uitype == 73) { $account_id = $col_fields[$fieldname]; $account_name = ""; if ($account_id != '') { $account_name = getAccountName($account_id); } //Account Name View $label_fld[] = $mod_strings[$fieldlabel]; $label_fld[] = $account_name; $label_fld["secid"] = $account_id; $label_fld["link"] = "index.php?module=Accounts&action=DetailView&record=" . $account_id; } elseif ($uitype == 52 || $uitype == 77 || $uitype == 101) { $label_fld[] = $mod_strings[$fieldlabel]; $user_id = $col_fields[$fieldname]; $user_name = getUserName($user_id); $label_fld[] = $user_name; } elseif ($uitype == 53) { $user_id = $col_fields[$fieldname]; $user_name = getUserName($user_id); $label_fld[] = $mod_strings[$fieldlabel]; $label_fld[] = $user_name; } elseif ($uitype == 1004) { if (isset($mod_strings[$fieldlabel])) { $label_fld[] = $mod_strings[$fieldlabel]; } else { $label_fld[] = $fieldlabel; } $value = $col_fields[$fieldname]; $label_fld[] = getUserName($value); } elseif ($uitype == 56) { $label_fld[] = $mod_strings[$fieldlabel]; $value = $col_fields[$fieldname]; if ($value == 1) { //Since "yes" is not been translated it is given as app strings here.. $display_val = $app_strings['yes']; } else { $display_val = ''; } $label_fld[] = $display_val; } elseif ($uitype == 57) { $label_fld[] = $mod_strings[$fieldlabel]; $contact_id = $col_fields[$fieldname]; $contact_name = ""; if (trim($contact_id) != '') { $contact_name = getContactName($contact_id); } $label_fld[] = $contact_name; $label_fld["secid"] = $contact_id; $label_fld["link"] = "index.php?module=Contacts&action=DetailView&record=" . $contact_id; } elseif ($uitype == 59) { $label_fld[] = $mod_strings[$fieldlabel]; $product_id = $col_fields[$fieldname]; if ($product_id != '') { $product_name = getProductName($product_id); } //Account Name View $label_fld[] = $product_name; $label_fld["secid"] = $product_id; $label_fld["link"] = "index.php?module=Products&action=DetailView&record=" . $product_id; } elseif ($uitype == 71 || $uitype == 72) { $label_fld[] = $mod_strings[$fieldlabel]; $display_val = $col_fields[$fieldname]; $label_fld[] = $display_val; } elseif ($uitype == 76) { $label_fld[] = $mod_strings[$fieldlabel]; $potential_id = $col_fields[$fieldname]; if ($potential_id != '') { $potential_name = getPotentialName($potential_id); } $label_fld[] = $potential_name; $label_fld["secid"] = $potential_id; $label_fld["link"] = "index.php?module=Potentials&action=DetailView&record=" . $potential_id; } elseif ($uitype == 80) { $label_fld[] = $mod_strings[$fieldlabel]; $salesorder_id = $col_fields[$fieldname]; if ($salesorder_id != '') { $salesorder_name = getSoName($salesorder_id); } $label_fld[] = $salesorder_name; $label_fld["secid"] = $salesorder_id; $label_fld["link"] = "index.php?module=SalesOrder&action=DetailView&record=" . $salesorder_id; } elseif ($uitype == 85) { $label_fld[] = $mod_strings[$fieldlabel]; $label_fld[] = $col_fields[$fieldname]; } elseif ($uitype == 86) { $label_fld[] = $mod_strings[$fieldlabel]; $label_fld[] = $col_fields[$fieldname]; } elseif ($uitype == 87) { $label_fld[] = $mod_strings[$fieldlabel]; $label_fld[] = $col_fields[$fieldname]; } elseif ($uitype == 88) { $label_fld[] = $mod_strings[$fieldlabel]; $label_fld[] = $col_fields[$fieldname]; } elseif ($uitype == 89) { $label_fld[] = $mod_strings[$fieldlabel]; $label_fld[] = $col_fields[$fieldname]; } else { $label_fld[] = $mod_strings[$fieldlabel]; if ($col_fields[$fieldname] == '0') { $col_fields[$fieldname] = ''; } $label_fld[] = $col_fields[$fieldname]; } $label_fld[] = $uitype; $log->debug("Exiting getDetailViewOutputHtml method ..."); return $label_fld; }
/** This function returns the detail view form vtiger_field and and its properties in array format. * Param $uitype - UI type of the vtiger_field * Param $fieldname - Form vtiger_field name * Param $fieldlabel - Form vtiger_field label name * Param $col_fields - array contains the vtiger_fieldname and values * Param $generatedtype - Field generated type (default is 1) * Param $tabid - vtiger_tab id to which the Field belongs to (default is "") * Return type is an array */ function getDetailViewOutputHtml($uitype, $fieldname, $fieldlabel, $col_fields, $generatedtype, $tabid = '', $module = '') { global $log; $log->debug("Entering getDetailViewOutputHtml(" . $uitype . "," . $fieldname . "," . $fieldlabel . "," . $col_fields . "," . $generatedtype . "," . $tabid . ") method ..."); global $adb; global $mod_strings; global $app_strings; global $current_user; global $theme; $theme_path = "themes/" . $theme . "/"; $image_path = $theme_path . "images/"; $fieldlabel = from_html($fieldlabel); $custfld = ''; $value = ''; $arr_data = array(); $label_fld = array(); $data_fld = array(); require 'user_privileges/user_privileges_' . $current_user->id . '.php'; require 'user_privileges/sharing_privileges_' . $current_user->id . '.php'; // vtlib customization: New uitype to handle relation between modules if ($uitype == '10') { $fieldlabel = getTranslatedString($fieldlabel, $module); $parent_id = $col_fields[$fieldname]; if (!empty($parent_id)) { $parent_module = getSalesEntityType($parent_id); $valueTitle = $parent_module; if ($app_strings[$valueTitle]) { $valueTitle = $app_strings[$valueTitle]; } $displayValueArray = getEntityName($parent_module, $parent_id); if (!empty($displayValueArray)) { foreach ($displayValueArray as $key => $value) { $displayValue = $value; } } $label_fld = array($fieldlabel, "<a href='index.php?module={$parent_module}&action=DetailView&record={$parent_id}' title='{$valueTitle}'>{$displayValue}</a>"); } else { $moduleSpecificMessage = 'MODULE_NOT_SELECTED'; if ($mod_strings[$moduleSpecificMessage] != "") { $moduleSpecificMessage = $mod_strings[$moduleSpecificMessage]; } $label_fld = array($fieldlabel, ''); } } else { if ($uitype == 99) { $label_fld[] = getTranslatedString($fieldlabel, $module); $label_fld[] = $col_fields[$fieldname]; if ($fieldname == 'confirm_password') { return null; } } elseif ($uitype == 116 || $uitype == 117) { $label_fld[] = getTranslatedString($fieldlabel, $module); $label_fld[] = getCurrencyName($col_fields[$fieldname]); $pick_query = "select * from vtiger_currency_info where currency_status = 'Active' and deleted=0"; $pickListResult = $adb->pquery($pick_query, array()); $noofpickrows = $adb->num_rows($pickListResult); //Mikecrowe fix to correctly default for custom pick lists $options = array(); $found = false; for ($j = 0; $j < $noofpickrows; $j++) { $pickListValue = $adb->query_result($pickListResult, $j, 'currency_name'); $currency_id = $adb->query_result($pickListResult, $j, 'id'); if ($col_fields[$fieldname] == $currency_id) { $chk_val = "selected"; $found = true; } else { $chk_val = ''; } $options[$currency_id] = array($pickListValue => $chk_val); } $label_fld["options"] = $options; } elseif ($uitype == 13 || $uitype == 104) { $label_fld[] = getTranslatedString($fieldlabel, $module); $label_fld[] = $col_fields[$fieldname]; } elseif ($uitype == 16) { $label_fld[] = getTranslatedString($fieldlabel, $module); $label_fld[] = $col_fields[$fieldname]; $fieldname = $adb->sql_escape_string($fieldname); $pick_query = "select {$fieldname} from vtiger_{$fieldname} order by sortorderid"; $params = array(); $pickListResult = $adb->pquery($pick_query, $params); $noofpickrows = $adb->num_rows($pickListResult); $options = array(); $count = 0; $found = false; for ($j = 0; $j < $noofpickrows; $j++) { $pickListValue = decode_html($adb->query_result($pickListResult, $j, strtolower($fieldname))); $col_fields[$fieldname] = decode_html($col_fields[$fieldname]); if ($col_fields[$fieldname] == $pickListValue) { $chk_val = "selected"; $count++; $found = true; } else { $chk_val = ''; } $pickListValue = to_html($pickListValue); $options[] = array(getTranslatedString($pickListValue), $pickListValue, $chk_val); } $label_fld["options"] = $options; } elseif ($uitype == 15) { $label_fld[] = getTranslatedString($fieldlabel, $module); $label_fld[] = $col_fields[$fieldname]; $roleid = $current_user->roleid; $subrole = getRoleSubordinates($roleid); if (count($subrole) > 0) { $roleids = $subrole; array_push($roleids, $roleid); } else { $roleids = $roleid; } if ($is_admin == true || $profileGlobalPermission[1] == 0 || $profileGlobalPermission[2] == 0) { $pick_query = "select {$fieldname} from vtiger_{$fieldname}"; $params = array(); } else { if (count($roleids) > 0) { $pick_query = "select distinct {$fieldname} from vtiger_{$fieldname} inner join vtiger_role2picklist on vtiger_role2picklist.picklistvalueid = vtiger_{$fieldname}.picklist_valueid where roleid in (" . generateQuestionMarks($roleids) . ") and picklistid in (select picklistid from vtiger_picklist) order by {$fieldname} asc"; $params = array($roleids); } else { $pick_query = "select distinct {$fieldname} from vtiger_{$fieldname} inner join vtiger_role2picklist on vtiger_role2picklist.picklistvalueid = vtiger_{$fieldname}.picklist_valueid where picklistid in (select picklistid from vtiger_picklist) order by {$fieldname} asc"; $params = array(); } } $pickListResult = $adb->pquery($pick_query, $params); $noofpickrows = $adb->num_rows($pickListResult); //Mikecrowe fix to correctly default for custom pick lists $options = array(); $count = 0; $found = false; for ($j = 0; $j < $noofpickrows; $j++) { $pickListValue = decode_html($adb->query_result($pickListResult, $j, strtolower($fieldname))); $col_fields[$fieldname] = decode_html($col_fields[$fieldname]); if ($col_fields[$fieldname] == $pickListValue) { $chk_val = "selected"; $count++; $found = true; } else { $chk_val = ''; } $pickListValue = to_html($pickListValue); $options[] = array(getTranslatedString($pickListValue), $pickListValue, $chk_val); } if ($count == 0 && $col_fields[$fieldname] != '') { $options[] = array($app_strings['LBL_NOT_ACCESSIBLE'], $col_fields[$fieldname], 'selected'); } $label_fld["options"] = $options; } elseif ($uitype == 115) { $label_fld[] = getTranslatedString($fieldlabel, $module); $label_fld[] = getTranslatedString($col_fields[$fieldname]); $pick_query = "select * from vtiger_" . $adb->sql_escape_string($fieldname); $pickListResult = $adb->pquery($pick_query, array()); $noofpickrows = $adb->num_rows($pickListResult); $options = array(); $found = false; for ($j = 0; $j < $noofpickrows; $j++) { $pickListValue = $adb->query_result($pickListResult, $j, strtolower($fieldname)); if ($col_fields[$fieldname] == $pickListValue) { $chk_val = "selected"; $found = true; } else { $chk_val = ''; } $options[] = array($pickListValue => $chk_val); } $label_fld["options"] = $options; } elseif ($uitype == 33) { $roleid = $current_user->roleid; $subrole = getRoleSubordinates($roleid); if (count($subrole) > 0) { $roleids = $subrole; array_push($roleids, $roleid); } else { $roleids = $roleid; } $editview_label[] = getTranslatedString($fieldlabel, $module); if ($is_admin == true || $profileGlobalPermission[1] == 0 || $profileGlobalPermission[2] == 0) { $pick_query = "select {$fieldname} from vtiger_{$fieldname} order by {$fieldname} asc"; $params = array(); } else { if (count($roleids) > 0) { $pick_query = "select distinct {$fieldname} from vtiger_{$fieldname} inner join vtiger_role2picklist on vtiger_role2picklist.picklistvalueid = vtiger_{$fieldname}.picklist_valueid where roleid in (" . generateQuestionMarks($roleids) . ") and picklistid in (select picklistid from vtiger_picklist) order by {$fieldname} asc"; $params = array($roleids); } else { $pick_query = "select distinct {$fieldname} from vtiger_{$fieldname} inner join vtiger_role2picklist on vtiger_role2picklist.picklistvalueid = vtiger_{$fieldname}.picklist_valueid where picklistid in (select picklistid from vtiger_picklist) order by {$fieldname} asc"; $params = array(); } } $label_fld[] = getTranslatedString($fieldlabel, $module); $label_fld[] = str_ireplace(' |##| ', ', ', $col_fields[$fieldname]); $pickListResult = $adb->pquery($pick_query, $params); $noofpickrows = $adb->num_rows($pickListResult); $options = array(); $selected_entries = array(); $selected_entries = explode(' |##| ', $col_fields[$fieldname]); for ($j = 0; $j < $noofpickrows; $j++) { $pickListValue = $adb->query_result($pickListResult, $j, strtolower($fieldname)); $chk_val = ''; foreach ($selected_entries as $selected_entries_value) { if (trim($selected_entries_value) == trim($pickListValue)) { $chk_val = 'selected'; break; } else { $chk_val = ''; } } $options[] = array($pickListValue, $pickListValue, $chk_val); } foreach ($selected_entries as $selected_entries_value) { $mul_count = 0; $options_length = count($options); for ($j = 0; $j < $options_length; $j++) { if (in_array($selected_entries_value, $options[$j])) { $mul_count++; } } if ($mul_count == 0 && $options_length > 0) { $not_access_lbl = "<font color='red'>" . $app_strings['LBL_NOT_ACCESSIBLE'] . "</font>"; $options[] = array($not_access_lbl, trim($selected_entries_value), 'selected'); } $mul_count = 0; } $label_fld["options"] = $options; } elseif ($uitype == 17) { $label_fld[] = getTranslatedString($fieldlabel, $module); $label_fld[] = $col_fields[$fieldname]; } elseif ($uitype == 19) { if ($fieldname == 'notecontent') { $col_fields[$fieldname] = decode_html($col_fields[$fieldname]); } else { $col_fields[$fieldname] = str_replace("<br />", "<br>", $col_fields[$fieldname]); } $label_fld[] = getTranslatedString($fieldlabel, $module); $label_fld[] = $col_fields[$fieldname]; } elseif ($uitype == 20 || $uitype == 21 || $uitype == 22 || $uitype == 24) { if ($uitype == 20) { //Fix the issue #4680 $col_fields[$fieldname] = $col_fields[$fieldname]; } else { $col_fields[$fieldname] = nl2br($col_fields[$fieldname]); } $label_fld[] = getTranslatedString($fieldlabel, $module); $label_fld[] = $col_fields[$fieldname]; } elseif ($uitype == 51 || $uitype == 50 || $uitype == 73) { $account_id = $col_fields[$fieldname]; if ($account_id != '') { $account_name = getAccountName($account_id); } $label_fld[] = getTranslatedString($fieldlabel, $module); $label_fld[] = $account_name; $label_fld["secid"] = $account_id; $label_fld["link"] = "index.php?module=Accounts&action=DetailView&record=" . $account_id; //Account Name View } elseif ($uitype == 52 || $uitype == 77 || $uitype == 101) { $label_fld[] = getTranslatedString($fieldlabel, $module); $user_id = $col_fields[$fieldname]; $user_name = getUserName($user_id); $assigned_user_id = $current_user->id; if (is_admin($current_user)) { $label_fld[] = '<a href="index.php?module=Users&action=DetailView&record=' . $user_id . '">' . $user_name . '</a>'; } else { $label_fld[] = $user_name; } if ($is_admin == false && $profileGlobalPermission[2] == 1 && ($defaultOrgSharingPermission[getTabid($module)] == 3 or $defaultOrgSharingPermission[getTabid($module)] == 0)) { $users_combo = get_select_options_array(get_user_array(FALSE, "Active", $assigned_user_id, 'private'), $assigned_user_id); } else { $users_combo = get_select_options_array(get_user_array(FALSE, "Active", $user_id), $assigned_user_id); } $label_fld["options"] = $users_combo; } elseif ($uitype == 11) { $label_fld[] = getTranslatedString($fieldlabel, $module); $label_fld[] = $col_fields[$fieldname]; } elseif ($uitype == 53) { global $noof_group_rows, $adb; $owner_id = $col_fields[$fieldname]; $user = '******'; $result = $adb->pquery("SELECT count(*) as count from vtiger_users where id = ?", array($owner_id)); if ($adb->query_result($result, 0, 'count') > 0) { $user = '******'; } $owner_name = getOwnerName($owner_id); $label_fld[] = getTranslatedString($fieldlabel, $module); $label_fld[] = $owner_name; if (is_admin($current_user)) { $label_fld["secid"][] = $owner_id; if ($user == 'no') { $label_fld["link"][] = "index.php?module=Settings&action=GroupDetailView&groupId=" . $owner_id; } else { $label_fld["link"][] = "index.php?module=Users&action=DetailView&record=" . $owner_id; } //$label_fld["secid"][] = $groupid; //$label_fld["link"][] = "index.php?module=Settings&action=GroupDetailView&groupId=".$groupid; } //Security Checks if ($fieldlabel == 'Assigned To' && $is_admin == false && $profileGlobalPermission[2] == 1 && ($defaultOrgSharingPermission[getTabid($module_name)] == 3 or $defaultOrgSharingPermission[getTabid($module_name)] == 0)) { $result = get_current_user_access_groups($module_name); } else { $result = get_group_options(); } if ($result) { $nameArray = $adb->fetch_array($result); } global $current_user; //$value = $user_id; if ($owner_id != '') { if ($user == 'yes') { $label_fld["options"][] = 'User'; $assigned_user_id = $owner_id; $user_checked = "checked"; $team_checked = ''; $user_style = 'display:block'; $team_style = 'display:none'; } else { //$record = $col_fields["record_id"]; //$module = $col_fields["record_module"]; $label_fld["options"][] = 'Group'; $assigned_group_id = $owner_id; $user_checked = ''; $team_checked = 'checked'; $user_style = 'display:none'; $team_style = 'display:block'; } } else { $label_fld["options"][] = 'User'; $assigned_user_id = $current_user->id; $user_checked = "checked"; $team_checked = ''; $user_style = 'display:block'; $team_style = 'display:none'; } if ($fieldlabel == 'Assigned To' && $is_admin == false && $profileGlobalPermission[2] == 1 && ($defaultOrgSharingPermission[getTabid($module)] == 3 or $defaultOrgSharingPermission[getTabid($module)] == 0)) { $users_combo = get_select_options_array(get_user_array(FALSE, "Active", $current_user->id, 'private'), $current_user->id); } else { $users_combo = get_select_options_array(get_user_array(FALSE, "Active", $current_user->id), $current_user->id); } if ($noof_group_rows != 0) { if ($fieldlabel == 'Assigned To' && $is_admin == false && $profileGlobalPermission[2] == 1 && ($defaultOrgSharingPermission[getTabid($module)] == 3 or $defaultOrgSharingPermission[getTabid($module)] == 0)) { $groups_combo = get_select_options_array(get_group_array(FALSE, "Active", $current_user->id, 'private'), $current_user->id); } else { $groups_combo = get_select_options_array(get_group_array(FALSE, "Active", $current_user->id), $current_user->id); } } $label_fld["options"][] = $users_combo; $label_fld["options"][] = $groups_combo; } elseif ($uitype == 55 || $uitype == 255) { if ($tabid == 4) { $query = "select vtiger_contactdetails.imagename from vtiger_contactdetails where contactid=?"; $result = $adb->pquery($query, array($col_fields['record_id'])); $imagename = $adb->query_result($result, 0, 'imagename'); if ($imagename != '') { $imgpath = "test/contact/" . $imagename; $label_fld[] = getTranslatedString($fieldlabel, $module); } else { $label_fld[] = getTranslatedString($fieldlabel, $module); } } else { $label_fld[] = getTranslatedString($fieldlabel, $module); } $value = $col_fields[$fieldname]; if ($uitype == 255) { global $currentModule; $fieldpermission = getFieldVisibilityPermission($currentModule, $current_user->id, 'firstname'); } if ($uitype == 255 && $fieldpermission == 0 && $fieldpermission != '') { $fieldvalue[] = ''; } else { $roleid = $current_user->roleid; $subrole = getRoleSubordinates($roleid); if (count($subrole) > 0) { $roleids = implode("','", $subrole); $roleids = $roleids . "','" . $roleid; } else { $roleids = $roleid; } if ($is_admin == true || $profileGlobalPermission[1] == 0 || $profileGlobalPermission[2] == 0) { $pick_query = "select salutationtype from vtiger_salutationtype order by salutationtype"; $params = array(); } else { $pick_query = "select * from vtiger_salutationtype left join vtiger_role2picklist on vtiger_role2picklist.picklistvalueid=vtiger_salutationtype.picklist_valueid where picklistid in (select picklistid from vtiger_picklist where name='salutationtype') and roleid=? order by salutationtype"; $params = array($current_user->roleid); } $pickListResult = $adb->pquery($pick_query, $params); $noofpickrows = $adb->num_rows($pickListResult); $sal_value = $col_fields["salutationtype"]; $salcount = 0; for ($j = 0; $j < $noofpickrows; $j++) { $pickListValue = $adb->query_result($pickListResult, $j, "salutationtype"); if ($sal_value == $pickListValue) { $chk_val = "selected"; $salcount++; } else { $chk_val = ''; } } if ($salcount == 0 && $sal_value != '') { $notacc = $app_strings['LBL_NOT_ACCESSIBLE']; } $sal_value = $col_fields["salutationtype"]; if ($sal_value == '--None--') { $sal_value = ''; } $label_fld["salut"] = getTranslatedString($sal_value); $label_fld["notaccess"] = $notacc; } $label_fld[] = $value; } elseif ($uitype == 56) { $label_fld[] = getTranslatedString($fieldlabel, $module); $value = $col_fields[$fieldname]; if ($value == 1) { //Since "yes" is not been translated it is given as app strings here.. $display_val = $app_strings['yes']; } else { $display_val = $app_strings['no']; } $label_fld[] = $display_val; } elseif ($uitype == 57) { $label_fld[] = getTranslatedString($fieldlabel, $module); $contact_id = $col_fields[$fieldname]; if ($contact_id != '') { $contact_name = getContactName($contact_id); } $label_fld[] = $contact_name; $label_fld["secid"] = $contact_id; $label_fld["link"] = "index.php?module=Contacts&action=DetailView&record=" . $contact_id; } elseif ($uitype == 58) { $label_fld[] = getTranslatedString($fieldlabel, $module); $campaign_id = $col_fields[$fieldname]; if ($campaign_id != '') { $campaign_name = getCampaignName($campaign_id); } $label_fld[] = $campaign_name; $label_fld["secid"] = $campaign_id; $label_fld["link"] = "index.php?module=Campaigns&action=DetailView&record=" . $campaign_id; } elseif ($uitype == 59) { $label_fld[] = getTranslatedString($fieldlabel, $module); $product_id = $col_fields[$fieldname]; if ($product_id != '') { $product_name = getProductName($product_id); } //Account Name View $label_fld[] = $product_name; $label_fld["secid"] = $product_id; $label_fld["link"] = "index.php?module=Products&action=DetailView&record=" . $product_id; } elseif ($uitype == 61) { global $adb; $label_fld[] = getTranslatedString($fieldlabel, $module); if ($tabid == 10) { $attach_result = $adb->pquery("select * from vtiger_seattachmentsrel where crmid = ?", array($col_fields['record_id'])); for ($ii = 0; $ii < $adb->num_rows($attach_result); $ii++) { $attachmentid = $adb->query_result($attach_result, $ii, 'attachmentsid'); if ($attachmentid != '') { $attachquery = "select * from vtiger_attachments where attachmentsid=?"; $attachmentsname = $adb->query_result($adb->pquery($attachquery, array($attachmentid)), 0, 'name'); if ($attachmentsname != '') { $custfldval = '<a href = "index.php?module=uploads&action=downloadfile&return_module=' . $col_fields['record_module'] . '&fileid=' . $attachmentid . '&entityid=' . $col_fields['record_id'] . '">' . $attachmentsname . '</a>'; } else { $custfldval = ''; } } $label_fld['options'][] = $custfldval; } } else { $attachmentid = $adb->query_result($adb->pquery("select * from vtiger_seattachmentsrel where crmid = ?", array($col_fields['record_id'])), 0, 'attachmentsid'); if ($col_fields[$fieldname] == '' && $attachmentid != '') { $attachquery = "select * from vtiger_attachments where attachmentsid=?"; $col_fields[$fieldname] = $adb->query_result($adb->pquery($attachquery, array($attachmentid)), 0, 'name'); } //This is added to strip the crmid and _ from the file name and show the original filename //$org_filename = ltrim($col_fields[$fieldname],$col_fields['record_id'].'_'); /*Above line is not required as the filename in the database is stored as it is and doesn't have crmid attached to it. This was the cause for the issue reported in ticket #4645 */ $org_filename = $col_fields[$fieldname]; // For Backward Compatibility version < 5.0.4 $filename_pos = strpos($org_filename, $col_fields['record_id'] . '_'); if ($filename_pos === 0) { $start_idx = $filename_pos + strlen($col_fields['record_id'] . '_'); $org_filename = substr($org_filename, $start_idx); } if ($org_filename != '') { if ($col_fields['filelocationtype'] == 'E') { if ($col_fields['filestatus'] == 1) { //&& strlen($col_fields['filename']) > 7 ){ $custfldval = '<a target="_blank" href =' . $col_fields['filename'] . ' onclick=\'javascript:dldCntIncrease(' . $col_fields['record_id'] . ');\'>' . $col_fields[$fieldname] . '</a>'; } else { $custfldval = $col_fields[$fieldname]; } } elseif ($col_fields['filelocationtype'] == 'I') { if ($col_fields['filestatus'] == 1) { $custfldval = '<a href = "index.php?module=uploads&action=downloadfile&return_module=' . $col_fields['record_module'] . '&fileid=' . $attachmentid . '&entityid=' . $col_fields['record_id'] . '" onclick=\'javascript:dldCntIncrease(' . $col_fields['record_id'] . ');\'>' . $col_fields[$fieldname] . '</a>'; } else { $custfldval = $col_fields[$fieldname]; } } else { $custfldval = ''; } } $label_fld[] = $custfldval; } } elseif ($uitype == 28) { $label_fld[] = getTranslatedString($fieldlabel, $module); $attachmentid = $adb->query_result($adb->pquery("select * from vtiger_seattachmentsrel where crmid = ?", array($col_fields['record_id'])), 0, 'attachmentsid'); if ($col_fields[$fieldname] == '' && $attachmentid != '') { $attachquery = "select * from vtiger_attachments where attachmentsid=?"; $col_fields[$fieldname] = $adb->query_result($adb->pquery($attachquery, array($attachmentid)), 0, 'name'); } $org_filename = $col_fields[$fieldname]; // For Backward Compatibility version < 5.0.4 $filename_pos = strpos($org_filename, $col_fields['record_id'] . '_'); if ($filename_pos === 0) { $start_idx = $filename_pos + strlen($col_fields['record_id'] . '_'); $org_filename = substr($org_filename, $start_idx); } if ($org_filename != '') { if ($col_fields['filelocationtype'] == 'E') { if ($col_fields['filestatus'] == 1) { //&& strlen($col_fields['filename']) > 7 ){ $custfldval = '<a target="_blank" href =' . $col_fields['filename'] . ' onclick=\'javascript:dldCntIncrease(' . $col_fields['record_id'] . ');\'>' . $col_fields[$fieldname] . '</a>'; } else { $custfldval = $col_fields[$fieldname]; } } elseif ($col_fields['filelocationtype'] == 'I') { if ($col_fields['filestatus'] == 1) { $custfldval = '<a href = "index.php?module=uploads&action=downloadfile&return_module=' . $col_fields['record_module'] . '&fileid=' . $attachmentid . '&entityid=' . $col_fields['record_id'] . '" onclick=\'javascript:dldCntIncrease(' . $col_fields['record_id'] . ');\'>' . $col_fields[$fieldname] . '</a>'; } else { $custfldval = $col_fields[$fieldname]; } } else { $custfldval = ''; } } $label_fld[] = $custfldval; } elseif ($uitype == 69) { $label_fld[] = getTranslatedString($fieldlabel, $module); if ($tabid == 14) { $images = array(); $query = 'select productname, vtiger_attachments.path, vtiger_attachments.attachmentsid, vtiger_attachments.name,vtiger_crmentity.setype from vtiger_products left join vtiger_seattachmentsrel on vtiger_seattachmentsrel.crmid=vtiger_products.productid inner join vtiger_attachments on vtiger_attachments.attachmentsid=vtiger_seattachmentsrel.attachmentsid inner join vtiger_crmentity on vtiger_crmentity.crmid = vtiger_attachments.attachmentsid where vtiger_crmentity.setype="Products Image" and productid=?'; $result_image = $adb->pquery($query, array($col_fields['record_id'])); for ($image_iter = 0; $image_iter < $adb->num_rows($result_image); $image_iter++) { $image_id_array[] = $adb->query_result($result_image, $image_iter, 'attachmentsid'); //decode_html - added to handle UTF-8 characters in file names //urlencode - added to handle special characters like #, %, etc., $image_array[] = urlencode(decode_html($adb->query_result($result_image, $image_iter, 'name'))); $image_orgname_array[] = decode_html($adb->query_result($result_image, $image_iter, 'name')); $imagepath_array[] = $adb->query_result($result_image, $image_iter, 'path'); } if (count($image_array) > 1) { if (count($image_array) < 4) { $sides = count($image_array) * 2; } else { $sides = 8; } $image_lists = '<div id="Carousel" style="position:relative;vertical-align: middle;"> <img src="modules/Products/placeholder.gif" width="571" height="117" style="position:relative;"> </div><script>var Car_NoOfSides=' . $sides . '; Car_Image_Sources=new Array('; for ($image_iter = 0; $image_iter < count($image_array); $image_iter++) { $images[] = '"' . $imagepath_array[$image_iter] . $image_id_array[$image_iter] . "_" . $image_array[$image_iter] . '","' . $imagepath_array[$image_iter] . $image_id_array[$image_iter] . "_" . $image_array[$image_iter] . '"'; } $image_lists .= implode(',', $images) . ');</script><script language="JavaScript" type="text/javascript" src="modules/Products/Productsslide.js"></script><script language="JavaScript" type="text/javascript">Carousel();</script>'; $label_fld[] = $image_lists; } elseif (count($image_array) == 1) { list($pro_image_width, $pro_image_height) = getimagesize($imagepath_array[0] . $image_id_array[0] . "_" . $image_orgname_array[0]); if ($pro_image_width > 450 || $pro_image_height > 300) { $label_fld[] = '<img src="' . $imagepath_array[0] . $image_id_array[0] . "_" . $image_array[0] . '" border="0" width="450" height="300">'; } else { $label_fld[] = '<img src="' . $imagepath_array[0] . $image_id_array[0] . "_" . $image_array[0] . '" border="0" width="' . $pro_image_width . '" height="' . $pro_image_height . '">'; } } else { $label_fld[] = ''; } } if ($tabid == 4) { //$imgpath = getModuleFileStoragePath('Contacts').$col_fields[$fieldname]; $sql = "select vtiger_attachments.*,vtiger_crmentity.setype from vtiger_attachments inner join vtiger_seattachmentsrel on vtiger_seattachmentsrel.attachmentsid = vtiger_attachments.attachmentsid inner join vtiger_crmentity on vtiger_crmentity.crmid = vtiger_attachments.attachmentsid where vtiger_crmentity.setype='Contacts Image' and vtiger_seattachmentsrel.crmid=?"; $image_res = $adb->pquery($sql, array($col_fields['record_id'])); $image_id = $adb->query_result($image_res, 0, 'attachmentsid'); $image_path = $adb->query_result($image_res, 0, 'path'); //decode_html - added to handle UTF-8 characters in file names //urlencode - added to handle special characters like #, %, etc., $image_name = urlencode(decode_html($adb->query_result($image_res, 0, 'name'))); $imgpath = $image_path . $image_id . "_" . $image_name; if ($image_name != '') { $label_fld[] = '<img src="' . $imgpath . '" alt="' . $mod_strings['Contact Image'] . '" title= "' . $mod_strings['Contact Image'] . '">'; } else { $label_fld[] = ''; } } } elseif ($uitype == 62) { $value = $col_fields[$fieldname]; if ($value != '') { $parent_module = getSalesEntityType($value); if ($parent_module == "Leads") { $label_fld[] = $app_strings['LBL_LEAD_NAME']; $lead_name = getLeadName($value); $label_fld[] = '<a href="index.php?module=' . $parent_module . '&action=DetailView&record=' . $value . '">' . $lead_name . '</a>'; } elseif ($parent_module == "Accounts") { $label_fld[] = $app_strings['LBL_ACCOUNT_NAME']; $sql = "select * from vtiger_account where accountid=?"; $result = $adb->pquery($sql, array($value)); $account_name = $adb->query_result($result, 0, "accountname"); $label_fld[] = '<a href="index.php?module=' . $parent_module . '&action=DetailView&record=' . $value . '">' . $account_name . '</a>'; } elseif ($parent_module == "Potentials") { $label_fld[] = $app_strings['LBL_POTENTIAL_NAME']; $sql = "select * from vtiger_potential where potentialid=?"; $result = $adb->pquery($sql, array($value)); $potentialname = $adb->query_result($result, 0, "potentialname"); $label_fld[] = '<a href="index.php?module=' . $parent_module . '&action=DetailView&record=' . $value . '">' . $potentialname . '</a>'; } elseif ($parent_module == "Products") { $label_fld[] = $app_strings['LBL_PRODUCT_NAME']; $sql = "select * from vtiger_products where productid=?"; $result = $adb->pquery($sql, array($value)); $productname = $adb->query_result($result, 0, "productname"); $label_fld[] = '<a href="index.php?module=' . $parent_module . '&action=DetailView&record=' . $value . '">' . $productname . '</a>'; } elseif ($parent_module == "PurchaseOrder") { $label_fld[] = $app_strings['LBL_PORDER_NAME']; $sql = "select * from vtiger_purchaseorder where purchaseorderid=?"; $result = $adb->pquery($sql, array($value)); $pordername = $adb->query_result($result, 0, "subject"); $label_fld[] = '<a href="index.php?module=' . $parent_module . '&action=DetailView&record=' . $value . '">' . $pordername . '</a>'; } elseif ($parent_module == "SalesOrder") { $label_fld[] = $app_strings['LBL_SORDER_NAME']; $sql = "select * from vtiger_salesorder where salesorderid=?"; $result = $adb->pquery($sql, array($value)); $sordername = $adb->query_result($result, 0, "subject"); $label_fld[] = '<a href="index.php?module=' . $parent_module . '&action=DetailView&record=' . $value . '">' . $sordername . '</a>'; } elseif ($parent_module == "Invoice") { $label_fld[] = $app_strings['LBL_INVOICE_NAME']; $sql = "select * from vtiger_invoice where invoiceid=?"; $result = $adb->pquery($sql, array($value)); $invoicename = $adb->query_result($result, 0, "subject"); $label_fld[] = '<a href="index.php?module=' . $parent_module . '&action=DetailView&record=' . $value . '">' . $invoicename . '</a>'; } elseif ($parent_module == "Quotes") { $label_fld[] = $app_strings['LBL_QUOTES_NAME']; $sql = "select * from vtiger_quotes where quoteid=?"; $result = $adb->pquery($sql, array($value)); $quotename = $adb->query_result($result, 0, "subject"); $label_fld[] = '<a href="index.php?module=' . $parent_module . '&action=DetailView&record=' . $value . '">' . $quotename . '</a>'; } elseif ($parent_module == "HelpDesk") { $label_fld[] = $app_strings['LBL_HELPDESK_NAME']; $sql = "select * from vtiger_troubletickets where ticketid=?"; $result = $adb->pquery($sql, array($value)); $title = $adb->query_result($result, 0, "title"); $label_fld[] = '<a href="index.php?module=' . $parent_module . '&action=DetailView&record=' . $value . '">' . $title . '</a>'; } } else { $label_fld[] = getTranslatedString($fieldlabel, $module); $label_fld[] = $value; } } elseif ($uitype == 105) { $label_fld[] = getTranslatedString($fieldlabel, $module); //$imgpath = getModuleFileStoragePath('Contacts').$col_fields[$fieldname]; $sql = "select vtiger_attachments.* from vtiger_attachments left join vtiger_salesmanattachmentsrel on vtiger_salesmanattachmentsrel.attachmentsid = vtiger_attachments.attachmentsid where vtiger_salesmanattachmentsrel.smid=?"; $image_res = $adb->pquery($sql, array($col_fields['record_id'])); $image_id = $adb->query_result($image_res, 0, 'attachmentsid'); $image_path = $adb->query_result($image_res, 0, 'path'); $image_name = $adb->query_result($image_res, 0, 'name'); $imgpath = $image_path . $image_id . "_" . $image_name; if ($image_name != '') { //Added the following check for the image to retain its in original size. list($pro_image_width, $pro_image_height) = getimagesize(decode_html($imgpath)); $label_fld[] = '<a href="' . $imgpath . '" target="_blank"><img src="' . $imgpath . '" width="' . $pro_image_width . '" height="' . $pro_image_height . '" alt="' . $col_fields['user_name'] . '" title="' . $col_fields['user_name'] . '" border="0"></a>'; } else { $label_fld[] = ''; } } elseif ($uitype == 66) { $value = $col_fields[$fieldname]; if ($value != '') { $parent_module = getSalesEntityType($value); if ($parent_module == "Leads") { $label_fld[] = $app_strings['LBL_LEAD_NAME']; $lead_name = getLeadName($value); $label_fld[] = '<a href="index.php?module=' . $parent_module . '&action=DetailView&record=' . $value . '">' . $lead_name . '</a>'; } elseif ($parent_module == "Accounts") { $label_fld[] = $app_strings['LBL_ACCOUNT_NAME']; $sql = "select * from vtiger_account where accountid=?"; $result = $adb->pquery($sql, array($value)); $account_name = $adb->query_result($result, 0, "accountname"); $label_fld[] = '<a href="index.php?module=' . $parent_module . '&action=DetailView&record=' . $value . '">' . $account_name . '</a>'; } elseif ($parent_module == "Potentials") { $label_fld[] = $app_strings['LBL_POTENTIAL_NAME']; $sql = "select * from vtiger_potential where potentialid=?"; $result = $adb->pquery($sql, array($value)); $potentialname = $adb->query_result($result, 0, "potentialname"); $label_fld[] = '<a href="index.php?module=' . $parent_module . '&action=DetailView&record=' . $value . '">' . $potentialname . '</a>'; } elseif ($parent_module == "Quotes") { $label_fld[] = $app_strings['LBL_QUOTE_NAME']; $sql = "select * from vtiger_quotes where quoteid=?"; $result = $adb->pquery($sql, array($value)); $quotename = $adb->query_result($result, 0, "subject"); $label_fld[] = '<a href="index.php?module=' . $parent_module . '&action=DetailView&record=' . $value . '">' . $quotename . '</a>'; } elseif ($parent_module == "PurchaseOrder") { $label_fld[] = $app_strings['LBL_PORDER_NAME']; $sql = "select * from vtiger_purchaseorder where purchaseorderid=?"; $result = $adb->pquery($sql, array($value)); $pordername = $adb->query_result($result, 0, "subject"); $label_fld[] = '<a href="index.php?module=' . $parent_module . '&action=DetailView&record=' . $value . '">' . $pordername . '</a>'; } elseif ($parent_module == "SalesOrder") { $label_fld[] = $app_strings['LBL_SORDER_NAME']; $sql = "select * from vtiger_salesorder where salesorderid=?"; $result = $adb->pquery($sql, array($value)); $sordername = $adb->query_result($result, 0, "subject"); $label_fld[] = '<a href="index.php?module=' . $parent_module . '&action=DetailView&record=' . $value . '">' . $sordername . '</a>'; } elseif ($parent_module == "Invoice") { $label_fld[] = $app_strings['LBL_INVOICE_NAME']; $sql = "select * from vtiger_invoice where invoiceid=?"; $result = $adb->pquery($sql, array($value)); $invoicename = $adb->query_result($result, 0, "subject"); $label_fld[] = '<a href="index.php?module=' . $parent_module . '&action=DetailView&record=' . $value . '">' . $invoicename . '</a>'; } elseif ($parent_module == "Campaigns") { $label_fld[] = $app_strings['LBL_CAMPAIGN_NAME']; $sql = "select * from vtiger_campaign where campaignid=?"; $result = $adb->pquery($sql, array($value)); $campaignname = $adb->query_result($result, 0, "campaignname"); $label_fld[] = '<a href="index.php?module=' . $parent_module . '&action=DetailView&record=' . $value . '">' . $campaignname . '</a>'; } elseif ($parent_module == "HelpDesk") { $label_fld[] = $app_strings['LBL_HELPDESK_NAME']; $sql = "select * from vtiger_troubletickets where ticketid=?"; $result = $adb->pquery($sql, array($value)); $tickettitle = $adb->query_result($result, 0, "title"); if (strlen($tickettitle) > 25) { $tickettitle = substr($tickettitle, 0, 25) . '...'; } $label_fld[] = '<a href="index.php?module=' . $parent_module . '&action=DetailView&record=' . $value . '">' . $tickettitle . '</a>'; } } else { $label_fld[] = getTranslatedString($fieldlabel, $module); $label_fld[] = $value; } } elseif ($uitype == 67) { $value = $col_fields[$fieldname]; if ($value != '') { $parent_module = getSalesEntityType($value); if ($parent_module == "Leads") { $label_fld[] = $app_strings['LBL_LEAD_NAME']; $lead_name = getLeadName($value); $label_fld[] = '<a href="index.php?module=' . $parent_module . '&action=DetailView&record=' . $value . '">' . $lead_name . '</a>'; } elseif ($parent_module == "Contacts") { $label_fld[] = $app_strings['LBL_CONTACT_NAME']; $contact_name = getContactName($value); $label_fld[] = '<a href="index.php?module=' . $parent_module . '&action=DetailView&record=' . $value . '">' . $contact_name . '</a>'; } } else { $label_fld[] = getTranslatedString($fieldlabel, $module); $label_fld[] = $value; } } elseif ($uitype == 357) { $value = $col_fields[$fieldname]; if ($value != '') { $parent_name = ''; $parent_id = ''; $myemailid = $_REQUEST['record']; $mysql = "select crmid from vtiger_seactivityrel where activityid=?"; $myresult = $adb->pquery($mysql, array($myemailid)); $mycount = $adb->num_rows($myresult); if ($mycount > 1) { $label_fld[] = $app_strings['LBL_RELATED_TO']; $label_fld[] = $app_strings['LBL_MULTIPLE']; } else { $parent_module = getSalesEntityType($value); if ($parent_module == "Leads") { $label_fld[] = $app_strings['LBL_LEAD_NAME']; $lead_name = getLeadName($value); $label_fld[] = '<a href="index.php?module=' . $parent_module . '&action=DetailView&record=' . $value . '">' . $lead_name . '</a>'; } elseif ($parent_module == "Contacts") { $label_fld[] = $app_strings['LBL_CONTACT_NAME']; $contact_name = getContactName($value); $label_fld[] = '<a href="index.php?module=' . $parent_module . '&action=DetailView&record=' . $value . '">' . $contact_name . '</a>'; } elseif ($parent_module == "Accounts") { $label_fld[] = $app_strings['LBL_ACCOUNT_NAME']; $sql = "select * from vtiger_account where accountid=?"; $result = $adb->pquery($sql, array($value)); $accountname = $adb->query_result($result, 0, "accountname"); $label_fld[] = '<a href="index.php?module=' . $parent_module . '&action=DetailView&record=' . $value . '">' . $accountname . '</a>'; } } } else { $label_fld[] = getTranslatedString($fieldlabel, $module); $label_fld[] = $value; } } elseif ($uitype == 68) { $value = $col_fields[$fieldname]; if ($value != '') { $parent_module = getSalesEntityType($value); if ($parent_module == "Contacts") { $label_fld[] = $app_strings['LBL_CONTACT_NAME']; $contact_name = getContactName($value); $label_fld[] = '<a href="index.php?module=' . $parent_module . '&action=DetailView&record=' . $value . '">' . $contact_name . '</a>'; } elseif ($parent_module == "Accounts") { $label_fld[] = $app_strings['LBL_ACCOUNT_NAME']; $sql = "select * from vtiger_account where accountid=?"; $result = $adb->pquery($sql, array($value)); $account_name = $adb->query_result($result, 0, "accountname"); $label_fld[] = '<a href="index.php?module=' . $parent_module . '&action=DetailView&record=' . $value . '">' . $account_name . '</a>'; } else { $value = ''; $label_fld[] = getTranslatedString($fieldlabel, $module); $label_fld[] = $value; } } else { $label_fld[] = getTranslatedString($fieldlabel, $module); $label_fld[] = $value; } } elseif ($uitype == 63) { $label_fld[] = getTranslatedString($fieldlabel, $module); $label_fld[] = $col_fields[$fieldname] . 'h ' . $col_fields['duration_minutes'] . 'm'; } elseif ($uitype == 6) { $label_fld[] = getTranslatedString($fieldlabel, $module); if ($col_fields[$fieldname] == '0') { $col_fields[$fieldname] = ''; } if ($col_fields['time_start'] != '') { $start_time = $col_fields['time_start']; } if ($col_fields[$fieldname] == '0000-00-00') { $displ_date = ''; } else { $displ_date = getDisplayDate($col_fields[$fieldname]); } if (empty($start_time)) { $label_fld[] = $displ_date; } else { $label_fld[] = $displ_date . ' ' . $start_time; } } elseif ($uitype == 5 || $uitype == 23 || $uitype == 70) { $label_fld[] = getTranslatedString($fieldlabel, $module); $cur_date_val = $col_fields[$fieldname]; if ($col_fields['time_end'] != '' && ($tabid == 9 || $tabid == 16) && $uitype == 23) { $end_time = $col_fields['time_end']; } if ($cur_date_val == '0000-00-00') { $display_val = ''; } else { $display_val = getDisplayDate($cur_date_val); } if (empty($end_time)) { $label_fld[] = $display_val; } else { $label_fld[] = $display_val . ' ' . $end_time; } } elseif ($uitype == 71 || $uitype == 72) { $label_fld[] = getTranslatedString($fieldlabel, $module); if ($fieldname == 'unit_price') { $rate_symbol = getCurrencySymbolandCRate(getProductBaseCurrency($col_fields['record_id'], $module)); $label_fld[] = $col_fields[$fieldname]; } else { $rate_symbol = getCurrencySymbolandCRate($user_info['currency_id']); $rate = $rate_symbol['rate']; $label_fld[] = convertFromDollar($col_fields[$fieldname], $rate); } $currency = $rate_symbol['symbol']; $label_fld["cursymb"] = $currency; } elseif ($uitype == 75 || $uitype == 81) { $label_fld[] = getTranslatedString($fieldlabel, $module); $vendor_id = $col_fields[$fieldname]; if ($vendor_id != '') { $vendor_name = getVendorName($vendor_id); } $label_fld[] = $vendor_name; $label_fld["secid"] = $vendor_id; $label_fld["link"] = "index.php?module=Vendors&action=DetailView&record=" . $vendor_id; } elseif ($uitype == 76) { $label_fld[] = getTranslatedString($fieldlabel, $module); $potential_id = $col_fields[$fieldname]; if ($potential_id != '') { $potential_name = getPotentialName($potential_id); } $label_fld[] = $potential_name; $label_fld["secid"] = $potential_id; $label_fld["link"] = "index.php?module=Potentials&action=DetailView&record=" . $potential_id; } elseif ($uitype == 78) { $label_fld[] = getTranslatedString($fieldlabel, $module); $quote_id = $col_fields[$fieldname]; if ($quote_id != '') { $quote_name = getQuoteName($quote_id); } $label_fld[] = $quote_name; $label_fld["secid"] = $quote_id; $label_fld["link"] = "index.php?module=Quotes&action=DetailView&record=" . $quote_id; } elseif ($uitype == 79) { $label_fld[] = getTranslatedString($fieldlabel, $module); $purchaseorder_id = $col_fields[$fieldname]; if ($purchaseorder_id != '') { $purchaseorder_name = getPoName($purchaseorder_id); } $label_fld[] = $purchaseorder_name; $label_fld["secid"] = $purchaseorder_id; $label_fld["link"] = "index.php?module=PurchaseOrder&action=DetailView&record=" . $purchaseorder_id; } elseif ($uitype == 80) { $label_fld[] = getTranslatedString($fieldlabel, $module); $salesorder_id = $col_fields[$fieldname]; if ($salesorder_id != '') { $salesorder_name = getSoName($salesorder_id); } $label_fld[] = $salesorder_name; $label_fld["secid"] = $salesorder_id; $label_fld["link"] = "index.php?module=SalesOrder&action=DetailView&record=" . $salesorder_id; } elseif ($uitype == 30) { $rem_days = 0; $rem_hrs = 0; $rem_min = 0; $reminder_str = ""; $rem_days = floor($col_fields[$fieldname] / (24 * 60)); $rem_hrs = floor(($col_fields[$fieldname] - $rem_days * 24 * 60) / 60); $rem_min = ($col_fields[$fieldname] - $rem_days * 24 * 60) % 60; $label_fld[] = getTranslatedString($fieldlabel, $module); if ($col_fields[$fieldname]) { $reminder_str = $rem_days . ' ' . $mod_strings['LBL_DAYS'] . ' ' . $rem_hrs . ' ' . $mod_strings['LBL_HOURS'] . ' ' . $rem_min . ' ' . $mod_strings['LBL_MINUTES'] . ' ' . $mod_strings['LBL_BEFORE_EVENT']; } $label_fld[] = ' ' . $reminder_str; } elseif ($uitype == 98) { $label_fld[] = getTranslatedString($fieldlabel, $module); if (is_admin($current_user)) { $label_fld[] = '<a href="index.php?module=Settings&action=RoleDetailView&roleid=' . $col_fields[$fieldname] . '">' . getRoleName($col_fields[$fieldname]) . '</a>'; } else { $label_fld[] = getRoleName($col_fields[$fieldname]); } } elseif ($uitype == 85) { $label_fld[] = getTranslatedString($fieldlabel, $module); $label_fld[] = $col_fields[$fieldname]; } elseif ($uitype == 26) { $label_fld[] = getTranslatedString($fieldlabel, $module); $query = "select foldername from vtiger_attachmentsfolder where folderid = ?"; $result = $adb->pquery($query, array($col_fields[$fieldname])); $folder_name = $adb->query_result($result, 0, "foldername"); $label_fld[] = $folder_name; } elseif ($uitype == 27) { if ($col_fields[$fieldname] == 'I') { $label_fld[] = getTranslatedString($fieldlabel, $module); $label_fld[] = $mod_strings['LBL_INTERNAL']; } else { $label_fld[] = getTranslatedString($fieldlabel, $module); $label_fld[] = $mod_strings['LBL_EXTERNAL']; } } else { $label_fld[] = getTranslatedString($fieldlabel, $module); if ($col_fields[$fieldname] == '0' && $fieldname != 'filedownloadcount' && $fieldname != 'filestatus' && $fieldname != 'filesize') { $col_fields[$fieldname] = ''; } if ($uitype == 1 && ($fieldname == 'expectedrevenue' || $fieldname == 'budgetcost' || $fieldname == 'actualcost' || $fieldname == 'expectedroi' || $fieldname == 'actualroi')) { $rate_symbol = getCurrencySymbolandCRate($user_info['currency_id']); $label_fld[] = convertFromDollar($col_fields[$fieldname], $rate_symbol['rate']); } else { //code for Documents module :start if ($tabid == 8) { $downloadtype = $col_fields['filelocationtype']; if ($fieldname == 'filename') { if ($downloadtype == 'I') { //$file_value = $mod_strings['LBL_INTERNAL']; $fld_value = $col_fields['filename']; $ext_pos = strrpos($fld_value, "."); $ext = substr($fld_value, $ext_pos + 1); $ext = strtolower($ext); if ($ext == 'bin' || $ext == 'exe' || $ext == 'rpm') { $fileicon = "<img src='" . vtiger_imageurl('fExeBin.gif', $theme) . "' hspace='3' align='absmiddle' border='0'>"; } elseif ($ext == 'jpg' || $ext == 'gif' || $ext == 'bmp') { $fileicon = "<img src='" . vtiger_imageurl('fbImageFile.gif', $theme) . "' hspace='3' align='absmiddle' border='0'>"; } elseif ($ext == 'txt' || $ext == 'doc' || $ext == 'xls') { $fileicon = "<img src='" . vtiger_imageurl('fbTextFile.gif', $theme) . "' hspace='3' align='absmiddle' border='0'>"; } elseif ($ext == 'zip' || $ext == 'gz' || $ext == 'rar') { $fileicon = "<img src='" . vtiger_imageurl('fbZipFile.gif', $theme) . "' hspace='3' align='absmiddle'\tborder='0'>"; } else { $fileicon = "<img src='" . vtiger_imageurl('fbUnknownFile.gif', $theme) . "' hspace='3' align='absmiddle' border='0'>"; } } else { $fld_value = $col_fields['filename']; $fileicon = "<img src='" . vtiger_imageurl('fbLink.gif', $theme) . "' alt='" . $mod_strings['LBL_EXTERNAL_LNK'] . "' title='" . $mod_strings['LBL_EXTERNAL_LNK'] . "' hspace='3' align='absmiddle' border='0'>"; } $label_fld[] = $fileicon . $fld_value; } if ($fieldname == 'filesize') { if ($col_fields['filelocationtype'] == 'I') { $filesize = $col_fields[$fieldname]; if ($filesize < 1024) { $label_fld[] = $filesize . ' B'; } elseif ($filesize > 1024 && $filesize < 1048576) { $label_fld[] = round($filesize / 1024, 2) . ' KB'; } else { if ($filesize > 1048576) { $label_fld[] = round($filesize / (1024 * 1024), 2) . ' MB'; } } } else { $label_fld[] = ' --'; } } if ($fieldname == 'filetype' && $col_fields['filelocationtype'] == 'E') { $label_fld[] = ' --'; } /*if($fieldname == 'filestatus') { $filestatus = $col_fields[$fieldname]; if($filestatus == 0) $label_fld[]=$mod_strings['LBL_ACTIVE']; else $label_fld[]=$mod_strings['LBL_INACTIVE']; }*/ } //code for Documents module :end $label_fld[] = $col_fields[$fieldname]; } } } $label_fld[] = $uitype; //sets whether the currenct user is admin or not if (is_admin($current_user)) { $label_fld["isadmin"] = 1; } else { $label_fld["isadmin"] = 0; } $log->debug("Exiting getDetailViewOutputHtml method ..."); return $label_fld; }
} elseif ($recurringinfo[0] == 'Monthly') { $value['repeatMonth'] = $recurringinfo[1]; if ($recurringinfo[1] == 'date') { $value['repeatMonth_date'] = $recurringinfo[2]; } else { $value['repeatMonth_daytype'] = $recurringinfo[2]; $value['repeatMonth_day'] = $recurringinfo[3]; } } } else { $value['recurringcheck'] = 'No'; } } else { if (isset($_REQUEST['contact_id']) && $_REQUEST['contact_id'] != '') { $smarty->assign("CONTACTSID", $_REQUEST['contact_id']); $contact_name = "<option value=" . $_REQUEST['contact_id'] . ">" . getContactName($_REQUEST['contact_id']) . "</option>"; $smarty->assign("CONTACTSNAME", $contact_name); $account_id = $_REQUEST['account_id']; $account_name = getAccountName($account_id); } } if (isset($_REQUEST['isDuplicate']) && $_REQUEST['isDuplicate'] == 'true') { $focus->id = ""; $focus->mode = ''; } if (empty($_REQUEST['record']) && $focus->mode != 'edit') { setObjectValuesFromRequest($focus); } $userDetails = getOtherUserName($current_user->id); $to_email = getUserEmailId('id', $current_user->id); $smarty->assign("CURRENTUSERID", $current_user->id);
/** * Function to generate Quote pdf */ function get_quote_pdf() { require_once 'include/tcpdf/pdf.php'; require_once 'include/tcpdf/pdfconfig.php'; require_once 'include/database/PearDatabase.php'; require_once 'modules/Quotes/Quotes.php'; global $adb, $app_strings, $current_user; // would you like and end page? 1 for yes 0 for no $endpage = "1"; $focus = new Quotes(); $focus->retrieve_entity_info($_REQUEST['record'], "Quotes"); $focus->apply_field_security(); $account_name = getAccountName($focus->column_fields[account_id]); $quote_no = $focus->column_fields[quote_no]; if ($focus->column_fields["hdnTaxType"] == "individual") { $product_taxes = 'true'; } else { $product_taxes = 'false'; } $sql = "select currency_symbol from vtiger_currency_info where id=?"; $result = $adb->pquery($sql, array($focus->column_fields['currency_id'])); $currency_symbol = $adb->query_result($result, 0, 'currency_symbol'); // **************** BEGIN POPULATE DATA ******************** $account_id = $focus->column_fields[account_id]; $quote_id = $_REQUEST['record']; // Quote Information $valid_till = $focus->column_fields["validtill"]; $valid_till = getDisplayDate($valid_till); $bill_street = $focus->column_fields["bill_street"]; $bill_city = $focus->column_fields["bill_city"]; $bill_state = $focus->column_fields["bill_state"]; $bill_code = $focus->column_fields["bill_code"]; $bill_country = $focus->column_fields["bill_country"]; $contact_name = getContactName($focus->column_fields["contact_id"]); $ship_street = $focus->column_fields["ship_street"]; $ship_city = $focus->column_fields["ship_city"]; $ship_state = $focus->column_fields["ship_state"]; $ship_code = $focus->column_fields["ship_code"]; $ship_country = $focus->column_fields["ship_country"]; $conditions = from_html($focus->column_fields["terms_conditions"]); $description = from_html($focus->column_fields["description"]); $status = $focus->column_fields["quotestage"]; // Company information $add_query = "select * from vtiger_organizationdetails"; $result = $adb->pquery($add_query, array()); $num_rows = $adb->num_rows($result); if ($num_rows > 0) { $org_name = $adb->query_result($result, 0, "organizationname"); $org_address = $adb->query_result($result, 0, "address"); $org_city = $adb->query_result($result, 0, "city"); $org_state = $adb->query_result($result, 0, "state"); $org_country = $adb->query_result($result, 0, "country"); $org_code = $adb->query_result($result, 0, "code"); $org_phone = $adb->query_result($result, 0, "phone"); $org_fax = $adb->query_result($result, 0, "fax"); $org_website = $adb->query_result($result, 0, "website"); $logo_name = $adb->query_result($result, 0, "logoname"); } //Population of Product Details - Starts //we can cut and paste the following lines in a file and include that file here is enough. For that we have to put a new common file. we will do this later //NOTE : Removed currency symbols and added with Grand Total text. it is enough to show the currency symbol in one place //we can also get the NetTotal, Final Discount Amount/Percent, Adjustment and GrandTotal from the array $associated_products[1]['final_details'] //get the Associated Products for this Invoice $focus->id = $focus->column_fields["record_id"]; $associated_products = getAssociatedProducts("Quotes", $focus); $num_products = count($associated_products); //This $final_details array will contain the final total, discount, Group Tax, S&H charge, S&H taxes and adjustment $final_details = $associated_products[1]['final_details']; //getting the Net Total $price_subtotal = number_format($final_details["hdnSubTotal"], 2, '.', ','); //Final discount amount/percentage $discount_amount = $final_details["discount_amount_final"]; $discount_percent = $final_details["discount_percentage_final"]; if ($discount_amount != "") { $price_discount = number_format($discount_amount, 2, '.', ','); } else { if ($discount_percent != "") { //This will be displayed near Discount label - used in include/fpdf/templates/body.php $final_price_discount_percent = "(" . number_format($discount_percent, 2, '.', ',') . " %)"; $price_discount = number_format($discount_percent * $final_details["hdnSubTotal"] / 100, 2, '.', ','); } else { $price_discount = "0.00"; } } //Adjustment $price_adjustment = number_format($final_details["adjustment"], 2, '.', ','); //Grand Total $price_total = number_format($final_details["grandTotal"], 2, '.', ','); //To calculate the group tax amount if ($final_details['taxtype'] == 'group') { $group_tax_total = $final_details['tax_totalamount']; $price_salestax = number_format($group_tax_total, 2, '.', ','); $group_total_tax_percent = '0.00'; $group_tax_details = $final_details['taxes']; for ($i = 0; $i < count($group_tax_details); $i++) { $group_total_tax_percent = $group_total_tax_percent + $group_tax_details[$i]['percentage']; } } //S&H amount $sh_amount = $final_details['shipping_handling_charge']; $price_shipping = number_format($sh_amount, 2, '.', ','); //S&H taxes $sh_tax_details = $final_details['sh_taxes']; $sh_tax_percent = '0.00'; for ($i = 0; $i < count($sh_tax_details); $i++) { $sh_tax_percent = $sh_tax_percent + $sh_tax_details[$i]['percentage']; } $sh_tax_amount = $final_details['shtax_totalamount']; $price_shipping_tax = number_format($sh_tax_amount, 2, '.', ','); $prod_line = array(); $lines = 0; //This is to get all prodcut details as row basis for ($i = 1, $j = $i - 1; $i <= $num_products; $i++, $j++) { $product_name[$i] = $associated_products[$i]['productName' . $i]; $subproduct_name[$i] = split("<br>", $associated_products[$i]['subprod_names' . $i]); //$prod_description[$i] = $associated_products[$i]['productDescription'.$i]; $comment[$i] = $associated_products[$i]['comment' . $i]; $product_id[$i] = $associated_products[$i]['hdnProductId' . $i]; $qty[$i] = $associated_products[$i]['qty' . $i]; $unit_price[$i] = number_format($associated_products[$i]['unitPrice' . $i], 2, '.', ','); $list_price[$i] = number_format($associated_products[$i]['listPrice' . $i], 2, '.', ','); $list_pricet[$i] = $associated_products[$i]['listPrice' . $i]; $discount_total[$i] = $associated_products[$i]['discountTotal' . $i]; //aded for 5.0.3 pdf changes $product_code[$i] = $associated_products[$i]['hdnProductcode' . $i]; $taxable_total = $qty[$i] * $list_pricet[$i] - $discount_total[$i]; $producttotal = $taxable_total; $total_taxes = '0.00'; if ($focus->column_fields["hdnTaxType"] == "individual") { $total_tax_percent = '0.00'; //This loop is to get all tax percentage and then calculate the total of all taxes for ($tax_count = 0; $tax_count < count($associated_products[$i]['taxes']); $tax_count++) { $tax_percent = $associated_products[$i]['taxes'][$tax_count]['percentage']; $total_tax_percent = $total_tax_percent + $tax_percent; $tax_amount = $taxable_total * $tax_percent / 100; $total_taxes = $total_taxes + $tax_amount; } $producttotal = $taxable_total + $total_taxes; $product_line[$j]["Tax"] = number_format($total_taxes, 2, '.', ',') . "\n ({$total_tax_percent} %) "; $price_salestax += $total_taxes; } $prod_total[$i] = number_format($producttotal, 2, '.', ','); $product_line[$j]["Product Code"] = $product_code[$i]; $product_line[$j]["Qty"] = $qty[$i]; $product_line[$j]["Price"] = $list_price[$i]; $product_line[$j]["Discount"] = $discount_total[$i]; $product_line[$j]["Total"] = $prod_total[$i]; $lines++; $product_line[$j]["Product Name"] = decode_html($product_name[$i]); $prod_line[$j] = 1; for ($count = 0; $count < count($subproduct_name[$i]); $count++) { if ($lines % 12 != 0) { $product_line[$j]["Product Name"] .= "\n" . decode_html($subproduct_name[$i][$count]); $prod_line[$j]++; } else { $j++; $product_line[$j]["Product Name"] = decode_html($product_name[$i]); $product_line[$j]["Product Name"] .= "\n" . decode_html($subproduct_name[$i][$count]); $prod_line[$j] = 2; $lines++; } $lines++; } if ($comment[$i] != '') { $product_line[$j]["Product Name"] .= "\n" . decode_html($comment[$i]); $prod_line[$j]++; $lines++; } } $price_salestax = number_format($price_salestax, 2, '.', ','); //echo '<pre>Product Details ==>';print_r($product_line);echo '</pre>'; //echo '<pre>';print_r($associated_products);echo '</pre>'; //Population of Product Details - Ends // ************************ END POPULATE DATA ***************************8 $page_num = '1'; $pdf = new PDF('P', 'mm', 'A4'); $pdf->Open(); // $num_pages=ceil(($num_products/$products_per_page)); //STARTS - Placement of products in pages as per the lines count $lines_per_page = "12"; $prod_cnt = 0; $num_pages = ceil($lines / $lines_per_page); $tmp = 0; for ($count = 0; $count < $num_pages; $count++) { for ($k = $tmp; $k < $j; $k++) { if ($prod_cnt != 12) { $products[$count][] = $k; $prod_cnt += $prod_line[$k]; } else { $tmp = $k; $prod_cnt = 0; break; } } } //ENDS - Placement of products in pages as per the lines count $current_product = 0; for ($l = 0; $l < $num_pages; $l++) { $line = array(); if ($num_pages == $page_num) { $lastpage = 1; } /*while($current_product != $page_num*$products_per_page) { $line[]=$product_line[$current_product]; $current_product++; }/*/ foreach ($products[$l] as $index => $key) { $line[] = $product_line[$key]; } $pdf->AddPage(); include "modules/Quotes/pdf_templates/header.php"; include "include/tcpdf/templates/body.php"; //if bottom > 145 then we skip the Description and T&C in every page and display only in lastpage //if you want to display the description and T&C in each page then set the display_desc_tc='true' and bottom <= 145 in pdfconfig.php if ($display_desc_tc == 'true') { if ($bottom <= 145) { include "modules/Quotes/pdf_templates/footer.php"; } } $page_num++; if ($endpage && $lastpage) { $pdf->AddPage(); include "modules/Quotes/pdf_templates/header.php"; include "modules/Quotes/pdf_templates/lastpage/body.php"; include "modules/Quotes/pdf_templates/lastpage/footer.php"; } } return $pdf; }
/** * Function to get the list of Contacts related to an activity * @param Integer $activityId * @return Array $contactsList - List of Contact ids, mapped to Contact Names */ function getActivityRelatedContacts($activityId) { $adb = PearDatabase::getInstance(); $query = 'SELECT * FROM vtiger_cntactivityrel WHERE activityid=?'; $result = $adb->pquery($query, array($activityId)); $noOfContacts = $adb->num_rows($result); $contactsList = array(); for ($i = 0; $i < $noOfContacts; ++$i) { $contactId = $adb->query_result($result, $i, 'contactid'); $contactsList[$contactId] = getContactName($contactId); } return $contactsList; }
function getSearchingListViewEntries($focus, $module, $list_result, $navigation_array, $relatedlist = '', $returnset = '', $edit_action = 'EditView', $del_action = 'Delete', $oCv = '', $page = '', $selectedfields = '', $contRelatedfields = '', $skipActions = false, $linksallowed = false) { global $log; global $mod_strings; $log->debug("Entering getSearchingListViewEntries(" . get_class($focus) . "," . $module . "," . $list_result . "," . $navigation_array . "," . $relatedlist . "," . $returnset . "," . $edit_action . "," . $del_action . "," . (is_object($oCv) ? get_class($oCv) : $oCv) . ") method ..."); $tabname = getParentTab(); global $adb, $current_user; global $app_strings; $noofrows = $adb->num_rows($list_result); $list_block = array(); global $theme; $evt_status = ''; $theme_path = "themes/" . $theme . "/"; $image_path = $theme_path . "images/"; //getting the vtiger_fieldtable entries from database $tabid = getTabid($module); //added for vtiger_customview 27/5 if ($oCv) { if (isset($oCv->list_fields)) { $focus->list_fields = $oCv->list_fields; } } if (is_array($selectedfields) && $selectedfields != '') { $focus->list_fields = $selectedfields; } // Remove fields which are made inactive $focus->filterInactiveFields($module); //Added to reduce the no. of queries logging for non-admin user -- by minnie-start $field_list = array(); require 'user_privileges/user_privileges_' . $current_user->id . '.php'; foreach ($focus->list_fields as $name => $tableinfo) { $fieldname = $focus->list_fields_name[$name]; if ($oCv) { if (isset($oCv->list_fields_name)) { $fieldname = $oCv->list_fields_name[$name]; } } if ($fieldname == 'accountname' && $module != 'Accounts') { $fieldname = 'account_id'; } if ($fieldname == 'lastname' && ($module == 'SalesOrder' || $module == 'PurchaseOrder' || $module == 'Invoice' || $module == 'Quotes' || $module == 'Calendar')) { $fieldname = 'contact_id'; } if ($fieldname == 'productname' && $module != 'Products') { $fieldname = 'product_id'; } array_push($field_list, $fieldname); } $field = array(); if ($is_admin == false) { if ($module == 'Emails') { $query = "SELECT fieldname FROM vtiger_field WHERE tabid = ? and vtiger_field.presence in (0,2)"; $params = array($tabid); } else { $profileList = getCurrentUserProfileList(); $params = array(); $query = "SELECT DISTINCT vtiger_field.fieldname\n\t\t\tFROM vtiger_field\n\t\t\tINNER JOIN vtiger_profile2field\n\t\t\tON vtiger_profile2field.fieldid = vtiger_field.fieldid\n\t\t\tINNER JOIN vtiger_def_org_field\n\t\t\tON vtiger_def_org_field.fieldid = vtiger_field.fieldid"; if ($module == "Calendar") { $query .= " WHERE vtiger_field.tabid in (9,16) and vtiger_field.presence in (0,2)"; } else { $query .= " WHERE vtiger_field.tabid = ? and vtiger_field.presence in (0,2)"; array_push($params, $tabid); } $query .= " AND vtiger_profile2field.visible = 0\n\t\t\tAND vtiger_profile2field.visible = 0\n\t\t\tAND vtiger_def_org_field.visible = 0\n\t\t\tAND vtiger_profile2field.profileid IN (" . generateQuestionMarks($profileList) . ")\n\t\t\tAND vtiger_field.fieldname IN (" . generateQuestionMarks($field_list) . ")"; array_push($params, $profileList, $field_list); } $result = $adb->pquery($query, $params); for ($k = 0; $k < $adb->num_rows($result); $k++) { $field[] = $adb->query_result($result, $k, "fieldname"); } } //constructing the uitype and columnname array $ui_col_array = array(); $params = array(); $query = "SELECT uitype, columnname, fieldname FROM vtiger_field "; if ($module == "Calendar") { $query .= " WHERE vtiger_field.tabid in (9,16) and vtiger_field.presence in (0,2)"; } else { $query .= " WHERE vtiger_field.tabid = ? and vtiger_field.presence in (0,2)"; array_push($params, $tabid); } $query .= " AND fieldname IN (" . generateQuestionMarks($field_list) . ") "; array_push($params, $field_list); $result = $adb->pquery($query, $params); $num_rows = $adb->num_rows($result); for ($i = 0; $i < $num_rows; $i++) { $tempArr = array(); $uitype = $adb->query_result($result, $i, 'uitype'); $columnname = $adb->query_result($result, $i, 'columnname'); $field_name = $adb->query_result($result, $i, 'fieldname'); $tempArr[$uitype] = $columnname; $ui_col_array[$field_name] = $tempArr; } //end if ($navigation_array['start'] != 0) { for ($i = 1; $i <= $noofrows; $i++) { $list_header = array(); //Getting the entityid if ($module != 'Users') { $entity_id = $adb->query_result($list_result, $i - 1, "crmid"); $owner_id = $adb->query_result($list_result, $i - 1, "smownerid"); } else { $entity_id = $adb->query_result($list_result, $i - 1, "id"); } foreach ($focus->list_fields as $name => $tableinfo) { $fieldname = $focus->list_fields_name[$name]; //added for vtiger_customview 27/5 if ($oCv) { if (isset($oCv->list_fields_name)) { $fieldname = $oCv->list_fields_name[$name]; if ($fieldname == 'accountname' && $module != 'Accounts') { $fieldname = 'account_id'; } if ($fieldname == 'lastname' && ($module == 'SalesOrder' || $module == 'PurchaseOrder' || $module == 'Invoice' || $module == 'Quotes' || $module == 'Calendar')) { $fieldname = 'contact_id'; } if ($fieldname == 'productname' && $module != 'Products') { $fieldname = 'product_id'; } } else { $fieldname = $focus->list_fields_name[$name]; } } else { $fieldname = $focus->list_fields_name[$name]; if ($fieldname == 'accountname' && $module != 'Accounts') { $fieldname = 'account_id'; } if ($fieldname == 'lastname' && ($module == 'SalesOrder' || $module == 'PurchaseOrder' || $module == 'Invoice' || $module == 'Quotes' || $module == 'Calendar')) { $fieldname = 'contact_id'; } if ($fieldname == 'productname' && $module != 'Products') { $fieldname = 'product_id'; } } if ($is_admin == true || $profileGlobalPermission[1] == 0 || $profileGlobalPermission[2] == 0 || in_array($fieldname, $field) || $fieldname == '' || $name == 'Close' && $module == 'Calendar') { if ($fieldname == '') { $table_name = ''; $column_name = ''; foreach ($tableinfo as $tablename => $colname) { $table_name = $tablename; $column_name = $colname; } $value = $adb->query_result($list_result, $i - 1, $colname); } else { if ($module == 'Calendar') { $act_id = $adb->query_result($list_result, $i - 1, "activityid"); $cal_sql = "select activitytype from vtiger_activity where activityid=?"; $cal_res = $adb->pquery($cal_sql, array($act_id)); if ($adb->num_rows($cal_res) >= 0) { $activitytype = $adb->query_result($cal_res, 0, "activitytype"); } } if (($module == 'Calendar' || $module == 'Emails' || $module == 'HelpDesk' || $module == 'Invoice' || $module == 'Leads' || $module == 'Contacts') && ($fieldname == 'parent_id' || $name == 'Contact Name' || $name == 'Close' || $fieldname == 'firstname')) { if ($module == 'Calendar') { if ($fieldname == 'status') { if ($activitytype == 'Task') { $fieldname = 'taskstatus'; } else { $fieldname = 'eventstatus'; } } if ($activitytype == 'Task') { if (getFieldVisibilityPermission('Calendar', $current_user->id, $fieldname) == '0') { $has_permission = 'yes'; } else { $has_permission = 'no'; } } else { if (getFieldVisibilityPermission('Events', $current_user->id, $fieldname) == '0') { $has_permission = 'yes'; } else { $has_permission = 'no'; } } } if ($module != 'Calendar' || $module == 'Calendar' && $has_permission == 'yes') { if ($fieldname == 'parent_id') { $value = getRelatedTo($module, $list_result, $i - 1); } if ($name == 'Contact Name') { $contact_id = $adb->query_result($list_result, $i - 1, "contactid"); $contact_name = getFullNameFromQResult($list_result, $i - 1, "Contacts"); $value = ""; //Added to get the contactname for activities custom view - t=2190 if ($contact_id != '' && !empty($contact_name)) { $contact_name = getContactName($contact_id); } if ($contact_name != "" && $contact_id != 'NULL') { $value = $contact_name; } } if ($fieldname == "firstname") { $first_name = textlength_check($adb->query_result($list_result, $i - 1, "firstname")); $value = $first_name; } if ($name == 'Close') { $status = $adb->query_result($list_result, $i - 1, "status"); $activityid = $adb->query_result($list_result, $i - 1, "activityid"); if (empty($activityid)) { $activityid = $adb->query_result($list_result, $i - 1, "tmp_activity_id"); } $activitytype = $adb->query_result($list_result, $i - 1, "activitytype"); // TODO - Picking activitytype when it is not present in the Custom View. // Going forward, this column should be added to the select list if not already present as a performance improvement. if (empty($activitytype)) { $activitytypeRes = $adb->pquery('SELECT activitytype FROM vtiger_activity WHERE activityid=?', array($activityid)); if ($adb->num_rows($activitytypeRes) > 0) { $activitytype = $adb->query_result($activitytypeRes, 0, 'activitytype'); } } if ($activitytype != 'Task' && $activitytype != 'Emails') { $eventstatus = $adb->query_result($list_result, $i - 1, "eventstatus"); if (isset($eventstatus)) { $status = $eventstatus; } } if ($status == 'Deferred' || $status == 'Completed' || $status == 'Held' || $status == '') { $value = ""; } else { if ($activitytype == 'Task') { $evt_status = '&status=Completed'; } else { $evt_status = '&eventstatus=Held'; } } } } else { $value = ""; } } elseif ($module == "Documents" && ($fieldname == 'filelocationtype' || $fieldname == 'filename' || $fieldname == 'filesize' || $fieldname == 'filestatus' || $fieldname == 'filetype')) { $value = $adb->query_result($list_result, $i - 1, $fieldname); if ($fieldname == 'filelocationtype') { if ($value == 'I') { $value = getTranslatedString('LBL_INTERNAL', $module); } elseif ($value == 'E') { $value = getTranslatedString('LBL_EXTERNAL', $module); } else { $value = ' --'; } } if ($fieldname == 'filename') { $downloadtype = $adb->query_result($list_result, $i - 1, 'filelocationtype'); if ($downloadtype == 'I') { $fld_value = $value; $ext_pos = strrpos($fld_value, "."); $ext = substr($fld_value, $ext_pos + 1); $ext = strtolower($ext); if ($value != '') { if ($ext == 'bin' || $ext == 'exe' || $ext == 'rpm') { $fileicon = "<img src='" . vtiger_imageurl('fExeBin.gif', $theme) . "' hspace='3' align='absmiddle' border='0'>"; } elseif ($ext == 'jpg' || $ext == 'gif' || $ext == 'bmp') { $fileicon = "<img src='" . vtiger_imageurl('fbImageFile.gif', $theme) . "' hspace='3' align='absmiddle' border='0'>"; } elseif ($ext == 'txt' || $ext == 'doc' || $ext == 'xls') { $fileicon = "<img src='" . vtiger_imageurl('fbTextFile.gif', $theme) . "' hspace='3' align='absmiddle' border='0'>"; } elseif ($ext == 'zip' || $ext == 'gz' || $ext == 'rar') { $fileicon = "<img src='" . vtiger_imageurl('fbZipFile.gif', $theme) . "' hspace='3' align='absmiddle'\tborder='0'>"; } else { $fileicon = "<img src='" . vtiger_imageurl('fbUnknownFile.gif', $theme) . "' hspace='3' align='absmiddle' border='0'>"; } } } elseif ($downloadtype == 'E') { if (trim($value) != '') { $fld_value = $value; $fileicon = "<img src='" . vtiger_imageurl('fbLink.gif', $theme) . "' alt='" . getTranslatedString('LBL_EXTERNAL_LNK', $module) . "' title='" . getTranslatedString('LBL_EXTERNAL_LNK', $module) . "' hspace='3' align='absmiddle' border='0'>"; } else { $fld_value = '--'; $fileicon = ''; } } else { $fld_value = ' --'; $fileicon = ''; } $file_name = $adb->query_result($list_result, $i - 1, 'filename'); $notes_id = $adb->query_result($list_result, $i - 1, 'crmid'); $folder_id = $adb->query_result($list_result, $i - 1, 'folderid'); $download_type = $adb->query_result($list_result, $i - 1, 'filelocationtype'); $file_status = $adb->query_result($list_result, $i - 1, 'filestatus'); $fileidQuery = "select attachmentsid from vtiger_seattachmentsrel where crmid=?"; $fileidres = $adb->pquery($fileidQuery, array($notes_id)); $fileid = $adb->query_result($fileidres, 0, 'attachmentsid'); if ($file_name != '' && $file_status == 1) { if ($download_type == 'I') { $fld_value = "<a href='index.php?module=uploads&action=downloadfile&entityid={$notes_id}&fileid={$fileid}' title='" . getTranslatedString("LBL_DOWNLOAD_FILE", $module) . "' onclick='javascript:dldCntIncrease({$notes_id});'>" . $fld_value . "</a>"; } elseif ($download_type == 'E') { $fld_value = "<a target='_blank' href='{$file_name}' onclick='javascript:dldCntIncrease({$notes_id});' title='" . getTranslatedString("LBL_DOWNLOAD_FILE", $module) . "'>" . $fld_value . "</a>"; } else { $fld_value = ' --'; } } $value = $fileicon . $fld_value; } if ($fieldname == 'filesize') { $downloadtype = $adb->query_result($list_result, $i - 1, 'filelocationtype'); if ($downloadtype == 'I') { $filesize = $value; if ($filesize < 1024) { $value = $filesize . ' B'; } elseif ($filesize > 1024 && $filesize < 1048576) { $value = round($filesize / 1024, 2) . ' KB'; } else { if ($filesize > 1048576) { $value = round($filesize / (1024 * 1024), 2) . ' MB'; } } } else { $value = ' --'; } } if ($fieldname == 'filestatus') { $filestatus = $value; if ($filestatus == 1) { $value = getTranslatedString('yes', $module); } elseif ($filestatus == 0) { $value = getTranslatedString('no', $module); } else { $value = ' --'; } } if ($fieldname == 'filetype') { $downloadtype = $adb->query_result($list_result, $i - 1, 'filelocationtype'); $filetype = $adb->query_result($list_result, $i - 1, 'filetype'); if ($downloadtype == 'E' || $downloadtype != 'I') { $value = ' --'; } else { $value = $filetype; } } if ($fieldname == 'notecontent') { $value = decode_html($value); $value = textlength_check($value); } } elseif ($module == "Products" && $name == "Related to") { $value = getRelatedTo($module, $list_result, $i - 1); } elseif ($name == 'Contact Name' && ($module == 'SalesOrder' || $module == 'Quotes' || $module == 'PurchaseOrder')) { if ($name == 'Contact Name') { $contact_id = $adb->query_result($list_result, $i - 1, "contactid"); $contact_name = getFullNameFromQResult($list_result, $i - 1, "Contacts"); $value = ""; if ($contact_name != "" && $contact_id != 'NULL') { $value = $contact_name; } } } elseif ($name == 'Product') { $product_id = textlength_check($adb->query_result($list_result, $i - 1, "productname")); $value = $product_id; } elseif ($name == 'Account Name') { //modified for vtiger_customview 27/5 if ($module == 'Accounts') { $account_id = $adb->query_result($list_result, $i - 1, "crmid"); //$account_name = getAccountName($account_id); $account_name = textlength_check($adb->query_result($list_result, $i - 1, "accountname")); $value = $account_name; } elseif ($module == 'Potentials' || $module == 'Contacts' || $module == 'Invoice' || $module == 'SalesOrder' || $module == 'Quotes') { //Potential,Contacts,Invoice,SalesOrder & Quotes records sort by Account Name //$accountname = textlength_check($adb->query_result($list_result,$i-1,"accountname")); $accountid = $adb->query_result($list_result, $i - 1, "accountid"); $accountname = textlength_check(getAccountName($accountid)); $value = $accountname; } else { $account_id = $adb->query_result($list_result, $i - 1, "accountid"); $account_name = getAccountName($account_id); $acc_name = textlength_check($account_name); $value = $acc_name; } } elseif (($module == 'HelpDesk' || $module == 'PriceBook' || $module == 'Quotes' || $module == 'PurchaseOrder' || $module == 'Faq') && $name == 'Product Name') { if ($module == 'HelpDesk' || $module == 'Faq') { $product_id = $adb->query_result($list_result, $i - 1, "product_id"); } else { $product_id = $adb->query_result($list_result, $i - 1, "productid"); } if ($product_id != '') { $product_name = getProductName($product_id); } else { $product_name = ''; } $value = textlength_check($product_name); } elseif ($module == 'Quotes' && $name == 'Potential Name' || $module == 'SalesOrder' && $name == 'Potential Name') { $potential_id = $adb->query_result($list_result, $i - 1, "potentialid"); $potential_name = getPotentialName($potential_id); $value = textlength_check($potential_name); } elseif ($module == 'Emails' && $relatedlist != '' && ($name == 'Subject' || $name == 'Date Sent' || $name == 'To')) { $list_result_count = $i - 1; $tmp_value = getValue($ui_col_array, $list_result, $fieldname, $focus, $module, $entity_id, $list_result_count, "list", "", $returnset, $oCv->setdefaultviewid, false); $tmp_value = evvt_strip_html_links($tmp_value); $value = textlength_check($tmp_value); if ($name == 'Date Sent') { $sql = "select email_flag from vtiger_emaildetails where emailid=?"; $result = $adb->pquery($sql, array($entity_id)); $email_flag = $adb->query_result($result, 0, "email_flag"); if ($email_flag != 'SAVED') { $value = getValue($ui_col_array, $list_result, $fieldname, $focus, $module, $entity_id, $list_result_count, "list", "", $returnset, $oCv->setdefaultviewid, false); $value = evvt_strip_html_links($value); } else { $value = ''; } } } elseif ($module == 'Calendar' && ($fieldname != 'taskstatus' && $fieldname != 'eventstatus')) { if ($activitytype == 'Task') { if (getFieldVisibilityPermission('Calendar', $current_user->id, $fieldname) == '0') { $list_result_count = $i - 1; $value = getValue($ui_col_array, $list_result, $fieldname, $focus, $module, $entity_id, $list_result_count, "list", "", $returnset, $oCv->setdefaultviewid, false); $value = evvt_strip_html_links($value); } else { $value = ''; } } else { if (getFieldVisibilityPermission('Events', $current_user->id, $fieldname) == '0') { $list_result_count = $i - 1; $value = getValue($ui_col_array, $list_result, $fieldname, $focus, $module, $entity_id, $list_result_count, "list", "", $returnset, $oCv->setdefaultviewid, false); $value = evvt_strip_html_links($value); } else { $value = ''; } } } else { $list_result_count = $i - 1; $value = getValue($ui_col_array, $list_result, $fieldname, $focus, $module, $entity_id, $list_result_count, "list", "", $returnset, $oCv->setdefaultviewid, false); $value = evvt_strip_html_links($value); } } // vtlib customization: For listview javascript triggers //$value = "$value <span type='vtlib_metainfo' vtrecordid='{$entity_id}' vtfieldname='{$fieldname}' vtmodule='$module' style='display:none;'></span>"; // END if ($module == "Calendar" && $name == $app_strings['Close']) { if (isPermitted("Calendar", "EditView") == 'yes') { if (getFieldVisibilityPermission('Events', $current_user->id, 'eventstatus') == '0' || getFieldVisibilityPermission('Calendar', $current_user->id, 'taskstatus') == '0') { array_push($list_header, $value); } } } else { $list_header[] = $value; } } } $varreturnset = ''; $varreturnset = $returnset; $webserviceEntityId = vtyiicpng_getWSEntityId($module); $list_header[] = $webserviceEntityId . $entity_id; $list_header[] = $module; $list_block[$entity_id] = $list_header; } } $log->debug("Exiting getSearchingListViewEntries method ..."); return $list_block; }
function getRequestData($return_id) { global $adb; $cont_qry = "select * from vtiger_cntactivityrel where activityid=?"; $cont_res = $adb->pquery($cont_qry, array($return_id)); $noofrows = $adb->num_rows($cont_res); $cont_id = array(); if ($noofrows > 0) { for ($i = 0; $i < $noofrows; $i++) { $cont_id[] = $adb->query_result($cont_res, $i, "contactid"); } } $cont_name = ''; foreach ($cont_id as $key => $id) { if ($id != '') { $cont_name .= getContactName($id) . ', '; } } $cont_name = trim($cont_name, ', '); $mail_data = array(); $mail_data['user_id'] = $_REQUEST['assigned_user_id']; $mail_data['subject'] = $_REQUEST['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['parent_name']; $mail_data['contact_name'] = $cont_name; $mail_data['description'] = $_REQUEST['description']; $mail_data['assign_type'] = $_REQUEST['assigntype']; $mail_data['group_name'] = getGroupName($_REQUEST['assigned_group_id']); $mail_data['mode'] = $_REQUEST['mode']; $value = getaddEventPopupTime($_REQUEST['time_start'], $_REQUEST['time_end'], '24'); $start_hour = $value['starthour'] . ':' . $value['startmin'] . '' . $value['startfmt']; if ($_REQUEST['activity_mode'] != 'Task') { $end_hour = $value['endhour'] . ':' . $value['endmin'] . '' . $value['endfmt']; } $mail_data['st_date_time'] = getDisplayDate($_REQUEST['date_start']) . " " . $start_hour; $mail_data['end_date_time'] = getDisplayDate($_REQUEST['due_date']) . " " . $end_hour; $mail_data['location'] = vtlib_purify($_REQUEST['location']); return $mail_data; }
$value['repeatMonth'] = $recurringInfo['repeatmonth_type']; if ($recurringInfo['repeatmonth_type'] == 'date') { $value['repeatMonth_date'] = $recurringInfo['repeatmonth_date']; } else { $value['repeatMonth_daytype'] = $recurringInfo['repeatmonth_daytype']; $value['repeatMonth_day'] = $recurringInfo['dayofweek_to_repeat'][0]; } } } else { $value['recurringcheck'] = 'No'; } } else { if (isset($_REQUEST['contact_id']) && $_REQUEST['contact_id'] != '') { $contactId = vtlib_purify($_REQUEST['contact_id']); $smarty->assign("CONTACTSID", $contactId); $contact_name = "<option value=" . $contactId . ">" . getContactName($contactId) . "</option>"; $smarty->assign("CONTACTSNAME", $contact_name); $account_id = vtlib_purify($_REQUEST['account_id']); $account_name = getAccountName($account_id); } } if (isset($_REQUEST['isDuplicate']) && $_REQUEST['isDuplicate'] == 'true') { $focus->id = ""; $focus->mode = ''; } if (empty($_REQUEST['record']) && $focus->mode != 'edit') { setObjectValuesFromRequest($focus); } $userDetails = getOtherUserName($current_user->id); $to_email = getUserEmailId('id', $current_user->id); $smarty->assign("CURRENTUSERID", $current_user->id);
/** This function returns the detail view form ec_field and and its properties in array format. * Param $uitype - UI type of the ec_field * Param $fieldname - Form ec_field name * Param $fieldlabel - Form ec_field label name * Param $col_fields - array contains the ec_fieldname and values * Param $generatedtype - Field generated type (default is 1) * Param $tabid - ec_tab id to which the Field belongs to (default is "") * Return type is an array */ function getDetailViewOutputHtml($uitype, $fieldname, $fieldlabel, $col_fields, $generatedtype, $tabid = '') { global $log; $log->debug("Entering getDetailViewOutputHtml() method ..."); global $adb; global $mod_strings; global $app_strings; global $current_user; //$fieldlabel = from_html($fieldlabel); $custfld = ''; $value = ''; $arr_data = array(); $label_fld = array(); $data_fld = array(); if ($generatedtype == 2) { $mod_strings[$fieldlabel] = $fieldlabel; } if (!isset($mod_strings[$fieldlabel])) { $mod_strings[$fieldlabel] = $fieldlabel; } if ($col_fields[$fieldname] == '--None--') { $col_fields[$fieldname] = ''; } if ($uitype == 116) { $label_fld[] = $mod_strings[$fieldlabel]; $label_fld[] = $col_fields[$fieldname]; } elseif ($uitype == 13) { $label_fld[] = $mod_strings[$fieldlabel]; $temp_val = $col_fields[$fieldname]; $label_fld[] = $temp_val; $linkvalue = getComposeMailUrl($temp_val); $label_fld["link"] = $linkvalue; } elseif ($uitype == 15 || $uitype == 16 || $uitype == 115 || $uitype == 111) { $label_fld[] = $mod_strings[$fieldlabel]; $label_fld[] = $col_fields[$fieldname]; } elseif ($uitype == 10) { if (isset($app_strings[$fieldlabel])) { $label_fld[] = $app_strings[$fieldlabel]; } elseif (isset($mod_strings[$fieldlabel])) { $label_fld[] = $mod_strings[$fieldlabel]; } else { $label_fld[] = $fieldlabel; } $value = $col_fields[$fieldname]; $module_entityname = ""; if ($value != '') { $query = "SELECT ec_entityname.* FROM ec_crmentityrel inner join ec_entityname on ec_entityname.modulename=ec_crmentityrel.relmodule inner join ec_tab on ec_tab.name=ec_crmentityrel.module WHERE ec_tab.tabid='" . $tabid . "' and ec_entityname.entityidfield='" . $fieldname . "'"; $fldmod_result = $adb->query($query); $rownum = $adb->num_rows($fldmod_result); if ($rownum > 0) { $rel_modulename = $adb->query_result($fldmod_result, 0, 'modulename'); $rel_tablename = $adb->query_result($fldmod_result, 0, 'tablename'); $rel_entityname = $adb->query_result($fldmod_result, 0, 'fieldname'); $rel_entityid = $adb->query_result($fldmod_result, 0, 'entityidfield'); $module_entityname = getEntityNameForTen($rel_tablename, $rel_entityname, $fieldname, $value); } } $label_fld[] = $module_entityname; $label_fld["secid"] = $value; $label_fld["link"] = "index.php?module=" . $rel_modulename . "&action=DetailView&record=" . $value; } elseif ($uitype == 33) { $label_fld[] = $mod_strings[$fieldlabel]; $label_fld[] = str_ireplace(' |##| ', ', ', $col_fields[$fieldname]); } elseif ($uitype == 17) { $label_fld[] = $mod_strings[$fieldlabel]; $label_fld[] = $col_fields[$fieldname]; //$label_fld[] = '<a href="http://'.$col_fields[$fieldname].'" target="_blank">'.$col_fields[$fieldname].'</a>'; } elseif ($uitype == 19) { //$tmp_value = str_replace("<","<",nl2br($col_fields[$fieldname])); //$tmp_value = str_replace(">",">",$tmp_value); //$col_fields[$fieldname]= make_clickable($tmp_value); $label_fld[] = $mod_strings[$fieldlabel]; $label_fld[] = $col_fields[$fieldname]; } elseif ($uitype == 20 || $uitype == 21 || $uitype == 22 || $uitype == 24) { //$col_fields[$fieldname]=nl2br($col_fields[$fieldname]); $label_fld[] = $mod_strings[$fieldlabel]; $label_fld[] = $col_fields[$fieldname]; } elseif ($uitype == 51 || $uitype == 50 || $uitype == 73) { $account_id = $col_fields[$fieldname]; $account_name = ""; if ($account_id != '') { $account_name = getAccountName($account_id); } //Account Name View $label_fld[] = $mod_strings[$fieldlabel]; $label_fld[] = $account_name; $label_fld["secid"] = $account_id; $label_fld["link"] = "index.php?module=Accounts&action=DetailView&record=" . $account_id; } elseif ($uitype == 52 || $uitype == 77 || $uitype == 101) { $label_fld[] = $mod_strings[$fieldlabel]; $user_id = $col_fields[$fieldname]; $user_name = getUserName($user_id); $label_fld[] = $user_name; } elseif ($uitype == 53) { $user_id = $col_fields[$fieldname]; $user_name = getUserName($user_id); $label_fld[] = $mod_strings[$fieldlabel]; $label_fld[] = $user_name; } elseif ($uitype == 1004) { if (isset($mod_strings[$fieldlabel])) { $label_fld[] = $mod_strings[$fieldlabel]; } else { $label_fld[] = $fieldlabel; } $value = $col_fields[$fieldname]; $label_fld[] = getUserName($value); } elseif ($uitype == 55) { if ($tabid == 4) { $query = "select ec_contactdetails.imagename from ec_contactdetails where contactid=" . $col_fields['record_id']; $result = $adb->query($query); $imagename = $adb->query_result($result, 0, 'imagename'); if ($imagename != '') { $imgpath = "test/contact/" . $imagename; $label_fld[] = $mod_strings[$fieldlabel]; //This is used to show the contact image as a thumbnail near First Name field //$label_fld["cntimage"] ='<div style="position:absolute;height=100px"><img class="thumbnail" src="'.$imgpath.'" width="60" height="60" border="0"></div> '.$mod_strings[$fieldlabel]; } else { $label_fld[] = $mod_strings[$fieldlabel]; } } else { $label_fld[] = $mod_strings[$fieldlabel]; } $value = $col_fields[$fieldname]; $sal_value = $col_fields["salutationtype"]; if ($sal_value == '--None--') { $sal_value = ''; } $label_fld["salut"] = $sal_value; $label_fld[] = $value; //$label_fld[] =$sal_value.' '.$value; } elseif ($uitype == 56) { $label_fld[] = $mod_strings[$fieldlabel]; $value = $col_fields[$fieldname]; if ($value == 1) { //Since "yes" is not been translated it is given as app strings here.. $display_val = $app_strings['yes']; } else { $display_val = ''; } $label_fld[] = $display_val; } elseif ($uitype == 57) { $label_fld[] = $mod_strings[$fieldlabel]; $contact_id = $col_fields[$fieldname]; $contact_name = ""; if (trim($contact_id) != '') { $contact_name = getContactName($contact_id); } $label_fld[] = $contact_name; $label_fld["secid"] = $contact_id; $label_fld["link"] = "index.php?module=Contacts&action=DetailView&record=" . $contact_id; } elseif ($uitype == 154) { $label_fld[] = $mod_strings[$fieldlabel]; $cangkusid = $col_fields[$fieldname]; $cangkuname = ""; if (trim($cangkusid) != '') { $cangkuname = getCangkuName($cangkusid); } $label_fld[] = $cangkuname; $label_fld["secid"] = $cangkusid; $label_fld["link"] = "index.php?module=Cangkus&action=DetailView&record=" . $cangkusid; } elseif ($uitype == 155) { $label_fld[] = $mod_strings[$fieldlabel]; $cangkusid = $col_fields[$fieldname]; $cangkuname = ""; if (trim($cangkusid) != '') { $cangkuname = getCangkuName($cangkusid); } $label_fld[] = $cangkuname; $label_fld["secid"] = $cangkusid; // $label_fld["link"] = "index.php?module=Cangkus&action=DetailView&record=".$cangkusid; } elseif ($uitype == 58) { $label_fld[] = $mod_strings[$fieldlabel]; $campaign_id = $col_fields[$fieldname]; if ($campaign_id != '') { $campaign_name = getCampaignName($campaign_id); } $label_fld[] = $campaign_name; $label_fld["secid"] = $campaign_id; $label_fld["link"] = "index.php?module=Campaigns&action=DetailView&record=" . $campaign_id; } elseif ($uitype == 59) { $label_fld[] = $mod_strings[$fieldlabel]; $product_id = $col_fields[$fieldname]; if ($product_id != '') { $product_name = getProductName($product_id); } //Account Name View $label_fld[] = $product_name; $label_fld["secid"] = $product_id; $label_fld["link"] = "index.php?module=Products&action=DetailView&record=" . $product_id; } elseif ($uitype == 61) { global $adb; $label_fld[] = $mod_strings[$fieldlabel]; if ($tabid == 10) { $attach_result = $adb->query("select * from ec_seattachmentsrel where crmid = " . $col_fields['record_id']); for ($ii = 0; $ii < $adb->num_rows($attach_result); $ii++) { $attachmentid = $adb->query_result($attach_result, $ii, 'attachmentsid'); if ($attachmentid != '') { $attachquery = "select * from ec_attachments where attachmentsid=" . $attachmentid; $result = $adb->query($attachquery); $attachmentsname = $adb->query_result($result, 0, 'name'); if ($attachmentsname != '') { $custfldval = '<a href = "index.php?module=uploads&action=downloadfile&return_module=' . $col_fields['record_module'] . '&fileid=' . $attachmentid . '&entityid=' . $col_fields['record_id'] . '">' . $attachmentsname . '</a>'; } else { $custfldval = ''; } } $label_fld['options'][] = $custfldval; } } else { $result = $adb->query("select * from ec_seattachmentsrel where crmid = " . $col_fields['record_id']); $attachmentid = $adb->query_result($result, 0, 'attachmentsid'); if ($col_fields[$fieldname] == '' && $attachmentid != '') { $attachquery = "select * from ec_attachments where attachmentsid=" . $attachmentid; $result = $adb->query($attachquery); $col_fields[$fieldname] = $adb->query_result($result, 0, 'name'); } //This is added to strip the crmid and _ from the file name and show the original filename $org_filename = ltrim($col_fields[$fieldname], $col_fields['record_id'] . '_'); if ($org_filename != '') { $custfldval = '<a href = "index.php?module=uploads&action=downloadfile&return_module=' . $col_fields['record_module'] . '&fileid=' . $attachmentid . '&entityid=' . $col_fields['record_id'] . '">' . $org_filename . '</a>'; } else { $custfldval = ''; } } $label_fld[] = $custfldval; } elseif ($uitype == 69) { $label_fld[] = $mod_strings[$fieldlabel]; if ($tabid == 14) { $images = array(); $image_array = array(); $imagepath_array = array(); $query = "select productname, ec_attachments.path, ec_attachments.attachmentsid, ec_attachments.name from ec_products left join ec_seattachmentsrel on ec_seattachmentsrel.crmid=ec_products.productid inner join ec_attachments on ec_attachments.attachmentsid=ec_seattachmentsrel.attachmentsid where (ec_attachments.type like '%image%' or ec_attachments.type like '%img%') and productid=" . $col_fields['record_id']; $result_image = $adb->query($query); for ($image_iter = 0; $image_iter < $adb->num_rows($result_image); $image_iter++) { $image_id_array[] = $adb->query_result($result_image, $image_iter, 'attachmentsid'); $image_array[] = $adb->query_result($result_image, $image_iter, 'name'); $imagepath_array[] = $adb->query_result($result_image, $image_iter, 'path'); } if (count($image_array) > 1) { // if(count($image_array) < 4) // $sides=count($image_array)*2; // else // $sides=8; // // $image_lists = '<div id="Carousel" style="position:relative;vertical-align: middle;"> // <img src="modules/Products/placeholder.gif" width="571" height="117" style="position:relative;"> // </div><script>var Car_NoOfSides='.$sides.'; Car_Image_Sources=new Array('; // // for($image_iter=0;$image_iter < count($image_array);$image_iter++) // { // $images[]='"'.$imagepath_array[$image_iter].$image_id_array[$image_iter]."_".base64_encode_filename($image_array[$image_iter]).'","'.$imagepath_array[$image_iter].$image_id_array[$image_iter]."_".base64_encode_filename($image_array[$image_iter]).'"'; // } // $image_lists .=implode(',',$images).'); /**</script><script language="JavaScript" type="text/javascript" src="modules/Products/Productsslide.js"></script><script language="JavaScript" type="text/javascript">Carousel();</script>';**/ // $label_fld[] =$image_lists; $num = count($image_array); for ($image_iter = 0; $image_iter < count($image_array); $image_iter++) { $images[] = $imagepath_array[$image_iter] . $image_id_array[$image_iter] . "_" . base64_encode_filename($image_array[$image_iter]); } for ($i = 0; $i < $num; $i++) { $image_lists .= '<a href="' . $images[$i] . '" target="_blank"><img src="' . $images[$i] . '" border="0" width="150" height="150" ></a> '; } //end $label_fld[] = $image_lists; } elseif (count($image_array) == 1) { $label_fld[] = '<a href="' . $imagepath_array[0] . $image_id_array[0] . "_" . base64_encode_filename($image_array[0]) . '" target="_blank" ><img src="' . $imagepath_array[0] . $image_id_array[0] . "_" . base64_encode_filename($image_array[0]) . '" border="0" width="150" height="150"></a>'; } else { $label_fld[] = ''; } } if ($tabid == 4) { //$imgpath = getModuleFileStoragePath('Contacts').$col_fields[$fieldname]; $sql = "select ec_attachments.* from ec_attachments inner join ec_seattachmentsrel on ec_seattachmentsrel.attachmentsid = ec_attachments.attachmentsid where (ec_attachments.type like '%image%' or ec_attachments.type like '%img%') and ec_seattachmentsrel.crmid='" . $col_fields['record_id'] . "'"; $image_res = $adb->query($sql); $image_id = $adb->query_result($image_res, 0, 'attachmentsid'); $image_path = $adb->query_result($image_res, 0, 'path'); $image_name = $adb->query_result($image_res, 0, 'name'); $imgpath = $image_path . $image_id . "_" . base64_encode_filename($image_name); $width = 160; $height = get_scale_height($imgpath, $width); if ($image_name != '') { $label_fld[] = '<img src="' . $imgpath . '" width="' . $width . '" height="' . $height . '" class="reflect" alt="">'; } else { $label_fld[] = ''; } } } elseif ($uitype == 63) { $label_fld[] = $mod_strings[$fieldlabel]; $label_fld[] = $col_fields[$fieldname] . 'h ' . $col_fields['duration_minutes'] . 'm'; } elseif ($uitype == 6) { $label_fld[] = $mod_strings[$fieldlabel]; if ($col_fields[$fieldname] == '0') { $col_fields[$fieldname] = ''; } if ($col_fields['time_start'] != '') { $start_time = $col_fields['time_start']; } if (!isValidDate($col_fields[$fieldname])) { $displ_date = ''; } else { $displ_date = getDisplayDate($col_fields[$fieldname]); } $label_fld[] = $displ_date . ' ' . $start_time; } elseif ($uitype == 5 || $uitype == 23 || $uitype == 70) { $label_fld[] = $mod_strings[$fieldlabel]; $cur_date_val = $col_fields[$fieldname]; $end_time = ""; if (isset($col_fields['time_end']) && $col_fields['time_end'] != '' && ($tabid == 9 || $tabid == 16) && $uitype == 23) { $end_time = $col_fields['time_end']; } if (!isValidDate($cur_date_val)) { $display_val = ''; } else { $display_val = getDisplayDate($cur_date_val); } $label_fld[] = $display_val . ' ' . $end_time; } elseif ($uitype == 1007) { $label_fld[] = isset($mod_strings[$fieldlabel]) ? $mod_strings[$fieldlabel] : $fieldlabel; $cur_approve_val = $col_fields[$fieldname]; $label_fld[] = getApproveStatusById($cur_approve_val); } elseif ($uitype == 1008) { if (isset($mod_strings[$fieldlabel])) { $label_fld[] = $mod_strings[$fieldlabel]; } else { $label_fld[] = $fieldlabel; } $value = $col_fields[$fieldname]; $label_fld[] = getUserName($value); } elseif ($uitype == 71 || $uitype == 72) { $label_fld[] = $mod_strings[$fieldlabel]; $display_val = $col_fields[$fieldname]; $label_fld[] = $display_val; } elseif ($uitype == 75 || $uitype == 81) { $vendor_name = ""; $label_fld[] = $mod_strings[$fieldlabel]; $vendor_id = $col_fields[$fieldname]; if ($vendor_id != '') { $vendor_name = getVendorName($vendor_id); } $label_fld[] = $vendor_name; $label_fld["secid"] = $vendor_id; $label_fld["link"] = "index.php?module=Vendors&action=DetailView&record=" . $vendor_id; //$label_fld[] = '<a href="index.php?module=Products&action=VendorDetailView&record='.$vendor_id.'">'.$vendor_name.'</a>'; } elseif ($uitype == 76) { $label_fld[] = $mod_strings[$fieldlabel]; $potential_id = $col_fields[$fieldname]; if ($potential_id != '') { $potential_name = getPotentialName($potential_id); } $label_fld[] = $potential_name; $label_fld["secid"] = $potential_id; $label_fld["link"] = "index.php?module=Potentials&action=DetailView&record=" . $potential_id; } elseif ($uitype == 78) { $label_fld[] = $mod_strings[$fieldlabel]; $quote_id = $col_fields[$fieldname]; if ($quote_id != '') { $quote_name = getQuoteName($quote_id); } $label_fld[] = $quote_name; $label_fld["secid"] = $quote_id; $label_fld["link"] = "index.php?module=Quotes&action=DetailView&record=" . $quote_id; } elseif ($uitype == 79) { $label_fld[] = $mod_strings[$fieldlabel]; $purchaseorder_id = $col_fields[$fieldname]; if ($purchaseorder_id != '') { $purchaseorder_name = getPoName($purchaseorder_id); } $label_fld[] = $purchaseorder_name; $label_fld["secid"] = $purchaseorder_id; $label_fld["link"] = "index.php?module=PurchaseOrder&action=DetailView&record=" . $purchaseorder_id; } elseif ($uitype == 80) { $label_fld[] = $mod_strings[$fieldlabel]; $salesorder_id = $col_fields[$fieldname]; if ($salesorder_id != '') { $salesorder_name = getSoName($salesorder_id); } $label_fld[] = $salesorder_name; $label_fld["secid"] = $salesorder_id; $label_fld["link"] = "index.php?module=SalesOrder&action=DetailView&record=" . $salesorder_id; } elseif ($uitype == 1010) { $label_fld[] = $mod_strings[$fieldlabel]; $invoice_id = $col_fields[$fieldname]; $invoice_name = ""; if ($invoice_id != '') { $invoice_name = getInvoiceName($invoice_id); } $label_fld[] = $invoice_name; $label_fld["secid"] = $invoice_id; $label_fld["link"] = "index.php?module=Invoice&action=DetailView&record=" . $invoice_id; } elseif ($uitype == 30) { $rem_days = 0; $rem_hrs = 0; $rem_min = 0; $reminder_str = ""; $rem_days = floor($col_fields[$fieldname] / (24 * 60)); $rem_hrs = floor(($col_fields[$fieldname] - $rem_days * 24 * 60) / 60); $rem_min = ($col_fields[$fieldname] - $rem_days * 24 * 60) % 60; $label_fld[] = $mod_strings[$fieldlabel]; if ($col_fields[$fieldname]) { $reminder_str = $rem_days . ' ' . $mod_strings['LBL_DAYS'] . ' ' . $rem_hrs . ' ' . $mod_strings['LBL_HOURS'] . ' ' . $rem_min . ' ' . $mod_strings['LBL_MINUTES'] . ' ' . $mod_strings['LBL_BEFORE_EVENT']; } $label_fld[] = ' ' . $reminder_str; } elseif ($uitype == 85) { $label_fld[] = $mod_strings[$fieldlabel]; $label_fld[] = $col_fields[$fieldname]; } elseif ($uitype == 86) { $label_fld[] = $mod_strings[$fieldlabel]; $label_fld[] = $col_fields[$fieldname]; } elseif ($uitype == 87) { $label_fld[] = $mod_strings[$fieldlabel]; $label_fld[] = $col_fields[$fieldname]; } elseif ($uitype == 88) { $label_fld[] = $mod_strings[$fieldlabel]; $label_fld[] = $col_fields[$fieldname]; } elseif ($uitype == 89) { $label_fld[] = $mod_strings[$fieldlabel]; $label_fld[] = $col_fields[$fieldname]; } elseif ($uitype == 1006) { //added by dingjianting on 2007-1-27 for new module Exhibitions $catalog_name = ""; $label_fld[] = $mod_strings[$fieldlabel]; $catalogid = $col_fields[$fieldname]; if ($catalogid != '') { $catalog_name = getCatalogName($catalogid); } $label_fld[] = $catalog_name; $label_fld["secid"] = $catalogid; $label_fld["link"] = "index.php?module=Catalogs&action=CatalogDetailView&parenttab=Product&catalogid=" . $catalogid; } elseif ($uitype == 1009) { $vcontact_name = ""; $label_fld[] = $mod_strings[$fieldlabel]; $vcontactsid = $col_fields[$fieldname]; if ($vcontactsid != '') { $vcontact_name = getVcontactName($vcontactsid); } $label_fld[] = $vcontact_name; $label_fld["secid"] = $vcontactsid; $label_fld["link"] = "index.php?module=Vcontacts&action=DetailView&record=" . $vcontactsid; } elseif ($uitype == 1013) { $faqcategory_name = ""; $label_fld[] = $mod_strings[$fieldlabel]; $faqcategoryid = $col_fields[$fieldname]; if ($faqcategoryid != '') { $faqcategory_name = getFaqcategoryName($faqcategoryid); } $label_fld[] = $faqcategory_name; $label_fld["secid"] = $faqcategoryid; $label_fld["link"] = "index.php?module=Faqcategorys&action=FaqcategoryDetailView&faqcategoryid=" . $faqcategoryid; } else { $label_fld[] = $mod_strings[$fieldlabel]; if ($col_fields[$fieldname] == '0') { $col_fields[$fieldname] = ''; } $label_fld[] = $col_fields[$fieldname]; } $label_fld[] = $uitype; $log->debug("Exiting getDetailViewOutputHtml method ..."); return $label_fld; }
/** * Function to get events list scheduled between specified dates * @param array $calendar - collection of objects and strings * @param string $start_date - date string * @param string $end_date - date string * @param string $info - string 'listcnt' or empty string. if 'listcnt' means it returns no. of events and no. of pending events in array format else it returns events list in array format * return array $Entries - eventslists in array format */ function getEventList(&$calendar, $start_date, $end_date, $info = '') { global $log, $theme; $Entries = array(); $category = getParentTab(); global $adb, $current_user, $mod_strings, $app_strings, $cal_log, $listview_max_textlength, $list_max_entries_per_page; require 'user_privileges/user_privileges_' . $current_user->id . '.php'; require 'user_privileges/sharing_privileges_' . $current_user->id . '.php'; $cal_log->debug("Entering getEventList() method..."); //modified query to fix the ticket #5014 & #5180 $and = "AND ((((vtiger_activity.date_start between ? AND ?)\n\t\tOR (vtiger_activity.date_start < ? AND vtiger_activity.due_date > ?)\n\t\tOR (vtiger_activity.due_date between ? AND ?))\n\t\tAND (vtiger_recurringevents.activityid is NULL))\n\t\tOR (vtiger_recurringevents.recurringdate BETWEEN ? AND ?))"; $count_qry = "SELECT count(*) as count FROM vtiger_activity\n\t\tINNER JOIN vtiger_crmentity\n\t\tON vtiger_crmentity.crmid = vtiger_activity.activityid\n\t\tLEFT JOIN vtiger_groups\n\t\tON vtiger_groups.groupid = vtiger_crmentity.smownerid\n\t\tLEFT JOIN vtiger_users\n\t\tON vtiger_users.id = vtiger_crmentity.smownerid\n\t\tLEFT OUTER JOIN vtiger_recurringevents\n\t\tON vtiger_recurringevents.activityid = vtiger_activity.activityid\n\t\tWHERE vtiger_crmentity.deleted = 0\n\t\tAND (vtiger_activity.activitytype not in ('Emails','Task')) {$and} "; $query = "SELECT vtiger_groups.groupname, vtiger_users.user_name,vtiger_crmentity.smownerid, vtiger_crmentity.crmid,\n \t\tvtiger_activity.* FROM vtiger_activity\n\t\tINNER JOIN vtiger_crmentity\n\t\t\tON vtiger_crmentity.crmid = vtiger_activity.activityid\n\t\tLEFT JOIN vtiger_groups\n\t\t\tON vtiger_groups.groupid = vtiger_crmentity.smownerid\n\t\tLEFT JOIN vtiger_users\n\t \t\tON vtiger_users.id = vtiger_crmentity.smownerid \n\t\tLEFT OUTER JOIN vtiger_recurringevents\n\t\t\tON vtiger_recurringevents.activityid = vtiger_activity.activityid\n\t\tWHERE vtiger_crmentity.deleted = 0\n\t\t\tAND (vtiger_activity.activitytype not in ('Emails','Task')) {$and} "; $list_query = $query . " AND vtiger_crmentity.smownerid = " . $current_user->id; // User Select Customization: Changes should made also in (Appointment::readAppointment) $query_filter_prefix = calendarview_getSelectedUserFilterQuerySuffix(); $query .= $query_filter_prefix; $count_query .= $query_filter_prefix; // END $params = $info_params = array($start_date, $end_date, $start_date, $end_date, $start_date, $end_date, $start_date, $end_date); if ($info != '') { $groupids = explode(",", fetchUserGroupids($current_user->id)); // Explode can be removed, once implode is removed from fetchUserGroupids if (count($groupids) > 0) { $com_q = " AND (vtiger_crmentity.smownerid = ?\n\t\t\t\t\tOR vtiger_groups.groupid in (" . generateQuestionMarks($groupids) . "))\n\t\t\t\t\tGROUP BY vtiger_activity.activityid"; } else { $com_q = " AND vtiger_crmentity.smownerid = ?\n\t\t\t\tGROUP BY vtiger_activity.activityid"; } $pending_query = $query . " AND (vtiger_activity.eventstatus = 'Planned')" . $com_q; $total_q = $query . "" . $com_q; array_push($info_params, $current_user->id); if (count($groupids) > 0) { array_push($info_params, $groupids); } $total_res = $adb->pquery($total_q, $info_params); $total = $adb->num_rows($total_res); $res = $adb->pquery($pending_query, $info_params); $pending_rows = $adb->num_rows($res); $cal_log->debug("Exiting getEventList() method..."); return array('totalevent' => $total, 'pendingevent' => $pending_rows); } if ($is_admin == false && $profileGlobalPermission[1] == 1 && $profileGlobalPermission[2] == 1 && $defaultOrgSharingPermission[16] == 3) { $sec_parameter = getCalendarViewSecurityParameter(); $query .= $sec_parameter; $list_query .= $sec_parameter; $count_qry .= $sec_parameter; } if (isset($_REQUEST['type']) && $_REQUEST['type'] == 'search') { $search_where = calendar_search_where($_REQUEST['field_name'], $_REQUEST['search_option'], $_REQUEST['search_text']); $group_cond .= $search_where; $count_qry .= $search_where; } $group_cond .= " GROUP BY vtiger_activity.activityid ORDER BY vtiger_activity.date_start,vtiger_activity.time_start ASC"; $count_qry .= ' GROUP BY vtiger_activity.activityid '; $count_res = $adb->pquery($count_qry, $params); $total_rec_count = $adb->num_rows($count_res); if (isset($_REQUEST['start']) && $_REQUEST['start'] != '') { $start = vtlib_purify($_REQUEST['start']); } else { $start = 1; } $navigation_array = getNavigationValues($start, $total_rec_count, $list_max_entries_per_page); $start_rec = $navigation_array['start']; $end_rec = $navigation_array['end_val']; if ($start_rec <= 1) { $start_rec = 0; } else { $start_rec = $start_rec - 1; } $query .= $group_cond . " limit {$start_rec},{$list_max_entries_per_page}"; $list_query .= $group_cond; if ($adb->dbType == "pgsql") { $query = fixPostgresQuery($query, $log, 0); $list_query = fixPostgresQuery($list_query, $log, 0); } $list_query = $adb->convert2Sql($list_query, $params); $_SESSION['Calendar_listquery'] = $list_query; $result = $adb->pquery($query, $params); $rows = $adb->num_rows($result); $c = 0; if ($start > 1) { $c = ($start - 1) * $list_max_entries_per_page; } for ($i = 0; $i < $rows; $i++) { $element = array(); $element['no'] = $c + 1; $image_tag = ""; $contact_data = ""; $more_link = ""; $start_time = $adb->query_result($result, $i, "time_start"); $end_time = $adb->query_result($result, $i, "time_end"); $format = $calendar['calendar']->hour_format; $value = getaddEventPopupTime($start_time, $end_time, $format); $start_hour = $value['starthour'] . ':' . $value['startmin'] . '' . $value['startfmt']; $end_hour = $value['endhour'] . ':' . $value['endmin'] . '' . $value['endfmt']; $date_start = $adb->query_result($result, $i, "date_start"); $due_date = $adb->query_result($result, $i, "due_date"); $element['starttime'] = getDisplayDate($date_start) . ' ' . $start_hour; $element['endtime'] = getDisplayDate($due_date) . ' ' . $end_hour; $contact_id = $adb->query_result($result, $i, "contactid"); $id = $adb->query_result($result, $i, "activityid"); $subject = $adb->query_result($result, $i, "subject"); $eventstatus = $adb->query_result($result, $i, "eventstatus"); $assignedto = $adb->query_result($result, $i, "user_name"); $userid = $adb->query_result($result, $i, "smownerid"); $idShared = "normal"; if (!empty($assignedto) && $userid != $current_user->id && $adb->query_result($result, $i, "visibility") == "Public") { $que = "select * from vtiger_sharedcalendar where sharedid=? and userid=?"; $row = $adb->pquery($que, array($current_user->id, $userid)); $no = $adb->getRowCount($row); if ($no > 0) { $idShared = "shared"; } else { $idShared = "normal"; } } if ($listview_max_textlength && strlen($subject) > $listview_max_textlength) { $subject = substr($subject, 0, $listview_max_textlength) . "..."; } if ($contact_id != '') { $contactname = getContactName($contact_id); $contact_data = "<b>" . $contactname . "</b>,"; } $more_link = "<a href='index.php?action=DetailView&module=Calendar&record=" . $id . "&activity_mode=Events&viewtype=calendar&parenttab=" . $category . "' class='webMnu'>[" . $mod_strings['LBL_MORE'] . "...]</a>"; $type = $adb->query_result($result, $i, "activitytype"); if ($type == 'Call') { $image_tag = "<img src='" . vtiger_imageurl('Calls.gif', $theme) . "' align='middle'> " . $app_strings['Call']; } else { if ($type == 'Meeting') { $image_tag = "<img src='" . vtiger_imageurl('Meetings.gif', $theme) . "' align='middle'> " . $app_strings['Meeting']; } else { $image_tag = " " . getTranslatedString($type); } } $element['eventtype'] = $image_tag; $element['eventdetail'] = $contact_data . " " . $subject . " " . $more_link; /*if(getFieldVisibilityPermission('Events',$current_user->id,'parent_id') == '0') { $element['relatedto']= getRelatedTo('Calendar',$result,$i); }*/ if ($idShared == "normal") { if (isPermitted("Calendar", "EditView") == "yes" || isPermitted("Calendar", "Delete") == "yes") { $element['action'] = "<img onClick='getcalAction(this,\"eventcalAction\"," . $id . ",\"" . $calendar['view'] . "\",\"" . $calendar['calendar']->date_time->hour . "\",\"" . $calendar['calendar']->date_time->get_formatted_date() . "\",\"event\");' src='" . vtiger_imageurl('cal_event.jpg', $theme) . "' border='0'>"; } } else { if (isPermitted("Calendar", "EditView") == "yes" || isPermitted("Calendar", "Delete") == "yes") { $element['action'] = "<img onClick=\"alert('" . $mod_strings["SHARED_EVENT_DEL_MSG"] . "')\"; src='" . vtiger_imageurl('cal_event.jpg', $theme) . "' border='0'>"; } } if (getFieldVisibilityPermission('Events', $current_user->id, 'eventstatus') == '0') { if (!$is_admin && $eventstatus != '') { $roleid = $current_user->roleid; $roleids = array(); $subrole = getRoleSubordinates($roleid); if (count($subrole) > 0) { $roleids = $subrole; } array_push($roleids, $roleid); //here we are checking wheather the table contains the sortorder column .If sortorder is present in the main picklist table, then the role2picklist will be applicable for this table... $sql = "select * from vtiger_eventstatus where eventstatus=?"; $res = $adb->pquery($sql, array(decode_html($eventstatus))); $picklistvalueid = $adb->query_result($res, 0, 'picklist_valueid'); if ($picklistvalueid != null) { $pick_query = "select * from vtiger_role2picklist where picklistvalueid={$picklistvalueid} and roleid in (" . generateQuestionMarks($roleids) . ")"; $res_val = $adb->pquery($pick_query, array($roleids)); $num_val = $adb->num_rows($res_val); } if ($num_val > 0) { $element['status'] = getTranslatedString(decode_html($eventstatus)); } else { $element['status'] = "<font color='red'>" . $app_strings['LBL_NOT_ACCESSIBLE'] . "</font>"; } } else { $element['status'] = getTranslatedString(decode_html($eventstatus)); } } if (!empty($assignedto)) { $element['assignedto'] = $assignedto; } else { $element['assignedto'] = $adb->query_result($result, $i, "groupname"); } $element['visibility'] = $adb->query_result($result, $i, "visibility"); $c++; $Entries[] = $element; } $ret_arr[0] = $Entries; $ret_arr[1] = $navigation_array; $cal_log->debug("Exiting getEventList() method..."); return $ret_arr; }
/** Function to get the list of comments for the given ticket id * @param int $ticketid - Ticket id * @return list $list - return the list of comments and comment informations as a html output where as these comments and comments informations will be formed in div tag. **/ function getCommentInformation($ticketid) { global $log; $log->debug("Entering getCommentInformation(" . $ticketid . ") method ..."); global $adb; global $mod_strings, $default_charset; $sql = "select * from vtiger_ticketcomments where ticketid=?"; $result = $adb->pquery($sql, array($ticketid)); $noofrows = $adb->num_rows($result); //In ajax save we should not add this div if ($_REQUEST['action'] != 'HelpDeskAjax') { $list .= '<div id="comments_div" style="overflow: auto;height:200px;width:100%;">'; $enddiv = '</div>'; } for ($i = 0; $i < $noofrows; $i++) { if ($adb->query_result($result, $i, 'comments') != '') { //this div is to display the comment $comment = $adb->query_result($result, $i, 'comments'); // Asha: Fix for ticket #4478 . Need to escape html tags during ajax save. if ($_REQUEST['action'] == 'HelpDeskAjax') { $comment = htmlentities($comment, ENT_QUOTES, $default_charset); } $list .= '<div valign="top" style="width:99%;padding-top:10px;" class="dataField">'; $list .= make_clickable(nl2br($comment)); $list .= '</div>'; //this div is to display the author and time $list .= '<div valign="top" style="width:99%;border-bottom:1px dotted #CCCCCC;padding-bottom:5px;" class="dataLabel"><font color=darkred>'; $list .= $mod_strings['LBL_AUTHOR'] . ' : '; if ($adb->query_result($result, $i, 'ownertype') == 'user') { $list .= getUserName($adb->query_result($result, $i, 'ownerid')); } elseif ($adb->query_result($result, $i, 'ownertype') == 'customer') { $contactid = $adb->query_result($result, $i, 'ownerid'); $list .= getContactName($contactid); } $list .= ' on ' . $adb->query_result($result, $i, 'createdtime') . ' '; $list .= '</font></div>'; } } $list .= $enddiv; $log->debug("Exiting getCommentInformation method ..."); return $list; }
private function x10($x92, $x93, $x94 = false, $x95 = false) { global $x15d, $x15e, $x15f, $x160, $x161, $x162, $x163, $x164, $x165, $x166, $x167, $x168, $x169, $x16a, $x16b, $x16c, $x16d, $x16e, $x16f, $x170, $x171, $x172, $x173, $x174, $x175, $x176, $x177, $x178; $x96 = Users_Record_Model::getCurrentUserModel(); $x97 = array("related_to", "relatedto", "parent_id", "parentid", "product_id", "productid", "service_id", "serviceid", "vendor_id", "product", "account", "invoiceid", "linktoaccountscontacts", "projectid", "sc_related_to"); if ($x95 !== false) { $x98 = array(); } $x51 = getTabid($x92); $x99 = $x92; if ($x94 === false) { $x9a = ""; } else { $x9a = "R_"; if ($x94 !== true) { $x99 = $x94; } } $x9b = array(); $x9c = array(); $x9d = array(); $x9e = array(); $x9f = array(); $xa0 = array(); $xa1 = array(); if ($x51 == '9') { $x3d = "SELECT fieldname, uitype FROM vtiger_field WHERE tabid IN (9,16)"; } else { $x3d = "SELECT fieldname, uitype FROM vtiger_field WHERE tabid = '" . $x51 . "'"; } $x3e = self::$x0f->query($x3d); while ($x42 = self::$x0f->fetchByAssoc($x3e)) { switch ($x42['uitype']) { case '19': case '20': case '21': case '24': $x9d[] = $x42['fieldname']; break; case '5': case '6': case '23': case '70': $x9e[] = $x42['fieldname']; break; case '15': $x9c[] = $x42['fieldname']; break; case '56': $x9b[] = $x42['fieldname']; break; case '33': $x9f[] = $x42['fieldname']; break; case '71': $xa0[] = $x42['fieldname']; break; case '9': $xa1[] = $x42['fieldname']; break; } if ($x42["fieldname"] == "salutationtype") { $x9c[] = $x42["fieldname"]; } } foreach ($x93->column_fields as $xa2 => $x83) { if ($xa2 == "assigned_user_id") { $x83 = $this->x1e($x83); } elseif ($xa2 == "account_id") { $x83 = getAccountName($x83); } elseif ($xa2 == "potential_id") { $x83 = getPotentialName($x83); } elseif ($xa2 == "contact_id") { $x83 = getContactName($x83); } elseif ($xa2 == "quote_id") { $x83 = getQuoteName($x83); } elseif ($xa2 == "salesorder_id") { $x83 = getSoName($x83); } elseif ($xa2 == "campaignid") { $x83 = getCampaignName($x83); } elseif ($xa2 == "terms_conditions") { $x83 = $this->x25($x83); } elseif ($xa2 == "comments") { $x83 = $this->x26($x93); } elseif ($xa2 == "folderid") { $x83 = $this->x27($x83); } elseif ($xa2 == "time_start" || $xa2 == "time_end") { $xa3 = DateTimeField::convertToUserTimeZone($x83); $x83 = $xa3->format('H:i'); } elseif ($x168($xa2, $x97)) { if ($x83 != "") { $xa4 = getSalesEntityType($x83); $xa5 = getEntityName($xa4, $x83); if (!empty($xa5)) { foreach ($xa5 as $xa6) { $x83 = $xa6; } } if ($xa2 == "invoiceid" && $x83 == "0") { $x83 = ""; } } } if ($x168($xa2, $x9e)) { if ($x92 == "Events" || $x92 == "Calendar") { if ($xa2 == "date_start" && $x93->column_fields["time_start"] != "") { $xa3 = $x93->column_fields['time_start']; $x83 = $x83 . ' ' . $xa3; } elseif ($xa2 == "due_date" && $x93->column_fields["time_end"] != "") { $xa3 = $x93->column_fields['time_end']; $x83 = $x83 . ' ' . $xa3; } } if ($x83 != "") { $x83 = getValidDisplayDate($x83); } } elseif ($x168($xa2, $x9c)) { if (!$x168($x178($x83), self::$x18)) { $x83 = $this->x20($x83, $x92); } else { $x83 = ""; } } elseif ($x168($xa2, $x9b)) { if ($x83 == 1) { $x83 = vtranslate('LBL_YES'); } else { $x83 = vtranslate('LBL_NO'); } } elseif ($x168($xa2, $x9d)) { $x83 = $x16d($x83); $x83 = $x165($x83, ENT_QUOTES, self::$x11); } elseif ($x168($xa2, $x9f)) { $x83 = $x173(' |##| ', ', ', $x83); } elseif ($x168($xa2, $xa0)) { if ($x16a($x83)) { if ($x95 === false) { $xa7 = getCurrencySymbolandCRate($x96->currency_id); $xa8 = $xa7["rate"]; } else { $xa8 = $x95["conversion_rate"]; } $x83 = $x83 * $xa8; } $x83 = $this->x23($x83); } elseif ($x168($xa2, $xa1)) { $x83 = $this->x23($x83); } if ($x95 !== false) { $x98[$x175($x92 . "_" . $xa2)] = $x83; } else { self::$x21["\$" . $x9a . $x175($x99 . "_" . $xa2) . "\$"] = $x83; } } if ($x95 !== false) { return $x98; } else { $this->x15(); } }
/** To get the converted record values which have to be display in duplicates merging tpl*/ function getRecordValues($id_array, $module) { global $adb, $current_user; global $app_strings; global $mod_strings; $tabid = getTabid($module); $query = "select fieldname,fieldlabel from ec_field where tabid=" . $tabid . " and fieldname not in ('createdtime','modifiedtime')"; $result = $adb->query($query); $no_rows = $adb->num_rows($result); for ($i = 0; $i < $no_rows; $i++) { $fld_name = $adb->query_result($result, $i, "fieldname"); if (getFieldVisibilityPermission($module, $current_user->id, $fld_name) == '0') { $fld_array[] = $fld_name; } } $js_arr = $fld_array; $focus = new $module(); if (isset($id_array) && $id_array != '') { foreach ($id_array as $value) { $focus->id = $value; $focus->retrieve_entity_info($value, $module); $field_values[] = $focus->column_fields; } } $tabid = getTabid($module); $query = "select fieldname,uitype,fieldlabel from ec_field where tabid=" . $tabid . " and fieldname not in ('createdtime','modifiedtime','lastcontacttime')"; $result = $adb->query($query); $no_rows = $adb->num_rows($result); $labl_array = array(); $value_pair = array(); $c = 0; for ($i = 0; $i < $no_rows; $i++) { $fld_name = $adb->query_result($result, $i, "fieldname"); $fld_label = $adb->query_result($result, $i, "fieldlabel"); if (isset($mod_strings[$fld_label])) { $fld_label = $mod_strings[$fld_label]; } $ui_type = $adb->query_result($result, $i, "uitype"); if (getFieldVisibilityPermission($module, $current_user->id, $fld_name) == '0') { $record_values[$c][$fld_label] = array(); $ui_value[] = $ui_type; for ($j = 0; $j < count($field_values); $j++) { if ($ui_type == 56) { if ($field_values[$j][$fld_name] == 0) { $value_pair['disp_value'] = $app_strings['no']; } else { $value_pair['disp_value'] = $app_strings['yes']; } } elseif ($ui_type == 51 || $ui_type == 50) { $account_id = $field_values[$j][$fld_name]; $account_name = getAccountName($account_id); $value_pair['disp_value'] = $account_name; } elseif ($ui_type == 53) { $user_id = $field_values[$j][$fld_name]; $username = getUserName($user_id); $group_info = getGroupName($field_values[$j]['record_id'], $module); $groupname = $group_info[0]; $groupid = $group_info[1]; if ($user_id != 0) { $value_pair['disp_value'] = $username; } else { $value_pair['disp_value'] = $groupname; } } elseif ($ui_type == 57) { $contact_id = $field_values[$j][$fld_name]; if ($contact_id != '') { $contactname = getContactName($contact_id); } $value_pair['disp_value'] = $contactname; } elseif ($ui_type == 75 || $ui_type == 81) { $vendor_id = $field_values[$j][$fld_name]; if ($vendor_id != '') { $vendor_name = getVendorName($vendor_id); } $value_pair['disp_value'] = $vendor_name; } elseif ($ui_type == 52) { $user_id = $field_values[$j][$fld_name]; $user_name = getUserName($user_id); $value_pair['disp_value'] = $user_name; } elseif ($ui_type == 68) { $parent_id = $field_values[$j][$fld_name]; $value_pair['disp_value'] = getAccountName($parent_id); if ($value_pair['disp_value'] == '' || $value_pair['disp_value'] == NULL) { $value_pair['disp_value'] = getContactName($parent_id); } } elseif ($ui_type == 59) { $product_name = getProductName($field_values[$j][$fld_name]); if ($product_name != '') { $value_pair['disp_value'] = $product_name; } else { $value_pair['disp_value'] = ''; } } elseif ($ui_type == 58) { $campaign_name = getCampaignName($field_values[$j][$fld_name]); if ($campaign_name != '') { $value_pair['disp_value'] = $campaign_name; } else { $value_pair['disp_value'] = ''; } } else { $value_pair['disp_value'] = $field_values[$j][$fld_name]; } $value_pair['org_value'] = $field_values[$j][$fld_name]; array_push($record_values[$c][$fld_label], $value_pair); } $c++; } } $parent_array[0] = $record_values; $parent_array[1] = $js_arr; $parent_array[2] = $fld_array; return $parent_array; }