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

Source for file add.php

Documentation is available at add.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. <div id="chemin">
  24.     <ul>
  25.         <li>
  26.             <a href="index.php" class="chemin_home"><? echo _t('way','home'); ?></a>
  27.         </li>
  28.         <li>
  29.                <a href="<?php echo $rub_link; ?>" id="chemin_<? echo $rub; ?>" class="chemin_rub"><? echo _t('menu','news'); ?></a>
  30.         </li>
  31.         <li>
  32.             <span><? echo formatNavTitle(_t('news','add')); ?></span>
  33.         </li>
  34.     </ul>
  35. </div>
  36. <!--end barre haute -->
  37. <?php
  38. $form_title='';
  39. $form_header='';
  40. $form_body='';
  41. $mask_template_1='';
  42. $mask_template_2='';
  43. $mask_template_3='';
  44. $mask_template_4='';
  45. $form_theme=-1;
  46. $form_scale=-1;
  47. $form_level=-1;
  48. $layer_tpl_1_2 = "style=\"display:block;\"";
  49. $layer_tpl_3 = "style=\"display:none;\"";
  50. $mask_statut_P="checked=\"checked\"";
  51. $mask_statut_D='';
  52.  
  53.  
  54. $news_object = new news;
  55.  
  56. if(isset($_POST['enregistrer'])) {
  57.     $data_table=unserialize(urldecode($_POST['data_table']));
  58.     $result=$news_object->AddNews($data_table, $sql_object);
  59.     $link_confirm="confirm.php?rub=".$rub."&todo=".$todo;
  60.     if(is_numeric($result)) header("Location: ".$link_confirm);
  61.     else  system_error();
  62. }
  63.  
  64. if(isset($_POST['valider'])) {
  65.     $table[0]=$_POST['news_title'];
  66.     $table[1]=$_POST['news_header'];
  67.     $table[2]=$_POST['news_body'];
  68.     $table[3]=$_POST['news_theme'];
  69.     $table[4]=$_POST['news_scale'];
  70.     $table[5]=$_POST['news_level'];
  71.     $table[6]=$_POST['news_template'];
  72.     $table[8]=0; //range
  73.     $table[9]=GetSessionElement('id'); // ID posteur
  74.     $table[10]=''; // date de péremption
  75.     $table[11]='N'; // is_national
  76.     $table[12]=$_POST['news_statut'];
  77.     
  78.     $news_object= new news;
  79.     $integrity=$news_object->CheckDataIntegrity($table);
  80.  
  81.     if((!isset($_FILES['news_visuel1']) || $_FILES['news_visuel1']['name']=='') && ($_POST['news_template']==1 || $_POST['news_template']==2)) $files_integrity=_t('news','no_visu1');
  82.     if(((!isset($_FILES['news_visuel1']) || $_FILES['news_visuel1']['name']=='') || (!isset($_FILES['news_visuel2']) || $_FILES['news_visuel2']['name']=='')) && $_POST['news_template']==3) $files_integrity=_t('news','no_visu2');
  83.     if(isset($files_integrity) && !is_string($integrity))  $integrity=$files_integrity;
  84.  
  85.     if(!is_string($integrity)) {
  86.         if ($_POST['news_template'] != 4) {
  87.             include_once('../class/system/class.upload.php');
  88.             include_once('../class/system/class.image.php');
  89.             $image_object = new image;
  90.             $upload_object = new upload;
  91.             $upload1 = $_FILES['news_visuel1'];
  92.             $size_integrity=$upload_object->CheckMaxFile($upload1['size'], $news_object->UPLOAD_MAX_MO);
  93.             if(is_string($size_integrity)) $integrity=$size_integrity;
  94.             $format_integrity=$upload_object->CheckExtImage($upload1['name']);
  95.             if(is_string($format_integrity)) $integrity=$format_integrity;
  96.             
  97.             if($_POST['news_template'] == 3) {
  98.                 $upload2 = $_FILES['news_visuel2'];
  99.                 $size_integrity=$upload_object->CheckMaxFile($upload2['size'], $news_object->UPLOAD_MAX_MO);
  100.                 if(is_string($size_integrity)) $integrity=$size_integrity;
  101.                 $format_integrity=$upload_object->CheckExtImage($upload2['name']);
  102.                 if(is_string($format_integrity)) $integrity=$format_integrity;
  103.             }
  104.             if(!is_string($integrity)) {
  105.                 $result=$sql_object->DBSelect($req_max_news_id, 'OBJECT');
  106.                 $dir_name=($result[0]->maxid+1).'/';
  107.                 $destination="../".$news_object->URI_INPUT.$dir_name;
  108.                 
  109.                 $final_name="1.".$upload_object->GetExtension($upload1['name']);
  110.                 $visual_link1=$destination.$final_name;
  111.                 $table[7]=$news_object->URI_INPUT.$dir_name.$final_name;
  112.                 $result_upload=$upload_object->UploadFile($upload1, $final_name, $destination);
  113.                 $upload_object->CheckMimeImageType($visual_link1);
  114.                                 
  115.                 // création des thumbs
  116.                 $min_name=get_min_name($destination.$final_name);
  117.                 $image_object->ThumbCreate($destination.$final_name, $min_name , $news_object->MAX_PHOTO_MIN_WIDTH);
  118.                 
  119.                 // on retaille l'original au besoin.
  120.                 if(PHOTO_RESIZE==true && ExcedMaxSize($destination.$final_name, $news_object->MAX_PHOTO_MAX_WIDTH)) {
  121.                     $image_object->ThumbCreate($destination.$final_name, $destination.$final_name , $news_object->MAX_PHOTO_MAX_WIDTH);
  122.                 }
  123.                 
  124.                 // préparation de l'affichage de la miniature
  125.                 $visual_link1=EnlargeImage($visual_link1);
  126.                 
  127.                 if($_POST['news_template'] == 3) {
  128.                     $final_name="2.".$upload_object->GetExtension($upload2['name']);
  129.                     $visual_link2=$destination.$final_name;
  130.                     $table[7] .= '|'.$news_object->URI_INPUT.$dir_name.$final_name;
  131.                     $result_upload=$upload_object->UploadFile($upload2, $final_name, $destination);
  132.                     $upload_object->CheckMimeImageType($visual_link2);
  133.                                         
  134.                     // création des thumbs
  135.                     $min_name=get_min_name($destination.$final_name);
  136.                     $image_object->ThumbCreate($destination.$final_name, $min_name , $news_object->MAX_PHOTO_MIN_WIDTH);
  137.                     
  138.                     // on retaille l'original au besoin.
  139.                     if(PHOTO_RESIZE==true && ExcedMaxSize($destination.$final_name, $news_object->MAX_PHOTO_MAX_WIDTH)) {
  140.                         $image_object->ThumbCreate($destination.$final_name, $destination.$final_name , $news_object->MAX_PHOTO_MAX_WIDTH);
  141.                     }
  142.                     
  143.                     // préparation de l'affichage de la miniature
  144.                     $visual_link2=EnlargeImage($visual_link2);
  145.  
  146.                 }
  147.             }
  148.         }
  149.     }
  150.     if(is_string($integrity)) {
  151.         $text_format='2FIELD';
  152.     } else {
  153.         $text_format='2HTML';
  154.     }
  155.     $form_title=formatText($_POST['news_title'], $text_format);
  156.     $form_header=formatText($_POST['news_header'], $text_format);
  157.     $form_body=formatText($_POST['news_body'], $text_format);
  158.     $form_theme=$_POST['news_theme'];
  159.     $form_scale=$_POST['news_scale'];
  160.     $form_level=$_POST['news_level'];
  161.     $form_template=$_POST['news_template'];
  162.     if($_POST['news_template']==1) $mask_template_1=" selected=\"selected\"";
  163.     if($_POST['news_template']==2) $mask_template_2=" selected=\"selected\"";
  164.     if($_POST['news_template']==3) {
  165.         $mask_template_3=" selected=\"selected\"";
  166.         $layer_tpl_3 = "style=\"display:block;\"";
  167.     }
  168.     if($_POST['news_template']==4) {
  169.         $mask_template_4=" selected=\"selected\"";
  170.         $layer_tpl_1_2 = "style=\"display:none;\"";
  171.     }
  172.  
  173.     if($_POST['news_statut']=='D') $mask_statut_D="checked=\"checked\""; else $mask_statut_D='';
  174.     if($_POST['news_statut']=='P') $mask_statut_P="checked=\"checked\""; else $mask_statut_P='';
  175.     $table=urlencode(serialize($table));
  176. }
  177.  
  178.  
  179. if(!isset($integrity) || is_string($integrity)) {
  180. include_once("../lib/input_helpers.php");
  181.  
  182. // select-box de thèmes
  183. $data=$sql_object->DBSelect($req_list_theme);
  184. $select_theme=ThemeSelectBox($data, "news_theme", $form_theme);
  185.  
  186. // select-box des échelles
  187. $data=$sql_object->DBSelect($req_list_scale);
  188. $select_scale=ScaleSelectBox($data, "news_scale", $form_scale);
  189.  
  190. // select-box des niveaux
  191. $data=$sql_object->DBSelect($req_list_level);
  192. $select_level=LevelSelectBox($data, "news_level", $form_level);
  193.  
  194. // select-box Templates
  195. $select_template="<select name=\"news_template\" id=\"news_template\" onchange=\"ShowFilesLayer(this.value, 'news')\">\n";
  196. $select_template.="<option value=\"1\"".$mask_template_1.">".$news_object->GetTemplateName(1)."</option>\n";
  197. $select_template.="<option value=\"2\"".$mask_template_2.">".$news_object->GetTemplateName(2)."</option>\n";
  198. $select_template.="<option value=\"3\"".$mask_template_3.">".$news_object->GetTemplateName(3)."</option>\n";
  199. $select_template.="<option value=\"4\"".$mask_template_4.">".$news_object->GetTemplateName(4)."</option>\n";
  200. $select_template.="</select>\n";
  201. }
  202.  
  203. include_once(THEME_ADMIN_PATH."quickicons.php");
  204.  
  205. ?>
  206.  
  207. <?php
  208. if(!isset($integrity) || is_string($integrity)) {
  209. ?>
  210. <div class="contentcontainer">
  211.         <?php
  212.         include_once($dir."/menurub.php");
  213.         ?>
  214.         <div id="content">
  215.             <?php
  216.             if(isset($integrity) && is_string($integrity)) display_errors($integrity);
  217.             ?>
  218.             <h2><? echo formatTitleh2(_t('news','add_title')); ?></h2>
  219.             <form id="addnews" action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post" enctype="multipart/form-data">
  220.                 <p>
  221.                 <label for="news_title"><? echo _t('news','title'); ?> : *</label>
  222.                 <input name="news_title" type="text" maxlength="200" id="news_title" class="textfield" value="<?php echo $form_title; ?>" />
  223.                 </p>
  224.                 <p>
  225.                 <label for="news_header"><? echo _t('news','header'); ?> : *</label>
  226.                 <textarea id="news_header" name="news_header" class="largetextfield" <?php echo AREA_SETTINGS; ?>><?php echo $form_header; ?></textarea>
  227.                 </p>
  228.                 <p>
  229.                 <label for="news_body"><? echo _t('news','body'); ?> : *</label>
  230.                 <textarea id="news_body" name="news_body" class="largetextfield" <?php echo AREA_SETTINGS; ?>><?php echo $form_body; ?></textarea>
  231.                 </p>
  232.                 <p>
  233.                 <label for="news_theme" ><? echo _t('news','theme'); ?> : *</label>
  234.                 <?php echo $select_theme; ?>
  235.                 </p>
  236.                 <p>
  237.                 <label for="news_scale" ><? echo _t('news','scale'); ?> : *</label>
  238.                 <?php echo $select_scale; ?>
  239.                 </p>
  240.                 <p>
  241.                 <label for="news_level" ><? echo _t('news','level'); ?> : </label>
  242.                 <?php echo $select_level; ?>
  243.                 </p>
  244.                 <p>
  245.                 <label for="news_template" ><? echo _t('news','template'); ?> : </label>
  246.                 <?php echo $select_template; ?>
  247.                 </p>
  248.                 <p id="layervisuel1" <?php echo $layer_tpl_1_2; ?>>
  249.                     <label for="news_visuel1"><?php echo _t('news','visu1'); ?></label>
  250.                     <input name="news_visuel1" type="file" size="47" id="news_visuel1"  class="file" /><br /><br />
  251.                 </p>
  252.                 <p id="layervisuel2" <?php echo $layer_tpl_3; ?>>
  253.                     <label for="news_visuel2"><?php echo _t('news','visu2'); ?></label>
  254.                     <input name="news_visuel2" type="file" size="47" id="news_visuel2"  class="file" /><br /><br />
  255.                 </p>
  256.                 <p style="clear:both">
  257.                 <label for="statut_P"><? echo _t('news','statut'); ?> : </label>
  258.                 <input name="news_statut" type="radio" id="statut_P" value="P" <?php echo $mask_statut_P; ?> /><span class="radio"><?php echo _t('statut','public'); ?></span>
  259.                 <input name="news_statut" type="radio" id="statut_D" value="D" <?php echo $mask_statut_D; ?> /><span class="radio"><?php echo _t('statut','draft'); ?></span>
  260.                 <br />
  261.                 </p>
  262.                 <div>
  263.                 <input name="rub" type="hidden" value="<?php echo $rub; ?>" id="rub" />
  264.                 <input name="todo" type="hidden" value="<?php echo $todo; ?>" id="todo" />
  265.                 <?php echo cancel_button('javascript:history.go(-1);'); ?>
  266.                 <input name="valider" type="submit" value="<? echo _t('btn','valid') ?>" class="button" id="valider" />
  267.                 </div>
  268.             </form>
  269.         </div>
  270. <?php include_once($dir."/help.php"); ?>
  271. </div>
  272. <?php
  273. // Récapitulatif
  274. } else    {
  275.  
  276. $requete=SQL_getonethemeName($form_theme);
  277. $result=$sql_object->DBSelect($requete);
  278. if($result==0 || count($result)!=1) exit;
  279. else $theme_denomination=formatText($result[0]['theme_name'], '2HTML');
  280.  
  281. $requete=SQL_getonescaleDenomination($form_scale);
  282. $result=$sql_object->DBSelect($requete);
  283. if($result==0 || count($result)!=1) exit;
  284. else $scale_denomination=formatText($result[0]['scale_denomination'], '2HTML');
  285.  
  286. if($form_level <> -1) {
  287. $requete=SQL_getonelevelName($form_level);
  288. $result=$sql_object->DBSelect($requete);
  289. if($result==0 || count($result)!=1) exit;
  290. else $level_denomination=formatText($result[0]['level_name'], '2HTML');
  291. }else $level_denomination=_t('divers','none');
  292.  
  293. $reca_visual="<dt>"._t('news','photouri')."</dt>\n";
  294. if(isset($visual_link1)) {
  295.     $reca_visual.="<dd>&nbsp;</dd>\n";
  296.     $reca_visual.="<dt>"._t('news','visu1')." :</dt>\n";
  297.     $reca_visual.="<dd>".$visual_link1."</dd>\n";
  298.     if(isset($visual_link2)) {
  299.         $reca_visual.="<dt>"._t('news','visu2')." :</dt>\n";
  300.         $reca_visual.="<dd>".$visual_link2."</dd>\n";
  301.     }
  302. } else {
  303.     $reca_visual.="<dd>"._t('divers','none')."</dd>\n";
  304. }
  305.  
  306. ?>
  307. <div class="contentcontainer">
  308. <?php
  309. include_once($dir."/menurub.php");
  310. ?>
  311. <div id="content">
  312.             <h2><? echo formatTitleh2(_t('recap','title')); ?></h2>
  313.             <?php
  314.             echo "<dl class=\"dl3\">\n";
  315.             echo "<dt>"._t('news','title')."</dt>\n";
  316.             echo "<dd>". $form_title."</dd>\n";
  317.             echo "<dt>". _t('news','header'). "</dt>\n";
  318.             echo "<dd>".empty_nc(linkin_content($form_header))."</dd>\n";
  319.             echo "<dt>"._t('news','body')." :</dt>\n";
  320.             echo "<dd>".linkin_content($form_body)."</dd>\n";
  321.             echo "<dt>"._t('news','theme')." :</dt>\n";
  322.             echo "<dd>".$theme_denomination."</dd>\n";
  323.             echo "<dt>"._t('news','scale')." :</dt>\n";
  324.             echo "<dd>".$scale_denomination."</dd>\n";
  325.             echo "<dt>"._t('news','level')." :</dt>\n";
  326.             echo "<dd>".$level_denomination."</dd>\n";
  327.             echo "<dt>"._t('news','template')." :</dt>\n";
  328.             echo "<dd>".$news_object->GetTemplateName($form_template)."</dd>\n";
  329.             echo $reca_visual;
  330.             echo "<dt>"._t('divers','statut')."</dt>\n";
  331.             echo "<dd>". display_statut($_POST['news_statut']). "</dd>\n";
  332.             echo "</dl>\n";
  333.             ?>
  334.             <form id="addscale" action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post">
  335.                 <div>
  336.                 <input name="rub" type="hidden" value="<?php echo $rub; ?>" id="rub" />
  337.                 <input name="todo" type="hidden" value="<?php echo $todo; ?>" id="todo" />
  338.                 <input name="data_table" type="hidden" value="<?php echo $table; ?>" id="data_table" />
  339.                 <?php echo cancel_button('?rub=news&amp;todo=list'); ?>
  340.                 <input name="retour" type="button" value="<? echo _t('btn','preview'); ?>" class="button" id="retour" onclick="history.go(-1);" />
  341.                 <input name="enregistrer" type="submit" value="<? echo _t('btn','save'); ?>" class="button" id="valider" />
  342.                 </div>
  343.             </form>
  344.         </div>
  345.     <?php include_once($dir."/help.php"); ?>
  346. </div>
  347. <?php
  348. }
  349. ?>

Documentation generated on Fri, 16 Oct 2009 09:28:08 +0200 by phpDocumentor 1.4.1