Changeset 60653 in spip-zone


Ignore:
Timestamp:
Apr 25, 2012, 11:53:33 AM (9 years ago)
Author:
kent1@…
Message:

On renomme les champs type_object/id_object de la table spip_seo en objet/id_objet

On remplace l'ancien formulaire des métas par un vrai formulaire CVT

On passe ne 1.6.0

Location:
_plugins_/seo
Files:
5 added
8 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/seo/action/seo_save_meta.php

    r53143 r60653  
    1515        include_spip('inc/abstract_sql');
    1616
    17         $id_object   = _request('id_object');
    18         $type_object = _request('type_object');
     17        $id_objet   = _request('id_objet');
     18        $objet = _request('objet');
    1919        $meta_tag        = is_array(_request('meta_tag')) ? _request('meta_tag') : array();
    2020       
    21         if(!autoriser('modifier', $type_object, $id_object)) {
     21        if(!autoriser('modifier', $objet, $id_objet)) {
    2222                echo "Error :(";
    2323                return;
    2424        }
    2525       
    26         sql_delete("spip_seo", "id_object = $id_object AND type_object = '$type_object'");
     26        sql_delete("spip_seo", "id_objet = ".intval($id_objet)." AND objet =".sql_quote($objet));
    2727       
    2828        foreach ($meta_tag as $name => $content) {
    29                 sql_insertq('spip_seo', array('id_object' => $id_object, 'type_object' => $type_object, 'meta_name' => $name, 'meta_content' => $content));
     29                sql_insertq('spip_seo', array('id_objet' => $id_objet, 'objet' => $objet, 'meta_name' => $name, 'meta_content' => $content));
    3030        }
    3131       
  • _plugins_/seo/base/seo_tables.php

    r50170 r60653  
    1414        //-- Table SEO -----------------------------------------------------
    1515        $seo = array(
    16                 'id_object'   => "int(11) NOT NULL",
    17         'type_object' => "varchar(10) NOT NULL",
     16                'id_objet'   => "int(11) NOT NULL",
     17        'objet' => "varchar(10) NOT NULL",
    1818        'meta_name'    => "varchar(20) NOT NULL",
    1919        'meta_content'   => "text NOT NULL",
    2020        );
    2121        $seo_cles = array(
    22                 "PRIMARY KEY" => "id_object, type_object, meta_name"
     22                "PRIMARY KEY" => "id_objet, objet, meta_name"
    2323        );
    2424        $tables_principales['spip_seo'] = array(
  • _plugins_/seo/paquet.xml

    r60631 r60653  
    22        prefix="seo"
    33        categorie="statistique"
    4         version="1.5.3"
     4        version="1.6.0"
    55        etat="test"
    66        compatibilite="[2.0.0;3.0.99]"
    77        logo="seo.png"
    8         schema="1.0.1"
     8        schema="1.1.0"
    99        documentation="http://www.spip-contrib.net/?rubrique1248"
    1010>       
  • _plugins_/seo/pipelines/seo_affiche_milieu.php

    r53143 r60653  
    1313
    1414function seo_affiche_milieu($vars) {
    15        
    16         include_spip('inc/abstract_sql');
    1715        include_spip('inc/autoriser');
    1816       
     
    2018       
    2119        // Rubrique
    22         if ( $vars["args"]["exec"] == 'naviguer' && $vars["args"]["id_rubrique"] != '') {
    23                 $type_object = 'rubrique';
    24                 $id_object   = $vars["args"]["id_rubrique"];
     20        if ($vars["args"]["exec"] == 'naviguer' && $vars["args"]["id_rubrique"] != '') {
     21                $objet = 'rubrique';
     22                $id_objet   = $vars["args"]["id_rubrique"];
    2523        // Article
    26         } elseif ( $vars["args"]["exec"] == 'articles' && $vars["args"]["id_article"] != '') {
    27                 $type_object = 'article';
    28                 $id_object   = $vars["args"]["id_article"];
     24        } elseif (in_array($vars["args"]["exec"],array('articles','article')) && $vars["args"]["id_article"] != '') {
     25                $objet = 'article';
     26                $id_objet   = $vars["args"]["id_article"];
    2927        // Other case we quit
    3028        } else {
     
    3735        }
    3836       
    39         $result = sql_select("*", "spip_seo", "id_object = $id_object AND type_object = '$type_object'");
    40         while($r = sql_fetch($result)){
    41                         $meta_tag[$r['meta_name']] = $r['meta_content'];
    42         }
     37       
    4338       
    4439        $bouton = bouton_block_depliable(_T('seo:meta_tags'), false, "SEO");
     
    4641       
    4742        // List         
    48         $list = ''
    49                 . '<input type="hidden" name="id_object" value="'. $id_object .'"/>'
    50                 . '<input type="hidden" name="type_object" value="'. $type_object .'"/>'
    51                 . '<div id="list_meta" class="cadre cadre-liste">'
    52                 . '<table id="test" cellspacing="0" cellpadding="2" border="0" width="100%"><tbody>'
    53                 . '<tr class="tr_liste">'
    54                 .       '<td class="arial11" style="padding-left:8px; width: 70px;">'._T('seo:meta_title').'</td>'
    55                 .       '<td style="padding-right:8px;"><input type="text" name="meta_tag[title]" value="'.$meta_tag['title'].'" style="width:100%;" /></td>'
    56                 . '</tr>'
    57                 . '<tr class="tr_liste">'
    58                 .       '<td class="arial11" style="padding-left:8px; width: 70px;">'._T('seo:meta_description').'</td>'
    59                 .       '<td style="padding-right:8px;"><textarea style="width:100%;" rows="5" name="meta_tag[description]" type="text">'.$meta_tag['description'].'</textarea></td>'
    60                 . '</tr>'
    61                 . '<tr class="tr_liste">'
    62                 .       '<td class="arial11" style="padding-left:8px; width: 70px;">'._T('seo:meta_keywords').'</td>'
    63                 .       '<td style="padding-right:8px;"><input type="text" name="meta_tag[keywords]" value="'.$meta_tag['keywords'].'" style="width:100%;" /></td>'
    64                 . '</tr>'
    65                 . '<tr class="tr_liste">'
    66                 .       '<td class="arial11" style="padding-left:8px; width: 70px;">'._T('seo:meta_copyright').'</td>'
    67                 .       '<td style="padding-right:8px;"><input type="text" name="meta_tag[copyright]" value="'.$meta_tag['copyright'].'" style="width:100%;" /></td>'
    68                 . '</tr>'
    69                 . '<tr class="tr_liste">'
    70                 .       '<td class="arial11" style="padding-left:8px; width: 70px;">'._T('seo:meta_author').'</td>'
    71                 .       '<td style="padding-right:8px;"><input type="text" name="meta_tag[author]" value="'.$meta_tag['author'].'" style="width:100%;" /></td>'
    72                 . '</tr>'
    73                 . '<tr class="tr_liste">'
    74                 .       '<td  class="arial11" style="padding-left:8px; width: 70px;">'._T('seo:meta_robots').'</td>'
    75                 .       '<td style="padding-right:8px;">'
    76                 .               '<select name="meta_tag[robots]" style="width:100%;">'
    77                 .                       '<option '.(($meta_tag['robots'] == '') ? "selected" : '').' value=""></option>'
    78                 .                       '<option '.(($meta_tag['robots'] == 'INDEX, FOLLOW') ? "selected" : '').' value="INDEX, FOLLOW">INDEX, FOLLOW</option>'
    79                 .                       '<option '.(($meta_tag['robots'] == 'INDEX, NOFOLLOW') ? "selected" : '').' value="INDEX, NOFOLLOW">INDEX, NOFOLLOW</option>'
    80                 .                       '<option '.(($meta_tag['robots'] == 'NOINDEX, FOLLOW') ? "selected" : '').' value="NOINDEX, FOLLOW">NOINDEX, FOLLOW</option>'
    81                 .                       '<option '.(($meta_tag['robots'] == 'NOINDEX, NOFOLLOW') ? "selected" : '').' value="NOINDEX, NOFOLLOW">NOINDEX, NOFOLLOW</option>'
    82                 .                       '<option '.(($meta_tag['robots'] == 'INDEX, FOLLOW, NOARCHIVE') ? "selected" : '').' value="INDEX, FOLLOW, NOARCHIVE">INDEX, FOLLOW, NOARCHIVE</option>'
    83                 .                       '<option '.(($meta_tag['robots'] == 'INDEX, NOFOLLOW, NOARCHIVE') ? "selected" : '').' value="INDEX, NOFOLLOW, NOARCHIVE">INDEX, NOFOLLOW, NOARCHIVE</option>'
    84                 .                       '<option '.(($meta_tag['robots'] == 'NOINDEX, NOFOLLOW, NOARCHIVE') ? "selected" : '').' value="NOINDEX, NOFOLLOW, NOARCHIVE">NOINDEX, NOFOLLOW, NOARCHIVE</option>'
    85                 .               '</select>'
    86                 .       '</td>'
    87                 . '</tr>'
    88                 . '</tbody></table>'
    89                 . '</div>'
    90                 ;
    91 
    92         $ret .= ajax_action_post('seo_save_meta', "", "", "", $list, _T('bouton_valider'), " class='fondo spip_xx-small' style='float:right;'");
    93         $ret .= '<div id="seo_save_meta-" style="float:right; margin-right:10px;"></div>'; // For Ajax
     43        $ret .= recuperer_fond('prive/squelettes/inclure/seo_metas',array('objet'=>$objet,'id_objet'=>$id_objet));
     44       
     45       
    9446        $ret .= fin_block();
    9547                 
  • _plugins_/seo/pipelines/seo_insert_head.php

    r53143 r60653  
    2020                unset($contexte['lang']);
    2121                if (count($contexte) == 0) {
    22                         $type_object = 'sommaire';
     22                        $objet = 'sommaire';
    2323                } elseif (isset($contexte['id_article'])) {
    24                         $id_object   = $contexte['id_article'];
    25                         $type_object = 'article';
     24                        $id_objet   = $contexte['id_article'];
     25                        $objet = 'article';
    2626                } elseif (isset($contexte['id_rubrique'])) {
    27                         $id_object   = $contexte['id_rubrique'];
    28                         $type_object = 'rubrique';
     27                        $id_objet   = $contexte['id_rubrique'];
     28                        $objet = 'rubrique';
    2929                }
    3030                /* META TAGS */
     
    3333                }
    3434                /* META GOOGLE WEBMASTER TOOLS */
    35                 if ($config['webmaster_tools']['activate'] == 'yes' && $type_object == 'sommaire') {
     35                if ($config['webmaster_tools']['activate'] == 'yes' && $objet == 'sommaire') {
    3636                        $flux .= generer_webmaster_tools();
    3737                }
     
    4848
    4949                /* ALEXA */
    50                 if ($config['alexa']['activate'] == 'yes' && $type_object == 'sommaire') {
     50                if ($config['alexa']['activate'] == 'yes' && $objet == 'sommaire') {
    5151                        $flux .= generer_alexa();
    5252                }
  • _plugins_/seo/plugin.xml

    r60631 r60653  
    1515        <etat>test</etat>
    1616       
    17         <version>1.5.3</version>
    18         <version_base>1.0.1</version_base>
     17        <version>1.6.0</version>
     18        <version_base>1.1.0</version_base>
    1919
    2020        <install>seo_administrations.php</install>
  • _plugins_/seo/seo_administrations.php

    r60631 r60653  
    55
    66include_spip('inc/meta');
     7include_spip('base/abstract_sql');
    78
    89// Installation et mise à jour
     
    1819                        // Création des tables
    1920                        include_spip('base/create');
    20                         include_spip('base/abstract_sql');
    2121                        creer_base();
    2222                       
     
    3434                if (version_compare($version_actuelle,'1.0','<=')){
    3535                        include_spip('base/create');
    36                         include_spip('base/abstract_sql');
    3736                       
    3837                        // On change le nom de la table initialement mal choisi
     
    4342                        ecrire_meta($nom_meta_version_base, $version_actuelle=$version_cible, 'non');
    4443                }
    45                 /* FIN : Gestion des anciennes tables, la numérotation base était de 1.0 */
     44                if (version_compare($version_actuelle,'1.1.0','<')){
     45                        sql_alter('TABLE spip_seo DROP PRIMARY KEY');
     46                        sql_alter('TABLE spip_seo CHANGE type_object objet varchar(10) NOT NULL');
     47                        sql_alter('TABLE spip_seo CHANGE id_object id_objet int(11) NOT NULL');
     48                        sql_alter('TABLE spip_seo ADD PRIMARY KEY ( `id_objet` , `objet` , `meta_name` )');
     49                        ecrire_meta($nom_meta_version_base, $version_actuelle=$version_cible, 'non');
     50                }
    4651        }
    4752}
     
    4954// Désinstallation
    5055function seo_vider_tables($nom_meta_version_base){
    51         include_spip('base/abstract_sql');
    5256       
    53         // On efface les tables du plugin
     57        // On efface la table du plugin
    5458        sql_drop_table('spip_seo');
    5559       
  • _plugins_/seo/seo_fonctions.php

    r60631 r60653  
    99       
    1010        if (count($GLOBALS['contexte']) == 0) {
    11                 $type_object = 'sommaire';
     11                $objet = 'sommaire';
    1212        } elseif (isset($GLOBALS['contexte']['id_article'])) {
    13                 $id_object   = $GLOBALS['contexte']['id_article'];
    14                 $type_object = 'article';
     13                $id_objet   = $GLOBALS['contexte']['id_article'];
     14                $objet = 'article';
    1515        } elseif (isset($GLOBALS['contexte']['id_rubrique'])) {
    16                 $id_object   = $GLOBALS['contexte']['id_rubrique'];
    17                 $type_object = 'rubrique';
    18         }
    19 
    20         switch ($type_object) {
     16                $objet   = $GLOBALS['contexte']['id_rubrique'];
     17                $objet = 'rubrique';
     18        }
     19
     20        switch ($objet) {
    2121                case 'sommaire':       
    2222                        $flux .= '<link rel="canonical" href="'. url_de_base() .'" />';
    2323                        break;
    2424                default:
    25                         $flux .= '<link rel="canonical" href="'. url_de_base() . generer_url_entite($id_object, $type_object) .'" />';
     25                        $flux .= '<link rel="canonical" href="'. url_de_base() . generer_url_entite($id_objet, $objet) .'" />';
    2626                        break;
    2727        }
     
    6363 */
    6464function generer_meta_tags(){
    65         include_spip('inc/abstract_sql');
    6665
    6766        /* CONFIG */
     
    6968       
    7069        if (isset($GLOBALS['contexte']['id_article'])) {
    71                 $id_object   = $GLOBALS['contexte']['id_article'];
    72                 $type_object = 'article';
     70                $id_objet   = $GLOBALS['contexte']['id_article'];
     71                $objet = 'article';
    7372        } elseif (isset($GLOBALS['contexte']['id_rubrique'])) {
    74                 $id_object   = $GLOBALS['contexte']['id_rubrique'];
    75                 $type_object = 'rubrique';
     73                $id_objet   = $GLOBALS['contexte']['id_rubrique'];
     74                $objet = 'rubrique';
    7675        } else{
    77                 $type_object = 'sommaire';
     76                $objet = 'sommaire';
    7877        }
    7978
     
    8382        $meta_tags = array();
    8483       
    85         switch ($type_object) {
     84        switch ($objet) {
    8685                case 'sommaire':       
    8786                                $meta_tags = $config['meta_tags']['tag'];
    8887                        break;
    8988                default:
    90                         $title = couper(sql_getfetsel("titre", "spip_".$type_object."s", "id_$type_object = $id_object"),64);
    91                         $requete = sql_allfetsel("descriptif,texte", "spip_".$type_object."s", "id_$type_object = $id_object");
     89                        $table = table_objet_sql($objet);
     90                        $id_table_objet = id_table_objet($objet);
     91                        $title = couper(sql_getfetsel("titre", $table, "$id_table_objet = ".intval($id_objet)),64);
     92                        $requete = sql_allfetsel("descriptif,texte", $table, "$id_table_objet = ".intval($id_objet));
    9293                        if($requete) $description = couper(implode(" ",$requete[0]),150,'');
    9394                        // Get the value set by default
     
    105106                       
    106107                        // If the meta tags rubrique and articles editing is activate (should overwrite other setting)
    107                         if ($config['meta_tags']['activate_editing'] == 'yes' && ($type_object == 'article' || $type_object == 'rubrique')) {
    108                                 $result = sql_select("*", "spip_seo", "id_object = $id_object AND type_object = '$type_object'");
     108                        if ($config['meta_tags']['activate_editing'] == 'yes' && ($objet == 'article' || $objet == 'rubrique')) {
     109                                $result = sql_select("*", "spip_seo", "id_objet = ".intval($id_objet)." AND objet = ".sql_quote($objet));
    109110                                while($r = sql_fetch($result)){
    110111                                        if ($r['meta_content'] != '')
Note: See TracChangeset for help on using the changeset viewer.