protected function getKeyMetricsWithCount() { global $current_user, $adb; $current_user = Users_Record_Model::getCurrentUserModel(); require_once 'modules/CustomView/ListViewTop.php'; $metriclists = getMetricList(); foreach ($metriclists as $key => $metriclist) { $metricresult = NULL; if ($metriclist['module'] == "Calendar") { $listquery = getListQuery($metriclist['module']); $oCustomView = new CustomView($metriclist['module']); $metricsql = $oCustomView->getModifiedCvListQuery($metriclist['id'], $listquery, $metriclist['module']); $metricresult = $adb->query(Vtiger_Functions::mkCountQuery($metricsql)); } else { $queryGenerator = new QueryGenerator($metriclist['module'], $current_user); $queryGenerator->initForCustomViewById($metriclist['id']); $metricsql = $queryGenerator->getQuery(); $metricresult = $adb->query(Vtiger_Functions::mkCountQuery($metricsql)); } if ($metricresult) { $rowcount = $adb->fetch_array($metricresult); $metriclists[$key]['count'] = $rowcount['count']; } } return $metriclists; }
protected function getKeyMetricsWithCount() { global $log; $log->debug("Entering ./dashboards/KeyMetrics.php::getKeyMetricsWithCount"); global $current_user, $adb; $current_user = Users_Record_Model::getCurrentUserModel(); require_once 'modules/CustomView/ListViewTop.php'; $metriclists = getMetricList(); foreach ($metriclists as $key => $metriclist) { $metricresult = NULL; $queryGenerator = new QueryGenerator($metriclist['module'], $current_user); $queryGenerator->initForCustomViewById($metriclist['id']); if ($metriclist['module'] == "Calendar") { // For calendar we need to eliminate emails or else it will break in status empty condition $queryGenerator->addCondition('activitytype', "Emails", 'n', QueryGenerator::$AND); } $metricsql = $queryGenerator->getQuery(); $metricresult = $adb->query(Vtiger_Functions::mkCountQuery($metricsql)); if ($metricresult) { $rowcount = $adb->fetch_array($metricresult); $metriclists[$key]['count'] = $rowcount['count']; } } return $metriclists; }
/** to get the details of a KeyMetrics on Home page * @returns $customviewlist Array in the following format * $values = Array('Title'=>Array(0=>'image name', * 1=>'Key Metrics', * 2=>'home_metrics' * ), * 'Header'=>Array(0=>'Metrics', * 1=>'Count' * ), * 'Entries'=>Array($cvid=>Array( * 0=>$customview name, * 1=>$no of records for the view * ), * $cvid=>Array( * 0=>$customview name, * 1=>$no of records for the view * ), * | * | * $cvid=>Array( * 0=>$customview name, * 1=>$no of records for the view * ) * ) * */ function getKeyMetrics() { require_once "data/Tracker.php"; require_once 'modules/CustomView/CustomView.php'; require_once 'include/logging.php'; require_once 'include/ListView/ListView.php'; global $app_strings; global $adb; global $log; global $current_language; $metricviewnames = "'Hot Leads'"; $current_module_strings = return_module_language($current_language, "CustomView"); $log = LoggerManager::getLogger('metrics'); $metriclists = getMetricList(); $log->info("Metrics :: Successfully got MetricList to be displayed"); if (isset($metriclists)) { foreach ($metriclists as $key => $metriclist) { $listquery = getListQuery($metriclist['module']); if (empty($listquery)) { if (is_file("modules/" . $metriclist['module'] . "/" . $metriclist['module'] . ".php")) { include_once "modules/" . $metriclist['module'] . "/" . $metriclist['module'] . ".php"; $metric_focus = new $metriclist['module'](); $listquery = $metric_focus->getListQuery(''); } } $oCustomView = new CustomView($metriclist['module']); $metricsql = $oCustomView->getMetricsCvListQuery($metriclist['id'], $listquery, $metriclist['module']); $metricresult = $adb->query($metricsql); if ($metricresult) { $rowcount = $adb->fetch_array($metricresult); if (isset($rowcount)) { $metriclists[$key]['count'] = $rowcount['count']; } } } $log->info("Metrics :: Successfully build the Metrics"); } $title = array(); $title[] = 'keyMetrics.gif'; $title[] = $app_strings['LBL_HOME_KEY_METRICS']; $title[] = 'home_metrics'; $header = array(); $header[] = $app_strings['LBL_HOME_METRICS']; $header[] = $app_strings['LBL_HOME_COUNT']; $entries = array(); if (isset($metriclists)) { $oddRow = true; foreach ($metriclists as $metriclist) { $value = array(); $metric_fields = array('ID' => $metriclist['id'], 'NAME' => $metriclist['name'], 'COUNT' => $metriclist['count'], 'MODULE' => $metriclist['module']); $value[] = '<a href="index.php?action=index&module=' . $metriclist['module'] . '&viewname=' . $metriclist['id'] . '">' . $metriclist['name'] . '</a>'; $value[] = '<a href="index.php?action=index&module=' . $metriclist['module'] . '&viewname=' . $metriclist['id'] . '">' . $metriclist['count'] . '</a>'; $entries[$metriclist['id']] = $value; } } $values = array('Title' => $title, 'Header' => $header, 'Entries' => $entries); //if ( ($display_empty_home_blocks ) || (count($value)!= 0) ) return $values; }
/** to get the details of a KeyMetrics on Home page * @returns $customviewlist Array in the following format * $values = Array('Title'=>Array(0=>'image name', * 1=>'Key Metrics', * 2=>'home_metrics' * ), * 'Header'=>Array(0=>'Metrics', * 1=>'Count' * ), * 'Entries'=>Array($cvid=>Array( * 0=>$customview name, * 1=>$no of records for the view * ), * $cvid=>Array( * 0=>$customview name, * 1=>$no of records for the view * ), * | * | * $cvid=>Array( * 0=>$customview name, * 1=>$no of records for the view * ) * ) * */ function getKeyMetrics($maxval, $calCnt) { require_once "data/Tracker.php"; require_once 'modules/CustomView/CustomView.php'; require_once 'include/logging.php'; require_once 'include/ListView/ListView.php'; global $app_strings; global $adb; global $log; global $current_language; $metricviewnames = "'Hot Leads'"; $current_module_strings = return_module_language($current_language, "CustomView"); $log = LoggerManager::getLogger('metrics'); $metriclists = getMetricList(); // Determine if the KeyMetrics widget should appear or not? if ($calCnt == 'calculateCnt') { return count($metriclists); } $log->info("Metrics :: Successfully got MetricList to be displayed"); if (isset($metriclists)) { foreach ($metriclists as $key => $metriclist) { $listquery = getListQuery($metriclist['module']); if ($metriclist['module'] == 'Calendar') { $listquery .= " AND vtiger_activity.activitytype != 'Emails' "; } $oCustomView = new CustomView($metriclist['module']); $metricsql = $oCustomView->getMetricsCvListQuery($metriclist['id'], $listquery, $metriclist['module']); if ($metriclist['module'] == "Calendar" and !$adb->isPostgres()) { $metricsql .= " group by vtiger_activity.activityid "; } $metricresult = $adb->query($metricsql); if ($metricresult) { if ($metriclist['module'] == "Calendar") { $metriclists[$key]['count'] = $adb->num_rows($metricresult); } else { $rowcount = $adb->fetch_array($metricresult); if (isset($rowcount)) { $metriclists[$key]['count'] = $rowcount['count']; } } } } $log->info("Metrics :: Successfully build the Metrics"); } $title = array(); $title[] = 'keyMetrics.gif'; $title[] = $app_strings['LBL_HOME_KEY_METRICS']; $title[] = 'home_metrics'; $header = array(); $header[] = $app_strings['LBL_HOME_METRICS']; $header[] = $app_strings['LBL_MODULE']; $header[] = $app_strings['LBL_HOME_COUNT']; $entries = array(); if (isset($metriclists)) { $oddRow = true; foreach ($metriclists as $metriclist) { $value = array(); $CVname = strlen($metriclist['name']) > 20 ? substr($metriclist['name'], 0, 20) . '...' : $metriclist['name']; $value[] = '<a href="index.php?action=ListView&module=' . $metriclist['module'] . '&viewname=' . $metriclist['id'] . '">' . $CVname . '</a> <font style="color:#6E6E6E;">(' . $metriclist['user'] . ')</font>'; $value[] = '<a href="index.php?action=ListView&module=' . $metriclist['module'] . '&viewname=' . $metriclist['id'] . '">' . getTranslatedString($metriclist['module']) . '</a>'; $value[] = '<a href="index.php?action=ListView&module=' . $metriclist['module'] . '&viewname=' . $metriclist['id'] . '">' . $metriclist['count'] . '</a>'; $entries[$metriclist['id']] = $value; } } $values = array('Title' => $title, 'Header' => $header, 'Entries' => $entries); if ($display_empty_home_blocks || count($value) != 0) { return $values; } }
/** to get the details of a KeyMetrics on Home page * @returns $customviewlist Array in the following format * $values = Array('Title'=>Array(0=>'image name', * 1=>'Key Metrics', * 2=>'home_metrics' * ), * 'Header'=>Array(0=>'Metrics', * 1=>'Count' * ), * 'Entries'=>Array($cvid=>Array( * 0=>$customview name, * 1=>$no of records for the view * ), * $cvid=>Array( * 0=>$customview name, * 1=>$no of records for the view * ), * | * | * $cvid=>Array( * 0=>$customview name, * 1=>$no of records for the view * ) * ) * */ function getKeyMetrics($maxval, $calCnt) { require_once "data/Tracker.php"; require_once 'modules/CustomView/CustomView.php'; require_once 'include/logging.php'; require_once 'include/ListView/ListView.php'; global $app_strings; global $adb; global $log; global $current_language; $metricviewnames = "'Hot Leads'"; $current_module_strings = return_module_language($current_language, "CustomView"); $log = LoggerManager::getLogger('metrics'); $metriclists = getMetricList(); // Determine if the KeyMetrics widget should appear or not? if ($calCnt == 'calculateCnt') { return count($metriclists); } $log->info("Metrics :: Successfully got MetricList to be displayed"); if (isset($metriclists)) { global $current_user; foreach ($metriclists as $key => $metriclist) { $queryGenerator = new QueryGenerator($metriclist['module'], $current_user); $queryGenerator->initForCustomViewById($metriclist['id']); $metricsql = $queryGenerator->getQuery(); $metricsql = mkCountQuery($metricsql); $metricresult = $adb->query($metricsql); if ($metricresult) { if ($metriclist['module'] == "Calendar") { $metriclists[$key]['count'] = $adb->num_rows($metricresult); } else { $rowcount = $adb->fetch_array($metricresult); $metriclists[$key]['count'] = $rowcount['count']; } } } $log->info("Metrics :: Successfully build the Metrics"); } $title = array(); $title[] = 'keyMetrics.gif'; $title[] = $app_strings['LBL_HOME_KEY_METRICS']; $title[] = 'home_metrics'; $header = array(); $header[] = $app_strings['LBL_HOME_METRICS']; $header[] = $app_strings['LBL_MODULE']; $header[] = $app_strings['LBL_HOME_COUNT']; $entries = array(); if (isset($metriclists)) { $oddRow = true; foreach ($metriclists as $metriclist) { $value = array(); // JFV - fix wrongly truncationed utf8 string if (function_exists("mb_strimwidth")) { $CVname = mb_strimwidth($current_module_strings['JFV_cv_name'][$metriclist['name']] ? $current_module_strings['JFV_cv_name'][$metriclist['name']] : $metriclist['name'], 0, 20, '...', "UTF-8"); } else { // JFV END $CVname = strlen($metriclist['name']) > 20 ? substr($metriclist['name'], 0, 20) . '...' : $metriclist['name']; // JFV } // JFV END $value[] = '<a href="index.php?action=ListView&module=' . $metriclist['module'] . '&viewname=' . $metriclist['id'] . '">' . $CVname . '</a> <font style="color:#6E6E6E;">(' . $metriclist['user'] . ')</font>'; $value[] = '<a href="index.php?action=ListView&module=' . $metriclist['module'] . '&viewname=' . $metriclist['id'] . '">' . getTranslatedString($metriclist['module']) . '</a>'; $value[] = '<a href="index.php?action=ListView&module=' . $metriclist['module'] . '&viewname=' . $metriclist['id'] . '">' . $metriclist['count'] . '</a>'; $entries[$metriclist['id']] = $value; } } $values = array('Title' => $title, 'Header' => $header, 'Entries' => $entries); if ($display_empty_home_blocks || count($value) != 0) { return $values; } }