Changeset 51693 in spip-zone


Ignore:
Timestamp:
Sep 22, 2011, 1:15:44 PM (8 years ago)
Author:
ben.spip@…
Message:

ajout de la notion d url canonique (canonical) ... cela dénature un peu le plugin mais on pourra eventuellement le passer en optionnel plus tard si ça pose problème

Location:
_plugins_/metas/trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/metas/trunk/base/metas.php

    r36988 r51693  
    2727            "titre" => "VARCHAR(255) NOT NULL",
    2828            "description" => "VARCHAR(255) NOT NULL",
    29             "keywords" => "TEXT NOT NULL",
     29        "keywords" => "TEXT NOT NULL",
     30        "canonical" => "TEXT NOT NULL",
    3031                "maj"   => "TIMESTAMP");
    3132
  • _plugins_/metas/trunk/formulaires/editer_metas.html

    r51655 r51693  
    66        [(#ENV{editable})
    77        <form method='post' action='#ENV{action}'><div>
    8                 [(#REM) declarer les hidden qui declencheront le service du formulaire 
     8                [(#REM) declarer les hidden qui declencheront le service du formulaire
    99                parametre : url d'action ]
    1010                #ACTION_FORMULAIRE{#ENV{action}}
    1111          <input type='hidden' name='id_meta' value='#ENV{id_meta}' />
    1212          <ul>
    13             <li class="editer editer_titre obligatoire[ (#ENV**{erreurs}|table_valeur{titre}|oui)erreur]">
    14                                 <label for="titre"><:metas:title:></label>[
    15                                 <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{titre})</span>
    16                                 ]<p class="explication"><:metas:title_defaut_explication:></p>
     13            <li class="editer editer_titre obligatoire[ (#ENV**{erreurs}|table_valeur{titre}|oui)erreur]">
     14                <label for="titre"><:metas:title:></label>[
     15                <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{titre})</span>
     16                ]<p class="explication"><:metas:title_explication:></p>
    1717                <input type='text' class='text' name='titre' id='titre' value="[(#ENV**{titre})]" />
    18             </li>       
    19           <li class="editer editer_description[ (#ENV**{erreurs}|table_valeur{description}|oui)erreur]">
    20                   <label for="description"><:metas:meta_description:></label>[
    21                   <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{description})</span>
    22                   ]<p class="explication"><:metas:meta_description_defaut_explication:></p>
    23               <textarea name='description' id='description' rows='4' cols='40'>[(#ENV**{description})]</textarea>
    24           </li>
    25           <li class="editer editer_keywords[ (#ENV**{erreurs}|table_valeur{keywords}|oui)erreur]">
     18            </li>
     19            <li class="editer editer_description[ (#ENV**{erreurs}|table_valeur{description}|oui)erreur]">
     20               <label for="description"><:metas:meta_description:></label>[
     21               <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{description})</span>
     22               ]<p class="explication"><:metas:meta_description_explication:></p>
     23            <textarea name='description' id='description' rows='4' cols='40'>[(#ENV**{description})]</textarea>
     24            </li>
     25            <li class="editer editer_canonical[ (#ENV**{erreurs}|table_valeur{canonical}|oui)erreur]">
     26                   <label for="canonical"><:metas:meta_canonical:></label>[
     27                   <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{canonical})</span>
     28                   ]<p class="explication"><:metas:meta_canonical_explication:></p>
     29                <input type='text' class='text' name='canonical' id='canonical' value="[(#ENV**{canonical})]" />
     30            </li>
     31             <li class="editer editer_keywords[ (#ENV**{erreurs}|table_valeur{keywords}|oui)erreur]">
    2632                  <label for="keywords"><:metas:meta_keywords:></label>[
    2733                  <span class='erreur_message'>(#ENV**{erreurs}|table_valeur{keywords})</span>
    28                   ]<p class="explication"><:metas:meta_keywords_defaut_explication:></p><textarea name='keywords' id='keywords' rows='4' cols='40'>[(#ENV**{keywords})]</textarea>
    29           </li>
     34                  ]<p class="explication"><:metas:meta_keywords_explication:></p><textarea name='keywords' id='keywords' rows='4' cols='40'>[(#ENV**{keywords})]</textarea>
     35            </li>
    3036          </ul>
    3137          [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
  • _plugins_/metas/trunk/formulaires/editer_metas.php

    r51664 r51693  
    2929            'titre' => '',
    3030            'description' => '',
    31             'keywords' => ''
     31            'keywords' => '',
     32            'canonical' => ''
    3233        );
    3334    }
     
    7677                 'description' => _request('description'),
    7778                 'keywords' => _request('keywords'),
     79                 'canonical' => _request('canonical'),
    7880                 'maj' => date('Y-m-d H:i:s'),
    7981            ),
     
    98100                                 'titre' => _request('titre'),
    99101                                 'description' => _request('description'),
     102                                 'canonical' => _request('canonical'),
    100103                                 'keywords' => _request('keywords'),
    101104                                 'maj' => date('Y-m-d H:i:s'),
  • _plugins_/metas/trunk/lang/metas_fr.php

    r36988 r51693  
    77'meta_description' => 'meta description',
    88'meta_keywords' => 'meta keywords',
     9'meta_canonical' => 'Url Canonique',
    910
    1011// Panneau de configuration
     
    2021'meta_keywords_defaut_explication' => 'Ajoutez ici les mots-cl&eacute;s génériques du site, s&eacute;par&eacute;s par des virgules (1&nbsp;000&nbsp;caract&egrave;res maxi). Ils serviront de base pour remplir la balise idoine.',
    2122
     23
     24
    2225// Metadonnees par objet
    2326'config_metas_page' => 'M&eacute;tadonn&eacute;es',
     
    2528'meta_description_explication' => 'Si vous ne souhaitez pas utiliser le descriptif automatique de SPIP, r&eacute;digez ici une courte description de la page (en moins de 250 caract&egrave;res)&nbsp;:',
    2629'meta_keywords_explication' => 'Ajoutez vos mots-cl&eacute;s, s&eacute;par&eacute;s par des virgules (1&nbsp;000&nbsp;caract&egrave;res maxi)&nbsp;:',
     30'meta_canonical_explication' => 'Url Canonique complète. Dans la plupart des cas vous ne devez pas la renseigner' ,
    2731
    2832// Mots importants
  • _plugins_/metas/trunk/metas.html

    r42185 r51693  
    55[<meta name="description" content="(#DESCRIPTION|sinon{#_article:DESCRIPTIF}|sinon{#_article:INTRODUCTION{250}}|sinon{#METAS_DESCRIPTION}|PtoBR|attribut_html)" />]
    66[<meta name="keywords" content="(#KEYWORDS|sinon{#METAS_KEYWORDS}|attribut_html)" />]
     7[<link rel="canonical" href="(#CANONICAL|sinon{#URL_ARTICLE|url_absolue})" />]
    78</BOUCLE_metas_article>
    89<title>[(#TITRE|couper{80}|textebrut) - ][(#NOM_SITE_SPIP|textebrut)]</title>
    910[<meta name="description" content="(#DESCRIPTIF|sinon{#INTRODUCTION|couper{250}}|sinon{#METAS_DESCRIPTION}|PtoBR|attribut_html)" />]
    1011[<meta name="keywords" content="(#METAS_KEYWORDS|attribut_html)" />]
     12[<link rel="canonical" href="(#CANONICAL|sinon{#URL_ARTICLE|url_absolue})" />]
    1113<//B_metas_article>
    1214</BOUCLE_article>
     
    1618[<meta name="description" content="(#DESCRIPTION|sinon{#_rubrique:DESCRIPTIF}|sinon{#_rubrique:INTRODUCTION{250}}|sinon{#METAS_DESCRIPTION}|PtoBR|attribut_html)" />]
    1719[<meta name="keywords" content="(#KEYWORDS|sinon{#METAS_KEYWORDS}|attribut_html)" />]
     20[<link rel="canonical" href="(#CANONICAL|sinon{#URL_RUBRIQUE|url_absolue})" />]
    1821</BOUCLE_metas_rubrique>
    1922<title>[(#TITRE|supprimer_numero|couper{80}|textebrut) - ][(#NOM_SITE_SPIP|textebrut)]</title>
    2023[<meta name="description" content="(#DESCRIPTIF|sinon{#INTRODUCTION|couper{250}}|sinon{#METAS_DESCRIPTION}|PtoBR|attribut_html)" />]
    2124[<meta name="keywords" content="(#METAS_KEYWORDS|attribut_html)" />]
     25[<link rel="canonical" href="(#CANONICAL|sinon{#URL_RUBRIQUE|url_absolue})" />]
    2226<//B_metas_rubrique>
    2327</BOUCLE_rubrique>
     
    2529[<meta name="description" content="(#METAS_DESCRIPTION|sinon{#DESCRIPTIF_SITE_SPIP}|PtoBR|attribut_html)" />]
    2630[<meta name="keywords" content="(#METAS_KEYWORDS|attribut_html)" />]
     31[<link rel="canonical" href="(#CANONICAL|sinon{#URL_SITE_SPIP|url_absolue})" />]
    2732<//B_rubrique>
    2833<//B_article>
  • _plugins_/metas/trunk/metas_administrations.php

    r51527 r51693  
    55
    66// fonction d'installation, mise a jour de la base
    7 function metas_upgrade($nom_meta_base_version, $version_cible){
    8         include_spip('inc/meta');
    9         // migration depuis l'ancien systeme de maj
    10         if (isset($GLOBALS['meta']['spip_metas_version'])
    11                 AND !isset($GLOBALS['meta'][$nom_meta_base_version])){
    12                 ecrire_meta($nom_meta_base_version,$GLOBALS['meta']['spip_metas_version'],'non');
    13                 effacer_meta('spip_metas_version');
    14         }
    15        
    16         $current_version = '0.0';
    17         if ((!isset($GLOBALS['meta'][$nom_meta_base_version]))
    18                         || (($current_version = $GLOBALS['meta'][$nom_meta_base_version])!=$version_cible)){
    19                 include_spip('base/serial');
    20                 include_spip('base/aux');
    21                 if (version_compare($current_version,'0.0','<=')){
    22                         include_spip('base/create');
    23                         include_spip('base/abstract_sql');
    24                         // cette fonction cree les tables declarees manquantes
    25                         // ou ajoute des champs declares, manquants
    26                         creer_base();
    27                         echo "Installation du plugin M&eacute;tas effectu&eacute;e correctement !<br/>";
    28                         ecrire_meta($nom_meta_base_version,$current_version=$version_cible,'non');
    29                 }
    30         }
     7function metas_upgrade($nom_meta_base_version, $version_cible)
     8{
     9    // cas particulier :
     10    // si plugin pas installe mais que la table existe
     11    // considerer que c'est un upgrade depuis v 1.0.0
     12    // pour gerer l'historique des installations SPIP <=2.1
     13    if (!isset($GLOBALS['meta'][$nom_meta_base_version])) {
     14        $trouver_table = charger_fonction('trouver_table', 'base');
     15        if ($desc = $trouver_table('spip_signatures')
     16            AND isset($desc['field']['id_article'])
     17        ) {
     18            ecrire_meta($nom_meta_base_version, '1.0.0');
     19        }
     20        // si pas de table en base, on fera une simple creation de base
     21    }
     22
     23
     24    $maj = array();
     25    $maj['create'] = array(
     26        array('maj_tables', array('spip_metas')),
     27    );
     28
     29    // comme c'est un ajout de colonne, pas besoin d'utiliser un sqal_alter
     30    $maj['1.2'] = array(
     31        array('sql_alter',"TABLE spip_metas ADD canonical TEXT NOT NULL DEFAULT ''"),
     32    );
     33
     34    include_spip('base/upgrade');
     35    maj_plugin($nom_meta_base_version, $version_cible, $maj);
     36
    3137}
    3238
    3339// fonction de desinstallation
    34 function metas_vider_tables($nom_meta_base_version) {
    35         sql_drop_table("spip_metas");
    36         sql_drop_table("spip_metas_liens");
    37         effacer_meta('spip_metas_title');
    38         effacer_meta('spip_metas_description');
    39         effacer_meta('spip_metas_mots_importants');
    40         effacer_meta('spip_metas_mots_keywords');
    41         effacer_meta($nom_meta_base_version);
     40function metas_vider_tables($nom_meta_base_version)
     41{
     42    sql_drop_table("spip_metas");
     43    sql_drop_table("spip_metas_liens");
     44    effacer_meta('spip_metas_title');
     45    effacer_meta('spip_metas_description');
     46    effacer_meta('spip_metas_mots_importants');
     47    effacer_meta('spip_metas_mots_keywords');
     48    effacer_meta($nom_meta_base_version);
    4249}
     50
    4351?>
  • _plugins_/metas/trunk/paquet.xml

    r51655 r51693  
    22        prefix="metas"
    33        categorie="outil"
    4         version="1.4.0"
     4        version="1.4.1"
    55        etat="test"
    66        compatibilite="[3.0.0-alpha2;["
    77        logo="images/metas-24.png"
    8         schema="1.0"
     8        schema="1.1"
    99  documentation="http://www.spip-contrib.net/?rubrique1250"
    1010>
Note: See TracChangeset for help on using the changeset viewer.