static function lookupTagCloudView($userid) { if (!isset(self::$_tagcloud_display_cache[$userid])) { self::$_tagcloud_display_cache[$userid] = getTagCloudView($userid); } return self::$_tagcloud_display_cache[$userid]; }
public function getSelectableDashboard() { global $log; $log->debug("Entering Settings_WidgetsManagement_Module_Model::getSelectableDashboard() method ..."); $db = PearDatabase::getInstance(); $currentUser = Users_Record_Model::getCurrentUserModel(); $sql = 'SELECT * FROM vtiger_links WHERE linktype = ?'; $params = array('DASHBOARDWIDGET'); $result = $db->pquery($sql, $params); $widgets = array(); for ($i = 0; $i < $db->num_rows($result); $i++) { $row = $db->query_result_rowdata($result, $i); $moduleName = Vtiger_Functions::getModuleName($row['tabid']); if ($moduleName != 'Home' && ($row['linklabel'] == 'Mini List' || $row['linklabel'] == 'Notebook')) { continue; } if ($row['linklabel'] == 'Tag Cloud') { $isTagCloudExists = getTagCloudView($currentUser->getId()); if ($isTagCloudExists == 'false') { continue; } } $moduleName = Vtiger_Functions::getModuleName($row['tabid']); $widgets[$moduleName][] = Vtiger_Widget_Model::getInstanceFromValues($row); } $log->debug("Exiting Settings_WidgetsManagement_Module_Model::getSelectableDashboard() method ..."); return $widgets; }
/** * Function returns List of User's selected Dashboard Widgets * @return <Array of Vtiger_Widget_Model> */ public function getDashboards($action = 1) { $db = PearDatabase::getInstance(); $currentUser = Users_Record_Model::getCurrentUserModel(); $moduleModel = $this->getModule(); if ($action == 'Header') { $action = 0; } $sql = " SELECT vtiger_links.*, mdw.userid, mdw.data, mdw.active, mdw.title, mdw.filterid, mdw.id as widgetid, mdw.position as position, vtiger_links.linkid as id \n\t\t\tFROM vtiger_links \n\t\t\tINNER JOIN vtiger_module_dashboard_widgets mdw ON vtiger_links.linkid = mdw.linkid\n\t\t\tWHERE mdw.userid = ? AND linktype = ? AND tabid = ? AND `active` = ?"; $params = array($currentUser->getId(), 'DASHBOARDWIDGET', $moduleModel->getId(), $action); $result = $db->pquery($sql, $params); $widgets = array(); for ($i = 0, $len = $db->num_rows($result); $i < $len; $i++) { $row = $db->query_result_rowdata($result, $i); $row['linkid'] = $row['id']; if ($row['linklabel'] == 'Mini List') { $minilistWidget = Vtiger_Widget_Model::getInstanceFromValues($row); $minilistWidgetModel = new Vtiger_MiniList_Model(); $minilistWidgetModel->setWidgetModel($minilistWidget); $minilistWidget->set('title', $minilistWidgetModel->getTitle()); $widgets[] = $minilistWidget; } else { $widgets[] = Vtiger_Widget_Model::getInstanceFromValues($row); } } foreach ($widgets as $index => $widget) { $label = $widget->get('linklabel'); $url = $widget->get('linkurl'); $redex = '/module=(.+?)&+/'; preg_match($redex, $url, $match); if (isPermitted($match[1], 'Index') == 'no') { unset($widgets[$index]); } if ($label == 'Tag Cloud') { $isTagCloudExists = getTagCloudView($currentUser->getId()); if ($isTagCloudExists === 'false') { unset($widgets[$index]); } } } return $widgets; }
/** * Function returns List of User's selected Dashboard Widgets * @return <Array of Vtiger_Widget_Model> */ public function getDashboards() { global $log; $log->debug("Entering ./models/DashBoard.php::getDashboards"); ini_set("error_reporting", "6135"); $db = PearDatabase::getInstance(); $currentUser = Users_Record_Model::getCurrentUserModel(); $moduleModel = $this->getModule(); $sql = " SELECT vtiger_links.*, vtiger_module_dashboard_widgets.userid, vtiger_module_dashboard_widgets.filterid, vtiger_module_dashboard_widgets.data, vtiger_module_dashboard_widgets.id as widgetid, vtiger_module_dashboard_widgets.position as position, vtiger_links.linkid as id FROM vtiger_links " . " INNER JOIN vtiger_module_dashboard_widgets ON vtiger_links.linkid=vtiger_module_dashboard_widgets.linkid" . " WHERE (vtiger_module_dashboard_widgets.userid = ? AND linktype = ? AND tabid = ?)"; $params = array($currentUser->getId(), 'DASHBOARDWIDGET', $moduleModel->getId()); $result = $db->pquery($sql, $params); $widgets = array(); for ($i = 0, $len = $db->num_rows($result); $i < $len; $i++) { $row = $db->query_result_rowdata($result, $i); $row['linkid'] = $row['id']; if ($this->checkModulePermission($row)) { $widgets[] = Vtiger_Widget_Model::getInstanceFromValues($row); } } foreach ($widgets as $index => $widget) { $label = $widget->get('linklabel'); if ($label == 'Tag Cloud') { $isTagCloudExists = getTagCloudView($currentUser->getId()); if ($isTagCloudExists === 'false') { unset($widgets[$index]); } } } return $widgets; }
/** * gives the order in which the modules have to be displayed in the home page for the specified user id * @param $id -- user id:: Type integer * @returns the customized home page order in $return_array */ function getHomeStuffOrder($id) { global $adb; if (!is_array($this->homeorder_array)) { $this->homeorder_array = array('HDB' => '', 'ALVT' => '', 'PLVT' => '', 'QLTQ' => '', 'CVLVT' => '', 'HLT' => '', 'GRT' => '', 'OLTSO' => '', 'ILTI' => '', 'MNL' => '', 'OLTPO' => '', 'LTFAQ' => '', 'UA' => '', 'PA' => ''); } $return_array = array(); $homeorder = array(); if ($id != '') { $qry = " select distinct(vtiger_homedefault.hometype) from vtiger_homedefault inner join vtiger_homestuff on vtiger_homestuff.stuffid=vtiger_homedefault.stuffid where vtiger_homestuff.visible=0 and vtiger_homestuff.userid=?"; $res = $adb->pquery($qry, array($id)); for ($q = 0; $q < $adb->num_rows($res); $q++) { $homeorder[] = $adb->query_result($res, $q, "hometype"); } foreach ($this->homeorder_array as $key => $value) { if (in_array($key, $homeorder)) { $return_array[$key] = $key; } else { $return_array[$key] = ''; } } } else { foreach ($this->homeorder_array as $fieldname => $val) { if (isset($this->column_fields[$fieldname])) { $value = trim($this->column_fields[$fieldname]); $this->homeorder_array[$fieldname] = $value; } } foreach ($this->homeorder_array as $key => $value) { $return_array[$key] = $value; } } if ($id == '' && isset($this->column_fields['tagcloudview'])) { $return_array['Tag Cloud'] = $this->column_fields['tagcloudview']; } else { $return_array['Tag Cloud'] = getTagCloudView($id); } if ($id == '' && isset($this->column_fields['showtagas'])) { $return_array['showtagas'] = $this->column_fields['showtagas']; } else { $return_array['showtagas'] = getTagCloudShowAs($id); } return $return_array; }
} else { $smarty->assign("IS_ADMIN", false); } $lead_tables = array('vtiger_users', 'vtiger_user2role'); $tabid = getTabid("Users"); $validationData = getDBValidationData($lead_tables, $tabid); $data = split_validationdataArray($validationData); if ($current_user->id == $_REQUEST['record'] || is_admin($current_user) == true) { $smarty->assign("VALIDATION_DATA_FIELDNAME", $data['fieldname']); $smarty->assign("VALIDATION_DATA_FIELDDATATYPE", $data['datatype']); $smarty->assign("VALIDATION_DATA_FIELDLABEL", $data['fieldlabel']); $smarty->assign("MODULE", 'Users'); $smarty->assign("CURRENT_USERID", $current_user->id); $smarty->assign("HOMEORDER", $focus->getHomeStuffOrder($focus->id)); //Added to provide User based Tagcloud $smarty->assign("TAGCLOUDVIEW", getTagCloudView($focus->id)); $smarty->assign("BLOCKS", getBlocks($currentModule, "detail_view", '', $focus->column_fields)); $smarty->assign("USERNAME", $focus->last_name . ' ' . $focus->first_name); $smarty->assign("HOUR_FORMAT", $focus->hour_format); $smarty->assign("START_HOUR", $focus->start_hour); $_SESSION['Users_FORM_TOKEN'] = rand(5, 2000) * rand(2, 7); $smarty->assign('FORM_TOKEN', $_SESSION['Users_FORM_TOKEN']); //for check audittrail if it is enable or not $smarty->assign("AUDITTRAIL", $audit_trail); $smarty->display("UserDetailView.tpl"); } else { $output = '<table border="0" cellpadding="5" cellspacing="0" height="450" width="100%"> <tr><td align = "center"> <div style="border: 3px solid rgb(153, 153, 153); background-color: rgb(255, 255, 255); width: 55%; position: relative; z-index: 10000000;"> <table border="0" cellpadding="5" cellspacing="0" width="98%"> <tr>
/** * gives the order in which the modules have to be displayed in the home page for the specified user id * @param $id -- user id:: Type integer * @returns the customized home page order in $return_array */ function getHomeStuffOrder($id) { global $adb; if (!is_array($this->homeorder_array)) { $this->homeorder_array = array('UA', 'PA', 'ALVT', 'HDB', 'PLVT', 'QLTQ', 'CVLVT', 'HLT', 'GRT', 'OLTSO', 'ILTI', 'MNL', 'OLTPO', 'LTFAQ'); } $return_array = array(); $homeorder = array(); if ($id != '') { $qry = " select distinct(vtiger_homedefault.hometype) from vtiger_homedefault inner join vtiger_homestuff on vtiger_homestuff.stuffid=vtiger_homedefault.stuffid where vtiger_homestuff.visible=0 and vtiger_homestuff.userid=?"; $res = $adb->pquery($qry, array($id)); for ($q = 0; $q < $adb->num_rows($res); $q++) { $homeorder[] = $adb->query_result($res, $q, "hometype"); } for ($i = 0; $i < count($this->homeorder_array); $i++) { if (in_array($this->homeorder_array[$i], $homeorder)) { $return_array[$this->homeorder_array[$i]] = $this->homeorder_array[$i]; } else { $return_array[$this->homeorder_array[$i]] = ''; } } } else { for ($i = 0; $i < count($this->homeorder_array); $i++) { $return_array[$this->homeorder_array[$i]] = $this->homeorder_array[$i]; } } $return_array['Tag Cloud'] = getTagCloudView($id) ? 'true' : 'false'; return $return_array; }