Source for file display.php
Documentation is available at display.php
* @package linea21.modules
* @author linea21 <info@linea21.com>
* @license http://opensource.org/licenses/gpl-3.0.html
include_once(override('../dashboard/' . SQL . '.inc.php'));
include_once('../dashboard/common.php');
* DisplayListValuesByThemes()
* affichage du tableau de bord
* @param integer $id_filter
$result_sdi = $GLOBALS['sql_object'] -> DBSelect(SQL_getListSdi("P", $valueparam = 0));
$a = array(); // to not display twice an indicator
for ($i = 0;$i < count($result);$i++ ) {
if ($result[$i]['sdtheme_id'] != $current_sdtheme && $current_sdtheme <> '') {
if ($result[$i]['sdtheme_id'] != $current_sdtheme) {
$current_sdtheme = $result[$i]['sdtheme_id'];
$listing .= "<h2 class=\"dashboard theme-". $current_sdtheme. "\">" . formatText($result[$i]['sdtheme_name'], '2HTML') . "</h2>". END_LINE;
$listing .= '<table cellspacing="0" cellpadding="5" class="table_dashboard" summary="'. sprintf(_t('dashboard','list_public_summary'), formatText($result[$i]['sdtheme_name'], '2HTML')). '">' . END_LINE;
$listing .= '<td style="width:150px">'. mb_ucfirst(_t('dashboard','graphic_value')). '</td>' . END_LINE;
for ($j = 0;$j < count($result_sdi);$j++ ) {
if ($result[$i]['theme_id'] == $result_sdi[$j]['sdii_theme']) {
// we display the value only if attached to dashboard
// and if not yet displayed
if ($result_sdi[$j]['sdii_to_dashboard']== 'Y' && !in_array($result_sdi[$j]['sdii_id'], $a)) {
// setting $threshold_value
// By default initial value
$threshold_value = $result_sdi[$j]['sdii_threshold_value'];
// if set, we get the latest for the given scale
if(isset ($r[0]['sdiv_value']) && !is_null($r[0]['sdiv_threshold'])) {
$threshold_value = $r[0]['sdiv_threshold'];
$link_det_sdi= array('rub'=> $GLOBALS['links'][U_L]['dashboard']['linkvalue'],'id'=> $result_sdi[$j]['sdii_id'], 'parentid'=> $id_filter, 'name' => $result_sdi[$j]['sdii_name']);
$listing .= "<td style=\"width:150px\">";
$listing .= getViz($GLOBALS['sql_object'], $id_filter, $result_sdi[$j], $threshold_value);
$listing .= "<td class=\"nomargin\"><a href=\"" . HrefMaker($link_det_sdi) . "\" title=\"" . formatText($result_sdi[$j]['sdii_name'], '2ATT') . "\">" . formatText($result_sdi[$j]['sdii_name'], '2HTML') . "</a></td>" . END_LINE;
array_push($a, $result_sdi[$j]['sdii_id']); // we add the id into array for not displaying it twice
// including sparkline code
footerAddInlineJS("$('.inlinebar').sparkline('html', {type: 'bar', barColor: '#8DA8CB'} );");
* DisplayListValuesByProjects()
* affichage du tableau de bord
* @param integer $id_filter
$result_sdi = $GLOBALS['sql_object'] -> DBSelect(SQL_getListSdi("P", $valueparam = 0));
for ($i = 0;$i < count($result);$i++ ) {
if ($result[$i]['project_id'] != $current_project && $current_project <> '') {
if ($result[$i]['project_id'] != $current_project) {
$current_project = $result[$i]['project_id'];
$listing .= "<h2 class=\"dashboard project-". $current_project. "\">" . formatText($result[$i]['project_name'], '2HTML') . "</h2>". END_LINE;
$listing .= '<table cellspacing="0" cellpadding="5" class="table_dashboard" summary="'. sprintf(_t('dashboard','list_public_summary'), formatText($result[$i]['project_name'], '2HTML')). '">' . END_LINE;
$listing .= '<td style="width:150px">'. mb_ucfirst(_t('dashboard','graphic_value')). '</td>' . END_LINE;
for ($j = 0;$j < count($result_sdi);$j++ ) {
if ($result[$i]['project_id'] == $result_sdi[$j]['jps_project_id']) {
// we display the value only if attached to dashboard
if ($result_sdi[$j]['sdii_to_dashboard']== 'Y') {
// setting $threshold_value
// By default initial value
$threshold_value = $result_sdi[$j]['sdii_threshold_value'];
// if set, we get the latest for the given scale
if(isset ($r[0]['sdiv_value']) && !is_null($r[0]['sdiv_threshold'])) {
$threshold_value = $r[0]['sdiv_threshold'];
$link_det_sdi= array('rub'=> $GLOBALS['links'][U_L]['dashboard']['linkvalue'],'id'=> $result_sdi[$j]['sdii_id'], 'parentid'=> $id_filter, 'name' => $result_sdi[$j]['sdii_name']);
$listing .= "<td style=\"width:150px\">";
$listing .= getViz($GLOBALS['sql_object'], $id_filter, $result_sdi[$j], $threshold_value);
$listing .= "<td class=\"nomargin\"><a href=\"" . HrefMaker($link_det_sdi) . "\" title=\"" . formatText($result_sdi[$j]['sdii_name'], '2ATT') . "\">" . formatText($result_sdi[$j]['sdii_name'], '2HTML') . "</a></td>" . END_LINE;
// including sparkline code
footerAddInlineJS("$('.inlinebar').sparkline('html', {type: 'bar', barColor: '#8DA8CB'} );");
$js = '<script type="text/javascript">
$(document).ready(function() {
$(".dashboard-indicator-gauge .cursor").removeAttr("title");
$(this).next().fadeIn("fast");
* affichage d'un indicateur et infos résumé
* affichage d'un indicateur et toutes ses infos
* DisplayOneSdievaluation()
* affichage d'un indicateur et toutes ses infos
* DisplayOneSdiprovider()
* affichage d'un indicateur et toutes ses infos
* afficahge de l'ensemble des valeurs publiques d'un IDD
$result_value = $GLOBALS['sql_object'] -> DBSelect(SQL_getAllValue("SCD", $scale_id, $sdi_id));
// setting $default_threshold value
// By default initial value
$default_threshold = $result_sdi_value[0]['sdii_threshold_value'];
$content = '<div id="indicator-value" class="internal-content">' . END_LINE;
$content .= '<h2>'. _t('dashboard','historic'). '</h2>' . END_LINE;
$content .= '<div id="indicator-threshold">'. _t('sdi','initial_threshold_value'). ' : <span>'. $result_sdi_value[0]['sdii_threshold_value']. ' '. $result_sdi_value[0]['sdii_unit']. '</span></div>' . END_LINE;
if ($result_value <> false) {
if (count($result_value) > 2) {
$content .= '<h3>'. _t('dashboard','rep_graph'). ' </h3>' . END_LINE;
$graph_path = override('../dashboard/graph.php');
$content .= "<img src=\"". $graph_path. "?id=" . $sdi_id . "&scale_id=" . $scale_id . "&display=true\" id=\"imggraph\" class=\"graph\" alt=\"". formatText(_t('dashboard','rep_graph'), '2ATT'). "\"/>" . END_LINE;
$content .= '<h3>'. _t('dashboard','value'). '</h3>' . END_LINE;
$content .= '<table cellspacing="0" cellpadding="5" class="table_dashboard_det" summary="'. _t('dashboard','all_values_summary'). '">' . END_LINE;
$content .= "<td>". mb_ucfirst(_t('dashboard','value')). " (". $result_sdi_value[0]['sdii_unit']. ")</td>" . END_LINE;
for ($i = 0;$i < count($result_value);$i++ ) {
// if set, we get it from the table
if(!is_null($result_value[$i]['sdiv_threshold'])) {
$threshold = $result_value[$i]['sdiv_threshold'];
$threshold = $default_threshold;
if(isset ($result_value[$i+ 1]['sdiv_value']) && is_numeric($result_value[$i+ 1]['sdiv_value'])) {
$evol = ($result_value[$i]['sdiv_value'] - $result_value[$i+ 1]['sdiv_value']) / $result_value[$i+ 1]['sdiv_value'] * 100;
_debug('rate : '. fnumber_format($evol, 2, ',', ' '). ' % - details : ('. $result_value[$i]['sdiv_value']. ' - ' . $result_value[$i+ 1]['sdiv_value']. ') / '. $result_value[$i+ 1]['sdiv_value']);
if(!empty($result_value[$i]['sdiv_comment']) && $result_value[$i]['sdiv_comment_display']== 'Y') {
$comment = '<div class="valuecomment">';
$comment .= '<div class="cont"><strong>'. ucfirst(_t('dashboard', 'comment')). ' :</strong> '. $result_value[$i]['sdiv_comment']. '</div>';
$content .= "<td>" . formatText($result_value[$i]['date_p'], '2HTML') . "</td>" . END_LINE;
$content .= "<td>" . formatText($result_value[$i]['sdiv_value'], '2HTML') . "</td>" . END_LINE;
$content .= "<td class=\"threshold\">" . formatText($threshold, '2HTML') . "</td>" . END_LINE;
$content .= "<td class=\"rate\">". $evol. "</td>" . END_LINE;
$content .= "<td>". $comment. "</td>" . END_LINE;
* affichage nom d'un indicateur
$link_self= array('rub'=> $GLOBALS['links'][U_L]['dashboard']['linkvalue'],'id' => $sdi_id, 'parentid' => $_REQUEST['parentid']);
$data_sdi = $GLOBALS['sql_object'] -> DBSelect(SQL_getOnesdiname($sdi_id, array('P')));
$data_scale = $GLOBALS['sql_object'] -> DBSelect(SQL_getonescale($scale_id));
$sdi_name = formatText($data_sdi[0]['sdii_name'], '2HTML');
$sdi_description = formatText($data_sdi[0]['sdii_description'], '2HTML');
$scale_name = formatText(cutText($data_scale[0]['scale_denomination'], 150), '2HTML');
$content = '<div id="indicator-main">' . END_LINE;
$content .= '<p class="permalink">'. END_LINE;
$content .= '<div id="indicator-desc" class="body">' . $sdi_description . '</div>' . END_LINE;
$content .= '<p class="scale"> échelle : <span>' . $scale_name . '</span></p>' . END_LINE;
* récupération des infos générales d'un indicateur
$sdi_name = formatText($data[0]['sdii_name'], '2HTML');
$sdi_description = formatText($data[0]['sdii_description'], '2HTML');
$sdi_comment = formatText($data[0]['sdii_comment'], '2HTML');
$sdi_goal = formatText($data[0]['sdii_goal'], '2HTML');
$sdi_consulting = formatText($data[0]['sdii_consulting'], '2HTML');
$content = '<div id="indicator-info" class="internal-content">' . END_LINE;
$content .= '<div id="indicator-goal" class="body">' . $sdi_goal . '</div>' . END_LINE;
$content .= '<div id="indicator-advices" class="body">' . $sdi_consulting . '</div>' . END_LINE;
* récupération des réglementations d'un indicateur
$result_r = $GLOBALS['sql_object'] -> DBSelect(SQL_getRules($sdi_id, $GLOBALS['sql_object'], - 1));
$r_title = formatText($result_r[0]['sdir_title'], '2HTML');
$r_body = formatText($result_r[0]['sdir_body'], '2HTML');
if(!empty($result_r[0]['sdir_referer_uri'])) {
$url = "<a href=\"" . formatText($result_r[0]['sdir_referer_uri'], '2HTML') . "\" title=\"" . formatText($result_r[0]['sdir_mask_uri'], '2ATT') . "\">" . formatText($result_r[0]['sdir_mask_uri'], '2HTML') . "</a>";
$content = '<div id="indicator-rules" class="internal-content">' . END_LINE;
if ($result_r[0]['sdir_title'] == "") {
$content .= "<p class=\"info\">". _t('divers','nodata'). " </p>" . END_LINE;
$content .= "<h3>" . $r_title . "</h3>" . END_LINE;
$content .= "<div class=\"body\">" . $r_body . "</div>" . END_LINE;
$content .= "<p>" . $url . "</p>" . END_LINE;
* récupération des critères d'évaluation d'un indicateur
$result_e = $GLOBALS['sql_object'] -> DBSelect(SQL_getEvaluation($sdi_id, $GLOBALS['sql_object'], - 1));
$content = '<div id="indicator-evaluation" class="internal-content">' . END_LINE;
$content .= '<table cellspacing="0" cellpadding="5" class="table_dashboard_det" summary="'. _t('dashboard','evaluation_values_summary'). '">' . END_LINE;
$content .= "<td>". _t('sdi','e_scale_compare'). "</td>" . END_LINE;
$content .= "<td>". _t('sdi','e_fiability'). "</td>" . END_LINE;
$content .= "<td>". _t('sdi','e_accessibility'). "</td>" . END_LINE;
$content .= "<td>". _t('sdi','e_lisibility'). "</td>" . END_LINE;
$content .= "<td>". _t('sdi','e_relevance'). "</td>" . END_LINE;
$content .= "<td>". _t('sdi','e_global_performance'). "</td>" . END_LINE;
$content .= "<td>" . $result_e[0]['sdie_scale_compare'] . "</td>" . END_LINE;
$content .= "<td>" . $result_e[0]['sdie_fiability'] . "</td>" . END_LINE;
$content .= "<td>" . $result_e[0]['sdie_accessibility'] . "</td>" . END_LINE;
$content .= "<td>" . $result_e[0]['sdie_lisibility'] . "</td>" . END_LINE;
$content .= "<td>" . $result_e[0]['sdie_relevance'] . "</td>" . END_LINE;
$content .= "<td>" . $result_e[0]['sdie_global_performance'] . "</td>" . END_LINE;
* récupération des infos du fournisseurs d'un indicateur
$result_p = $GLOBALS['sql_object'] -> DBSelect(SQL_getProvider($sdi_id, $GLOBALS['sql_object'], - 1));
$p_name = formatText($result_p[0]['sdip_name'], '2HTML');
$p_description = formatText($result_p[0]['sdip_description'], '2HTML');
$content = '<div id="indicator-provider" class="internal-content">' . END_LINE;
if ($result_p[0]['sdip_name'] == "") {
$content .= "<p class=\"info\">". _t('divers','nodata'). " </p>" . END_LINE;
$content .= '<p>' . $p_name . '</p>' . END_LINE;
$content .= '<div class="body">' . $p_description . '</div>' . END_LINE;
* return a link to switch display mode
* @todo remove or use to display tabular data
$link = array('rub'=> $GLOBALS['links'][U_L]['dashboard']['linkvalue'], 'id' => $scale_id);
$msg = _t('dashboard', 'mode_by_finality');
$link = array('rub'=> $GLOBALS['links'][U_L]['dashboard']['linkvalue'], 'id' => $scale_id, 'altmode' => true);
$msg = _t('dashboard', 'mode_by_project');
// adding these vars to url allow to display the right scale into filter box
// @todo filters should be enhanced
if(array_key_exists('filter', $_REQUEST) && $_REQUEST['filter'] == $GLOBALS['filters'][U_L]['scale']['linkvalue']) {
$link = array_merge($link, array('filter' => $GLOBALS['filters'][U_L]['scale']['linkvalue']));
$str = '<div class="switchnav">';
$str .= '<a class="button" href="'. HrefMaker($link). '" title="'. $msg. '">'. $msg. '</a>'. END_LINE;
* getDashboardNavigation()
* Return a string with the internal navigation
$link_aff_info = HrefMaker(array('rub' => $GLOBALS['links'][U_L]['dashboard']['linkvalue'],'id' => $sdi_id, 'parentid' => $scale_id, 'name' => $data[0]['sdii_name']));
$link_aff_rules = HrefMaker(array('rub' => $GLOBALS['links'][U_L]['dashboard-rules']['linkvalue'], 'id' => $sdi_id, 'parentid' => $scale_id, 'name' => $data[0]['sdii_name']));
$link_aff_provider = HrefMaker(array('rub' => $GLOBALS['links'][U_L]['dashboard-provider']['linkvalue'],'id' => $sdi_id, 'parentid' => $scale_id, 'name' => $data[0]['sdii_name']));
$link_aff_evaluation = HrefMaker(array('rub' => $GLOBALS['links'][U_L]['dashboard-assessment']['linkvalue'], 'id' => $sdi_id, 'parentid' => $scale_id, 'name' => $data[0]['sdii_name']));
ActiveItemKey($GLOBALS['activeitem'])== 'dashboard' ? $info_class= 'active' : $info_class= '';
ActiveItemKey($GLOBALS['activeitem'])== 'dashboard-rules' ? $rules_class= 'active' : $rules_class= '';
ActiveItemKey($GLOBALS['activeitem'])== 'dashboard-assessment' ? $assessment_class= 'active' : $assessment_class= '';
ActiveItemKey($GLOBALS['activeitem'])== 'dashboard-provider' ? $provider_class= 'active' : $provider_class= '';
$content = "<div class=\"internal-nav\" id=\"indicator-nav\">". END_LINE;
$content .= '<a href="' . $link_aff_info . '" title="'. formatText(_t('dashboard','mode_aff_info'), '2ATT'). '" class="'. $info_class. '">'. _t('dashboard','mode_aff_info'). '</a> ' . END_LINE;
$content .= '<a href="' . $link_aff_rules . '" title="'. formatText(_t('dashboard','mode_aff_rules'), '2ATT'). '" class="'. $rules_class. '">'. _t('dashboard','mode_aff_rules'). '</a> ' . END_LINE;
$content .= '<a href="' . $link_aff_provider . '" title="'. _t('dashboard','mode_aff_provider'). '" class="'. $provider_class. '">'. _t('dashboard','mode_aff_provider'). '</a> ' . END_LINE;
$content .= '<a href="' . $link_aff_evaluation . '" title="'. formatText(_t('dashboard','mode_aff_evaluation'), '2ATT'). '" class="'. $assessment_class. '">'. _t('dashboard','mode_aff_evaluation'). '</a> ' . END_LINE;
|