Changeset 112680 in spip-zone


Ignore:
Timestamp:
Dec 8, 2018, 8:44:05 PM (6 months ago)
Author:
arnaud.berard@…
Message:

Ajout d'une fonction

fonction install_contenus

  • créer une rubrique "Rubrique cachée"
  • créer un article "Edito" et un article "Accès direct"
  • associer le mot-clé "invisible" à cette rubrique
  • associer le mot-clé "edito" à l'article "Edito"
  • associer le mot-clé "acces-direct" à l'article "Accès direct"

Appelée lors de la phase d'installation d'escale

@todo passer les titre des objets en chaines de langues

+z

Location:
_squelettes_/escal/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _squelettes_/escal/trunk/escal_administrations.php

    r109380 r112680  
    99
    1010/**
    11  * Fonction d'installation du plugin et de mise à jour.
     11 * Fonction d'installation du plugin et de mise jour.
    1212 * Vous pouvez :
    13  * - créer la structure SQL,
    14  * - insérer du pre-contenu,
     13 * - crer la structure SQL,
     14 * - insrer du pre-contenu,
    1515 * - installer des valeurs de configuration,
    16  * - mettre à jour la structure SQL
    17  *  Merci à Arnaud Bérard pour son aide précieuse
     16 * - mettre � jour la structure SQL
     17 *  Merci � Arnaud B�rard pour son aide pr�cieuse
    1818**/
    1919function escal_upgrade($nom_meta_base_version, $version_cible) {
     
    2222    include_spip('inc/config');
    2323    include_spip('action/editer_objet');
    24    
     24
    2525    $maj['create'] = array(
    2626        array('install_groupe_mots'),
     27        array('install_contenus'),
    2728        array('escal_configuration'),
    2829        array('ecrire_config', 'escal', array())
    2930    );
    30    
     31
    3132    $maj['1.0.13'] =array(
    32         array('update_groupe_mots') 
     33        array('update_groupe_mots')
    3334    );
    34    
     35
    3536    include_spip('base/upgrade');
    3637    maj_plugin($nom_meta_base_version, $version_cible, $maj);
     
    3940
    4041/**
    41  * Fonction de désinstallation du plugin.
    42  * - nettoyer toutes les données ajoutées par le plugin et son utilisation
    43  * - supprimer les tables et les champs créés par le plugin.
     42 * Fonction de dsinstallation du plugin.
     43 * - nettoyer toutes les donn�es ajout�es par le plugin et son utilisation
     44 * - supprimer les tables et les champs cr��s par le plugin.
    4445**/
    4546function escal_vider_tables($nom_meta_base_version) {
    4647    include_spip('escal_fonctions');
    47    
     48
    4849    uninstal_escal();
    49    
     50
    5051    effacer_config('escal');
    5152    effacer_config($nom_meta_base_version);
  • _squelettes_/escal/trunk/escal_fonctions.php

    r109380 r112680  
    66 */
    77
    8 if (!defined('_ECRIRE_INC_VERSION')) return; 
     8if (!defined('_ECRIRE_INC_VERSION')) return;
    99
    1010// =======================================================================================================================================
     
    1717 * teste et configure certaines options de spip pour escal
    1818 * penser à incrementer la valeur de schema dans paquet.xml et celle de $maj dans escal_administrations.php en cas de mise à jour des mots cles
    19 */ 
     19*/
    2020
    2121
    2222function escal_configuration(){
    2323    include_spip('inc/config');
    24    
     24
    2525    // active l'utilsation des mots clefs
    2626    $articles_mots = lire_config('articles_mots');
     
    3232        ecrire_meta('rubriques_descriptif','oui') ;
    3333    if(lire_config('articles_descriptif') == 'non')
    34        ecrire_meta('articles_descriptif','oui') ; 
     34       ecrire_meta('articles_descriptif','oui') ;
    3535}
    3636
     
    5353                'minirezo'=>'oui',
    5454                'comite'=>'oui'
    55             )   
     55            )
    5656        ),
    5757        'mots'=> array(
     
    8181                'descriptif'=>'#7F3D00',
    8282                'type'=>'Agenda_couleur'
    83                 ),                                                   
     83                ),
    8484            // affichage
    8585            array(
     
    9292                'descriptif'=> _T('escal:mot_accueil'),
    9393                'type'=>'affichage'
    94             ),           
     94            ),
    9595            array(
    9696                'titre'=> 'actus',
     
    102102                'descriptif'=> _T('escal:mot_agenda'),
    103103                'type'=>'affichage'
    104             ),           
     104            ),
    105105            array(
    106106                'titre'=>'annonce',
     
    112112                'descriptif'=> _T('escal:mot_annonce_defilant'),
    113113                'type'=>'affichage'
    114             ),           
     114            ),
    115115            array(
    116116                'titre'=>'annuaire',
     
    167167                'descriptif'=> _T('escal:mot_citations'),
    168168                'type'=>'affichage'
    169             ),                       
     169            ),
    170170            array(
    171171                'titre'=>'edito',
    172172                'descriptif'=> _T('escal:mot_edito'),
    173173                'type'=>'affichage'
    174             ),           
     174            ),
    175175            array(
    176176                'titre'=>'favori',
    177177                'descriptif'=> _T('escal:mot_favori'),
    178178                'type'=>'affichage'
    179             ),           
     179            ),
    180180            array(
    181181                'titre'=>'forum',
     
    277277                'descriptif'=> _T('escal:mot_texte2colonnes'),
    278278                'type'=>'affichage'
    279             ),           
     279            ),
    280280            array(
    281281                'titre'=>'video-une',
    282282                'descriptif'=> _T('escal:mot_video_une'),
    283283                'type'=>'affichage'
    284             )           
     284            )
    285285        )
    286286    );
    287    
     287
    288288    return $schema;
    289289}
     
    292292function update_groupe_mots(){
    293293    include_spip('action/editer_objet');
    294    
     294
    295295    // chargement du array des groupe et mots
    296296    $schema = shema_escal();
    297    
     297
    298298    // en qu'elle version de escal est on ?
    299299    // si on a une meta escal_base_version, c'est qu'on est sur une version avec instalation auto
    300300    $meta = lire_config('escal_base_version');
    301    
     301
    302302    // si la meta est présente
    303303    if($meta!=''){
     
    316316                $id = sql_insertq('spip_groupes_mots',$schema['groupes'][$i]);
    317317            }
    318            
    319         }   
    320        
     318
     319        }
     320
    321321        //Maj des mots : on boucle sur le tableau mots
    322322        for ($i= 0 , $nbr_mot = count($schema['mots']) ; $i < $nbr_mot ; ++$i){
     
    357357        $id = sql_insertq('spip_groupes_mots',$schema['groupes'][$i]);
    358358    }
    359    
     359
    360360    // installation des mots
    361361    for ($i= 0 , $nbr_mot = count($schema['mots']) ; $i < $nbr_mot ; ++$i){
     
    368368        }
    369369    }
    370    
     370
    371371}
    372372
     
    385385    }
    386386}
     387
     388// fonction install_contenus
     389// - créer une rubrique "Rubrique cachée"
     390// - créer un article "Edito" et un article "Accès direct"
     391// - associer le mot-clé "invisible" à cette rubrique
     392// - associer le mot-clé "edito" à l'article "Edito"
     393// - associer le mot-clé "acces-direct" à l'article "Accès direct"
     394function install_contenus(){
     395    include_spip('action/editer_objet');
     396    include_spip('action/editer_liens');
     397    // créer une rubrique "Rubrique cachée"
     398    $rubrique_contenu = array(
     399      'titre'=>'Rubrique cachée'
     400    );
     401    $id_rubrique = objet_inserer('rubrique',null,$rubrique_contenu);
     402    // créer dans cette rubrique, un article "Edito"
     403    $article_edito_contenu = array(
     404      'titre'=>'Article Édito'
     405    );
     406    $article_edito = objet_inserer('article',$id_rubrique,$article_edito_contenu);
     407    objet_modifier('article',$article_edito,array('statut'=>'publie'));
     408    // un article "Accès direct"
     409    $article_acces_direct_contenu = array(
     410      'titre'=>'Accès direct'
     411    );
     412    $article_acces_direct = objet_inserer('article',$id_rubrique,$article_acces_direct_contenu);
     413    objet_modifier('article',$article_acces_direct,array('statut'=>'publie'));
     414
     415    // Ajout des liaisons
     416    // recupérer l'id_mot invisible
     417    $id_mot_invisible = sql_getfetsel("id_mot","spip_mots","titre='invisible'");
     418    if($id_mot_invisible){
     419      objet_associer(array('mot'=>$id_mot_invisible),array('rubrique'=>$id_rubrique));
     420    }
     421    // recupérer l'id_mot edito
     422    $id_mot_edito = sql_getfetsel("id_mot","spip_mots","titre='edito'");
     423    if($id_mot_edito){
     424      objet_associer(array('mot'=>$id_mot_edito),array('article'=>$article_edito));
     425    }
     426    // recupérer l'id_mot acces-direct
     427    $id_mot_acces_direct = sql_getfetsel("id_mot","spip_mots","titre='acces-direct'");
     428    if($id_mot_acces_direct){
     429      objet_associer(array('mot'=>$id_mot_acces_direct),array('article'=>$article_acces_direct));
     430    }
     431
     432    // spip_log("Rubrique: $id_rubrique, Acces direct: $article_acces_direct",'Escal');
     433
     434}
     435
    387436
    388437// =======================================================================================================================================
     
    418467}
    419468// balises issues da la contrib  "Balises de comptage" de Franck
    420 // http://contrib.spip.net/Balises-de-comptage 
     469// http://contrib.spip.net/Balises-de-comptage
    421470// =======================================================================================================================================
    422471// balise #TOTAL_VISITES
     
    542591 *    Fonctions de ce filtre :
    543592 *   remplacement des caractères accentués
    544  *    exemple trouvé là: 
     593 *    exemple trouvé là:
    545594 *    http://be.php.net/manual/fr/function.strtr.php#52098
    546  *   +-------------------------------------+ 
    547  * 
     595 *   +-------------------------------------+
     596 *
    548597*/
    549598
     
    551600function lettre1($texte) {
    552601        $texte = $texte{0}; // première lettre
    553                 $texte = 
     602                $texte =
    554603strtr($texte, "\xA1\xAA\xBA\xBF\xC0\xC1\xC2\xC3\xC5\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD8\xD9\xDA\xDB\xDD\xE0\xE1\xE2\xE3\xE5\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF8\xF9\xFA\xFB\xFD\xFF", "!ao?AAAAACEEEEIIIIDNOOOOOUUUYaaaaaceeeeiiiidnooooouuuyy");
    555         $texte = strtr($texte, 
     604        $texte = strtr($texte,
    556605array("\xC4"=>"Ae", "\xC6"=>"AE", "\xD6"=>"Oe", "\xDC"=>"Ue", "\xDE"=>"TH", "\xDF"=>"ss", "\xE4"=>"ae", "\xE6"=>"ae", "\xF6"=>"oe", "\xFC"=>"ue", "\xFE"=>"th"));
    557606        $texte = strtoupper($texte); // tout en majuscules
     
    581630
    582631//largeur maxi de la grande image avec vignettes sur les côtés:
    583 $GLOBALS['diapo_petit']=300; 
     632$GLOBALS['diapo_petit']=300;
    584633//hauteur maxi de la grande image avec vignettes sur les côtés :
    585634$GLOBALS['diapo_petit_h']=300;
     
    672721        return $truncate;
    673722}
    674    
     723
    675724// =======================================================================================================================================
    676725// traitement json
     
    689738    }
    690739}
    691  
     740
    692741if (!function_exists('json_encode')) {
    693742    function json_encode($content) {
     
    696745        return $json->encode($content);
    697746    }
    698 } 
     747}
    699748
    700749
     
    740789        }
    741790
    742        
     791
    743792//var_dump($nb_parties);
    744793        $longueur = strlen($texte);                                                                 // Longueur totale de la chaine de caractere
     
    751800        $j = 1;
    752801
    753        
     802
    754803                        while($j < $nb_parties){                                                                        // On recherche la fin du dernier mot de la partie pour ne pas le couper (=cesure)
    755                 $i = $partie*($j);                                                                                        // On debute la recherche a partie, et ensuite on incremente de la taille d'une partie pour trouver le mot suivant                         
     804                $i = $partie*($j);                                                                                        // On debute la recherche a partie, et ensuite on incremente de la taille d'une partie pour trouver le mot suivant
    756805                while(!isset($decoupe[$i])){                                                // On part du caractere ou on devrait couper,
    757806                        $i++;                                                                                                                                        // et on avance jusqu'a trouver la fin du mot
     
    765814                while(!preg_match('`\.$`',"$decoupe[$i]")){   //tant que le mot ne se termine pas par un point...
    766815                        $i++;                                                                                                                                                                //incrementation d'un caractere
    767                         while(!isset($decoupe[$i])){                                               
    768                         $i++;                                                                                                                               
     816                        while(!isset($decoupe[$i])){
     817                        $i++;
    769818                        }
    770819                }
    771820                $i++;
    772                         while(!isset($decoupe[$i])){                                               
    773                         $i++;                                                                                                                               
     821                        while(!isset($decoupe[$i])){
     822                        $i++;
    774823                        }
    775824        //echo $decoupe[$i];
    776                
    777         /*### FIN DU CORRECTIF ###*/       
    778                
    779                
     825
     826        /*### FIN DU CORRECTIF ###*/
     827
     828
    780829                $mots_cesure[$j] = $i;                                                                        // On range la valeur en caractere du mot clef pour la cesure
    781830                $j++;                                                                                                                                                // On passe a la partie suivante
  • _squelettes_/escal/trunk/paquet.xml

    r112622 r112680  
    22        prefix="escal"
    33        categorie="squelette"
    4         version="4.2.18"
     4        version="4.2.19"
    55        schema="1.0.13"
    66        etat="stable"
Note: See TracChangeset for help on using the changeset viewer.