Changeset 49038 in spip-zone


Ignore:
Timestamp:
Jun 24, 2011, 6:08:18 PM (10 years ago)
Author:
marcimat@…
Message:

Début de plugin pages pour SPIP 3. À noter qu'on renomme la variable «type» en «modele» dans les URLs car elle interfère avec Z.

Location:
_plugins_/pages/trunk
Files:
1 deleted
3 edited
2 copied

Legend:

Unmodified
Added
Removed
  • _plugins_/pages/trunk/base/pages_tables.php

    r35055 r49038  
    1010if (!defined("_ECRIRE_INC_VERSION")) return;
    1111
    12 function pages_declarer_tables_principales($tables_principales){
    13 
    14         $tables_principales['spip_articles']['field']['page'] = "VARCHAR(20) DEFAULT '' NOT NULL";
    15         return $tables_principales;
     12function pages_declarer_tables_objets_sql($tables){
     13       
     14        $tables['spip_articles']['field']['page'] = "VARCHAR(20) DEFAULT '' NOT NULL";
     15        return $tables;
    1616
    1717}
  • _plugins_/pages/trunk/pages_pipelines.php

    r45613 r49038  
    1313function pages_affiche_milieu_ajouter_page($flux){
    1414
    15         if ($flux['args']['exec'] == 'articles_edit'){
    16        
    17                 find_in_path('abstract_sql', 'base/', true);
     15        if ($flux['args']['exec'] == 'article_edit'){
     16                include_spip('base/abstract_sql');
    1817                if (
    19                         _request('type') == 'page'
     18                        _request('modele') == 'page'
    2019                        or
    2120                        (
     
    2827                       
    2928                        // On cherche et remplace l'entete de la page : "modifier la page"
    30                         $cherche = "/(<div[^>]*class=('|\")entete-formulaire.*?<\/a>).*?(<h1>.*?<\/h1>.*?<\/div>)/is";
     29                        $cherche = "/(<div[^>]*class=('|\")entete-formulaire.*?<\/span>).*?(<h1>.*?<\/h1>.*?<\/div>)/is";
    3130                        $surtitre = _T('pages:modifier_page');
    3231                        $remplace = "$1$surtitre$3";
     
    3534                        // Si c'est une nouvelle page, on remplace le lien de retour dans l'entete
    3635                        if (_request('new') == 'oui'){
    37                        
    38                                 $cherche = "/(<a[^>]*class=('|\")icone36[^>]*?href=('|\"))[^'\"]*(('|\").*?<\/a>)/is";
     36                                $cherche = "/(<span[^>]*class=(?:'|\")icone[^'\"]*retour[^'\"]*(?:'|\")>"
     37                                         . "<a[^>]*href=(?:'|\"))[^'\"]*('|\")/is";
    3938                                $retour = generer_url_ecrire("pages_tous");
    40                                 $remplace = "$1$retour$4";
     39                                $remplace = "$1$retour$2";
    4140                                $flux['data'] = preg_replace($cherche, $remplace, $flux['data']);
    4241                       
     
    5857        if (is_array($flux) and $flux['args']['form'] == 'editer_article'){
    5958       
    60                 // Si on est dans un article de type page
    61                 if (_request('type') == 'page' or ($flux['data']['page'] and _request('type') != 'article')){
    62                         $flux['data']['type'] = 'page';
     59                // Si on est dans un article de modele page
     60                if (_request('modele') == 'page' or ($flux['data']['page'] and _request('modele') != 'article')){
     61                        $flux['data']['modele'] = 'page';
    6362                        $flux['data']['champ_page'] = $flux['data']['page'];
    6463                }
     
    7877       
    7978                // Si on est dans un article de type page mais que le champ "page" est vide
    80                 if (_request('type') == 'page' and !_request('champ_page'))
     79                if (_request('modele') == 'page' and !_request('champ_page'))
    8180                        $flux['data']['champ_page'] .= _T('info_obligatoire');
    8281       
    8382        }
    84        
     83
    8584        return $flux;
    8685
     
    9493        $erreurs = $args['contexte']['erreurs'];
    9594       
    96         if ($args['type'] == 'article' and $args['contexte']['type'] == 'page'){
     95        if ($args['type'] == 'article' and $args['contexte']['modele'] == 'page'){
    9796       
    9897                // On cherche et remplace l'édition de la rubrique
    99                 $cherche = "/<li[^>]*class=('|\")editer_parent.*?<\/li>/is";
     98                $cherche = "/<li[^>]*class=('|\")editer editer_parent.*?<\/li>/is";
    10099                $remplace = '<li class="editer_page obligatoire'.($erreurs['champ_page'] ? ' erreur' : '').'">';
    101100                $remplace .= '<input type="hidden" name="id_parent" value="-1" />';
    102101                $remplace .= '<input type="hidden" name="id_rubrique" value="-1" />';
    103                 $remplace .= '<input type="hidden" name="type" value="page" />';
     102                $remplace .= '<input type="hidden" name="modele" value="page" />';
    104103        $remplace .= '<label for="id_page">'._T('pages:titre_page').'</label>';
    105104        if ($erreurs['champ_page'])
     
    163162                if ($flux['args']['row']['page'] == ''){
    164163                        $flux['data'] .= '<div>
    165                                 <a href="'.parametre_url(parametre_url(generer_url_ecrire('articles_edit'), 'id_article', $flux['args']['id']), 'type', 'page').'" class="cellule-h">
     164                                <a href="'.parametre_url(parametre_url(generer_url_ecrire('article_edit'), 'id_article', $flux['args']['id']), 'modele', 'page').'" class="cellule-h">
    166165                                        <img src="'.find_in_path('images/page-24.png').'" style="vertical-align:middle;" alt="" />
    167166                                        <span style="vertical-align:middle;">'._T('pages:convertir_page').'</span>
     
    171170                else{
    172171                        $flux['data'] .= '<div>
    173                                 <a href="'.parametre_url(parametre_url(generer_url_ecrire('articles_edit'), 'id_article', $flux['args']['id']), 'type', 'article').'" class="cellule-h">
     172                                <a href="'.parametre_url(parametre_url(generer_url_ecrire('article_edit'), 'id_article', $flux['args']['id']), 'modele', 'article').'" class="cellule-h">
    174173                                        <img src="'.find_in_path('images/article-24.gif').'" style="vertical-align:middle;" alt="" />
    175174                                        <span style="vertical-align:middle;">'._T('pages:convertir_article').'</span>
  • _plugins_/pages/trunk/plugin.xml

    r45613 r49038  
    77        </auteur>
    88        <version>
    9                 0.3.6
     9                1.0.0-dev
    1010        </version>
    1111        <etat>
    12                 test
     12                dev
    1313        </etat>
    1414        <icon>
     
    3333                pages
    3434        </prefix>
    35         <necessite id='SPIP' version='[2.0.0;]' />
     35        <necessite id='SPIP' version='[3.0.0-dev;]' />
    3636       
    3737        <install>base/pages_installation.php</install>
     
    5050                <icone>images/page-new-16.png</icone>
    5151                <titre>pages:creer_page</titre>
    52                 <url>articles_edit</url>
    53                 <args>new=oui&amp;type=page&amp;id_rubrique=-1</args>
     52                <url>article_edit</url>
     53                <args>new=oui&amp;modele=page&amp;id_rubrique=-1</args>
    5454        </bouton>
    5555       
    5656        <pipeline>
    57                 <nom>declarer_tables_principales</nom>
     57                <nom>declarer_tables_objets_sql</nom>
    5858                <inclure>base/pages_tables.php</inclure>
    5959        </pipeline>
     
    6464                <inclure>pages_pipelines.php</inclure>
    6565        </pipeline>
     66       
    6667        <pipeline>
    6768                <nom>boite_infos</nom>
     
    8990                <inclure>pages_pipelines.php</inclure>
    9091        </pipeline>
     92       
    9193        <categorie>divers</categorie>
    9294</plugin>
Note: See TracChangeset for help on using the changeset viewer.