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 (!function_exists('AuthenthificationProcess')) {
  13.   include_once("../lib/lib_common.php");
  14.   ReloadIndex('admin');
  15. }
  16. ////////////
  17.  
  18. //////////// Check Droits utilisateur ////////////
  19. if (!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_statut=$result[0]['project_statut'];
  69. $current_status=$result[0]['project_statut'];
  70. $project_owner $result[0]['project_posted_by'];
  71.  
  72.  
  73. if(isset($_POST['valider'])) {
  74.  
  75.   isset($_POST['choose_sdi']$form_sdi=$_POST['choose_sdi'$form_sdi=array();
  76.  
  77.   $table[0]=$_POST['project_name'];
  78.   $table[1]=$_POST['project_description'];
  79.   $table[2]=$_POST['project_body'];
  80.   $table[3]=$_POST['project_parent_id'];
  81.   $table[4]=$_POST['project_scale_id'];
  82.   $table[5]=$_POST['project_priority_id'];
  83.   $table[6]=$_POST['project_begin_date'];
  84.   $table[7]=$_POST['project_estimated_date'];
  85.   $table[8]=$_POST['project_end_date'];
  86.   $table[9]=$_POST['project_statut'];
  87.   $table[10]=$current_status;
  88.   $table[11]=$_POST['project_theme_id'];
  89.   $table[12]=$_POST['project_workshop_id'];
  90.   $table[13]=$form_sdi;
  91.  
  92.   $project_objectnew project;
  93.   $integrity=$project_object->CheckDataIntegrity($table);
  94.  
  95.  
  96.   if(is_string($integrity)) $text_format='2FIELD';
  97.   else $text_format='2HTML';
  98.   $form_name=formatText($_POST['project_name'],$text_format);
  99.   $form_description=formatText($_POST['project_description']$text_format);
  100.   $form_body=formatText($_POST['project_body']$text_format);
  101.   $form_begin_date=$_POST['project_begin_date'];
  102.   $form_estimated_date=$_POST['project_estimated_date'];
  103.   $form_end_date=$_POST['project_end_date'];
  104.  
  105.   $form_parent_id=$_POST['project_parent_id'];
  106.   $form_theme_id=$_POST['project_theme_id'];
  107.   $form_workshop_id=$_POST['project_workshop_id'];
  108.   $form_scale_id=$_POST['project_scale_id'];
  109.   $form_priority_id=$_POST['project_priority_id'];
  110.  
  111.   $form_statut=$_POST['project_statut'];
  112.  
  113.   if($_POST['project_statut']=='D'$mask_statut_D="checked=\"checked\""else $mask_statut_D='';
  114.   if($_POST['project_statut']=='P'$mask_statut_P="checked=\"checked\""else $mask_statut_P='';
  115.   $table=urlencode(serialize($table));
  116. }
  117.  
  118.  
  119. include_once("../lib/input_helpers.php");
  120.  
  121. // select-box de thèmes
  122. $data=$sql_object->DBSelect($req_list_theme);
  123. $select_theme=ThemeSelectBox($data"project_theme_id"$form_theme_id);
  124.  
  125. // select-box de workshops
  126. $data=$sql_object->DBSelect($req_list_workshop);
  127. $select_workshop=WorkshopSelectBox($data"project_workshop_id"$form_workshop_id);
  128.  
  129. // select-box des projets
  130. $data=$sql_object->DBSelect(SQL_getProjectsList(0,1000'public'));
  131. $select_parent=ProjectSelectBox($data"project_parent_id"$form_parent_id-1(array) $id);
  132.  
  133. // select-box des échelles
  134. $data=$sql_object->DBSelect($req_list_scale);
  135. $select_scale=ScaleSelectBox($data"project_scale_id"$form_scale_id);
  136.  
  137. // select-box des priorités
  138. $data=$sql_object->DBSelect($req_list_priority);
  139. $select_priority=PrioritySelectBox($data"project_priority_id"$form_priority_id);
  140.  
  141. // Indicators select box with associated indicators selected
  142. $data_sdi $sql_object->DBSelect(SQL_getProjectSdi($id));
  143. $tmp_sdi array();
  144. if($data_sdi != || count($data_sdi)!=1{
  145.   foreach($data_sdi as $value{
  146.     array_push($tmp_sdi$value['sdii_id']);
  147.   }
  148. }
  149.  
  150. $data=$sql_object->DBSelect($req_list_sdi);
  151. $select_sdi=SDIMultiSelectBox($data"choose_sdi"$tmp_sdi);
  152.  
  153. // select-box statut
  154. if($form_statut=='P'$mask_archive_P=' selected="selected"';
  155. if($form_statut=='D'$mask_archive_D=' selected="selected"';
  156. if($form_statut=='AA'$mask_archive_AA=' selected="selected"';
  157. if($form_statut=='PA'$mask_archive_PA=' selected="selected"';
  158. $select_statut="<select name=\"project_statut\" id=\"project_statut\">\n";
  159. $select_statut.="<option value=\"P\"".$mask_archive_P.">".display_statut('P')."</option>\n";
  160. $select_statut.="<option value=\"D\"".$mask_archive_D.">".display_statut('D')."</option>\n";
  161. $select_statut.="<option value=\"AA\"".$mask_archive_AA.">".display_statut('AA')."</option>\n";
  162. $select_statut.="<option value=\"PA\"".$mask_archive_PA.">".display_statut('PA')."</option>\n";
  163. $select_statut.="</select>\n";
  164.  
  165. ?>
  166.  
  167.  
  168. <div id="chemin">
  169. <ul>
  170.     <li><a href="index.php" class="chemin_home"><?php echo _t('way','home')?></a>
  171.     </li>
  172.     <li><a href="<?php echo $rub_link?>" id="chemin_<?php echo $rub?>"
  173.         class="chemin_rub"><?php echo _t('menu','project');?></a></li>
  174.     <li><span><?php echo formatNavTitle(_t('project','mod')' : '.$project_current_title)?></span>
  175.     </li>
  176. </ul>
  177. </div>
  178. <!--end barre haute -->
  179. <?php
  180. include_once(THEME_ADMIN_PATH."quickicons.php");
  181. ?>
  182.  
  183. <script type="text/javascript">
  184.     Date.format = '<?php echo DATE_FORMAT ?>';
  185.     
  186.     $.dpText = {
  187.     TEXT_PREV_YEAR        :    '<?php echo _t('datePicker','TEXT_PREV_YEAR')?>',
  188.     TEXT_PREV_MONTH        :    '<?php echo _t('datePicker','TEXT_PREV_MONTH')?>',
  189.     TEXT_NEXT_YEAR        :    '<?php echo _t('datePicker','TEXT_NEXT_YEAR')?>',
  190.     TEXT_NEXT_MONTH        :    '<?php echo _t('datePicker','TEXT_NEXT_MONTH')?>',
  191.     TEXT_CLOSE            :    '<?php echo _t('datePicker','TEXT_CLOSE')?>',
  192.     TEXT_CHOOSE_DATE    :    '<?php echo _t('datePicker','TEXT_CHOOSE_DATE')?>'
  193.     }
  194.     
  195.     $(document).ready( function() 
  196.     {
  197.         $("#choose_sdi").multiSelect({selectAllText: ' <?php echo _t('divers','select_all')?> ', oneOrMoreSelected: '*', noneSelected: ' <?php echo _t('divers','select_choice')?> ' });
  198.     
  199.         $('.date-pick').datePicker({startDate:'01/01/1990'});
  200.         $('#project_begin_date').bind(
  201.             'dpClosed',
  202.             function(e, selectedDates)
  203.             {
  204.                 var d = selectedDates[0];
  205.                 if (d) {
  206.                     d = new Date(d);
  207.                     $('#project_estimated_date').dpSetStartDate(d.addDays(1).asString());
  208.                     $('#project_end_date').dpSetStartDate(d.addDays(1).asString());
  209.                 }
  210.             }
  211.         );
  212.         $('#project_estimated_date').bind(
  213.             'dpClosed',
  214.             function(e, selectedDates)
  215.             {
  216.                 var d = selectedDates[0];
  217.                 if (d) {
  218.                     d = new Date(d);
  219.                     $('#project_begin_date').dpSetEndDate(d.addDays(-1).asString());
  220.                 }
  221.             }
  222.         );
  223.         $('#project_end_date').bind(
  224.             'dpClosed',
  225.             function(e, selectedDates)
  226.             {
  227.                 var d = selectedDates[0];
  228.                 if (d) {
  229.                     d = new Date(d);
  230.                     $('#project_begin_date').dpSetEndDate(d.addDays(-1).asString());
  231.                 }
  232.             }
  233.         );
  234.         
  235.     });
  236. </script>
  237.  
  238. <?php
  239. if(!isset($integrity|| is_string($integrity)) {
  240.   ?>
  241. <div class="contentcontainer"><?php
  242. include_once($dir."/menurub.php");
  243. ?>
  244. <div id="content"><?php
  245. if(isset($integrity&& is_string($integrity)) display_errors($integrity);
  246. ?>
  247. <h2><?php echo formatTitleh2($project_current_title)?></h2>
  248. <form id="modproject" action="<?php echo $_SERVER['SCRIPT_NAME']?>"
  249.     method="post">
  250. <p><label for="project_name"><?php echo _t('project','name')?> : *</label>
  251. <input name="project_name" type="text" class="textfield" maxlength="200"
  252.     id="project_name" value="<?php echo $form_name?>" /></p>
  253. <p><label for="project_parent_id"><?php echo _t('project','parent')?>
  254. : </label> <?php echo $select_parent?></p>
  255. <p><label for="project_description"><?php echo _t('project','description')?>
  256. : *</label> <textarea id="project_description"
  257.     name="project_description" class="largetextfield"
  258.     <?php echo AREA_SETTINGS?>><?php echo $form_description?></textarea>
  259. </p>
  260. <p><label for="project_body"><?php echo _t('project','body')?> : *</label>
  261. <textarea id="project_body" name="project_body" class="largetextfield"
  262.     <?php echo AREA_SETTINGS?>><?php echo $form_body?></textarea></p>
  263. <p><label for="project_begin_date"><?php echo _t('project','begin_date')?>
  264. : </label> <input name="project_begin_date" type="text" maxlength="10"
  265.     id="project_begin_date" class="date-pick shorttextfield date-text"
  266.     value="<?php echo $form_begin_date?>" /></p>
  267. <p class="post-date"><label for="project_estimated_date"><?php echo _t('project','estimated_date')?>
  268. : </label> <input name="project_estimated_date" type="text"
  269.     maxlength="10" id="project_estimated_date"
  270.     class="date-pick shorttextfield date-text"
  271.     value="<?php echo $form_estimated_date?>" /></p>
  272. <p class="post-date"><label for="project_end_date"><?php echo _t('project','end_date')?>
  273. : </label> <input name="project_end_date" type="text" maxlength="10"
  274.     id="project_end_date" class="date-pick shorttextfield date-text"
  275.     value="<?php echo $form_end_date?>" /></p>
  276. <p class="post-date"><label for="project_priority_id"><?php echo _t('project','priority')?>
  277. : *</label> <?php echo $select_priority?></p>
  278. <p><label for="project_theme_id"><?php echo _t('project','theme')?> :
  279. </label> <?php echo $select_theme?></p>
  280. <p><label for="project_workshop_id"><?php echo _t('project','workshop')?>
  281. : </label> <?php echo $select_workshop?></p>
  282. <p><label for="project_scale_id"><?php echo _t('project','scale')?> :
  283. *</label> <?php echo $select_scale?></p>
  284. <p><label for="choose_sdi"><?php echo _t('project','sdi')?> : *</label>
  285.     <?php echo $select_sdi?></p>
  286. <p><label for="project_statut"><?php echo _t('project','statut')?> : </label>
  287.     <?php echo $select_statut?></p>
  288. <div><input name="id" type="hidden" value="<?php echo $id?>" id="id" />
  289. <input name="rub" type="hidden" value="<?php echo $rub?>" id="rub" />
  290. <input name="todo" type="hidden" value="<?php echo $todo?>" id="todo" />
  291.     <?php echo cancel_button('javascript:history.go(-1);')?> <input
  292.     name="valider" type="submit" value="<?php echo _t('btn','valid')?>"
  293.     class="button" id="valider" /></div>
  294. </form>
  295. </div>
  296.     <?php include_once($dir."/help.php")?></div>
  297.     <?php
  298.     // Récapitulatif
  299. else    {
  300.  
  301.   if($form_theme_id != -1{
  302.     $requete=SQL_getonethemeName($form_theme_id);
  303.     $result=$sql_object->DBSelect($requete);
  304.     if($result==|| count($result)!=1exit;
  305.     else $theme_denomination=formatText($result[0]['theme_name']'2HTML');
  306.   else $theme_denomination=_t('divers','none');
  307.  
  308.   $requete=SQL_getonescaleDenomination($form_scale_id);
  309.   $result=$sql_object->DBSelect($requete);
  310.   if($result==|| count($result)!=1exit;
  311.   else $scale_denomination=formatText($result[0]['scale_denomination']'2HTML');
  312.  
  313.   $requete=SQL_getonepriorityName($form_priority_id);
  314.   $result=$sql_object->DBSelect($requete);
  315.   if($result==|| count($result)!=1exit;
  316.   else $priority_name=formatText($result[0]['priority_name']'2HTML');
  317.  
  318.   if($form_parent_id != -1{
  319.     $requete=SQL_getProjectName($form_parent_id);
  320.     $result=$sql_object->DBSelect($requete);
  321.     if($result==|| count($result)!=1exit;
  322.     else $parent_name=formatText($result[0]['project_name']'2HTML');
  323.   else $parent_name=_t('divers','none');
  324.  
  325.   if($form_workshop_id != -1{
  326.     $query=SQL_getWorkshopName($form_workshop_id);
  327.     $result=$sql_object->DBSelect($query);
  328.     if($result==|| count($result)!=1exit;
  329.     else $workshop_name=formatText($result[0]['workshop_denomination']'2HTML');
  330.   else $workshop_name=_t('divers','none');
  331.  
  332.   if(count($form_sdi0{
  333.     $sdi_list='<ul style="padding:0">';
  334.     foreach ($form_sdi as &$value{
  335.       $query=SQL_getSdiName($value);
  336.       $result $sql_object->DBSelect($query);
  337.       if($result==|| count($result)!=1exit;
  338.       else $sdi_list.= '<li>'.formatText($result[0]['sdii_name']'2HTML').'</li>'.END_LINE;
  339.     }
  340.     $sdi_list.='</ul>';
  341.   else $sdi_list=_t('divers','none');
  342.  
  343.   ?>
  344. <div class="contentcontainer"><?php
  345. include_once($dir."/menurub.php");
  346. ?>
  347. <div id="content">
  348. <h2><?php echo formatTitleh2(_t('recap','title'))?></h2>
  349. <?php
  350. echo "<dl class=\"dl3\">\n";
  351. echo "<dt>"._t('project','name')."</dt>\n";
  352. echo "<dd>"$form_name."</dd>\n";
  353. echo "<dt>"._t('project','parent')."</dt>\n";
  354. echo "<dd>"$parent_name."</dd>\n";
  355. echo "<dt>"_t('project','description')"</dt>\n";
  356. echo "<dd>".empty_nc(linkin_content($form_description))."</dd>\n";
  357. echo "<dt>"._t('project','body')." :</dt>\n";
  358. echo "<dd>".linkin_content($form_body)."</dd>\n";
  359. echo "<dt>"._t('project','begin_date')." :</dt>\n";
  360. echo "<dd>".empty_nc($form_begin_date)."</dd>\n";
  361. echo "<dt>"._t('project','estimated_date')." :</dt>\n";
  362. echo "<dd>".empty_nc($form_estimated_date)."</dd>\n";
  363. echo "<dt>"._t('project','end_date')." :</dt>\n";
  364. echo "<dd>".empty_nc($form_end_date)."</dd>\n";
  365. echo "<dt>"._t('project','priority')." :</dt>\n";
  366. echo "<dd>".$priority_name."</dd>\n";
  367. echo "<dt>"._t('project','theme')." :</dt>\n";
  368. echo "<dd>".$theme_denomination."</dd>\n";
  369. echo "<dt>"._t('project','scale')." :</dt>\n";
  370. echo "<dd>".$scale_denomination."</dd>\n";
  371. echo "<dt>"._t('project','workshop')." :</dt>\n";
  372. echo "<dd>".$workshop_name."</dd>\n";
  373. echo "<dt>"._t('project','sdi')." :</dt>\n";
  374. echo "<dd>".$sdi_list."</dd>\n";
  375. echo "<dt>"._t('divers','statut')."</dt>\n";
  376. echo "<dd>"display_statut($_POST['project_statut'])"</dd>\n";
  377. echo "</dl>\n";
  378. ?>
  379. <form id="modscale" action="<?php echo $_SERVER['SCRIPT_NAME']?>"
  380.     method="post">
  381. <div><input name="id" type="hidden" value="<?php echo $id?>" id="id" />
  382. <input name="rub" type="hidden" value="<?php echo $rub?>" id="rub" />
  383. <input name="todo" type="hidden" value="<?php echo $todo?>" id="todo" />
  384. <input name="data_table" type="hidden" value="<?php echo $table?>"
  385.     id="data_table" /> <?php echo cancel_button('?rub=project&amp;todo=list')?>
  386. <input name="retour" type="button"
  387.     value="<?php echo _t('btn','preview')?>" class="button" id="retour"
  388.     onclick="history.go(-1);" /> <input name="enregistrer" type="submit"
  389.     value="<?php echo _t('btn','save')?>" class="button" id="valider" /></div>
  390. </form>
  391. </div>
  392. <?php include_once($dir."/help.php")?></div>
  393. <?php
  394. }
  395. ?>

Documentation generated on Fri, 01 Apr 2011 09:33:13 +0200 by phpDocumentor 1.4.1