Changeset 70732 in spip-zone for _plugins_/seo


Ignore:
Timestamp:
Mar 14, 2013, 12:52:27 PM (7 years ago)
Author:
cedric@…
Message:

utiliser lire_config, eviter des notices, et suppression de fonctions inutiles (les balises generent directement le code utile plutot qu'un simple nom de fonction qui fait le travail ensuite)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/seo/trunk/seo_fonctions.php

    r70697 r70732  
    2222        }
    2323
     24        $flux = "";
    2425        switch ($objet) {
    2526                case 'sommaire':
     
    2728                        break;
    2829                default:
    29                         $flux .= '<link rel="canonical" href="' . url_de_base() . generer_url_entite($id_objet, $objet) . '" />';
     30                        $flux .= '<link rel="canonical" href="' . generer_url_entite_absolue($id_objet, $objet) . '" />';
    3031                        break;
    3132        }
     
    3940 */
    4041function generer_google_analytics(){
    41         /* CONFIG */
    42         $config = unserialize($GLOBALS['meta']['seo']);
     42        include_spip('inc/config');
    4343
    4444        /* GOOGLE ANALYTICS */
    45         if ($config['analytics']['id']){
     45        $flux = "";
     46        if ($id=lire_config('seo/analytics/id')){
     47                $id = texte_script($id);
    4648                // Nouvelle balise : http://www.google.com/support/analytics/bin/answer.py?hl=fr_FR&answer=174090&utm_id=ad
    47                 $flux .= "<script type=\"text/javascript\">
     49                return "<script type=\"text/javascript\">
    4850        var _gaq = _gaq || [];
    49         _gaq.push(['_setAccount', '" . $config['analytics']['id'] . "']);
     51        _gaq.push(['_setAccount', '$id']);
    5052        _gaq.push(['_trackPageview']);
    5153        (function() {
     
    5860        }
    5961
    60         return $flux;
     62        return "";
    6163}
    6264
     
    6769 */
    6870function calculer_meta_tags(){
     71        include_spip('inc/config');
    6972
    7073        /* CONFIG */
    71         $config = unserialize($GLOBALS['meta']['seo']);
     74        $config = lire_config('seo/');
    7275
    7376        if (isset($GLOBALS['contexte']['id_article'])){
     
    8891        switch ($objet) {
    8992                case 'sommaire':
    90                         $meta_tags = $config['meta_tags']['tag'];
     93                        $meta_tags = isset($config['meta_tags']['tag'])?$config['meta_tags']['tag']:array();
    9194                        break;
    9295                default:
     
    97100                        if ($requete) $description = couper(implode(" ", $requete[0]), 150, '');
    98101                        // Get the value set by default
    99                         foreach ($config['meta_tags']['default'] as $name => $option){
    100                                 if ($option=='sommaire'){
    101                                         $meta_tags[$name] = $config['meta_tags']['tag'][$name];
    102                                 } elseif ($option=='page') {
    103                                         if ($name=='title') $meta_tags['title'] = $title;
    104                                         if ($name=='description') $meta_tags['description'] = $description;
    105                                 } elseif ($option=='page_sommaire') {
    106                                         if ($name=='title') $meta_tags['title'] = $title . (($title!='') ? ' - ' : '') . $config['meta_tags']['tag'][$name];
    107                                         if ($name=='description') $meta_tags['description'] = $description . (($description!='') ? ' - ' : '') . $config['meta_tags']['tag'][$name];
     102                        if (isset($config['meta_tags']['default'])){
     103                                foreach ($config['meta_tags']['default'] as $name => $option){
     104                                        if ($option=='sommaire'){
     105                                                $meta_tags[$name] = $config['meta_tags']['tag'][$name];
     106                                        } elseif ($option=='page') {
     107                                                if ($name=='title') $meta_tags['title'] = $title;
     108                                                if ($name=='description') $meta_tags['description'] = $description;
     109                                        } elseif ($option=='page_sommaire') {
     110                                                if ($name=='title') $meta_tags['title'] = $title . (($title!='') ? ' - ' : '') . $config['meta_tags']['tag'][$name];
     111                                                if ($name=='description') $meta_tags['description'] = $description . (($description!='') ? ' - ' : '') . $config['meta_tags']['tag'][$name];
     112                                        }
    108113                                }
    109114                        }
    110115
    111116                        // If the meta tags rubrique and articles editing is activate (should overwrite other setting)
    112                         if ($config['meta_tags']['activate_editing']=='yes' && ($objet=='article' || $objet=='rubrique')){
     117                        if (isset($config['meta_tags']['activate_editing'])
     118                                AND $config['meta_tags']['activate_editing']=='yes'
     119                                AND ($objet=='article' || $objet=='rubrique')){
    113120                                $result = sql_select("*", "spip_seo", "id_objet = " . intval($id_objet) . " AND objet = " . sql_quote($objet));
    114121                                while ($r = sql_fetch($result)){
     
    133140                if ($content!='')
    134141                        if ($name=='title')
    135                                 $flux .= '<title>' . trim(htmlspecialchars(supprimer_numero(textebrut(propre($content))))) . '</title>' . "\n";
     142                                $flux .= '<title>' . trim(entites_html(supprimer_numero(textebrut(propre($content))))) . '</title>' . "\n";
    136143                        else
    137                                 $flux .= '<meta name="' . $name . '" content="' . trim(htmlspecialchars(textebrut(propre($content)))) . '" />' . "\n";
     144                                $flux .= '<meta name="' . $name . '" content="' . trim(attribut_html(textebrut(propre($content)))) . '" />' . "\n";
    138145
    139146        }
     
    147154 */
    148155function generer_meta_brute($nom){
    149         $config = unserialize($GLOBALS['meta']['seo']);
    150         $nom = strtolower($nom);
    151 
    152         if ($config['meta_tags']['tag'][$nom]){
    153                 return $config['meta_tags']['tag'][$nom];
    154         }
    155 
    156         return false;
     156        include_spip('inc/config');
     157        return lire_config("seo/meta_tags/tag/$nom","");
    157158}
    158159
     
    162163 */
    163164function generer_webmaster_tools(){
    164         /* CONFIG */
    165         $config = unserialize($GLOBALS['meta']['seo']);
    166 
    167         if ($config['webmaster_tools']['id'])
    168                 return '<meta name="google-site-verification" content="' . $config['webmaster_tools']['id'] . '" />
    169                 ';
     165        include_spip('inc/config');
     166        if ($id=lire_config('seo/webmaster_tools/id'))
     167                return '<meta name="google-site-verification" content="' . texte_script($id) . '" />'."\n";
    170168}
    171169
     
    176174 */
    177175function generer_bing(){
    178         /* CONFIG */
    179         $config = unserialize($GLOBALS['meta']['seo']);
    180 
    181         if ($config['bing']['id'])
    182                 return '<meta name="msvalidate.01" content="' . $config['bing']['id'] . '" />
    183                 ';
     176        include_spip('inc/config');
     177        if ($id=lire_config('seo/bing/id'))
     178                return '<meta name="msvalidate.01" content="' . texte_script($id) . '" />'."\n";
    184179}
    185180
     
    189184 */
    190185function generer_alexa(){
    191         /* CONFIG */
    192         $config = unserialize($GLOBALS['meta']['seo']);
    193 
    194         if ($config['alexa']['id'])
    195                 return '<meta name="alexaVerifyID" content="' . $config['alexa']['id'] . '"/>';
     186        include_spip('inc/config');
     187        if ($id=lire_config('seo/alexa/id'))
     188                return '<meta name="alexaVerifyID" content="' . texte_script($id) . '"/>'."\n";
    196189}
    197190
     
    201194 */
    202195function balise_SEO_URL($p){
    203         $p->code = "calculer_balise_SEO_URL()";
    204         return $p;
    205 }
    206 
    207 function calculer_balise_SEO_URL(){
    208         $flux = generer_urls_canoniques();
    209         return $flux;
     196        $p->code = "generer_urls_canoniques()";
     197        $p->interdire_scripts = false;
     198        return $p;
    210199}
    211200
     
    215204 */
    216205function balise_SEO_GA($p){
    217         $p->code = "calculer_balise_SEO_GA()";
    218         return $p;
    219 }
    220 
    221 function calculer_balise_SEO_GA(){
    222         $flux = generer_google_analytics();
    223         return $flux;
     206        $p->code = "generer_google_analytics()";
     207        $p->interdire_scripts = false;
     208        return $p;
    224209}
    225210
     
    230215 */
    231216function balise_SEO_META_TAGS($p){
    232         $p->code = "calculer_balise_SEO_META_TAGS()";
    233         return $p;
    234 }
    235 
    236 function calculer_balise_SEO_META_TAGS(){
    237         $flux = generer_meta_tags();
    238         return $flux;
     217        $p->code = "generer_meta_tags()";
     218        $p->interdire_scripts = false;
     219        return $p;
    239220}
    240221
     
    245226function balise_SEO_META_BRUTE($p){
    246227        $_nom = str_replace("'", "", interprete_argument_balise(1, $p));
    247         $p->code = "calculer_balise_META_BRUTE($_nom)";
    248         $p->interdire_scripts = false;
    249         return $p;
    250 }
    251 
    252 function calculer_balise_META_BRUTE($_nom){
    253         $metas = calculer_meta_tags();
    254         $meta = $metas[$_nom];
    255         if (!$meta)
    256                 return "";
    257         return $meta;
     228        $p->code = "table_valeur(calculer_meta_tags(),$_nom,'')";
     229        $p->interdire_scripts = false;
     230        return $p;
    258231}
    259232
     
    263236 */
    264237function balise_SEO_GWT($p){
    265         $p->code = "calculer_balise_SEO_GWT()";
    266         return $p;
    267 }
    268 
    269 function calculer_balise_SEO_GWT(){
    270         $flux = generer_webmaster_tools();
    271         return $flux;
    272 }
    273 
     238        $p->code = "generer_webmaster_tools()";
     239        $p->interdire_scripts = false;
     240        return $p;
     241}
     242
Note: See TracChangeset for help on using the changeset viewer.