* @version $Id$
* @access public
* @license http://opensource.org/licenses/gpl-3.0.html
*/
include_once(override('../dashboard/' . SQL . '.inc.php'));
include_once(override('../dashboard/common.php'));
/**
* DisplayListValuesByLevels()
* affichage du tableau de bord
* @param integer $id_filter
* @param integer $filter
* @return
**/
if(!function_exists('DisplayListValuesByLevels')) {
function DisplayListValuesByLevels($id_filter = -1, $filter = -1)
{
$firstlevels = $GLOBALS['sql_object'] ->DBSelect(SQL_getLevelsList(true));
// quick and dirty ....
// selecting indicators by tags will remove scale filter
if(isset($_REQUEST['filter']) && $_REQUEST['filter'] == 'tag') {
$sdi = $GLOBALS['sql_object'] -> DBSelect(SQL_getListSdi("TAG", $_REQUEST['id']));
} else {
$sdi = $GLOBALS['sql_object'] -> DBSelect(SQL_getListSdi("P", $valueparam = 0));
}
if(!isset($sdi[0]['sdii_id'])) return false;
$sdi = add_root_level($sdi, 'sdii_level', 'level_root'); // we add extra field with level root
$listing = "";
$a = array(); // do not display an indicator twice
$current_level = '';
for ($i = 0;$i < count($firstlevels);$i++) {
if ($firstlevels[$i]['level_id'] != $current_level && $current_level <> '') {
$listing .= "" . PHP_EOL;
$listing .= "" . PHP_EOL;
}
if ($firstlevels[$i]['level_id'] != $current_level) {
$current_level = $firstlevels[$i]['level_id'];
$listing .= "
" . formatText($firstlevels[$i]['level_name'], '2HTML') . "
".PHP_EOL;
$listing .= '' . PHP_EOL;
$listing .= '' . PHP_EOL;
$listing .= '' . PHP_EOL;
$listing .= ''.mb_ucfirst(_t('dashboard','graphic_value')).' | ' . PHP_EOL;
$listing .= ''.mb_ucfirst(_t('dashboard','label_value')).' | ' . PHP_EOL;
$listing .= '
' . PHP_EOL;
$listing .= '' . PHP_EOL;
$listing .= '' . PHP_EOL;
}
for ($j = 0;$j < count($sdi);$j++) {
if ($firstlevels[$i]['level_id'] == $sdi[$j]['level_root']) {
// we display the value only if attached to dashboard
// and if not yet displayed
if ($sdi[$j]['sdii_to_dashboard']=='Y' && !in_array($sdi[$j]['sdii_id'], $a)) {
// setting $threshold_value
// By default initial value
$threshold_value = $sdi[$j]['sdii_threshold_value'];
// if set, we get the latest for the given scale
$r = $GLOBALS['sql_object'] -> DBSelect(SQL_getlastInsertByPublicationDate($sdi[$j]['sdii_id'], $id_filter));
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'=>$sdi[$j]['sdii_id'], 'parentid'=> $id_filter, 'name' => $sdi[$j]['sdii_name']);
$listing .= "" . PHP_EOL;
$listing .= "";
$listing .= getViz($GLOBALS['sql_object'], $id_filter, $sdi[$j], $threshold_value);
$listing .= " | ";
$listing .= "" . formatText($sdi[$j]['sdii_name'], '2HTML') . " | " . PHP_EOL;
$listing .= "
" . PHP_EOL;
array_push($a, $sdi[$j]['sdii_id']); // we add the id into array for not displaying it twice
}
}
}
}
$listing .= "" . PHP_EOL;
$listing .= "
" . PHP_EOL;
hoverJsBox();
// including sparkline code
footerAddJS('../lib/js/jquery.sparkline.min.js');
footerAddInlineJS("$('.inlinebar').sparkline('html', {type: 'bar', barColor: '#8DA8CB'} );");
echo $listing;
}
}
/**
* DisplayListValuesByProjects()
* affichage du tableau de bord
* @param integer $id_filter
* @param integer $filter
* @return
**/
if(!function_exists('DisplayListValuesByProjects')) {
function DisplayListValuesByProjects($id_filter = -1, $filter = -1)
{
$result = $GLOBALS['sql_object'] -> DBSelect(SQL_getListProjects());
$result_sdi = $GLOBALS['sql_object'] -> DBSelect(SQL_getListSdi("P", $valueparam = 0));
if(!isset($result_sdi[0]['sdii_id'])) return false;
$listing = "";
$current_project = '';
for ($i = 0;$i < count($result);$i++) {
if ($result[$i]['project_id'] != $current_project && $current_project <> '') {
$listing .= "" . PHP_EOL;
$listing .= "" . PHP_EOL;
}
if ($result[$i]['project_id'] != $current_project) {
$current_project = $result[$i]['project_id'];
$listing .= "" . formatText($result[$i]['project_name'], '2HTML') . "
".PHP_EOL;
$listing .= '' . PHP_EOL;
$listing .= '' . PHP_EOL;
$listing .= '' . PHP_EOL;
$listing .= ''.mb_ucfirst(_t('dashboard','graphic_value')).' | ' . PHP_EOL;
$listing .= ''.mb_ucfirst(_t('dashboard','label_value')).' | ' . PHP_EOL;
$listing .= '
' . PHP_EOL;
$listing .= '' . PHP_EOL;
$listing .= '' . PHP_EOL;
}
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
$r = $GLOBALS['sql_object'] -> DBSelect(SQL_getlastInsertByPublicationDate($result_sdi[$j]['sdii_id'], $id_filter));
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 .= "" . PHP_EOL;
$listing .= "";
$listing .= getViz($GLOBALS['sql_object'], $id_filter, $result_sdi[$j], $threshold_value);
$listing .= " | ";
$listing .= "" . formatText($result_sdi[$j]['sdii_name'], '2HTML') . " | " . PHP_EOL;
$listing .= "
" . PHP_EOL;
//}
}
}
}
$listing .= "" . PHP_EOL;
$listing .= "
" . PHP_EOL;
hoverJsBox();
// including sparkline code
footerAddJS('../lib/js/jquery.sparkline.min.js');
footerAddInlineJS("$('.inlinebar').sparkline('html', {type: 'bar', barColor: '#8DA8CB'} );");
echo $listing;
}
}
function hoverJsBox() {
$js = '';
footerAddInlineJS($js, 'default', false);
}
/**
* DisplayOneSdi()
* affichage d'un indicateur et infos résumé
* @param $sdi_id
* @param $scale_id
* @return
**/
if(!function_exists('DisplayOneSdi')) {
function DisplayOneSdi($sdi_id, $scale_id)
{
echo GetSdiTitle($sdi_id, $scale_id);
echo '';
echo getDashboardNavigation($sdi_id,$scale_id);
echo GetOneSdiInfoAndValues($sdi_id, $scale_id);
echo GetOneSdiRules($sdi_id);
echo GetOneSdiEvaluation($sdi_id);
echo GetOneSdiProvider($sdi_id);
echo '
';
}
}
/**
* GetAllValue()
* afficahge de l'ensemble des valeurs publiques d'un IDD
* @param $sdi_id
* @param $scale_id
* @return
**/
if(!function_exists('GetAllValue')) {
function GetAllValue($sdi_id, $scale_id)
{
if(defined('CLIENT_CHARTS') && CLIENT_CHARTS == 1) {
echo '';
footerAddJS('../lib/js/Highcharts-7.0.3/code/highcharts.js');
// https://www.highcharts.com/docs/export-module/export-module-overview
footerAddJS('../lib/js/Highcharts-7.0.3/code/modules/exporting.js');
footerAddJS('../lib/js/Highcharts-7.0.3/code/modules/offline-exporting.js');
footerAddJS('../lib/js/generate-chart.js');
// footerAddJS('../lib/js/Highcharts-7.0.3/code/themes/grid-light.js');
}
$result_value = $GLOBALS['sql_object'] -> DBSelect(SQL_getAllValue("SCD", $scale_id, $sdi_id));
$result_sdi_value = $GLOBALS['sql_object'] -> DBSelect(SQL_getInfoSdiforvalue($sdi_id));
// setting $default_threshold value
// By default initial value
$default_threshold = $result_sdi_value[0]['sdii_threshold_value'];
$req_sdii=SQL_getInfoSdi($sdi_id);
$result_sdii = $GLOBALS['sql_object'] -> DBSelect($req_sdii);
// we init javascript vars for generating charts
?>
' . PHP_EOL;
$content .= ''._t('dashboard','historic').'
' . PHP_EOL;
if ($result_value <> false) {
if (count($result_value) > 2) {
$content .= ''._t('dashboard','rep_graph').'
' . PHP_EOL;
if($result_sdi_value[0]['sdii_type'] == 'quantitative') {
if(!defined('CLIENT_CHARTS') || CLIENT_CHARTS != 1) {
$graph_path = override('../dashboard/graph.php');
$content .= "
" . PHP_EOL;
} else {
$content .= '';
}
}
if($result_sdi_value[0]['sdii_type'] == 'qualitative') $content .= getQualitativeViz($result_value, $result_sdi_value[0]);
}
$content .= ''.mb_ucfirst(_t('dashboard','all_value')).'
' . PHP_EOL;
$content .= '' . PHP_EOL;
$content .= '' . PHP_EOL;
$content .= '' . PHP_EOL;
$content .= "".mb_ucfirst(_t('dashboard','date'))." | " . PHP_EOL;
$content .= "".mb_ucfirst(_t('dashboard','value'))." (".$result_sdi_value[0]['sdii_unit'].") | " . PHP_EOL;
$content .= "".mb_ucfirst(_t('dashboard','threshold_value'))." | " . PHP_EOL;
$content .= "".mb_ucfirst(_t('dashboard','rate'))." | " . PHP_EOL;
$content .= "".mb_ucfirst(_t('dashboard','comment'))." | " . PHP_EOL;
$content .= "
" . PHP_EOL;
$content .= "" . PHP_EOL;
$content .= "" . PHP_EOL;
for ($i = 0;$i < count($result_value);$i++) {
$comment = '';
$current_val = '';
$data_pie = '';
// indicator is multivalues
if(!empty($result_value[$i]['sdiv_multivalue'])) {
$data = unserialize($result_value[$i]['sdiv_multivalue']);
foreach($data as &$val) {
$current_val .= '';
if(!empty($val['label'])) $current_val .= ''.formatText($val['label'], '2HTML'). ' : ';
$current_val .= ''.fnumber_format($val['value'], 'auto', false). ' ('.fnumber_format($val['_percentage'], 2, false).' %)';
$current_val .= '
';
$data_pie .= formatText($val['label'], '2HTML').'='.$val['value'].'||';
}
// we display the total
$current_val .= '';
$current_val .= mb_ucfirst(_t('dashboard', 'multivalue_total')) . ' : ' . fnumber_format($data[0]['_total'], 'auto', false);
$current_val .= ' ('._t('dashboard', 'to_detail_chart').')';
$current_val .= '
';
$current_val_raw = $data[0]['_total'];
if($i == 0) {
$lastValue = $current_val_raw; // we store data to compute TCAM and global rate
$year_end = substr(formatDate($result_value[$i]['date_p'], true), 0, 4);
}
if($i == count($result_value)-1) {
$firstValue = $current_val_raw; // we store data to compute TCAM and global rate
$year_start = substr(formatDate($result_value[$i]['date_p'], true), 0, 4);
}
// we compute rate
if(isset($result_value[$i+1]['sdiv_multivalue'])) {
$dataPlusOne = unserialize($result_value[$i+1]['sdiv_multivalue']);
$evol = ($data[0]['_total'] - $dataPlusOne[0]['_total']) / $dataPlusOne[0]['_total'] * 100;
//_debug('rate : '. fnumber_format($evol, 2). ' % - details : ('.$data[0]['_total']. ' - ' . $dataPlusOne[0]['_total']. ') / '. $dataPlusOne[0]['_total']);
$evol = fnumber_format($evol, 2). ' %';
} else {
$evol = empty_nc('');
}
// indicator is NOT multivalues
} else {
// If indicator is boolean
if($result_sdi_value[0]['sdii_type'] == 'boolean' || $result_sdi_value[0]['sdii_type'] == 'qualitative') {
$a = getBooleanValues($result_sdi_value[0]);
if($a) {
$current_val .= $a[$result_value[$i]['sdiv_value']];
$current_val_raw = $result_value[$i]['sdiv_value'];
} else {
$current_val .= fnumber_format($result_value[$i]['sdiv_value'], 'auto', false);
$current_val_raw = $result_value[$i]['sdiv_value'];
}
} else {
$current_val .= fnumber_format($result_value[$i]['sdiv_value'], 'auto', false);
$current_val_raw = $result_value[$i]['sdiv_value'];
if($i == 0) {
$lastValue = $current_val_raw; // we store data to compute TCAM and global rate
$year_end = substr(formatDate($result_value[$i]['date_p'], true), 0, 4);
}
if($i == count($result_value)-1) {
$firstValue = $current_val_raw; // we store data to compute TCAM and global rate
$year_start = substr(formatDate($result_value[$i]['date_p'], true), 0, 4);
}
}
$evol = empty_nc('');
// we compute rate
if($result_sdii[0]['sdii_type'] == 'quantitative') {
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']);
$evol = fnumber_format($evol, 2). ' %';
} else {
$evol = empty_nc('');
}
}
}
// if set, we get it from the table
if(!is_null($result_value[$i]['sdiv_threshold'])) {
if($result_sdi_value[0]['sdii_type'] == 'quantitative') {
$threshold = fnumber_format($result_value[$i]['sdiv_threshold'], 'auto', false);
$threshold_raw = $result_value[$i]['sdiv_threshold'];
} else {
$threshold = $a[$result_value[$i]['sdiv_threshold']];
$threshold_raw = $result_value[$i]['sdiv_threshold'];
}
} else {
$threshold = empty_none(fnumber_format($default_threshold, 'auto', false));
$threshold_raw = $default_threshold;
}
$threshold_raw = $default_threshold;
if(!empty($result_value[$i]['sdiv_comment']) && $result_value[$i]['sdiv_comment_display']=='Y') {
$comment = '';
}
$content .= "" . PHP_EOL;
$content .= "" . formatText($result_value[$i]['date_p'], '2HTML') . " | " . PHP_EOL;
$content .= "" . formatText($current_val, '2HTML') . " | " . PHP_EOL;
$content .= "" . formatText($threshold, '2HTML') . " | " . PHP_EOL;
$content .= "". $evol. " | " . PHP_EOL;
$content .= "". $comment. " | " . PHP_EOL;
$content .= "
" . PHP_EOL;
}
$content .= "" . PHP_EOL;
$content .= "
" . PHP_EOL;
if($result_sdii[0]['sdii_type'] == 'quantitative') $content .= getRates($firstValue, $lastValue, $year_start, $year_end);
if(!empty($default_threshold)) $content .= ''.mb_ucfirst(_t('sdi','initial_threshold_value')).' : '.$result_sdi_value[0]['sdii_threshold_value'].' '.$result_sdi_value[0]['sdii_unit'].'
' . PHP_EOL;
$content .= '' . PHP_EOL;
return $content;
}
}
}
/**
* GetSdiTitle()
* affichage nom d'un indicateur
* @param $sdi_id
* @param $scale_id
* @return
**/
if(!function_exists('GetSdiTitle')) {
function GetSdiTitle($sdi_id, $scale_id)
{
// getting tags
include_once('../class/class.tag.php');
$otag = new tag();
$tags = $otag->getTags('indicator', $sdi_id, false);
$link_tag = array('rub' => $GLOBALS['links'][U_L][ActiveItemKey($GLOBALS['activeitem'])]['linkvalue'], 'filter' => 'tag');
$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')));
if($data_sdi == 0) error_redirect();
$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 = '' . PHP_EOL;
$content .= '
' . mb_ucfirst($sdi_name) . '
' . PHP_EOL;
$content .='
'.PHP_EOL;
$content .= formatted_permalink($link_self);
$content .='
'.PHP_EOL;
$content .= '
' . $sdi_description . '
' . PHP_EOL;
$content .= '
';
$content .= _t('divers', 'scale').' :
' . $scale_name . '' . PHP_EOL;
if(!empty($tags)) {
$content .= '
/ ' . '
' . PHP_EOL;
$content .= mb_ucfirst(_t('tag','name')) . ' : ' . $otag->linkTags($tags, $link_tag). PHP_EOL;
$content .= '
' . PHP_EOL;
}
$content .= '
';
$content .= '
' . PHP_EOL;
return $content;
}
}
/**
* GetOneSdiInfo()
* récupération des infos générales d'un indicateur
* @param $sdi_id
* @return
**/
if(!function_exists('GetOneSdiInfoAndValues')) {
function GetOneSdiInfoAndValues($sdi_id, $scale_id)
{
$content = '' . PHP_EOL;
$content .= GetAllValue($sdi_id, $scale_id);
$content .= GetOneSdiInfo($sdi_id);
$content .= '
' . PHP_EOL;
return $content;
}
}
/**
* GetOneSdiInfo()
* récupération des infos générales d'un indicateur
* @param $sdi_id
* @return
**/
if(!function_exists('GetOneSdiInfo')) {
function GetOneSdiInfo($sdi_id)
{
$data = $GLOBALS['sql_object'] -> DBSelect(SQL_getInfoSdi($sdi_id));
$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 = '' . PHP_EOL;
$content .= '
'.mb_ucfirst(_t('dashboard','det_sdi2')).'
' . PHP_EOL;
$content .= '
'.mb_ucfirst(_t('sdi','goal_public')).'
' . PHP_EOL;
$content .= '
' . $sdi_goal . '
' . PHP_EOL;
$content .= '
'.mb_ucfirst(_t('sdi','consulting_public')).'
' . PHP_EOL;
$content .= '
' . $sdi_consulting . '
' . PHP_EOL;
$content .= '
' . PHP_EOL;
return $content;
}
}
/**
* GetOneSdiRules()
* récupération des réglementations d'un indicateur
* @param $sdi_id
* @return
**/
if(!function_exists('GetOneSdiRules')) {
function GetOneSdiRules($sdi_id)
{
$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 = "" . formatText($result_r[0]['sdir_mask_uri'], '2HTML') . "";
}
$content = '' . PHP_EOL;
$content .= '
'.mb_ucfirst(_t('sdi','r_body')).'
' . PHP_EOL;
if ($result_r[0]['sdir_title'] == "") {
$content .= "
"._t('divers','nodata')."
" . PHP_EOL;
} else {
$content .= "
" . $r_title . "
" . PHP_EOL;
$content .= "
" . $r_body . "
" . PHP_EOL;
if(isset($url)) {
$content .= "
" . $url . "
" . PHP_EOL;
}
}
$content .= '
' . PHP_EOL;
return $content;
}
}
/**
* GetOneSdiEvaluation()
* récupération des critères d'évaluation d'un indicateur
* @param $sdi_id
* @return
**/
if(!function_exists('GetOneSdiEvaluation')) {
function GetOneSdiEvaluation($sdi_id)
{
$result_e = $GLOBALS['sql_object'] -> DBSelect(SQL_getEvaluation($sdi_id, $GLOBALS['sql_object'], -1));
$content = '' . PHP_EOL;
$content .= '
'.mb_ucfirst(_t('sdi','e_title')).'
' . PHP_EOL;
$content .= '
' . PHP_EOL;
$content .= '' . PHP_EOL;
$content .= '' . PHP_EOL;
$content .= ""._t('sdi','e_scale_compare')." | " . PHP_EOL;
$content .= ""._t('sdi','e_fiability')." | " . PHP_EOL;
$content .= ""._t('sdi','e_accessibility')." | " . PHP_EOL;
$content .= ""._t('sdi','e_lisibility')." | " . PHP_EOL;
$content .= ""._t('sdi','e_relevance')." | " . PHP_EOL;
$content .= ""._t('sdi','e_global_performance')." | " . PHP_EOL;
$content .= "
" . PHP_EOL;
$content .= "" . PHP_EOL;
$content .= "" . PHP_EOL;
$content .= "" . PHP_EOL;
$content .= "" . $result_e[0]['sdie_scale_compare'] . " | " . PHP_EOL;
$content .= "" . $result_e[0]['sdie_fiability'] . " | " . PHP_EOL;
$content .= "" . $result_e[0]['sdie_accessibility'] . " | " . PHP_EOL;
$content .= "" . $result_e[0]['sdie_lisibility'] . " | " . PHP_EOL;
$content .= "" . $result_e[0]['sdie_relevance'] . " | " . PHP_EOL;
$content .= "" . $result_e[0]['sdie_global_performance'] . " | " . PHP_EOL;
$content .= "
" . PHP_EOL;
$content .= "" . PHP_EOL;
$content .= "
" . PHP_EOL;
$content .= '
' . PHP_EOL;
return $content;
}
}
/**
* GetOneSdiProvider()
* récupération des infos du fournisseurs d'un indicateur
* @param $sdi_id
* @return
**/
if(!function_exists('GetOneSdiProvider')) {
function GetOneSdiProvider($sdi_id)
{
$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 = '' . PHP_EOL;
$content .= '
'.mb_ucfirst(_t('sdi','p_title')).'
' . PHP_EOL;
if ($result_p[0]['sdip_name'] == "") {
$content .= "
"._t('divers','nodata')."
" . PHP_EOL;
} else {
$content .= '
' . $p_name . '
' . PHP_EOL;
$content .= '
' . $p_description . '
' . PHP_EOL;
}
$content .= '
' . PHP_EOL;
return $content;
}
}
/**
* getDataVizMode()
* return a link to switch display mode
* @param $scale_id
* @return string
* @todo remove or use to display tabular data
**/
if(!function_exists('getDataVizSwitcher')) {
function getDataVizSwitcher($altmode, $scale_id)
{
if( $altmode ) {
$link = array('rub'=> $GLOBALS['links'][U_L]['dashboard']['linkvalue'], 'id' => $scale_id);
$msg = _t('dashboard', 'mode_by_finality');
} else {
$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 = '';
$str .= '
'.$msg.''.PHP_EOL;
$str .= '
';
return $str;
}
}
/**
* getDashboardNavigation()
* Return a string with the internal navigation
* @param int
* @param int
* @return string
**/
if(!function_exists('getDashboardNavigation')) {
function getDashboardNavigation($sdi_id,$scale_id)
{
// including easyTabs
footerAddJS('../lib/js/jQuery-EasyTabs/vendor/jquery.hashchange.min.js');
footerAddJS('../lib/js/jQuery-EasyTabs/lib/jquery.easytabs.min.js');
footerAddInlineJS("$('#tabs').easytabs({animate:false});");
$content ="". PHP_EOL;
return $content;
}
}
?>