Changeset 70158 in spip-zone


Ignore:
Timestamp:
Feb 24, 2013, 6:28:49 PM (8 years ago)
Author:
brunobergot@…
Message:

Version 1.0 pour SPIP 3 : passage en paquet (merci plugonet) + maj des dépendances + surcharge de inc_preselectionner_parent_nouvel_objet_dist() pour passer l'id_rubrique qui va bien

Location:
_plugins_/rubrique_preferee/trunk
Files:
2 added
2 deleted
1 edited
1 copied

Legend:

Unmodified
Added
Removed
  • _plugins_/rubrique_preferee/trunk/rubriquepreferee_administrations.php

    r70147 r70158  
    11<?php
     2
    23if (!defined("_ECRIRE_INC_VERSION")) return;
    34
    4 include_spip('inc/cextras_gerer');
     5include_spip('inc/cextras');
    56
    67/**
     
    1112 * @param string $version_cible
    1213 */
    13 function rubriquepreferee_upgrade($nom_meta_base_version, $version_cible){
    14 
    15         $current_version = "0.0";
    16         if (
    17                 (!isset($GLOBALS['meta'][$nom_meta_base_version]))
    18                 || (($current_version = $GLOBALS['meta'][$nom_meta_base_version]) != $version_cible)
    19         ){
    20                 if (version_compare($current_version,'0.0','=')){
    21                         $champs = rubriquepreferee_declarer_champs_extras();
    22                         // C'est le plugin Champs Extras qui ecrit le meta
    23                         if(! installer_champs_extras($champs, $nom_meta_base_version, $current_version='0.1')) {
    24                                 echo _T('rubriquepreferee:msg_erreur_installation')."<br/>";
    25                         }
    26                 }
    27         }
     14function rubriquepreferee_upgrade($nom_meta_base_version,$version_cible){
     15        $maj = array();
     16        cextras_api_upgrade(rubriquepreferee_declarer_champs_extras(), $maj['create']);
     17        include_spip('base/upgrade');
     18        maj_plugin($nom_meta_base_version, $version_cible, $maj);
    2819}
    2920
     
    3425 */
    3526function rubriquepreferee_vider_tables($nom_meta_base_version) {
    36 
    37         $champs = rubriquepreferee_declarer_champs_extras();
    38         // C'est le plugin Champs Extras qui supprime le meta
    39         desinstaller_champs_extras($champs, $nom_meta_base_version);
     27        cextras_api_vider_tables(rubriquepreferee_declarer_champs_extras());
     28        effacer_meta($nom_meta_base_version);
    4029}
    41 
    4230
    4331/**
     
    4836 */
    4937function rubriquepreferee_declarer_champs_extras($champs = array()){
    50 
    51         $champs[] = new ChampExtra(array(
    52                 'table' => 'auteurs',
    53                 'champ' => 'rubrique_preferee',
    54                 'label' => 'rubriquepreferee:titre',
    55                 'precisions' => 'rubriquepreferee:explication',
    56                 'obligatoire' => false,
    57                 'rechercher' => false,
    58                 'type' => 'selecteur_rubrique',
    59                 'sql' => "varchar(255) NOT NULL DEFAULT ''",
    60                 'saisie_externe' => true,
    61         ));
     38        $champs['spip_auteurs']['rubrique_preferee'] = array(
     39                'saisie' => 'selecteur_rubrique',
     40                'options' => array(
     41                        'nom' => 'rubrique_preferee',
     42                        'label' => _T('rubriquepreferee:titre'),
     43                        'explication' => _T('rubriquepreferee:explication'),
     44                        'obligatoire' => false,
     45                        'rechercher' => false,
     46                        'sql' => "varchar(255) NOT NULL DEFAULT ''"
     47                ));
    6248        return $champs;
    6349}
  • _plugins_/rubrique_preferee/trunk/rubriquepreferee_options.php

    r54961 r70158  
    33if (!defined("_ECRIRE_INC_VERSION")) return;
    44
    5 /**
    6  * Surcharge de inc_article_select_dist afin de déterminer correctement la rubrique initiale si elle est nulle
    7  * Appelle inc_article_select_dist en ayant renseigné $id_rubrique avec l'id de la rubrique preferee si c'est renseigné
    8  * sinon la premiere rubrique que l'auteur administre (donc dans laquelle il peut publier)
     5 /**
     6 * Surcharge de inc_preselectionner_parent_nouvel_objet_dist lors de la création d'un article si la rubrique n'est pas définie
     7 * Renvoie l'id de la rubrique preférée si renseigné pour l'auteur en cours, sinon la première rubrique que l'auteur administre (donc dans laquelle il peut publier)
     8 *
     9 * @param string $objet
     10 * @param array $row
     11 * @return string
    912 */
    10 function inc_article_select($id_article, $id_rubrique=0, $lier_trad=0, $id_version=0) {
    11 
    12         // Si nouvel article et pas de rubrique
    13         if (!is_numeric($id_article) && !$id_rubrique) {
    14            $qui = $GLOBALS['visiteur_session'] ? $GLOBALS['visiteur_session'] : array('statut' => '', 'id_auteur' =>0, 'webmestre' => 'non');
     13function inc_preselectionner_parent_nouvel_objet($objet, $row){
     14        if ($objet == 'article') {
     15                $qui = $GLOBALS['visiteur_session'] ? $GLOBALS['visiteur_session'] : array('statut' => '', 'id_auteur' =>0, 'webmestre' => 'non');
    1516                include_spip('inc/autoriser');
    1617                $qui['restreint'] = liste_rubriques_auteur($qui['id_auteur']);
    17 
    1818                $res = sql_select("rubrique_preferee", "spip_auteurs", "id_auteur=".$qui['id_auteur']);
    1919                $id_rubrique = reset(picker_selected(sql_fetch($res),"rubrique"));
    2020                $id_rubrique = $id_rubrique ? $id_rubrique : reset($qui['restreint']);
     21                return $id_rubrique;
     22        } else {
     23                include_spip('inc/preselectionner_parent_nouvel_objet');
     24                return(inc_preselectionner_parent_nouvel_objet_dist($objet, $row));
    2125        }
    22 
    23         include_spip('inc/article_select');
    24         return(inc_article_select_dist($id_article, $id_rubrique, $lier_trad, $id_version));
    2526}
    2627
Note: See TracChangeset for help on using the changeset viewer.