Changeset 10156 in spip-zone


Ignore:
Timestamp:
Mar 5, 2007, 1:21:25 PM (14 years ago)
Author:
fil@…
Message:

version initiale correctement signee, et appartenant a l'auteur qui la cree

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _squelettes_/gribouille/article_fonctions.php

    r10103 r10156  
    4040if (isset($_POST['ajouter_page_wiki'])
    4141AND isset($_POST['id_rubrique'])
    42 AND $_POST['id_rubrique'] == $GLOBALS['contexte_inclus']['id_rubrique']) {
     42AND $_POST['id_rubrique'] == $GLOBALS['contexte']['id_rubrique']) {
    4343        $id_rubrique = intval($_POST['id_rubrique']);
    44         include_spip('inc/autoriser');
    45         if (autoriser('publierdans', 'rubrique', $id_rubrique)) {
    46                 $s = spip_query("SELECT id_secteur FROM spip_rubriques WHERE id_rubrique=$id_rubrique");
    47                 if ($t = spip_fetch_array($s)) {
    48                         $id_secteur = $t['id_secteur'];
    49                         spip_query("INSERT spip_articles (id_rubrique, id_secteur, statut, titre, date) VALUES ($id_rubrique, $id_secteur, 'publie', "._q($_POST['ajouter_page_wiki']).", NOW())");
    50                         $id_article = spip_insert_id();
    51                         charger_generer_url();
    52                         include_spip('inc/headers');
    53                         redirige_par_entete(generer_url_article($id_article, '&'));
     44        $id_article = null;
     45
     46        // on verifie d'abord qu'un article de ce titre n'existe pas deja
     47        $s = spip_query("SELECT id_article FROM spip_articles WHERE titre="
     48        ._q($_POST['ajouter_page_wiki'])." OR url_propre="
     49        ._q($_POST['ajouter_page_wiki']));
     50        if ($t = spip_fetch_array($s)) {
     51                $id_article = $t['id_article'];
     52        } else {
     53                include_spip('inc/autoriser');
     54                if (autoriser('publierdans', 'rubrique', $id_rubrique)) {
     55                        include_spip('action/editer_article');
     56                        $id_article = insert_article($id_rubrique);
     57                        include_spip('inc/modifier');
     58                        $r = modifier_contenu('article', $id_article,
     59                                array('champs' => array('titre', 'statut')),
     60                                array(
     61                                        'titre' => $_POST['ajouter_page_wiki'],
     62                                        'statut' => 'publie'
     63                                )
     64                        );
    5465                }
     66        }
    5567
    56         }
     68        if (!$id_article)
     69                die("Erreur : creation d'article interdite");
     70
     71        charger_generer_url();
     72        include_spip('inc/headers');
     73        redirige_par_entete(generer_url_article($id_article, '&'));
    5774}
    5875
Note: See TracChangeset for help on using the changeset viewer.