linea21-modules
[ class tree: linea21-modules ] [ index: linea21-modules ] [ all elements ]

Source for file display.php

Documentation is available at display.php

  1. <?php
  2. /**
  3.  * @package linea21.modules
  4.  * @subpackage project
  5.  * @author linea21 <info@linea21.com>
  6.  * @version $id SVN
  7.  * @access public
  8.  * @license http://opensource.org/licenses/gpl-3.0.html
  9.  */
  10.  
  11. include_once(themePath('../project/' . SQL . '.inc.php'));
  12.  
  13. /**
  14.  * DisplayListProject()
  15.  * Affichage de la liste des projets publics
  16.  *
  17.  * @param string $statut 
  18.  * @param integer $filter 
  19.  * @param string $id_filter 
  20.  * @param integer $debut 
  21.  * @return string $content
  22.  */
  23. if(!function_exists('DisplayListProject')) {
  24.  
  25.   function DisplayListProject($statut, $filter, $id_filter, $debut)
  26.   {
  27.     if ($statut == 'public') {
  28.       $pas = 100;
  29.       $suffix = '';
  30.     } else $pas = SELECT_LIMIT;
  31.     if ($statut == 'archives_p') $suffix = ' "'.strtolower(_t('statut','PA')).'"';
  32.     $data = $GLOBALS['sql_object']->DBSelect(SQL_getProjectsList($debut, $pas, $statut, $filter, $id_filter));
  33.     $datacount = $GLOBALS['sql_object']->DBSelect(SQL_getCountProjectsList($statut, $filter, $id_filter));
  34.     $bdd_nb_com = $datacount[0]['num_rows'];
  35.     $bdd_nb_com_display = '<p>' . $bdd_nb_com . ' ' . _t('project','name') . $suffix . '</p>' . END_LINE;
  36.     $content = '<h1>' . _t('project','list') . '</h1>' . END_LINE;
  37.     if ($data != 0) {
  38.       // echo $bdd_nb_com_display;    // affichage du nombre d'enregistrements
  39.       $current_link = array('rub' => $GLOBALS['links'][U_L]['project']['linkvalue']);
  40.       Display_linkin_page($current_link, $bdd_nb_com, $debut, $pas);
  41.       for($i = 0; $i < count($data); $i++) {
  42.         $link_detail = array('rub' => $GLOBALS['links'][U_L]['project']['linkvalue'], 'id' => $data[$i]['project_id'], 'name' => $data[$i]['project_name']);
  43.         $link_scale = array('rub' => $GLOBALS['links'][U_L]['project']['linkvalue'], 'filter' => $GLOBALS['filters'][U_L]['scale']['linkvalue'], 'id' => $data[$i]['project_scale_id'], 'name' => $data[$i]['scale_denomination']);
  44.         $link_priority = array('rub' => $GLOBALS['links'][U_L]['project']['linkvalue'], 'filter' => $GLOBALS['filters'][U_L]['priority']['linkvalue'], 'id' => $data[$i]['priority_id'] , 'name' => $data[$i]['priority_name']);
  45.         $link_user = array('rub' => $GLOBALS['links'][U_L]['user-profile']['linkvalue'], 'id' => $data[$i]['project_posted_by'], 'name' => $data[$i]['user_login']);
  46.         $project_name = formatText($data[$i]['complete_project_name'], '2HTML');
  47.         $project_description = formatText($data[$i]['project_description'], '2HTML');
  48.         $scale_denomination = formatText($data[$i]['scale_denomination'], '2HTML');
  49.         $project_posted_on = formatText($data[$i]['project_published_date_display'], '2HTML');
  50.         $project_posted_by = formatText($data[$i]['user_login'], '2HTML');
  51.         $project_priority = formatText($data[$i]['priority_name'], '2HTML');
  52.         $project_theme_id = $data[$i]['project_theme_id'];
  53.         if($project_theme_id != 0) {
  54.           $project_theme = formatText($data[$i]['sdtheme_name'], '2HTML');
  55.           $link_theme = array('rub' => $GLOBALS['links'][U_L]['project']['linkvalue'], 'filter' => $GLOBALS['filters'][U_L]['theme']['linkvalue'], 'id' => $data[$i]['theme_sd_theme'], 'name' => $project_theme);
  56.         }
  57.  
  58.         $content .= '<h2>' . END_LINE;
  59.         $content .= '<a href="' . HrefMaker($link_detail) . '" title="' . formatText($project_name, '2ATT') . '">' . $project_name . '</a>' . END_LINE;
  60.         $content .= '</h2>' . END_LINE;
  61.         $content .= '<p class="published_by">' . END_LINE;
  62.         $content .= _t('statut','published_on') . ' ' . $project_posted_on . ' ';
  63.         $content .= _t('divers','by').' <a href="' . HrefMaker($link_user) . '" title="' . $GLOBALS['links'][U_L]['user-profile']['desc'] . ' (' . $project_posted_by . ')">' . $project_posted_by . '</a>';
  64.         $content .= '</p>' . END_LINE;
  65.          
  66.         $content .= '<div class="chapo">' . $project_description . '</div>' . END_LINE;
  67.         $content .= '<a class="readmore" href="'.HrefMaker($link_detail).'">'._t('btn', 'read_more').'</a>';
  68.         $content .= '<p class="filter_info">';
  69.         $content .= _t('project','priority') . ' : ';
  70.         $content .= ' <a href="' . HrefMaker($link_priority) . '" title="' . $GLOBALS['filters'][U_L]['priority']['desc'] . ' : ' . formatText($project_priority, '2ATT') . '" class="filter_info_priority">' . $project_priority . '</a> ' . END_LINE;
  71.         $content .= _t('divers','scale') . ' : ';
  72.         $content .= ' <a href="' . HrefMaker($link_scale) . '" title="' . $GLOBALS['filters'][U_L]['scale']['desc'] . ' : ' . formatText($scale_denomination, '2ATT') . '" class="filter_info_scale">' . $scale_denomination . '</a>' . END_LINE;
  73.         if($project_theme_id != 0) {
  74.           $content .= ' ' . _t('divers','themeref') . ' : ';
  75.           $content .= '<a href="' . HrefMaker($link_theme) . '" title="' . $GLOBALS['filters'][U_L]['theme']['desc'] . ' : ' . formatText($project_theme, '2ATT') . '" class="filter_info_scale">' . $project_theme . '</a>' . END_LINE;
  76.         }
  77.         $content .= '</p>'.END_LINE;
  78.         if($i<count($data)-1) $content .= '<hr />' . END_LINE;
  79.       }
  80.     } else {
  81.       $content .= '<p class="info">' . _t('divers','nodata') . '</p>';
  82.     }
  83.  
  84.     echo $content;
  85.   }
  86. }
  87.  
  88. /**
  89.  * DisplayOneProject()
  90.  * Affichage d'un projet en détail
  91.  *
  92.  * @param integer $project_id 
  93.  * @return string $stat status name
  94.  */
  95. if(!function_exists('DisplayOneProject')) {
  96.  
  97.   function DisplayOneProject($project_id)
  98.   {
  99.     $data = $GLOBALS['sql_object']->DBSelect(SQL_getoneCompleteProject($project_id));
  100.     $content = '';
  101.     if (count($data) != 1) exit;
  102.     else {
  103.       $link_scale = array('rub' => $GLOBALS['links'][U_L]['project']['linkvalue'], 'filter' => $GLOBALS['filters'][U_L]['scale']['linkvalue'], 'id' => $data[0]['project_scale_id'], 'name' => $data[0]['scale_denomination']);
  104.       $link_priority = array('rub' => $GLOBALS['links'][U_L]['project']['linkvalue'], 'filter' => $GLOBALS['filters'][U_L]['priority']['linkvalue'], 'id' => $data[0]['project_priority_id'], 'name' => $data[0]['project_priority']);
  105.       $link_user = array('rub' => $GLOBALS['links'][U_L]['user-profile']['linkvalue'], 'id' => $data[0]['project_posted_by'], 'name' => $data[0]['user_login']);
  106.       $link_parent = array('rub' => $GLOBALS['links'][U_L]['project']['linkvalue'], 'id' => $data[0]['project_parent_id'], 'name' => $data[0]['parent_name']);
  107.       $link_self = array('rub' => $GLOBALS['links'][U_L]['project']['linkvalue'], 'id' => $project_id);
  108.       $project_name = formatText($data[0]['project_name'], '2HTML');
  109.       $project_description = linkin_content(formatText($data[0]['project_description'], '2HTML'));
  110.       $project_body = linkin_content(formatText($data[0]['project_body'], '2HTML'));
  111.       $project_parent = formatText($data[0]['parent_name'], '2HTML');
  112.       $project_scale = formatText($data[0]['scale_denomination'], '2HTML');
  113.       $project_priority = formatText($data[0]['project_priority'], '2HTML');
  114.       $project_begin_date = formatText(empty_nc($data[0]['project_begin_date_display']), '2HTML');
  115.       $project_estimated_date = formatText(empty_nc($data[0]['project_estimated_date_display']), '2HTML');
  116.       $project_end_date = formatText(empty_nc($data[0]['project_end_date_display']), '2HTML');
  117.       $project_progression = $data[0]['project_completed'];
  118.       $workshop_id = formatText(empty_nc($data[0]['project_workshop_id']), '2HTML');
  119.       $workshop_name = formatText(empty_nc($data[0]['workshop_denomination']), '2HTML');
  120.       $scale_id = $data[0]['project_scale_id'];
  121.       $project_theme_id = $data[0]['project_theme_id'];
  122.       if($project_theme_id != 0) {
  123.         $project_theme = formatText($data[0]['sdtheme_name'], '2HTML');
  124.         $link_theme = array('rub' => $GLOBALS['links'][U_L]['project']['linkvalue'], 'filter' => $GLOBALS['filters'][U_L]['theme']['linkvalue'], 'id' => $data[0]['theme_sd_theme'], 'name' => $project_theme);
  125.       }
  126.  
  127.       $schedule_table = getScheduleTable($data[0]['project_begin_date_display'], $data[0]['project_estimated_date_display'], $data[0]['project_end_date_display']);
  128.  
  129.       $project_posted_on = formatText($data[0]['project_published_date_display'], '2HTML');
  130.       $project_modify_on = formatText($data[0]['project_last_modify_display'], '2HTML');
  131.       $project_posted_by = formatText($data[0]['user_login'], '2HTML');
  132.       $project_status = $data[0]['project_statut'];
  133.  
  134.       if(commentEnabled('project')) {
  135.         postCommentAction(array('module'=> ActiveItemKey($GLOBALS['activeitem']), 'module_id'=> $project_id));
  136.         $content .= '<div id="anchor-comments">'.END_LINE;
  137.         $content .= getCommentsAnchor(array('module'=> ActiveItemKey($GLOBALS['activeitem']), 'module_id'=> $project_id));
  138.         if($project_status == 'P') $content .= getPostCommentAnchor(array('module'=> ActiveItemKey($GLOBALS['activeitem']), 'module_id'=> $project_id));
  139.         $content .= '</div>'.END_LINE;
  140.       }
  141.       $content .= '<h1>' . $project_name . '</h1>' . END_LINE;
  142.       $content .= '<p class="published_by">' . END_LINE;
  143.       $content .= _t('statut','published_on') . ' ' . $project_posted_on . ' ';
  144.       $content .= _t('divers','by').' <a href="' . HrefMaker($link_user) . '" title="' . $GLOBALS['links'][U_L]['user-profile']['desc'] . ' (' . $project_posted_by . ')">' . $project_posted_by . '</a>';
  145.       if ($project_status == 'PA') {
  146.         $content .= ' (' . _t('statut','archived_on') . ' ' . $project_modify_on . ')';
  147.       }
  148.       $content .= formatted_permalink($link_self, ' - ');
  149.       $content .= '</p>' . END_LINE;
  150.       if($data[0]['project_parent_id'] != 0) {
  151.         $content .= '<div id="parent_project">' . END_LINE;
  152.         $content .= _t('project','parent') . ' : ';
  153.         $content .= '<a href="' . HrefMaker($link_parent) . '" title="' . _t('project','parent') . ' : ' . formatText($project_parent, '2ATT') . '" class="filter_info_parent">' . $project_parent . '</a> ';
  154.         $content .= '</div>' . END_LINE;
  155.       }
  156.       $content .= '<div class="chapo">' . $project_description . '</div>' . END_LINE;
  157.       
  158.       $content .= '<div class="schedule">' . $schedule_table . '</div>' . END_LINE;
  159.       $content .= '<div class="progression">'. _t('project','progression'). ' : ' .getProgressbar($project_progression, 100, '%'). '</div>' . END_LINE;
  160.       
  161.       $content .= '<div class="body">' . $project_body . '</div>' . END_LINE;
  162.       $content .= getProjectChildren($project_id);
  163.       $content .= getAssociatedIndicators($project_id, $scale_id);
  164.       $content .= getAssociatedWorkshop($workshop_id, $workshop_name);
  165.       $content .= '<p class="filter_info">' . END_LINE;
  166.       $content .= _t('project','priority') . ' : ';
  167.       $content .= '<a href="' . HrefMaker($link_priority) . '" title="' . $GLOBALS['filters'][U_L]['priority']['desc'] . ' : ' . formatText($project_priority, '2ATT') . '" class="filter_info_priority">' . $project_priority . '</a> ' . END_LINE;
  168.       $content .= ' ' . _t('divers','scale') . ' : ';
  169.       $content .= '<a href="' . HrefMaker($link_scale) . '" title="' . $GLOBALS['filters'][U_L]['scale']['desc'] . ' : ' . formatText($project_scale, '2ATT') . '" class="filter_info_scale">' . $project_scale . '</a>' . END_LINE;
  170.       if($project_theme_id != 0) {
  171.         $content .= ' ' . _t('divers','themeref') . ' : ';
  172.         $content .= '<a href="' . HrefMaker($link_theme) . '" title="' . $GLOBALS['filters'][U_L]['theme']['desc'] . ' : ' . formatText($project_theme, '2ATT') . '" class="filter_info_scale">' . $project_theme . '</a>' . END_LINE;
  173.       }
  174.       $content .= '</p>' . END_LINE;
  175.     }
  176.     echo $content;
  177.     return GetStatusName($project_status);
  178.   }
  179. }
  180.  
  181. /**
  182.  * GetProjectChildren()
  183.  *
  184.  * @param  $id 
  185.  * @return string 
  186.  */
  187. if(!function_exists('getProjectChildren')) {
  188.  
  189.   function getProjectChildren($id)
  190.   {
  191.     $data = $GLOBALS['sql_object']->DBSelect(SQL_getProjectChildren($id));
  192.  
  193.     $content = '';
  194.     if (count($data) != 0 && $data[0]!=0) {
  195.  
  196.       $content .= '<div id="project_children">'.END_LINE;
  197.       $content .= '<p>'._t('project','sub-projects').' : </p><ul>'.END_LINE;
  198.       for($i = 0; $i < count($data); $i++) {
  199.         $link = array('rub' => $GLOBALS['links'][U_L]['project']['linkvalue'], 'id' => $data[$i]['project_id'], 'name' => $data[$i]['project_name']);
  200.         $name = formatText($data[$i]['project_name'], '2HTML');
  201.  
  202.         $content .= '<li><a href="' . HrefMaker($link) . '" title="' . _t('project','parent') . ' : ' . formatText($name, '2ATT') . '" class="filter_info_parent">' . $name . '</a></li>' .END_LINE;
  203.       }
  204.       $content .= '</ul></div>'.END_LINE;
  205.     }
  206.  
  207.     return $content;
  208.   }
  209. }
  210.  
  211. /**
  212.  * GetStatusName()
  213.  *
  214.  * @param  $status 
  215.  * @return $stat Status name
  216.  */
  217. if(!function_exists('GetStatusName')) {
  218.  
  219.   function GetStatusName($status)
  220.   {
  221.     switch ($status) {
  222.       case 'P':
  223.         $stat = 'public';
  224.         break;
  225.       case 'PA':
  226.         $stat = 'archives_p';
  227.         break;
  228.       case 'AA':
  229.         $stat = 'archives_a';
  230.         break;
  231.       default:
  232.         $stat = 'public';
  233.     }
  234.     return $stat;
  235.   }
  236. }
  237.  
  238. /**
  239.  * getScheduleTable()
  240.  *
  241.  * @param string $s_date 
  242.  * @param string $es_date 
  243.  * @param string $e_date 
  244.  * @return string $content
  245.  */
  246. if(!function_exists('getScheduleTable')) {
  247.  
  248.   function getScheduleTable($s_date, $es_date, $e_date) {
  249.  
  250.     $es_date_class = 'nothing';
  251.     $e_date_class = 'nothing';
  252.  
  253.     if(!isNullDate($es_date)) {
  254.       if(!isNullDate($e_date)) $es_date_class = date_compare($e_date, $es_date, '>') ? 'warn' : 'good';
  255.       else $es_date_class = date_compare(date("Y-m-d"), $es_date, '>') ? 'bad' : 'good';
  256.     }
  257.     if(!isNullDate($e_date)) {
  258.       if(!isNullDate($es_date)) $e_date_class = date_compare($e_date, $es_date, '>') ? 'bad' : 'good';
  259.       else $e_date_class = 'good';
  260.     } else {
  261.       if(!isNullDate($es_date)) {
  262.         $e_date_class = date_compare(date("Y-m-d"), $es_date, '>') ? 'warn' : 'nothing';
  263.       }
  264.     }
  265.  
  266.     $content  = '<table class="project" summary="">'.END_LINE;
  267.     $content .= '<thead>'.END_LINE;
  268.     $content .= '<tr>'.END_LINE;
  269.     $content .= '<th>'._t('project','begin_date').'</th>'.END_LINE;
  270.     $content .= '<th>'._t('project','estimated_date').'</th>'.END_LINE;
  271.     $content .= '<th>'._t('project','end_date').'</th>'.END_LINE;
  272.     $content .= '</tr>'.END_LINE;
  273.     $content .= '</thead>'.END_LINE;
  274.     $content .= '<tbody>'.END_LINE;
  275.     $content .= '<tr>'.END_LINE;
  276.     $content .= '<td>'.formatText(empty_nc($s_date)).'</td>'.END_LINE;
  277.     $content .= '<td class="'.$es_date_class.'">'.formatText(empty_nc($es_date)).'</td>'.END_LINE;
  278.     $content .= '<td class="'.$e_date_class.'">'.formatText(empty_nc($e_date)).'</td>'.END_LINE;
  279.     $content .= '</tr>'.END_LINE;
  280.     $content .= '</tbody>'.END_LINE;
  281.     $content .= '</table>'.END_LINE;
  282.     return $content;
  283.   }
  284. }
  285.  
  286. /**
  287.  * getAssociatedWorkshop()
  288.  *
  289.  * @param  $id 
  290.  * @return string 
  291.  */
  292. if(!function_exists('getAssociatedWorkshop')) {
  293.  
  294.   function getAssociatedWorkshop($wid, $wname)
  295.   {
  296.     $content = '';
  297.     if($wid != 0) {
  298.       $link = array('rub' => $GLOBALS['links'][U_L]['workgroup']['linkvalue'], 'id' => $wid, 'name' => $wname);
  299.       $content .= '<div id="project_workshop">'.END_LINE;
  300.       $content .= '<p>'.ucfirst(_t('project','workshop')).' : <a href="' . HrefMaker($link) . '" title="' . _t('project','workshop') . ' : ' . formatText($wname, '2ATT') . '">' . $wname . '</a></p>' .END_LINE;
  301.       $content .= '</div>'.END_LINE;
  302.     }
  303.  
  304.     return $content;
  305.   }
  306. }
  307.  
  308. /**
  309.  * getAssociatedWorkshop()
  310.  *
  311.  * @param  $id 
  312.  * @return string 
  313.  */
  314. if(!function_exists('getAssociatedIndicators')) {
  315.  
  316.   function getAssociatedIndicators($id, $scale_id)
  317.   {
  318.     $data = $GLOBALS['sql_object']->DBSelect(SQL_getProjectSdi($id));
  319.  
  320.     $content = '';
  321.     if (count($data) != 0 && $data[0]!=0) {
  322.  
  323.       $content .= '<div id="project_indicators">'.END_LINE;
  324.       $content .= '<p>'.ucfirst(_t('project','sdi')).' : </p>'.END_LINE;
  325.       $content .= '<ul>'.END_LINE;
  326.       for($i = 0; $i < count($data); $i++) {
  327.         $link = array('rub' => $GLOBALS['links'][U_L]['dashboard']['linkvalue'], 'id' => $data[$i]['sdii_id'], 'parentid' => $scale_id, 'name' => $data[$i]['sdii_name']);
  328.         $name = formatText($data[$i]['sdii_name'], '2HTML');
  329.  
  330.         $content .= '<li><a href="' . HrefMaker($link) . '" title="' . _t('project','sdi') . ' : ' . formatText($name, '2ATT') . '">' . $name . '</a></li>' .END_LINE;
  331.       }
  332.       $content .= '</ul></div>'.END_LINE;
  333.     }
  334.  
  335.     return $content;
  336.   }
  337. }
  338.  
  339.  
  340. ?>

Documentation generated on Thu, 03 May 2012 15:04:00 +0200 by phpDocumentor 1.4.1