leadid = $leadid; $this->current_user = $current_user; $sql = "SELECT * FROM vtiger_leaddetails,vtiger_leadscf,vtiger_crmentity WHERE vtiger_leaddetails.leadid=vtiger_leadscf.leadid AND vtiger_leaddetails.leadid=vtiger_crmentity.crmid AND vtiger_leaddetails.leadid =?"; $result = $adb->pquery($sql, array($this->leadid)); $this->row = $adb->fetch_array($result); if (getFieldVisibilityPermission('Leads', $current_user->id, 'company') == '1') { $this->row["company"] = ''; } $this->setAssignedToInfo(); } function isModuleActive($module) { include_once 'include/utils/VtlibUtils.php'; if (vtlib_isModuleActive($module) && ((isPermitted($module, 'EditView') == 'yes'))) { return true; } return false; } function isActive($field, $mod) { global $adb; $tabid = getTabid($mod); $query = 'select * from vtiger_field where fieldname = ? and tabid = ? and presence in (0,2)'; $res = $adb->pquery($query, array($field, $tabid)); $rows = $adb->num_rows($res); if ($rows > 0) { return true; }else return false; } function isMandatory($module, $fieldname) { $fieldInfo = $this->getFieldInfo($module, $fieldname); if ($fieldInfo['mandatory']) { return true; } return false; } function getFieldInfo($module, $fieldname) { global $current_user; $describe = vtws_describe($module, $current_user); foreach ($describe['fields'] as $index => $fieldInfo) { if ($fieldInfo['name'] == $fieldname) { return $fieldInfo; } } return false; } function setAssignedToInfo() { $userid = $this->row["smownerid"]; //Retreiving the current user id if ($userid != '') { global $adb; $query = "SELECT * from vtiger_users WHERE id = ?"; $res = $adb->pquery($query, array($userid)); $rows = $adb->num_rows($res); $this->leadowner = $userid; if ($rows > 0) { $this->userselected = 'checked'; $this->userdisplay = 'block'; } else { $this->groupselected = 'checked'; $this->groupdisplay = 'block'; } } else { $this->leadowner = $this->getUserId(); $this->userselected = 'checked'; $this->userdisplay = 'block'; } } function getUserSelected() { return $this->userselected; } function getUserDisplay() { return $this->userdisplay; } function getGroupSelected() { return $this->groupselected; } function getGroupDisplay() { return $this->groupdisplay; } function getLeadInfo() { //Retreive lead details from database return $this->row; } function getDateFormat() { return $this->current_user->date_format; } function getleadId() { return $this->leadid; } function getCompany() { global $default_charset; $value = html_entity_decode($this->row['company'], ENT_QUOTES, $default_charset); return htmlentities($value, ENT_QUOTES, $default_charset); } function getIndustryList() { global$adb; require_once 'modules/PickList/PickListUtils.php'; global $adb; $industry_list = array(); if (is_admin($this->current_user)) { $pick_list_values = getAllPickListValues('industry'); } else { $pick_list_values = getAssignedPicklistValues('industry', $this->current_user->roleid, $adb); } foreach ($pick_list_values as $value) { $industry_list[$value]["value"] = $value; } return $industry_list; } function getSalesStageList() { global$adb; require_once 'modules/PickList/PickListUtils.php'; global $adb; $sales_stage_list = array(); if (is_admin($this->current_user)) { $pick_list_values = getAllPickListValues('sales_stage'); } else { $pick_list_values = getAssignedPicklistValues('sales_stage', $this->current_user->roleid, $adb); } foreach ($pick_list_values as $value) { $sales_stage_list[$value]["value"] = $value; } return $sales_stage_list; } function getUserId() { return $this->current_user->id; } /* * function to form the user/group list * array( * key=> * [id]=> * [name]=> * ) */ function getOwnerList($type) { $private = self::checkOwnership($this->current_user); if ($type === 'user') $owner = get_user_array(false, "Active", $this->row["smownerid"], $private); else $owner = get_group_array(false, "Active", $this->row["smownerid"], $private); $owner_list = array(); foreach ($owner as $id => $name) { if ($id == $this->row['smownerid']) $owner_list[] = array($type . 'id' => $id, $type . 'name' => $name, 'selected' => true); else $owner_list[] = array($type . 'id' => $id, $type . 'name' => $name, 'selected' => false); } return $owner_list; } static function checkOwnership($user) { $private = ''; if ($user->id != 1) { include 'user_privileges/sharing_privileges_' . $user->id . '.php'; $Acc_tabid = getTabid('Accounts'); $con_tabid = getTabid('Contacts'); if ($defaultOrgSharingPermission[$Acc_tabid] === 0 || $defaultOrgSharingPermission[$Acc_tabid] == 3) { $private = 'private'; } elseif ($defaultOrgSharingPermission[$con_tabid] === 0 || $defaultOrgSharingPermission[$con_tabid] == 3) { $private = 'private'; } } return $private; } function getMappedFieldValue($module, $fieldName, $editable) { global $adb,$default_charset; $fieldid = getFieldid(getTabid($module), $fieldName); $sql = "SELECT leadfid FROM vtiger_convertleadmapping WHERE (accountfid=? OR contactfid=? OR potentialfid=?) AND editable=?"; $result = $adb->pquery($sql, array($fieldid, $fieldid, $fieldid, $editable)); $leadfid = $adb->query_result($result, 0, 'leadfid'); $sql = "SELECT fieldname FROM vtiger_field WHERE fieldid=? AND tabid=?"; $result = $adb->pquery($sql, array($leadfid, getTabid('Leads'))); $leadfname = $adb->query_result($result, 0, 'fieldname'); $fieldinfo = $this->getFieldInfo($module, $fieldName); if ($fieldinfo['type']['name'] == 'picklist' || $fieldinfo['type']['name'] == 'multipicklist') { $valuelist = null; switch ($fieldName) { case 'industry':$valuelist = $this->getIndustryList(); break; case 'sales_stage':$valuelist = $this->getSalesStageList(); break; } foreach ($fieldinfo['type']['picklistValues'] as $key => $values) { if ($values['value'] == $this->row[$leadfname]) { return $this->row[$leadfname]; } } return $fieldinfo['default']; } $value = html_entity_decode($this->row[$leadfname], ENT_QUOTES, $default_charset); return htmlentities($value, ENT_QUOTES, $default_charset); //return $this->row[$leadfname]; } } ?>