Changeset 5382 in spip-zone


Ignore:
Timestamp:
Sep 15, 2006, 8:48:30 AM (15 years ago)
Author:
cedric@…
Message:

mise a jour des title & lang sur les liens dans postpropre
fait apparaitre que la structure de la table n'est pas optimale car on ne connait de toute facon pas l'id_objet et l'id_table a ce moment
Menu pour le panneau d'admin

Location:
_plugins_/checklink
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/checklink/checklink_mes_fonctions.php

    r5300 r5382  
    11<?php
    22
     3function url_visu_objet($id_table,$id_objet){
     4        include_spip('inc/indexation');
     5        $liste = liste_index_tables();
     6        if (!isset($liste[$id_table])) return "";
     7        $script = "";
     8        $table = $liste[$id_table];
     9        $f = str_replace('spip_','',$table);
     10        if (find_in_path("exec/$f.php"))
     11                $script = $f;
     12        if (!$script){
     13                $f2 = str_replace(array('rubriques','syndic'),array('naviguer','sites'),$f);
     14                if (find_in_path("exec/$f2.php"))
     15                        $script = $f2;
     16        }
     17        if (!$script){
     18                if (find_in_path("exec/{$f2}_tous.php"))
     19                        $script = $f2."_tous";
     20        }
     21        if (!$script){
     22                if (find_in_path("exec/{$f}_tous.php"))
     23                        $script = $f."_tous";
     24        }
     25        if ($script){
     26                return "index.php?exec=$script&".primary_index_table($table)."=".$id_objet;
     27        }
     28        return "";
     29}
    330
    431
  • _plugins_/checklink/checklink_pipelines.php

    r5350 r5382  
    55include_spip('inc/checklink');
    66include_spip('inc/texte');
     7
     8function checklink_ajouter_boutons($boutons_admin) {
     9        // si on est admin
     10        if ($GLOBALS['connect_statut'] == "0minirezo" && $GLOBALS["connect_toutes_rubriques"]
     11        AND $GLOBALS["options"]=="avancees") {
     12          // on voit le bouton dans la barre "forum_admin"
     13                $boutons_admin['forum']->sousmenu["liens_tous"]= new Bouton(
     14                "../"._DIR_PLUGIN_CHECKLINK."/img_pack/checklink-24.png",  // icone
     15                _T("sites_web") //titre
     16                );
     17        }
     18        return $boutons_admin;
     19}
    720
    821function checklink_pre_enregistre_contenu($flux){
     
    2841}
    2942
     43function checklink_post_propre($flux){
     44        // recuperer les liens des balises a et img
     45        if (preg_match_all(
     46        ',<(a|img) [^>]*>,UimsS',
     47        $flux, $regs, PREG_SET_ORDER)) {
     48                $a_tag=array();$a_tag_repl=array();     
     49                foreach ($regs as $reg) {
     50                        if (strtolower($reg[1])=='a')
     51                                $url = extraire_attribut($reg[0], 'href');
     52                        if (strtolower($reg[1])=='img'){
     53                                $url = extraire_attribut($reg[0], 'src');
     54                                if (!preg_match(',^http://,',$url)) $url = null;
     55                        }
     56                        // filtrer les ancres et les mailto:
     57                        if ($url){
     58                                $url = trim($url);
     59                                if (preg_match(',^(#|mailto:),',$url)) $url = null;
     60                        }
     61                        if ($url){
     62                                $tag_repl = $tag = $reg[0];
     63                                // prevoir les liens dont les attributs ont pu etre renseignes a la main
     64                                $titre = extraire_attribut($reg[0], 'title');
     65                                $lang = extraire_attribut($reg[0], 'lang');
     66                                $titre_auto = strlen($titre)?'non':'oui';
     67                                $lang_auto = strlen($lang)?'non':'oui';
     68                               
     69                                if ($titre_auto=='oui' OR $lang_auto=='oui')
     70                                        if ($row = spip_fetch_array(spip_query("SELECT * FROM spip_liens WHERE url=".spip_abstract_quote($url)." AND titre_auto='$titre_auto' AND lang_auto='$lang_auto'"))){
     71                                                if ($row['statut']=='sus' OR $row['statut']=='off'){
     72                                                        $class = extraire_attribut($tag_repl,'class');
     73                                                        $tag_repl = inserer_attribut($tag_repl,'class',"$class spip_url_obsolete");
     74                                                        $tag_repl = inserer_attribut($tag_repl,'title',_T('syndic_lien_obsolete'));
     75                                                }
     76                                                else{
     77                                                        if ($titre_auto=='oui' AND strlen($row['titre']))
     78                                                                $tag_repl = inserer_attribut($tag_repl,'title',$row['titre']);
     79                                                        if ($lang_auto=='oui' AND strlen($row['lang']))
     80                                                                $tag_repl = inserer_attribut($tag_repl,'lang',$row['lang']);
     81                                                }
     82                                                if ($tag_repl!=$tag){
     83                                                        $a_tag[] = $tag;
     84                                                        $a_tag_repl[] = $tag_repl;
     85                                                }
     86                                        }
     87                        }
     88                }
     89                $flux = str_replace($a_tag,$a_tag_repl,$flux);
     90        }
     91        return $flux;
     92}
     93
    3094?>
  • _plugins_/checklink/exec/table_liens.html

    r5358 r5382  
    2020</p>
    2121<B_liens>
    22 <div class='liste'><div style='position: relative;'><div style='position: absolute; top: -12px; left: 3px;'><img src='img_pack/site-24.gif'
    23 alt="site-24"  /></div><div style='background-color: #C5E41C; color: black; padding: 3px; padding-left: 30px; border-bottom: 1px solid #444444;' class='verdana2'><b>Les sites r&eacute;f&eacute;renc&eacute;s</b></div></div><table width='100%' cellpadding='2' cellspacing='0' border='0'>
     22<div class='liste'><div style='position: relative;'><div style='position: absolute; top: -12px; left: 3px;'><img src='#EVAL{_DIR_PLUGIN_CHECKLINK}/img_pack/checklink-24.png'
     23alt="checklink-24"  /></div><div style='background-color: #C5E41C; color: black; padding: 3px; padding-left: 30px; border-bottom: 1px solid #444444;' class='verdana2'><b>Les sites r&eacute;f&eacute;renc&eacute;s</b></div></div><table width='100%' cellpadding='2' cellspacing='0' border='0'>
    2424<tr style='background-color: #dddddd;'>
    2525<td class="arial1" style='border-bottom: 1px solid #444444;' colspan="5">
     
    3030<tr class='tr_liste'>
    3131<td class="arial11"><img src='img_pack/[(#GET{#STATUT})]' alt="Statut #STATUT" /></td>
    32 <td class="arial11">[(#URL|lignes_longues{60})]</td>
     32<td class="arial11">[<a href='(#ID_TABLE|url_visu_objet{#ID_OBJET})'>][(#URL|lignes_longues{60})][</a>(#ID_TABLE|url_visu_objet{#ID_OBJET}|?{' '})]</td>
    3333<td class="arial11">[(#LANG*)]</td>
    3434<td class="arial11">[<a href='#URL' title="[(#TITRE|texte_backend)]"><:lien_visite_site:></a>]</td>
    35 <td class="arial11">[<a href='[(#SELF|parametre_url{verifier,#ID_LIEN})]' title="[(#TITRE|texte_backend)]"><:verifier:></a>]</td>
     35<td class="arial11">[<a href='[(#SELF|parametre_url{verifier,#ID_LIEN})]' title="[(#TITRE|texte_backend)]"><:lien_mise_a_jour_syndication:></a>]</td>
    3636</tr>
    3737</BOUCLE_liens>
  • _plugins_/checklink/plugin.xml

    r5334 r5382  
    3131        </pipeline>
    3232        <pipeline>
     33                <nom>post_propre</nom>
     34                <inclure>checklink_pipelines.php</inclure>
     35        </pipeline>
     36        <pipeline>
     37                <nom>ajouter_boutons</nom>
     38                <inclure>checklink_pipelines.php</inclure>
     39        </pipeline>
     40        <pipeline>
    3341                <nom>taches_generales_cron</nom>
    3442        </pipeline>
Note: See TracChangeset for help on using the changeset viewer.