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

Source for file mod.php

Documentation is available at mod.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. //////////// Check Inclusion de pages ////////////
  12. if (!class_exists('auth')) {
  13.   include_once("../lib/lib_common.php");
  14.   ReloadIndex('admin');
  15. }
  16. ////////////
  17.  
  18. //////////// Check Droits utilisateur ////////////
  19. if (!$l21auth->isSuperAdmin()) ReloadIndex('admin');
  20. ////////////
  21.  
  22.  
  23. if (isset($_GET['id']))    $id=$_GET['id'];
  24. if (isset($_POST['id'])) $id=$_POST['id'];
  25.  
  26. $project_object new project;
  27.  
  28. $mask_statut_P='';
  29. $mask_statut_D='';
  30. $mask_archive_P='';
  31. $mask_archive_D='';
  32. $mask_archive_AA='';
  33. $mask_archive_PA='';
  34.  
  35. if(isset($_POST['enregistrer'])) {
  36.   $data_table=unserialize(urldecode($_POST['data_table']));
  37.   $result=$project_object->ModifyProject($id$data_table$sql_object);
  38.  
  39.   $link_confirm="confirm.php?rub=".$rub."&todo=".$todo;
  40.   if($resultheader("Location: ".$link_confirm);
  41.   else  system_error();
  42. }
  43.  
  44. // Titre de l'actu en cours de modification
  45. $requete=SQL_getProjectName($id);
  46. $result=$sql_object->DBSelect($requete);
  47. if($result==|| count($result)!=1exit;
  48. else $project_current_title=formatText($result[0]['project_name'],'2HTML');
  49.  
  50.  
  51.  
  52. // Obtention des données  de la BDD
  53. $req_detSQL_getoneCompleteProject($id);
  54. $result=$sql_object->DBSelect($req_det);
  55. if($result==|| count($result)!=1exit;
  56.  
  57. $form_name=formatText($result[0]['project_name']'2FIELD');
  58. $form_descriptionformatText($result[0]['project_description']'2FIELD');
  59. $form_bodyformatText($result[0]['project_body']'2FIELD');
  60. $form_parent_id ($result[0]['project_parent_id']==0? -$result[0]['project_parent_id'];
  61. $form_theme_id ($result[0]['project_theme_id']==0? -$result[0]['project_theme_id'];
  62. $form_workshop_id ($result[0]['project_workshop_id']==0? -$result[0]['project_workshop_id'];
  63. $form_scale_id$result[0]['project_scale_id'];
  64. $form_priority_id$result[0]['project_priority_id'];
  65. $form_begin_dateisNullDate($result[0]['project_begin_date_display']'' $result[0]['project_begin_date_display'];
  66. $form_estimated_date isNullDate($result[0]['project_estimated_date_display']'' $result[0]['project_estimated_date_display'];
  67. $form_end_date isNullDate($result[0]['project_end_date_display']'' $result[0]['project_end_date_display'];
  68. $form_progression $result[0]['project_completed'];
  69. $form_statut=$result[0]['project_statut'];
  70. $current_status=$result[0]['project_statut'];
  71. $project_owner $result[0]['project_posted_by'];
  72.  
  73.  
  74. if(isset($_POST['valider'])) {
  75.  
  76.   isset($_POST['choose_sdi']$form_sdi=$_POST['choose_sdi'$form_sdi=array();
  77.  
  78.   $table[0]=$_POST['project_name'];
  79.   $table[1]=$_POST['project_description'];
  80.   $table[2]=$_POST['project_body'];
  81.   $table[3]=$_POST['project_parent_id'];
  82.   $table[4]=$_POST['project_scale_id'];
  83.   $table[5]=$_POST['project_priority_id'];
  84.   $table[6]=$_POST['project_begin_date'];
  85.   $table[7]=$_POST['project_estimated_date'];
  86.   $table[8]=$_POST['project_end_date'];
  87.   $table[9]=$_POST['project_statut'];
  88.   $table[10]=$current_status;
  89.   $table[11]=$_POST['project_theme_id'];
  90.   $table[12]=$_POST['project_workshop_id'];
  91.   $table[13]=$form_sdi;
  92.   $table[14]=$_POST['project_progression'];
  93.  
  94.   $project_objectnew project;
  95.   $integrity=$project_object->CheckDataIntegrity($table);
  96.  
  97.  
  98.   if(is_string($integrity)) $text_format='2FIELD';
  99.   else $text_format='2HTML';
  100.   $form_name=formatText($_POST['project_name'],$text_format);
  101.   $form_description=formatText($_POST['project_description']$text_format);
  102.   $form_body=formatText($_POST['project_body']$text_format);
  103.   $form_begin_date=$_POST['project_begin_date'];
  104.   $form_estimated_date=$_POST['project_estimated_date'];
  105.   $form_end_date=$_POST['project_end_date'];
  106.   $form_progression=$_POST['project_progression'];
  107.  
  108.   $form_parent_id=$_POST['project_parent_id'];
  109.   $form_theme_id=$_POST['project_theme_id'];
  110.   $form_workshop_id=$_POST['project_workshop_id'];
  111.   $form_scale_id=$_POST['project_scale_id'];
  112.   $form_priority_id=$_POST['project_priority_id'];
  113.  
  114.   $form_statut=$_POST['project_statut'];
  115.  
  116.   if($_POST['project_statut']=='D'$mask_statut_D="checked=\"checked\""else $mask_statut_D='';
  117.   if($_POST['project_statut']=='P'$mask_statut_P="checked=\"checked\""else $mask_statut_P='';
  118.   $table=urlencode(serialize($table));
  119. }
  120.  
  121.  
  122. include_once("../lib/input_helpers.php");
  123.  
  124. // select-box de thèmes
  125. $data=$sql_object->DBSelect($req_list_theme);
  126. $select_theme=ThemeSelectBox($data"project_theme_id"$form_theme_id);
  127.  
  128. // select-box de workshops
  129. $data=$sql_object->DBSelect($req_list_workshop);
  130. $select_workshop=WorkshopSelectBox($data"project_workshop_id"$form_workshop_id);
  131.  
  132. // select-box des projets
  133. $data=$sql_object->DBSelect(SQL_getProjectsList(0,1000'public'));
  134. $select_parent=ProjectSelectBox($data"project_parent_id"$form_parent_id-1(array) $id);
  135.  
  136. // select-box des échelles
  137. $data=$sql_object->DBSelect($req_list_scale);
  138. $select_scale=ScaleSelectBox($data"project_scale_id"$form_scale_id);
  139.  
  140. // select-box des priorités
  141. $data=$sql_object->DBSelect($req_list_priority);
  142. $select_priority=PrioritySelectBox($data"project_priority_id"$form_priority_id);
  143.  
  144. // Indicators select box with associated indicators selected
  145. $data_sdi $sql_object->DBSelect(SQL_getProjectSdi($id));
  146. $tmp_sdi array();
  147. if($data_sdi != || count($data_sdi)!=1{
  148.   foreach($data_sdi as $value{
  149.     array_push($tmp_sdi$value['sdii_id']);
  150.   }
  151. }
  152.  
  153. $data=$sql_object->DBSelect($req_list_sdi);
  154. $select_sdi=SDIMultiSelectBox($data"choose_sdi"$tmp_sdi);
  155.  
  156. // select-box statut
  157. if($form_statut=='P'$mask_archive_P=' selected="selected"';
  158. if($form_statut=='D'$mask_archive_D=' selected="selected"';
  159. if($form_statut=='AA'$mask_archive_AA=' selected="selected"';
  160. if($form_statut=='PA'$mask_archive_PA=' selected="selected"';
  161. $select_statut="<select name=\"project_statut\" id=\"project_statut\">\n";
  162. $select_statut.="<option value=\"P\"".$mask_archive_P.">".display_statut('P')."</option>\n";
  163. $select_statut.="<option value=\"D\"".$mask_archive_D.">".display_statut('D')."</option>\n";
  164. $select_statut.="<option value=\"AA\"".$mask_archive_AA.">".display_statut('AA')."</option>\n";
  165. $select_statut.="<option value=\"PA\"".$mask_archive_PA.">".display_statut('PA')."</option>\n";
  166. $select_statut.="</select>\n";
  167.  
  168. footerAddJS('../lib/js/jquery.datePicker.l10n/jquery.ui.datepicker-'.U_L.'.js');
  169. ?>
  170.  
  171.  
  172. <div id="chemin">
  173.   <ul>
  174.       <li><a href="index.php" class="chemin_home"><?php echo _t('way','home')?></a></li>
  175.       <li><a href="<?php echo $rub_link?>" id="chemin_<?php echo $rub?>" class="chemin_rub"><?php echo _t('menu','project');?></a></li>
  176.       <li><span><?php echo formatNavTitle(_t('project','mod')' : '.$project_current_title)?></span></li>
  177.   </ul>
  178. </div>
  179. <!--end barre haute -->
  180. <?php
  181. include_once(THEME_ADMIN_PATH."quickicons.php");
  182. ?>
  183.  
  184. <script type="text/javascript">
  185.  
  186.     $(document).ready( function() 
  187.     {
  188.         $("#choose_sdi").multiselect({ noneSelectedText: '<?php echo _t('divers','select_choice')?>', selectedList:2, minWidth:'596px' } ).multiselectfilter(); 
  189.  
  190.         $( "#project_slider" ).slider({
  191.             range: "min",
  192.             value:<?php echo $form_progression?>,
  193.             min: 0,
  194.             max: 100,
  195.             step: <?php echo PROJECT_STEP?>,
  196.             slide: function( event, ui ) {
  197.                 $( "#project_progression" ).val( ui.value );
  198.                 $( "#progression_value" ).html( ui.value + ' %' );
  199.             }
  200.         });
  201.         $( "#project_progression" ).val($( "#project_slider" ).slider( "value" ));
  202.         $( "#project_progression" ).hide();
  203.         $( "#progression_value" ).html( <?php echo $form_progression?> + ' %' );
  204.         
  205.         /** jquery UI datePicker integration
  206.         ---------------------------------------------------*/
  207.         
  208.         var dateFormat = "<?php echo DATE_FORMAT?>";
  209.         dateFormat = dateFormat.replace("yyyy", "yy");
  210.         
  211.         $(".date-pick").datepicker({
  212.             showOn: "button",
  213.             beforeShow: getAvailableRange,
  214.             buttonImage: "../lib/js/calendar.png",
  215.             buttonImageOnly: true,
  216.             dateFormat: dateFormat
  217.         });
  218.         $( ".date-pick" ).datepicker( $.datepicker.regional[ "<?php echo U_L?>" ] );
  219.  
  220.  
  221.         function getAvailableRange(input) 
  222.         { 
  223.                 var min = new Date(2000, 1 - 1, 1); //Set this to your absolute minimum date
  224.                 var dateMin = min;
  225.                 var dateMax = null;
  226.                 
  227.                 if (input.id == "project_begin_date") 
  228.                 {
  229.                     dateMin = min; // absolute minimum date               
  230.                 }
  231.                 else if (input.id == "project_estimated_date")
  232.                 {
  233.                         if ($("#project_begin_date").datepicker("getDate") != null) 
  234.                         {
  235.                                 dateMin = $("#project_begin_date").datepicker("getDate");
  236.                                 dateMin.setDate(dateMin.getDate() + 1);
  237.  
  238.                         }
  239.                 }
  240.                 else if (input.id == "project_end_date")
  241.                 {
  242.                         if ($("#project_begin_date").datepicker("getDate") != null) 
  243.                         {
  244.                                 dateMin = $("#project_begin_date").datepicker("getDate");
  245.                                 dateMin.setDate(dateMin.getDate() + 1);
  246.                         }
  247.                 }
  248.             return {
  249.                         minDate: dateMin, 
  250.                         maxDate: dateMax,
  251.                     }; 
  252.  
  253.         }
  254.         
  255.     });
  256. </script>
  257.  
  258. <?php
  259. if(!isset($integrity|| is_string($integrity)) {
  260. ?>
  261. <div class="contentcontainer">
  262. <?php
  263. include_once(override($dir.'/menurub.php'THEME_ADMIN_PATH));
  264. ?>
  265. <div id="content">
  266. <?php
  267. if(isset($integrity&& is_string($integrity)) display_errors($integrity);
  268. ?>
  269. <h2><?php echo formatTitleh2($project_current_title)?></h2>
  270. <form id="modproject" action="<?php echo $_SERVER['SCRIPT_NAME']?>" method="post">
  271. <p>
  272.   <label for="project_name"><?php echo mb_ucfirst(_t('project','name'))?> : *</label>
  273.   <input name="project_name" type="text" class="textfield" maxlength="200" id="project_name" value="<?php echo $form_name?>" />
  274. </p>
  275. <p>
  276.   <label for="project_parent_id"><?php echo mb_ucfirst(_t('project','parent'))?> : </label> 
  277.   <?php echo $select_parent?>
  278. </p>
  279. <p>
  280.   <label for="project_description"><?php echo mb_ucfirst(_t('project','description'))?> : *</label>
  281.   <textarea id="project_description" name="project_description" class="largetextfield" <?php echo AREA_SETTINGS?>><?php echo $form_description?></textarea>
  282. </p>
  283. <p>
  284.   <label for="project_body"><?php echo mb_ucfirst(_t('project','body'))?> : *</label>
  285.   <textarea id="project_body" name="project_body" class="largetextfield" <?php echo AREA_SETTINGS?>><?php echo $form_body?></textarea>
  286. </p>
  287. <p>
  288.   <label for="project_begin_date"><?php echo mb_ucfirst(_t('project','begin_date'))?> : </label>
  289.   <input name="project_begin_date" type="text" maxlength="10" id="project_begin_date" class="date-pick shorttextfield" value="<?php echo $form_begin_date?>" />
  290. </p>
  291. <p>
  292.   <label for="project_estimated_date"><?php echo mb_ucfirst(_t('project','estimated_date'))?> : </label>
  293.   <input name="project_estimated_date" type="text" maxlength="10" id="project_estimated_date" class="date-pick shorttextfield" value="<?php echo $form_estimated_date?>" />
  294. </p>
  295. <p>
  296.   <label for="project_end_date"><?php echo mb_ucfirst(_t('project','end_date'))?> : </label>
  297.   <input name="project_end_date" type="text" maxlength="10" id="project_end_date" class="date-pick shorttextfield" value="<?php echo $form_end_date?>" />
  298. </p>
  299. <div>
  300.     <label for="project_progression"><?php echo mb_ucfirst(_t('project','progression'))?> : </label>
  301.     <div id="project_slider"></div><div id="progression_value"></div>
  302.     <input type="text" name="project_progression" id="project_progression" value="<?php echo $form_progression?>" maxlength="3" class="shorttextfield"  />
  303. </div>
  304. <p>
  305.   <label for="project_priority_id"><?php echo mb_ucfirst(_t('project','priority'))?> : *</label>
  306.   <?php echo $select_priority?>
  307. </p>
  308. <p>
  309.   <label for="project_theme_id"><?php echo mb_ucfirst(_t('project','theme'))?> : </label>
  310.   <?php echo $select_theme?>
  311. </p>
  312. <p>
  313.   <label for="project_workshop_id"><?php echo mb_ucfirst(_t('project','workshop'))?> : </label>
  314.   <?php echo $select_workshop?>
  315. </p>
  316. <p>
  317.   <label for="project_scale_id"><?php echo mb_ucfirst(_t('project','scale'))?> : *</label>
  318.   <?php echo $select_scale?>
  319. </p>
  320. <p>
  321.   <label for="choose_sdi"><?php echo mb_ucfirst(_t('project','sdi'))?> : </label>
  322.   <?php echo $select_sdi?>
  323. </p>
  324. <p>
  325.   <label for="project_statut"><?php echo mb_ucfirst(_t('project','statut'))?> : </label>
  326.   <?php echo $select_statut?>
  327. </p>
  328. <div>
  329.   <input name="id" type="hidden" value="<?php echo $id?>" id="id" />
  330.   <input name="rub" type="hidden" value="<?php echo $rub?>" id="rub" />
  331.   <input name="todo" type="hidden" value="<?php echo $todo?>" id="todo" />
  332.   <?php echo cancel_button('javascript:history.go(-1);')?>
  333.   <input name="valider" type="submit" value="<?php echo _t('btn','valid')?>" class="button" id="valider" />
  334. </div>
  335. </form>
  336. </div>
  337.     <?php include_once(override($dir.'/help.php'THEME_ADMIN_PATH))?></div>
  338.     <?php
  339.     // Récapitulatif
  340. else    {
  341.  
  342.   if($form_theme_id != -1{
  343.     $requete=SQL_getonethemeName($form_theme_id);
  344.     $result=$sql_object->DBSelect($requete);
  345.     if($result==|| count($result)!=1exit;
  346.     else $theme_denomination=formatText($result[0]['theme_name']'2HTML');
  347.   else $theme_denomination=_t('divers','none');
  348.  
  349.   $requete=SQL_getonescaleDenomination($form_scale_id);
  350.   $result=$sql_object->DBSelect($requete);
  351.   if($result==|| count($result)!=1exit;
  352.   else $scale_denomination=formatText($result[0]['scale_denomination']'2HTML');
  353.  
  354.   $requete=SQL_getonepriorityName($form_priority_id);
  355.   $result=$sql_object->DBSelect($requete);
  356.   if($result==|| count($result)!=1exit;
  357.   else $priority_name=formatText($result[0]['priority_name']'2HTML');
  358.  
  359.   if($form_parent_id != -1{
  360.     $requete=SQL_getProjectName($form_parent_id);
  361.     $result=$sql_object->DBSelect($requete);
  362.     if($result==|| count($result)!=1exit;
  363.     else $parent_name=formatText($result[0]['project_name']'2HTML');
  364.   else $parent_name=_t('divers','none');
  365.  
  366.   if($form_workshop_id != -1{
  367.     $query=SQL_getWorkshopName($form_workshop_id);
  368.     $result=$sql_object->DBSelect($query);
  369.     if($result==|| count($result)!=1exit;
  370.     else $workshop_name=formatText($result[0]['workshop_denomination']'2HTML');
  371.   else $workshop_name=_t('divers','none');
  372.  
  373.   if(count($form_sdi0{
  374.     $sdi_list='<ul style="padding:0">';
  375.     foreach ($form_sdi as &$value{
  376.       $query=SQL_getSdiName($value);
  377.       $result $sql_object->DBSelect($query);
  378.       if($result==|| count($result)!=1exit;
  379.       else $sdi_list.= '<li>'.formatText($result[0]['sdii_name']'2HTML').'</li>'.END_LINE;
  380.     }
  381.     $sdi_list.='</ul>';
  382.   else $sdi_list=_t('divers','none');
  383.  
  384.   ?>
  385. <div class="contentcontainer"><?php
  386. include_once(override($dir.'/menurub.php'THEME_ADMIN_PATH));
  387. ?>
  388. <div id="content">
  389. <h2><?php echo formatTitleh2(_t('recap','title'))?></h2>
  390. <?php
  391. echo "<dl class=\"dl3\">\n";
  392. echo "<dt>".mb_ucfirst(_t('project','name'))." :</dt>\n";
  393. echo "<dd>"$form_name."</dd>\n";
  394. echo "<dt>".mb_ucfirst(_t('project','parent'))." :</dt>\n";
  395. echo "<dd>"$parent_name."</dd>\n";
  396. echo "<dt>".mb_ucfirst(_t('project','description'))" :</dt>\n";
  397. echo "<dd>".empty_nc(linkin_content($form_description))."</dd>\n";
  398. echo "<dt>".mb_ucfirst(_t('project','body'))." :</dt>\n";
  399. echo "<dd>".linkin_content($form_body)."</dd>\n";
  400. echo "<dt>".mb_ucfirst(_t('project','begin_date'))." :</dt>\n";
  401. echo "<dd>".empty_nc($form_begin_date)."</dd>\n";
  402. echo "<dt>".mb_ucfirst(_t('project','estimated_date'))." :</dt>\n";
  403. echo "<dd>".empty_nc($form_estimated_date)."</dd>\n";
  404. echo "<dt>".mb_ucfirst(_t('project','end_date'))." :</dt>\n";
  405. echo "<dd>".empty_nc($form_end_date)."</dd>\n";
  406. echo "<dt>".mb_ucfirst(_t('project','progression'))." :</dt>\n";
  407. echo "<dd>".getProgressbar($form_progression100'%')."</dd>\n";
  408. echo "<dt>".mb_ucfirst(_t('project','priority'))." :</dt>\n";
  409. echo "<dd>".$priority_name."</dd>\n";
  410. echo "<dt>".mb_ucfirst(_t('project','theme'))." :</dt>\n";
  411. echo "<dd>".$theme_denomination."</dd>\n";
  412. echo "<dt>".mb_ucfirst(_t('project','scale'))." :</dt>\n";
  413. echo "<dd>".$scale_denomination."</dd>\n";
  414. echo "<dt>".mb_ucfirst(_t('project','workshop'))." :</dt>\n";
  415. echo "<dd>".$workshop_name."</dd>\n";
  416. echo "<dt>".mb_ucfirst(_t('project','sdi'))." :</dt>\n";
  417. echo "<dd>".$sdi_list."</dd>\n";
  418. echo "<dt>".mb_ucfirst(_t('divers','statut'))." :</dt>\n";
  419. echo "<dd>"display_statut($_POST['project_statut'])"</dd>\n";
  420. echo "</dl>\n";
  421. ?>
  422. <form id="modscale" action="<?php echo $_SERVER['SCRIPT_NAME']?>" method="post">
  423.   <div>
  424.     <input name="id" type="hidden" value="<?php echo $id?>" id="id" />
  425.     <input name="rub" type="hidden" value="<?php echo $rub?>" id="rub" />
  426.     <input name="todo" type="hidden" value="<?php echo $todo?>" id="todo" />
  427.     <input name="data_table" type="hidden" value="<?php echo $table?>" id="data_table" />
  428.     <?php echo cancel_button('?rub=project&amp;todo=list')?>
  429.     <input name="retour" type="button" value="<?php echo _t('btn','preview')?>" class="button" id="retour" onclick="history.go(-1);" />
  430.     <input name="enregistrer" type="submit" value="<?php echo _t('btn','save')?>" class="button" id="valider" />
  431.   </div>
  432. </form>
  433. </div>
  434. <?php include_once(override($dir.'/help.php'THEME_ADMIN_PATH))?></div>
  435. <?php
  436. }
  437. ?>

Documentation generated on Mon, 08 Apr 2013 18:15:41 +0200 by phpDocumentor 1.4.1