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 news
  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. //////////// Check Droits utilisateur ////////////
  18. if (!HaveRight('news')) ReloadIndex('admin');
  19. ////////////
  20.  
  21.  
  22. if (isset($_GET['id']))    $id=$_GET['id'];
  23. if (isset($_POST['id'])) $id=$_POST['id'];
  24.  
  25. $news_object new news;
  26. $mask_template_1='';
  27. $mask_template_2='';
  28. $mask_template_3='';
  29. $mask_template_4='';
  30. $mask_statut_P='';
  31. $mask_statut_D='';
  32. $mask_archive_P='';
  33. $mask_archive_D='';
  34. $mask_archive_AA='';
  35. $mask_archive_PA='';
  36. $layer_tpl_1_2 'style="display:none;"';
  37. $layer_tpl_3 'style="display:none;"';
  38.  
  39. if(isset($_POST['enregistrer'])) {
  40.     include_once('../class/system/class.upload.php');
  41.     $upload_objectnew upload;
  42.     $data_table=unserialize(urldecode($_POST['data_table']));
  43.     $result=$news_object->ModifyNews($id$data_table$sql_object);
  44.     $visual_uri=GetAllPhotoUri($data_table[7]);
  45.     if($visual_uri!=0{
  46.         if(isset($visual_uri[0])) $result_rename=$upload_object->Archivefile('../'.$visual_uri[0]);
  47.         if(isset($visual_uri[1])) $result_rename=$upload_object->Archivefile('../'.$visual_uri[1]);
  48.     }
  49.     $link_confirm="confirm.php?rub=".$rub."&todo=".$todo;
  50.     if($resultheader("Location: ".$link_confirm);
  51.     else  system_error();
  52. }
  53.  
  54. // Titre de l'actu en cours de modification
  55. $requete=SQL_getNewsTitle($id);
  56. $result=$sql_object->DBSelect($requete);
  57. if($result==|| count($result)!=1exit;
  58. else $news_current_title=formatText($result[0]['news_title'],'2HTML');
  59.  
  60.  
  61. // Obtention des données  de la BDD
  62. $req_detSQL_getoneCompleteNews($id);
  63. $result=$sql_object->DBSelect($req_det);
  64. if($result==|| count($result)!=1exit;
  65.  
  66. $form_title=formatText($result[0]['news_title']'2FIELD');
  67. $form_header=formatText($result[0]['news_header']'2FIELD');
  68. $form_body=formatText($result[0]['news_body']'2FIELD');
  69. $form_theme=$result[0]['news_theme'];
  70. $form_scale=$result[0]['news_scale'];
  71. $form_level=$result[0]['news_level'];
  72. $form_template=$result[0]['news_template'];
  73. $current_template=$form_template;
  74. $form_statut=$result[0]['news_statut'];
  75. $current_statut=$result[0]['news_statut'];
  76. $news_owner $result[0]['news_posted_by'];
  77.  
  78. //////////// Check Droits utilisateur ////////////
  79. if (!HaveRight('news')) ReloadIndex('admin');
  80. if (GetSessionElement('id')!=$news_owner && !IsSuperAdmin()) ReloadIndex('admin');
  81. ////////////
  82.  
  83. $news_photouri=urlencode($result[0]['news_photo_uri']);
  84. $visual=GetAllPhotoUri($result[0]['news_photo_uri']);
  85. $reca_visual="<dl class=\"dl_mod\">\n";
  86. $reca_visual.="<dt>"._t('news','photouri').": </dt>\n";
  87. if($visual==0{
  88.     $reca_visual.="<dd>"._t('divers','none')."</dd>\n";
  89. else {
  90.     $complete_uri='../'.$visual[0];
  91.     $reca_visual.="<dd>&nbsp;</dd>\n";
  92.     $reca_visual.="<dt> ."._t('news','visu1').": </dt>\n";
  93.     $reca_visual.='<dd>'.EnlargeImage($complete_uri)."</dd>\n";
  94.     if(isset($visual[1])) {
  95.         $complete_uri='../'.$visual[1];
  96.         $reca_visual.="<dt> ."._t('news','visu2').": </dt>\n";
  97.         $reca_visual.='<dd>'.EnlargeImage($complete_uri)."</dd>\n";
  98.     }
  99. }
  100. $reca_visual.="</dl>\n";
  101.  
  102.  
  103. if(isset($_POST['valider'])) {
  104.     $table[0]=$_POST['news_title'];
  105.     $table[1]=$_POST['news_header'];
  106.     $table[2]=$_POST['news_body'];
  107.     $table[3]=$_POST['news_theme'];
  108.     $table[4]=$_POST['news_scale'];
  109.     $table[5]=$_POST['news_level'];
  110.     $table[6]=$_POST['news_template'];
  111.     $news_photo_uri=urldecode($_POST['news_photouri']);
  112.     $table[7]=$news_photo_uri;
  113.     $table[8]=$_POST['news_statut'];
  114.     $table[9]=$current_statut// statut courant
  115.     
  116.     $current_template=urldecode($_POST['current_template']);
  117.     
  118.     $news_objectnew news;
  119.     $integrity=$news_object->CheckDataIntegrity($table);
  120.     
  121.     // si changement de template
  122.     if($_POST['news_template']!=$current_template{
  123.         if(($_POST['news_template']==&& $current_template==2|| ($_POST['news_template']==&& $current_template==1)) {
  124.             $table[7]=urldecode($_POST['news_photouri']);
  125.             $template_integrity=1;
  126.         else {
  127.             if($_POST['news_template']==4{
  128.                 $table[7]='';
  129.                 $template_integrity=1;
  130.                 $news_photo_uri='';
  131.                 $reca_visual='';
  132.             else {
  133.                 $template_integrity=1;
  134.                 if(($_POST['news_template']==|| $_POST['news_template']==2&& (!isset($_FILES['news_visuel1']|| $_FILES['news_visuel1']['name']=='')) $template_integrity=_t('news','no_visu1');
  135.                 if(((!isset($_FILES['news_visuel1']|| $_FILES['news_visuel1']['name']==''|| (!isset($_FILES['news_visuel2']|| $_FILES['news_visuel2']['name']=='')) && $_POST['news_template']==3$template_integrity=_t('news','no_visu2');
  136.             }
  137.         }
  138.         
  139.     else $template_integrity=1;
  140.     
  141.     if($template_integrity!=&& !is_string($integrity))  $integrity=$template_integrity;
  142.     if(!is_string($integrity)) {
  143.         if ($_POST['news_template'!= && (isset($_FILES['news_visuel1']&& $_FILES['news_visuel1']['name']!='')) {
  144.             include_once('../class/system/class.upload.php');
  145.             include_once('../class/system/class.image.php');
  146.             $image_object new image;
  147.             $upload_object new upload;
  148.             $upload1 $_FILES['news_visuel1'];
  149.             $size_integrity=$upload_object->CheckMaxFile($upload1['size']$news_object->UPLOAD_MAX_MO);
  150.             if(is_string($size_integrity)) $integrity=$size_integrity;
  151.             $format_integrity=$upload_object->CheckExtImage($upload1['name']);
  152.             if(is_string($format_integrity)) $integrity=$format_integrity;
  153.             
  154.             if($_POST['news_template'== && (isset($_FILES['news_visuel2']&& $_FILES['news_visuel2']['name']!='')) {
  155.                 $upload2 $_FILES['news_visuel2'];
  156.                 $size_integrity=$upload_object->CheckMaxFile($upload2['size']$news_object->UPLOAD_MAX_MO);
  157.                 if(is_string($size_integrity)) $integrity=$size_integrity;
  158.                 $format_integrity=$upload_object->CheckExtImage($upload2['name']);
  159.                 if(is_string($format_integrity)) $integrity=$format_integrity;
  160.             }
  161.             if(!is_string($integrity)) {
  162.                 $dir_name=$id.'/';
  163.                 $destination="../".$news_object->URI_INPUT.$dir_name;
  164.                 
  165.                 $bdd_name="1.".$upload_object->GetExtension($upload1['name']);
  166.                 $final_name='temp_'.$bdd_name;
  167.                 $visual_link1=$destination.$final_name;
  168.                 $table[7]=$news_object->URI_INPUT.$dir_name.$bdd_name;
  169.                 if(isset($upload1)) {
  170.                     $result_upload=$upload_object->UploadFile($upload1$final_name$destination);
  171.                     
  172.                     // création des thumbs
  173.                     $min_name=get_min_name($destination.$final_name);
  174.                     $image_object->ThumbCreate($destination.$final_name$min_name $news_object->MAX_PHOTO_MIN_WIDTH);
  175.                     
  176.                     // on retaille l'original au besoin.
  177.                     if(PHOTO_RESIZE==true && ExcedMaxSize($destination.$final_name$news_object->MAX_PHOTO_MAX_WIDTH)) {
  178.                         $image_object->ThumbCreate($destination.$final_name$destination.$final_name $news_object->MAX_PHOTO_MAX_WIDTH);
  179.                     }
  180.                 // préparation de l'affichage de la miniature
  181.                 $visual_link1=EnlargeImage($visual_link1);
  182.                 else $visual_link1=EnlargeImage($destination.$bdd_name);
  183.                 
  184.                 
  185.                 if($_POST['news_template'== 3{
  186.                     $bdd_name="2.".$upload_object->GetExtension($upload1['name']);
  187.                     $final_name='temp_'.$bdd_name;
  188.                     $visual_link2=$destination.$final_name;
  189.                     $table[7.= '|'.$news_object->URI_INPUT.$dir_name.$bdd_name;
  190.                     if(isset($upload2)) {
  191.                         $result_upload=$upload_object->UploadFile($upload2$final_name$destination);
  192.                         
  193.                         // création des thumbs
  194.                         $min_name=get_min_name($destination.$final_name);
  195.                         $image_object->ThumbCreate($destination.$final_name$min_name $news_object->MAX_PHOTO_MIN_WIDTH);
  196.                         
  197.                         // on retaille l'original au besoin.
  198.                         if(PHOTO_RESIZE==true && ExcedMaxSize($destination.$final_name$news_object->MAX_PHOTO_MAX_WIDTH)) {
  199.                             $image_object->ThumbCreate($destination.$final_name$destination.$final_name $news_object->MAX_PHOTO_MAX_WIDTH);
  200.                         }
  201.                     // préparation de l'affichage de la miniature
  202.                     $visual_link2=EnlargeImage($visual_link2);
  203.                     else $visual_link2=EnlargeImage($destination.$bdd_name);
  204.                     
  205.                     
  206.                 }
  207.             }
  208.         }
  209.     }
  210.     
  211.     if(is_string($integrity)) $text_format='2FIELD';
  212.     else $text_format='2HTML';
  213.     $form_title=formatText($_POST['news_title'],$text_format);
  214.     $form_header=formatText($_POST['news_header']$text_format);
  215.     $form_body=formatText($_POST['news_body']$text_format);
  216.     $form_theme=$_POST['news_theme'];
  217.     $form_scale=$_POST['news_scale'];
  218.     $form_level=$_POST['news_level'];
  219.     $form_template=$_POST['news_template'];
  220.     $form_statut=$_POST['news_statut'];
  221.     
  222.     if($_POST['news_template']==1$mask_template_1=" selected=\"selected\"";
  223.     if($_POST['news_template']==2$mask_template_2=" selected=\"selected\"";
  224.     if($_POST['news_template']==3{
  225.         $mask_template_3=" selected=\"selected\"";
  226.         $layer_tpl_3 "style=\"display:block;\"";
  227.     }
  228.     if($_POST['news_template']==4{
  229.         $mask_template_4=" selected=\"selected\"";
  230.         $layer_tpl_1_2 "style=\"display:none;\"";
  231.     }
  232.  
  233.     if($_POST['news_statut']=='D'$mask_statut_D="checked=\"checked\""else $mask_statut_D='';
  234.     if($_POST['news_statut']=='P'$mask_statut_P="checked=\"checked\""else $mask_statut_P='';
  235.     $table=urlencode(serialize($table));
  236. }
  237.  
  238.  
  239. include_once("../lib/input_helpers.php");
  240.  
  241. // select-box de thèmes
  242. $data=$sql_object->DBSelect($req_list_theme);
  243. $select_theme=ThemeSelectBox($data"news_theme"$form_theme);
  244.  
  245. // select-box des échelles
  246. $data=$sql_object->DBSelect($req_list_scale);
  247. $select_scale=ScaleSelectBox($data"news_scale"$form_scale);
  248.  
  249. // select-box des niveaux
  250. $data=$sql_object->DBSelect($req_list_level);
  251. $select_level=LevelSelectBox($data"news_level"$form_level);
  252.  
  253. // select-box Templates
  254. if($form_template==1$mask_template_1=' selected="selected"';
  255. if($form_template==2$mask_template_2=' selected="selected"';
  256. if($form_template==3$mask_template_3=' selected="selected"';
  257. if($form_template==4$mask_template_4=' selected="selected"';
  258. $select_template="<select name=\"news_template\" id=\"news_template\" onchange=\"ShowFilesLayer(this.value, 'news')\">\n";
  259. $select_template.="<option value=\"1\"".$mask_template_1.">".$news_object->GetTemplateName(1)."</option>\n";
  260. $select_template.="<option value=\"2\"".$mask_template_2.">".$news_object->GetTemplateName(2)."</option>\n";
  261. $select_template.="<option value=\"3\"".$mask_template_3.">".$news_object->GetTemplateName(3)."</option>\n";
  262. $select_template.="<option value=\"4\"".$mask_template_4.">".$news_object->GetTemplateName(4)."</option>\n";
  263. $select_template.="</select>\n";
  264.  
  265. // select-box statut
  266. if($form_statut=='P'$mask_archive_P=' selected="selected"';
  267. if($form_statut=='D'$mask_archive_D=' selected="selected"';
  268. if($form_statut=='AA'$mask_archive_AA=' selected="selected"';
  269. if($form_statut=='PA'$mask_archive_PA=' selected="selected"';
  270. $select_statut="<select name=\"news_statut\" id=\"news_statut\">\n";
  271. $select_statut.="<option value=\"P\"".$mask_archive_P.">".display_statut('P')."</option>\n";
  272. $select_statut.="<option value=\"D\"".$mask_archive_D.">".display_statut('D')."</option>\n";
  273. $select_statut.="<option value=\"AA\"".$mask_archive_AA.">".display_statut('AA')."</option>\n";
  274. $select_statut.="<option value=\"PA\"".$mask_archive_PA.">".display_statut('PA')."</option>\n";
  275. $select_statut.="</select>\n";
  276.  
  277. // Préparation affichage des layers Upload
  278. if($form_template!=4)  {
  279.     $layer_tpl_1_2 'style="display:block;"';
  280.     if($form_template==3$layer_tpl_3 'style="display:block;"';
  281.     }
  282.  
  283. ?>
  284.  
  285.  
  286. <div id="chemin">
  287.     <ul>
  288.         <li>
  289.             <a href="index.php" class="chemin_home"><? echo _t('way','home')?></a>
  290.         </li>
  291.         <li>
  292.                <a href="<?php echo $rub_link?>" id="chemin_<? echo $rub?>" class="chemin_rub"><? echo _t('menu','news');?></a>
  293.         </li>
  294.         <li>
  295.             <span><? echo formatNavTitle(_t('news','mod')' : '.$news_current_title)?></span>
  296.         </li>
  297.     </ul>
  298. </div>
  299. <!--end barre haute -->
  300. <?php
  301. include_once(THEME_ADMIN_PATH."quickicons.php");
  302. ?>
  303.  
  304. <?php
  305. if(!isset($integrity|| is_string($integrity)) {
  306. ?>
  307. <div class="contentcontainer">
  308.         <?php
  309.         include_once($dir."/menurub.php");
  310.         ?>
  311.         <div id="content">
  312.             <?php
  313.             if(isset($integrity&& is_string($integrity)) display_errors($integrity);
  314.             ?>
  315.             <h2><? echo formatTitleh2($news_current_title)?></h2>
  316.             <form id="modnews" action="<?php echo $_SERVER['SCRIPT_NAME']?>" method="post" enctype="multipart/form-data">
  317.                 <p>
  318.                 <label for="news_title"><? echo _t('news','title')?> : *</label>
  319.                 <input name="news_title" type="text" class="textfield" maxlength="200" id="news_title" value="<?php echo $form_title?>" />
  320.                 </p>
  321.                 <p>
  322.                 <label for="news_header"><? echo _t('news','header')?> : *</label>
  323.                 <textarea id="news_header" name="news_header" class="largetextfield" <?php echo AREA_SETTINGS?>><?php echo $form_header?></textarea>
  324.                 </p>
  325.                 <p>
  326.                 <label for="news_body"><? echo _t('news','body')?> : *</label>
  327.                 <textarea id="news_body" name="news_body" class="largetextfield" <?php echo AREA_SETTINGS?>><?php echo $form_body?></textarea>
  328.                 </p>
  329.                 <p>
  330.                 <label for="news_theme" ><? echo _t('news','theme')?> : *</label>
  331.                 <?php echo $select_theme?>
  332.                 </p>
  333.                 <p>
  334.                 <label for="news_scale" ><? echo _t('news','scale')?> : *</label>
  335.                 <?php echo $select_scale?>
  336.                 </p>
  337.                 <p>
  338.                 <label for="news_level" ><? echo _t('news','level')?> : </label>
  339.                 <?php echo $select_level?>
  340.                 </p>
  341.                 <p>
  342.                 <label for="news_template" ><? echo _t('news','template')?> : </label>
  343.                 <?php echo $select_template?>
  344.                 </p>
  345.                 
  346.                 <?php echo $reca_visual?>
  347.                 
  348.                 <p id="layervisuel1" <?php echo $layer_tpl_1_2?>>
  349.                     <label for="news_visuel1"><?php echo _t('news','visu1')?></label>
  350.                     <input name="news_visuel1" type="file" size="47" id="news_visuel1" class="file" value="" /><br /><br />
  351.                 </p>
  352.                 <p id="layervisuel2" <?php echo $layer_tpl_3?>>
  353.                     <label for="news_visuel2"><?php echo _t('news','visu2')?></label>
  354.                     <input name="news_visuel2" type="file" size="47" id="news_visuel2"  class="file" /><br /><br />
  355.                 </p>
  356.                 <p style="clear:both">
  357.                 <label for="news_statut" ><? echo _t('news','statut')?> : </label>
  358.                 <?php echo $select_statut?>
  359.                 </p>
  360.                 <div>
  361.                 <input name="id" type="hidden" value="<?php echo $id?>" id="id" />
  362.                 <input name="news_photouri" type="hidden" value="<?php echo $news_photouri?>" id="news_photouri" />
  363.                 <input name="current_template" type="hidden" value="<?php echo $current_template?>" id="current_template" />
  364.                 <input name="rub" type="hidden" value="<?php echo $rub?>" id="rub" />
  365.                 <input name="todo" type="hidden" value="<?php echo $todo?>" id="todo" />
  366.                 <?php echo cancel_button('javascript:history.go(-1);')?>
  367.                 <input name="valider" type="submit" value="<? echo _t('btn','valid')?>" class="button" id="valider" />
  368.                 </div>
  369.             </form>
  370.         </div>
  371. <?php include_once($dir."/help.php")?>
  372. </div>
  373. <?php
  374. // Récapitulatif
  375. else    {
  376.  
  377. $requete=SQL_getonethemeName($form_theme);
  378. $result=$sql_object->DBSelect($requete);
  379. if($result==|| count($result)!=1exit;
  380. else $theme_denomination=formatText($result[0]['theme_name']);
  381.  
  382. $requete=SQL_getonescaleDenomination($form_scale);
  383. $result=$sql_object->DBSelect($requete);
  384. if($result==|| count($result)!=1exit;
  385. else $scale_denomination=formatText($result[0]['scale_denomination']);
  386.  
  387. if($form_level <> -1{
  388. $requete=SQL_getonelevelName($form_level);
  389. $result=$sql_object->DBSelect($requete);
  390. if($result==|| count($result)!=1exit;
  391. else $level_denomination=formatText($result[0]['level_name']);
  392. else $level_denomination=_t('divers','none');
  393.  
  394. $display_form_header=formatText(empty_nc($form_header));
  395.  
  396.  
  397. if(isset($visual_link1)) {
  398.     $reca_visual="<dt>"._t('news','photouri')."</dt>\n";
  399.     $reca_visual.="<dd>&nbsp;</dd>\n";
  400.     $reca_visual.="<dt>"._t('news','visu1')." :</dt>\n";
  401.     $reca_visual.="<dd>".$visual_link1."</dd>\n";
  402.     if(isset($visual_link2)) {
  403.         $reca_visual.="<dt>"._t('news','visu2')." :</dt>\n";
  404.         $reca_visual.="<dd>".$visual_link2."</dd>\n";
  405.     }
  406. }
  407. ?>
  408. <div class="contentcontainer">
  409. <?php
  410. include_once($dir."/menurub.php");
  411. ?>
  412. <div id="content">
  413.             <h2><? echo formatTitleh2(_t('recap','title'))?></h2>
  414.             <?php
  415.             echo "<dl class=\"dl3\">\n";
  416.             echo "<dt>"._t('news','title')."</dt>\n";
  417.             echo "<dd>".$form_title."</dd>\n";
  418.             echo "<dt>"._t('news','header')"</dt>\n";
  419.             echo "<dd>".linkin_content($display_form_header)."</dd>\n";
  420.             echo "<dt>"._t('news','body')." :</dt>\n";
  421.             echo "<dd>".linkin_content($form_body)."</dd>\n";
  422.             echo "<dt>"._t('news','theme')." :</dt>\n";
  423.             echo "<dd>".$theme_denomination."</dd>\n";
  424.             echo "<dt>"._t('news','scale')." :</dt>\n";
  425.             echo "<dd>".$scale_denomination."</dd>\n";
  426.             echo "<dt>"._t('news','level')." :</dt>\n";
  427.             echo "<dd>".$level_denomination."</dd>\n";
  428.             echo "<dt>"._t('news','template')." :</dt>\n";
  429.             echo "<dd>".$news_object->GetTemplateName($form_template)."</dd>\n";
  430.             echo $reca_visual;
  431.             echo "<dt>"._t('divers','statut'."</dt>\n";
  432.             echo "<dd>"display_statut($_POST['news_statut'])"</dd>\n";
  433.             echo "</dl>\n";
  434.             ?>
  435.             <br style="clear:both" />
  436.             <form id="modscale" action="<?php echo $_SERVER['SCRIPT_NAME']?>" method="post">
  437.                 <div>
  438.                 <input name="id" type="hidden" value="<?php echo $id?>" id="id" />
  439.                 <input name="rub" type="hidden" value="<?php echo $rub?>" id="rub" />
  440.                 <input name="todo" type="hidden" value="<?php echo $todo?>" id="todo" />
  441.                 <input name="data_table" type="hidden" value="<?php echo $table?>" id="data_table" />
  442.                 <?php echo cancel_button('?rub=news&amp;todo=list')?>
  443.                 <input name="retour" type="button" value="<? echo _t('btn','preview')?>" class="button" id="retour" onclick="history.go(-1);" />
  444.                 <input name="enregistrer" type="submit" value="<? echo _t('btn','save')?>" class="button" id="valider" />
  445.                 </div>
  446.             </form>
  447.         </div>
  448.     <?php include_once($dir."/help.php")?>
  449. </div>
  450. <?php
  451. }
  452. ?>

Documentation generated on Fri, 16 Oct 2009 09:37:04 +0200 by phpDocumentor 1.4.1