Changeset 77176 in spip-zone for _plugins_/pages


Ignore:
Timestamp:
Oct 12, 2013, 9:04:19 AM (6 years ago)
Author:
tcharlss@…
Message:

Ajout d'un petit formulaire pour éditer rapidement l'identifiant d'une page sur la fiche de celle-ci.

Location:
_plugins_/pages/trunk
Files:
6 added
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/pages/trunk/pages_pipelines.php

    r77175 r77176  
    5252
    5353
     54/**
     55 * Saisie de l'identifiant de la page sur la fiche d'une page
     56 *
     57 * @param array $flux
     58 *              Le contexte du pipeline
     59 * @return array $flux
     60 *              Le contexte du pipeline modifié
     61 */
     62function pages_affiche_milieu_identifiant($flux){
     63        $texte = "";
     64        $e = trouver_objet_exec($flux['args']['exec']);
     65        $id_article = $flux['args'][$e['id_table_objet']];
     66
     67        // Si on est sur la fiche d'un article...
     68        if ( !$e['edition'] and $e['type']=='article' ) {
     69                include_spip('base/abstract_sql');
     70                // ... et s'il s'agit d'une page
     71                if (
     72                        _request('modele') == 'page'
     73                        or
     74                        (
     75                                $id_article > 0
     76                                and
     77                                (sql_getfetsel('page', 'spip_articles', 'id_article='.sql_quote($id_article)))
     78                        )
     79                ) {
     80                        $texte .= recuperer_fond('prive/objets/editer/identifiant_page',
     81                                array('id_article' => $id_article),
     82                                array('ajax'=>true)
     83                        );
     84                }
     85        }
     86
     87        if ($texte) {
     88                if ($p=strpos($flux['data'],"<!--affiche_milieu-->"))
     89                        $flux['data'] = substr_replace($flux['data'],$texte,$p,0);
     90                else
     91                        $flux['data'] .= $texte;
     92        }
     93
     94        return $flux;
     95}
     96
     97
    5498// Vérifier que la page n'est pas vide
    5599function pages_formulaire_charger($flux){
     
    80124 */
    81125function pages_formulaire_verifier($flux){
    82         // Si on est dans l'édition d'un article de type page
    83         if (
     126
     127        // Si on est dans l'édition d'un article/page ou dans le formulaire d'édition d'un identifiant page
     128        if (
    84129                is_array($flux)
    85                 and $flux['args']['form'] == 'editer_article'
    86                 and _request('modele') == 'page'
     130                and (
     131                        ( $flux['args']['form'] == 'editer_article' and _request('modele') == 'page' )
     132                        or $flux['args']['form'] == 'editer_identifiant_page'
     133                )
    87134        ){
    88135                $erreur = '';
    89136                $page = _request('champ_page');
    90                 // champ "page" vide
    91                 if ( !$page )
    92                         $flux['data']['champ_page'] .= _T('info_obligatoire');
    93                 // nombre de charactères : 255 max
     137                $id_page = $flux['args']['args'][0];
     138
     139                // champ vide
     140                if (!$page)
     141                        $erreur .= _T('info_obligatoire');
     142                // nombre de charactères : 40 max
    94143                elseif (strlen($page) > 255)
    95144                         $erreur = _T('pages:erreur_champ_page_taille');
     
    100149                elseif (sql_countsel(table_objet_sql('article'), "page=".sql_quote($page) . " AND id_article!=".intval($id_page)))
    101150                        $erreur = _T('pages:erreur_champ_page_doublon');
    102                 if ($erreur) $flux['data']['champ_page'] .= $erreur;
     151
     152                if ($erreur)
     153                        $flux['data']['champ_page'] .= $erreur;
    103154        }
    104155        return $flux;
  • _plugins_/pages/trunk/paquet.xml

    r77174 r77176  
    1919        <pipeline nom="declarer_tables_objets_sql" inclure="base/pages_tables.php" />
    2020        <pipeline nom="affiche_milieu" action="affiche_milieu_ajouter_page" inclure="pages_pipelines.php" />
     21        <pipeline nom="affiche_milieu" action="affiche_milieu_identifiant" inclure="pages_pipelines.php" />
    2122        <pipeline nom="boite_infos" inclure="pages_pipelines.php" />
    2223        <pipeline nom="affiche_hierarchie" inclure="pages_pipelines.php" />
Note: See TracChangeset for help on using the changeset viewer.