Changeset 79326 in spip-zone


Ignore:
Timestamp:
Dec 13, 2013, 2:08:16 PM (6 years ago)
Author:
marcimat@…
Message:

La fabrique propose une option lorsqu'on indique qu'un objet peut se lier à une rubrique pour que la rubrique passe en statut publié (ou dépublié) si cet objet est présent dans la rubrique. (peetdu)

Location:
_plugins_/fabrique
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/fabrique/branches/v1/fabrique/prefixe_pipelines.php.html

    r70031 r79326  
    158158
    159159
     160        OBJET COMPTE ENFANT
     161
     162
     163
     164]
     165<B_objet_compte_enfants>
     166/**
     167 * Compter les enfants d'une rubrique
     168 *
     169 * @pipeline objets_compte_enfants
     170 * @param  array $flux Données du pipeline
     171 * @return array       Données du pipeline
     172**/
     173function [(#PREFIXE)]_objet_compte_enfants($flux) {
     174        if ($flux['args']['objet']=='rubrique'
     175                AND $id_rubrique=intval($flux['args']['id_objet'])) {
     176
     177                $id_rubrique = $flux['args']['id_rubrique'];
     178<BOUCLE_objet_compte_enfants(DATA){source tableau,(#OBJETS|objets_options_presentes{#LISTE{statut_rubrique,id_rubrique}})}>
     179        [(#STATUT|oui)
     180                // juste les publiés ?
     181                if (array_key_exists('statut', $flux\['args'\]) and ($flux\['args'\]\['statut'\] == 'publie')) {
     182                        $flux\['data'\]\['#TYPE'\] = sql_countsel('#TABLE', "id_rubrique=".intval($id_rubrique)." AND (statut='publie')");
     183                } else {
     184                        $flux\['data'\]\['#TYPE'\] = sql_countsel('#TABLE', "id_rubrique=".intval($id_rubrique)." AND (statut='publie' OR statut='prop')");
     185                }
     186        ][(#STATUT|non)
     187                $flux\['data'\]\['#TYPE'\] = sql_countsel('#TABLE', "id_rubrique=".intval($id_rubrique));
     188        ]
     189</BOUCLE_objet_compte_enfants>
     190        }
     191        return $flux;
     192}
     193</B_objet_compte_enfants>[
     194(#REM)
     195
     196
     197
    160198        OPTIMISER BASE DISPARUS
    161199
  • _plugins_/fabrique/branches/v1/formulaires/inc-fabriquer_plugin_objet.html

    r70623 r79326  
    240240                                id_rubrique,<:fabrique:label_champ_id_rubrique:>,
    241241                                id_secteur,<:fabrique:label_champ_id_secteur:>,
    242                                 vue_rubrique,<:fabrique:label_champ_vue_rubrique:>})]})]
     242                                vue_rubrique,<:fabrique:label_champ_vue_rubrique:>,
     243                                statut_rubrique,<:fabrique:label_champ_statut_rubrique:>})]})]
    243244                </ul>
    244245        </fieldset>
  • _plugins_/fabrique/branches/v1/lang/fabrique_fr.php

    r70630 r79326  
    206206        'label_champ_statut' => 'Champ <strong>statut</strong>',
    207207        'label_champ_statut_explication' => 'Permet d\'utiliser des statuts de publication (proposé à publication, publié, poubelle…)',
     208        'label_champ_statut_rubrique' => 'Affecter le statut des rubriques si cet élément est présent',
    208209        'label_champ_vue_rubrique' => 'Afficher la liste dans la rubrique',
    209210        'label_champ_titre' => 'Calculer les titres',
  • _plugins_/fabrique/branches/v1/paquet.xml

    r78202 r79326  
    22        prefix="fabrique"
    33        categorie="outil"
    4         version="1.18.1"
     4        version="1.19.0"
    55        etat="test"
    66        compatibilite="[3.0.0;3.0.*]"
  • _plugins_/fabrique/branches/v1/todo.txt

    r67099 r79326  
    2222- lorsqu'un objet est dans une rubrique, il faut ajouter le pipeline "objet_compte_entants"
    2323
    24 - lorsqu'on lie un objet à une rubrique vide,
    25 la rubrique ne se publie pas et peut être supprimée.
    26 Une option pour indiquer que cela publie la rubrique serait bien.
    2724
    2825- on pourrait générer des listes de résumés publiques pour un objet, comme ce que fait Z :
  • _plugins_/fabrique/trunk/fabrique/prefixe_pipelines.php.html

    r70026 r79326  
    158158
    159159
     160        OBJET COMPTE ENFANT
     161
     162
     163
     164]
     165<B_objet_compte_enfants>
     166/**
     167 * Compter les enfants d'une rubrique
     168 *
     169 * @pipeline objets_compte_enfants
     170 * @param  array $flux Données du pipeline
     171 * @return array       Données du pipeline
     172**/
     173function [(#PREFIXE)]_objet_compte_enfants($flux) {
     174        if ($flux['args']['objet']=='rubrique'
     175                AND $id_rubrique=intval($flux['args']['id_objet'])) {
     176
     177                $id_rubrique = $flux['args']['id_rubrique'];
     178<BOUCLE_objet_compte_enfants(DATA){source tableau,(#OBJETS|objets_options_presentes{#LISTE{statut_rubrique,id_rubrique}})}>
     179                [(#STATUT|oui)
     180                // juste les publiés ?
     181                if (array_key_exists('statut', $flux\['args'\]) and ($flux\['args'\]\['statut'\] == 'publie')) {
     182                        $flux\['data'\]\['#TYPE'\] = sql_countsel('#TABLE', "id_rubrique=".intval($id_rubrique)." AND (statut='publie')");
     183                } else {
     184                        $flux\['data'\]\['#TYPE'\] = sql_countsel('#TABLE', "id_rubrique=".intval($id_rubrique)." AND (statut='publie' OR statut='prop')");
     185                }
     186                ][(#STATUT|non)
     187                        $flux\['data'\]\['#TYPE'\] = sql_countsel('#TABLE', "id_rubrique=".intval($id_rubrique));
     188                ]
     189</BOUCLE_objet_compte_enfants>
     190        }
     191        return $flux;
     192}
     193</B_objet_compte_enfants>[
     194(#REM)
     195
     196
     197
    160198        OPTIMISER BASE DISPARUS
    161199
  • _plugins_/fabrique/trunk/fabrique_fonctions.php

    r70029 r79326  
    148148 *
    149149 * @example
     150 *     ```
    150151 *     cle_de_langue('titre_objets') => titre_chats
    151152 *     cle_de_langue('icone_creer_objet') => icone_creer_chat
    152153 *     cle_de_langue('prive/\objets/infos/objet.html') => prive/objets/infos/chat.html
     154 *     ```
    153155 * @param string $cle
    154156 *     La clé à transformer
     
    156158 *     Couples d'information sur l'objet en cours, avec les index
    157159 *     'objet' et 'type' définis
    158  * @retrun string
     160 * @return string
    159161 *     La clé transformée
    160162**/
  • _plugins_/fabrique/trunk/fabrique_pipelines.php

    r65708 r79326  
    1313 * depuis la Fabrique
    1414 *
    15  * @param array $flux  Données du pipeline
     15 * @param array $flu  Données du pipeline
    1616 * @return array       Données du pipeline
    1717**/
  • _plugins_/fabrique/trunk/paquet.xml

    r74528 r79326  
    22        prefix="fabrique"
    33        categorie="outil"
    4         version="2.0.1"
     4        version="2.0.2"
    55        etat="dev"
    66        compatibilite="[3.1.0-dev;3.1.*]"
  • _plugins_/fabrique/trunk/todo.txt

    r70951 r79326  
    2323et "boite_infos"
    2424
    25 - lorsqu'on lie un objet à une rubrique vide,
    26 la rubrique ne se publie pas et peut être supprimée.
    27 Une option pour indiquer que cela publie la rubrique serait bien.
    28 
    2925- on pourrait générer des listes de résumés publiques pour un objet, comme ce que fait Z :
    3026  liste/patates-resume.html +
Note: See TracChangeset for help on using the changeset viewer.