Changeset 86534 in spip-zone for _plugins_/test_url


Ignore:
Timestamp:
Dec 7, 2014, 8:17:57 PM (6 years ago)
Author:
cerf@…
Message:

Support des liens internes [->articleXXX], [->auteurXXX], [->docuementXXX] et [->rubriqueXXX]

Location:
_plugins_/test_url/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/test_url/trunk/paquet.xml

    r82295 r86534  
    22        prefix="testurl"
    33        categorie="maintenance"
    4         version="1.0.1"
     4        version="1.0.2"
    55        etat="test"
    66        compatibilite="[3.0.0;3.0.*]"
  • _plugins_/test_url/trunk/testurl_fonctions.php

    r82294 r86534  
    144144                if(!isset($url_visite[$url_site]))
    145145                {
    146                         if(preg_match('#^(art|doc|rub|aut)([0-9]*)$#',$url_site,$matches))
     146                        if(preg_match('#^(art|article|aut|auteur|doc|document|rub|rubrique)([0-9]*)$#',$url_site,$matches))
    147147                        {
    148148                                $code=testurl_verifier_url_ecrire($matches[1],$matches[2]);
     
    200200
    201201function filtre_testurl_transforme_en_url($url){
    202 if(preg_match('#^(art|doc|rub|aut)([0-9]*)$#',$url,$matches))
     202if(preg_match('#^(art|article|aut|auteur|doc|document|rub|rubrique)([0-9]*)$#',$url,$matches))
    203203        {
    204204                switch($matches[1]){
     205                        case 'aut':
     206                                $url=generer_url_ecrire('auteur','id_auteur='.$matches[2]);
     207                        break;
     208                        case 'auteur':
     209                                $url=generer_url_ecrire('auteur','id_auteur='.$matches[2]);
     210                        break;
     211                        case 'doc':
     212                                $url=generer_url_ecrire('document_edit','id_document='.$matches[2]);
     213                        break;
     214                        case 'document':
     215                                $url=generer_url_ecrire('document_edit','id_document='.$matches[2]);
     216                        break;
    205217                        case 'rub':
    206218                                $url=generer_url_ecrire('rubrique','id_rubrique='.$matches[2]);
    207219                        break;
    208                         case 'doc':
    209                                 $url=generer_url_ecrire('document_edit','id_document='.$matches[2]);
    210                         break;
    211                         case 'aut':
    212                                 $url=generer_url_ecrire('auteur','id_auteur='.$matches[2]);
     220                        case 'rubrique':
     221                                $url=generer_url_ecrire('rubrique','id_rubrique='.$matches[2]);
    213222                        break;
    214223                        case 'default':
     
    242251                        return _T("testurl:erreur_article_introuvable",array('id'=>$fichier));
    243252        break;
    244         case 'rub':
    245                 $statut=sql_getfetsel('statut','spip_rubriques','id_rubrique='.$id_objet);
    246                 if($statut!='publie')
    247                         return _T("testurl:erreur_rubrique_introuvable",array('id'=>$fichier));
    248         break;
    249        
     253        case 'article':
     254                $statut=sql_getfetsel('statut','spip_articles','id_article='.$id_objet);
     255                if($statut!='publie')
     256                        return _T("testurl:erreur_article_introuvable",array('id'=>$fichier));
     257        break;
     258        case 'aut';
     259                // TODO
     260        break;
     261        case 'auteur';
     262                // TODO
     263        break;
    250264        case 'doc';
    251265                $fichier=sql_getfetsel('fichier','spip_documents','id_document='.$id_objet);
     
    253267                        return _T("testurl:erreur_document_introuvable",array('fichier'=>$fichier));
    254268        break;
    255         case 'aut';
    256                 // TODO
     269        case 'document';
     270                $fichier=sql_getfetsel('fichier','spip_documents','id_document='.$id_objet);
     271                if(!file_exists(_DIR_IMG.$fichier))
     272                        return _T("testurl:erreur_document_introuvable",array('fichier'=>$fichier));
     273        break;
     274        case 'rub':
     275                $statut=sql_getfetsel('statut','spip_rubriques','id_rubrique='.$id_objet);
     276                if($statut!='publie')
     277                        return _T("testurl:erreur_rubrique_introuvable",array('id'=>$fichier));
     278        break;
     279        case 'rubrique':
     280                $statut=sql_getfetsel('statut','spip_rubriques','id_rubrique='.$id_objet);
     281                if($statut!='publie')
     282                        return _T("testurl:erreur_rubrique_introuvable",array('id'=>$fichier));
    257283        break;
    258284        case 'default';
Note: See TracChangeset for help on using the changeset viewer.