Changeset 29184 in spip-zone


Ignore:
Timestamp:
Jun 14, 2009, 11:17:56 PM (10 years ago)
Author:
prigent.yohann@…
Message:

Nouvelle méthode d'installation de la base

Location:
_squelettes_/soyezcreateurs_net/plugins_2.0/plugins/__soyezcreateurs/base
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _squelettes_/soyezcreateurs_net/plugins_2.0/plugins/__soyezcreateurs/base/soyezcreateurs.php

    r29180 r29184  
    4949//
    5050function id_groupe($titre) {
    51         $result = spip_query("SELECT id_groupe FROM spip_groupes_mots WHERE titre='$titre'");
    52         if ($row = spip_fetch_array($result)) return $row['id_groupe'];
     51        $result = sql_select("id_groupe", "spip_groupes_mots", 'titre="$titre"');
     52        if ($row = sql_fetch($result)) return $row['id_groupe'];
    5353        return 0;
    5454}
     
    5757        if ($titre_groupe) {
    5858                $id_groupe = id_groupe($titre_groupe);
    59                 $result = spip_query("SELECT id_mot FROM spip_mots WHERE titre='$titre' AND id_groupe=$id_groupe");
     59                $result = sql_select("id_mot", "spip_mots", array(
     60                'titre="$titre"',
     61                'id_groupe="$id_groupe"')
     62                );
    6063        } else {
    61                 $result = spip_query("SELECT id_mot FROM spip_mots WHERE titre='$titre'");
    62         }
    63         if ($row = spip_fetch_array($result)) return $row['id_mot'];
     64                $result = sql_select("id_mot", "spip_mots", 'titre="$titre"');
     65        }
     66        if ($row = sql_fetch($result)) return $row['id_mot'];
    6467        return 0;
    6568}
    6669
    6770function id_rubrique($titre) {
    68         $result = spip_query("SELECT id_rubrique FROM spip_rubriques WHERE titre='$titre'");
    69         if ($row = spip_fetch_array($result)) return $row['id_rubrique'];
     71        $result = sql_select("id_rubrique", "spip_rubriques", 'titre="$titre"');
     72        if ($row = sql_fetch($result)) return $row['id_rubrique'];
    7073        return 0;
    7174}
    7275
    7376function create_groupe($groupe, $descriptif='', $texte='', $unseul='non', $obligatoire='non', $articles='oui', $breves='non', $rubriques='non', $syndic='non', $evenements='non', $minirezo='oui', $comite='oui', $forum='non') {
     77        include_spip('base/abstract_sql');
    7478        $groupe = importer_charset($groupe, 'iso-8859-1');
    7579        $id_groupe=id_groupe($groupe);
     
    8690        if ($id_groupe == 0) {
    8791                //Création groupe + mots clé
    88                 $query = "INSERT INTO spip_groupes_mots SET titre='$groupe', descriptif='$descriptif', texte='$texte', unseul='$unseul', obligatoire='$obligatoire',
    89                         tables_liees='$tables_liees',
    90                         minirezo='$minirezo', comite='$comite', forum='$forum'";
    91                 spip_query($query);
    92                 $id_groupe = spip_insert_id();
     92                $id_groupe = sql_insertq('spip_groupes_mots', array(
     93                "id_groupe" => '',
     94                "titre" => $groupe,
     95                "descriptif" => $descriptif,
     96                "texte" => $texte,
     97                "unseul" => $unseul,
     98                "obligatoire" => $obligatoire,
     99                "tables_liees" => $tables_liees,
     100                "minirezo" => $minirezo,
     101                "comite" => $comite,
     102                "forum" => $forum
     103                ));
    93104        } else {
    94105                // Mise à jour
    95                 spip_query("UPDATE spip_groupes_mots SET descriptif='$descriptif', texte='$texte', unseul='$unseul', obligatoire='$obligatoire',
    96                         tables_liees='$tables_liees',
    97                         minirezo='$minirezo', comite='$comite', forum='$forum' WHERE id_groupe=$id_groupe");
    98         }
    99         $groupe = stripslashes($groupe);
     106                sql_updateq('spip_groupes_mots', array(
     107                "descriptif" => $descriptif,
     108                "texte" => $texte,
     109                "unseul" => $unseul,
     110                "obligatoire" => $obligatoire,
     111                "tables_liees" => $tables_liees,
     112                "minirezo" => $minirezo,
     113                "comite" => $comite,
     114                "forum" => $forum), "id_groupe=$id_groupe");
     115        }
    100116        return $id_groupe;
    101117}
     
    110126                $id_mot=id_mot($mot);
    111127                if ($id_mot == 0 ) {
    112                         spip_query("INSERT INTO spip_mots (type, titre, id_groupe, descriptif, texte) VALUES ('$groupe', '$mot', '$id_groupe', '$descriptif', '$texte')");
    113                         $id_mot = spip_insert_id();
     128                        $id_mot = sql_insertq('spip_mots', array(
     129                        "id_mot" => '',
     130                        "type" => $groupe,
     131                        "titre" => $mot,
     132                        "id_groupe" => $id_groupe,
     133                        "descriptif" => $descriptif,
     134                        "texte" => $texte));
    114135                } else {
    115136                        // Mise à jour
    116                         spip_query("UPDATE spip_mots SET type='$groupe', id_groupe='$id_groupe', descriptif='$descriptif', texte='$texte' WHERE id_mot=$id_mot");
     137                        sql_updateq('spip_mots', array(
     138                        "type" => $groupe,
     139                        "id_groupe" => $id_groupe,
     140                        "descriptif" => $descriptif,
     141                        "texte" => $texte), "id_mot=$id_mot");
    117142                }
    118143        }
    119         $mot = stripslashes($mot);
    120144        return $id_mot;
    121145}
     
    126150                $titre = importer_charset($titre, 'iso-8859-1');
    127151                $descriptif = importer_charset($descriptif, 'iso-8859-1');
    128                 $query="INSERT INTO spip_rubriques (titre, id_parent, descriptif) VALUES ('$titre', '$id_parent', '$descriptif')";
    129                 spip_query($query);
    130                 $id_rubrique = spip_insert_id();
     152                $id_rubrique = sql_insertq("spip_rubriques", array(
     153                "titre" => $titre,
     154                "id_parent" => $id_parent,
     155                "descriptif" => $descriptif));
    131156        }
    132157        return $id_rubrique;
     
    137162        $id_mot=id_mot($mot);
    138163        if ($id_rubrique!=0 && $id_mot!=0) {
    139                 $query="SELECT count(*) as nb_rub_mot FROM spip_mots_rubriques WHERE id_mot='$id_mot' AND id_rubrique='$id_rubrique'";
    140                 $result=spip_query($query);
    141                 if ($row = spip_fetch_array($result)) {
    142                         if ($row['nb_rub_mot']==0) {
    143                                 $query="INSERT INTO spip_mots_rubriques (id_mot, id_rubrique) VALUES ('$id_mot', '$id_rubrique')";
    144                                 spip_query($query);
     164                $count_s = sql_countsel('spip_mots_rubriques',
     165                "(id_mot = '$id_mot') AND (id_rubrique = '$id_rubrique')");
     166                        if ($count_s == 0) {
     167                                sql_insertq("spip_mots_rubriques", array(
     168                                "id_mot" => $id_mot,
     169                                "id_rubrique" => $id_rubrique)
     170                                );
    145171                        }
    146                 }
    147172        }
    148173        return true;
     
    150175
    151176function soyezcreateurs_config_motsclefs() {
     177        //les rubriques
    152178        create_rubrique('000. Fourre-tout', '0', "Vous trouverez dans cette rubrique:\n\n-* Les Éditos\n-* Des articles concernant le site lui-même\n");
    153179        create_rubrique('900. Agenda', '0');
    154180        create_rubrique('999. Citations', '0', "Mettre dans cette rubrique une citation par article");
    155 
    156 ## -------------------------------------------->
    157 
    158         create_groupe("Thèmes de l\'Agenda", "Détermine la liste des éléments pouvant être présentés en liste déroulante dans l\'Agenda du site", "Un événement de l\'Agenda peut avoir un ou {{plusieurs}} mot clefs ratachés (les sélectionner avec maj-clic).", 'non', 'non', 'non', 'non', 'non', 'non', 'oui', 'oui', 'oui', 'non');
    159 
     181        //les groupes
     182        create_groupe("Thèmes de l\'Agenda", "Détermine la liste des éléments pouvant être présentés en liste déroulante dans l\'Agenda du site", "Un événement de l'Agenda peut avoir un ou {{plusieurs}} mot clefs ratachés (les sélectionner avec maj-clic).", 'non', 'non', 'non', 'non', 'non', 'non', 'oui', 'oui', 'oui', 'non');
    160183        create_groupe("_AgendaStatut", "Statut d\'un événement dans l\'Agenda", "Permet de spécifier un statut d\'un événement dans l\'Agenda.\n\nL\'événement sera affiché dans la couleur spécifiée par le {Texte} du Mot Clef.\n\nLe {Descriptif rapide} sera quant à lui utilisé en bulle d\'aide.", 'oui', 'oui', 'non', 'non', 'non', 'non', 'oui', 'oui', 'oui', 'non');
    161184
     
    271294                create_mot("_Specialisation_Rubrique_ou_Article", "PasDansQuoiDeNeuf", "Pour interdire que l\'article ou la rubrique soit dans «Quoi de Neuf» sur la page d\'accueil", "À mettre soit:\n\n-* pour un article précis\n-* pour une rubrique particulière\n\nRemarque : si elle a des sous rubriques, il faut aussi le faire pour chacunes de celles-ci si on veut les exclure aussi...");
    272295                create_mot("_Specialisation_Rubrique_ou_Article", "Sommaire", "Pour dire que les articles de cette rubrique ont un sommaire ou que l\'article a un sommaire", "Un sommaire automatique sera placé en début d\'article.\n\nCe sommaire sera bati à partir des titres et sous-titres du texte de l\'article.");
    273 
    274 ## <--------------------------------------------
    275 
    276296        // Liaison entre rubrique et mot clé
    277297        create_rubrique_mot('000. Fourre-tout', 'SecteurPasDansQuoiDeNeuf');
  • _squelettes_/soyezcreateurs_net/plugins_2.0/plugins/__soyezcreateurs/base/soyezcreateurs_upgrade.php

    r28972 r29184  
    1515 * @param unknown_type $version_cible
    1616 */
     17function soyezcreateurs_install($action){
     18        switch ($action){
     19                case 'test':
     20                        soyezcreateurs_upgrade('soyezcreateurs_base_version', '2.1.7');
     21                break;
     22                case 'install':
     23                        soyezcreateurs_upgrade('soyezcreateurs_base_version', '2.1.7');
     24                break;
     25                case 'uninstall':
     26                        soyezcreateurs_vider_tables();
     27                break;
     28        }
     29}
    1730function soyezcreateurs_upgrade($nom_meta_base_version,$version_cible){
    1831        $current_version = 0.0;
    19         if (   (!isset($GLOBALS['meta'][$nom_meta_base_version]) )
    20                         || (($current_version = $GLOBALS['meta'][$nom_meta_base_version])!=$version_cible)){
     32                if ((!isset($GLOBALS['meta'][$nom_meta_base_version])) || (($current_version = $GLOBALS['meta'][$nom_meta_base_version])!=$version_cible)){
    2133                if (
    2234                        (version_compare($current_version,'2.1','<'))
     
    112124                        }
    113125                        echo "SoyezCreateurs MaJ 2.1.7<br />";
    114                         #ecrire_meta($nom_meta_base_version,$current_version='2.1.7','non');
     126                        ecrire_meta($nom_meta_base_version,$current_version='2.1.7','non');
    115127                }
    116128        }
Note: See TracChangeset for help on using the changeset viewer.