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

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