[ Index ]
 

Code source de SPIP 1.9.2c

Accédez au Source d'autres logiciels libres

title

Body

[fermer]

/ecrire/exec/ -> articles_edit.php (source)

   1  <?php
   2  
   3  /***************************************************************************\
   4   *  SPIP, Systeme de publication pour l'internet                           *
   5   *                                                                         *
   6   *  Copyright (c) 2001-2007                                                *
   7   *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
   8   *                                                                         *
   9   *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
  10   *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
  11  \***************************************************************************/
  12  
  13  if (!defined("_ECRIRE_INC_VERSION")) return;
  14  
  15  include_spip('inc/presentation');
  16  include_spip('inc/article_select');
  17  include_spip('inc/documents');
  18  
  19  // http://doc.spip.org/@exec_articles_edit_dist
  20  function exec_articles_edit_dist()
  21  {
  22    articles_edit(_request('id_article'), // intval plus tard
  23          intval(_request('id_rubrique')),
  24          intval(_request('lier_trad')),
  25          intval(_request('id_version')),
  26          ((_request('new') == 'oui') ? 'new' : ''),
  27          'articles_edit_config');
  28  }
  29  
  30  
  31  // http://doc.spip.org/@articles_edit
  32  function articles_edit($id_article, $id_rubrique,$lier_trad,  $id_version, $new, $config_fonc)
  33  {
  34      $row = article_select($id_article ? $id_article : $new, $id_rubrique,  $lier_trad, $id_version);
  35      $id_article = $row['id_article'];
  36      $id_rubrique = $row['id_rubrique'];
  37      
  38      $commencer_page = charger_fonction('commencer_page', 'inc');
  39      if (!$row
  40        OR ($new AND !autoriser('creerarticledans','rubrique',$id_rubrique)) 
  41        OR (!$new AND (!autoriser('voir', 'article', $id_article)    OR !autoriser('modifier','article', $id_article))) 
  42        ) {
  43          echo $commencer_page(_T('info_modifier_titre', array('titre' => $titre)), "naviguer", "rubriques", $id_rubrique);
  44          echo "<strong>"._T('avis_acces_interdit')."</strong>";
  45          echo fin_page();
  46          exit;
  47      }
  48  
  49      pipeline('exec_init',array('args'=>array('exec'=>'articles_edit','id_article'=>$id_article),'data'=>''));
  50      
  51      if ($id_version) $titre.= ' ('._T('version')." $id_version)";
  52      else $titre = $row['titre'];
  53  
  54      echo $commencer_page(_T('titre_page_articles_edit', array('titre' => $titre)), "naviguer", "articles", $id_rubrique);
  55  
  56      debut_grand_cadre();
  57      echo afficher_hierarchie($id_rubrique);
  58      fin_grand_cadre();
  59  
  60      debut_gauche();
  61  
  62      // Pave "documents associes a l'article"
  63      
  64      if (!$new){
  65          # affichage sur le cote des pieces jointes, en reperant les inserees
  66          # note : traiter_modeles($texte, true) repere les doublons
  67          # aussi efficacement que propre(), mais beaucoup plus rapidement
  68          traiter_modeles(join('',$row), true);
  69          echo afficher_documents_colonne($id_article, 'article');
  70      } else {
  71          # ICI GROS HACK
  72          # -------------
  73          # on est en new ; si on veut ajouter un document, on ne pourra
  74          # pas l'accrocher a l'article (puisqu'il n'a pas d'id_article)...
  75          # on indique donc un id_article farfelu (0-id_auteur) qu'on ramassera
  76          # le moment venu, c'est-ˆ-dire lors de la creation de l'article
  77          # dans editer_article.
  78          echo afficher_documents_colonne(
  79              0-$GLOBALS['auteur_session']['id_auteur'], 'article');
  80      }
  81  
  82      echo pipeline('affiche_gauche',array('args'=>array('exec'=>'articles_edit','id_article'=>$id_article),'data'=>''));
  83      creer_colonne_droite();
  84      echo pipeline('affiche_droite',array('args'=>array('exec'=>'articles_edit','id_article'=>$id_article),'data'=>''));
  85      debut_droite();
  86      
  87      debut_cadre_formulaire();
  88      echo articles_edit_presentation($new, $row['id_rubrique'], $lier_trad, $row['id_article'], $row['titre']);
  89      $editer_article = charger_fonction('editer_article', 'inc');
  90      echo $editer_article($new, $id_rubrique, $lier_trad, generer_url_ecrire("articles"), $config_fonc, $row);
  91      fin_cadre_formulaire();
  92  
  93      echo pipeline('affiche_milieu',array('args'=>array('exec'=>'articles_edit','id_article'=>$id_article),'data'=>''));
  94  
  95      echo fin_gauche(), fin_page();
  96  }
  97  
  98  // http://doc.spip.org/@articles_edit_presentation
  99  function articles_edit_presentation($new, $id_rubrique, $lier_trad, $id_article, $titre)
 100  {
 101      $oups = ($lier_trad ?
 102           generer_url_ecrire("articles","id_article=$lier_trad")
 103           : ($new
 104          ? generer_url_ecrire("naviguer","id_rubrique=$id_rubrique")
 105          : generer_url_ecrire("articles","id_article=$id_article")
 106          ));
 107  
 108      return
 109          "\n<table cellpadding='0' cellspacing='0' border='0' width='100%'>" .
 110          "<tr>" .
 111          "\n<td>" .
 112          icone(_T('icone_retour'), $oups, "article-24.gif", "rien.gif", '',false) .
 113          "</td>\n<td>" .
 114          "<img src='" .
 115            _DIR_IMG_PACK .    "rien.gif' width='10' alt='' />" .
 116          "</td>\n" .
 117          "<td style='width: 100%'>" .
 118           _T('texte_modifier_article') .
 119          gros_titre($titre,'',false) . 
 120          "</td></tr></table><hr />\n";
 121  }
 122  ?>


Généré le : Wed Nov 21 10:20:27 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics