Changeset 117869 in spip-zone


Ignore:
Timestamp:
Sep 16, 2019, 5:00:17 PM (17 months ago)
Author:
cedric@…
Message:

Version 3 du plugin, compatible SPIP 3.1+

  • paquet.xml au lieu de plugin.xml
  • structure formulaire config
  • documentation PHP
Location:
_plugins_/links/trunk
Files:
2 added
1 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/links/trunk/formulaires/configurer_links.html

    r102732 r117869  
    77                        <h3 class="legend">Apparence</h3>
    88                        <p class="explication">Pour voir, affichez la page de test <a href="#URL_SITE_SPIP/?page=demo/links">?page=demo/links</a> ou mieux, ins&eacute;rez le mod&egrave;le <code>&lt;charte|links&gt;</code> dans un de vos articles. Pour toute personnalisation, compl&eacute;tez en CSS, dans votre feuille de style.</p>
    9                         <ul class="editer-groupe">
    10                                 <li class="editer pleine_largeur editer_style[ (#ENV**{erreurs}|table_valeur{style}|oui)erreur]">[
     9                        <div class="editer-groupe">
     10                                <div class="editer pleine_largeur editer_style[ (#ENV**{erreurs}|table_valeur{style}|oui)erreur]">[
    1111                                        <span class='erreur'>(#ENV**{erreurs}|table_valeur{style})</span>
    1212                                        ]<div class="choix choix_style">
     
    1818                                                <label for="style_no">Aucun style</label>
    1919                                        </div>
    20                                 </li>
    21                         </ul>
     20                                </div>
     21                        </div>
    2222                </fieldset>
    2323                <fieldset>
    2424                        <h3 class="legend">Comportement</h3>
    25                         <ul class="editer-groupe">
    26                                 <li class="editer pleine_largeur editer_window[ (#ENV**{erreurs}|table_valeur{window}|oui)erreur]">[
     25                        <div class="editer-groupe">
     26                                <div class="editer pleine_largeur editer_window[ (#ENV**{erreurs}|table_valeur{window}|oui)erreur]">[
    2727                                        <span class='erreur'>(#ENV**{erreurs}|table_valeur{window})</span>]
    2828                                        <div class="choix links_window_same">
     
    3535                                        </div>
    3636                                        <p class="explication">Attention&nbsp;: ce comportement met certains internautes en difficult&eacute;.</p>
    37                                 </li>
    38                                 <li class="suite">
    39                                         <ul class="editer-groupe">
    40                                                 <li class="pleine_largeur"[(#SPIP_VERSION|intval|=={2}|oui)style='padding-left:0;']>
     37                                </div>
     38                                <div class="suite">
     39                                        <div class="editer-groupe">
     40                                                <div class="pleine_largeur"[(#SPIP_VERSION|intval|=={2}|oui)style='padding-left:0;']>
    4141                                                        <div class="choix links_external[ (#ENV**{erreurs}|table_valeur{external}|oui)erreur]">[
    4242                                                                <span class='erreur'>(#ENV**{erreurs}|table_valeur{external})</span>]
     
    4949                                                                <label for="download">certains documents&nbsp;:</label>
    5050                                                        </div>
    51                                                 </li>
    52                                                 <li class="suite">
    53                                                         <ul class="editer-groupe">
    54                                                                 <li class="editer pleine_largeur links_doc_list[ (#ENV**{erreurs}|table_valeur{doc_list}|oui)erreur]"[(#SPIP_VERSION|intval|=={2}|oui)style='padding-left:0;padding-right: 0;']>
     51                                                </div>
     52                                                <div class="suite">
     53                                                        <div class="editer-groupe">
     54                                                                <div class="editer pleine_largeur links_doc_list[ (#ENV**{erreurs}|table_valeur{doc_list}|oui)erreur]"[(#SPIP_VERSION|intval|=={2}|oui)style='padding-left:0;padding-right: 0;']>
    5555                                                                        <label for="doc_list"[(#SPIP_VERSION|intval|=={2}|oui)style='padding-left:0;margin-left: 0; float: none; width:100%;']>Indiquer les extensions, s&eacute;par&eacute;es d'une virgule (exemple : .pdf,.doc,.xls,.ppt,.odt)</label>[
    5656                                                                        <span class='erreur'>(#ENV**{erreurs}|table_valeur{doc_list})</span>
    5757                                                                        ]<input type="text" class="text" name="doc_list" id="doc_list" value="[(#ENV{doc_list})]" />
    58                                                                 </li>
    59                                                         </ul>
    60                                                 </li>
    61                                         </ul>
    62                                 </li>
    63                         </ul>
     58                                                                </div>
     59                                                        </div>
     60                                                </div>
     61                                        </div>
     62                                </div>
     63                        </div>
    6464                </fieldset>
    6565                <p class="boutons">
     
    6969</div>
    7070<style>
    71         li.suite {
    72                 margin-left: 50px;
    73         }
     71        div.suite {margin-left: 50px;}
    7472</style>
  • _plugins_/links/trunk/formulaires/configurer_links.php

    r102732 r117869  
    11<?php
     2/**
     3 * Formulaire configuration du plugin Links
     4 *
     5 * @plugin     Links
     6 * @copyright  2009-2019
     7 * @author     Collectif
     8 * @licence    GNU/GPL
     9 * @package    SPIP\Links\Formulaires
     10 */
     11
    212if (!defined("_ECRIRE_INC_VERSION")) return;
     13
    314function formulaires_configurer_links_charger_dist(){
    415        $links = sql_fetsel('valeur', 'spip_meta', 'nom = "links"');
     
    1526        return $valeur;
    1627}
     28
    1729function formulaires_configurer_links_verifier_dist(){
    1830        $erreurs = array();
    1931        //Cas ou l'on veut des liens ouvrants sans rien choisir
    20         if((_request('window') == 'on')&&(!_request('external'))&&(!_request('download'))){
     32        if ((_request('window')=='on') && (!_request('external')) && (!_request('download'))){
    2133                $erreurs['window'] = _T('links:erreur_choisir_liens_ouvrants');
    2234        }
    2335        //Cas ou l'on veut des liens ouvrants sur les documents sans avoir specifier d'extension
    24         if((_request('download'))&&(!_request('doc_list'))){
     36        if ((_request('download')) && (!_request('doc_list'))){
    2537                $erreurs['doc_list'] = _T('links:erreur_choisir_extensions');
    2638        }
     
    2941
    3042function formulaires_configurer_links_traiter_dist(){
    31         $links = serialize(array('style' => _request('style'), 'window' => _request('window') ,'external' => _request('external'),'download' => _request('download'),'doc_list' => _request('doc_list')));
     43        $links = serialize(array('style' => _request('style'), 'window' => _request('window'), 'external' => _request('external'), 'download' => _request('download'), 'doc_list' => _request('doc_list')));
    3244        //Insere ou update ?
    33         if($links_doc = sql_fetsel('valeur', 'spip_meta', 'nom = "links"')){
     45        if ($links_doc = sql_fetsel('valeur', 'spip_meta', 'nom = "links"')){
    3446                //On update
    3547                sql_updateq('spip_meta', array('valeur' => $links, 'impt' => 'oui'), 'nom="links"');
    36                 $res = array('message_ok'=> _T('links:message_ok_update_configuration'));
    37         }else{
     48                $res = array('message_ok' => _T('links:message_ok_update_configuration'));
     49        } else {
    3850                //On insere
    39                 $id = sql_insertq('spip_meta', array('nom'=>'links','valeur' => $links, 'impt' => 'oui'));
    40                 $res = array('message_ok'=>_T('links:message_ok_configuration'));
     51                $id = sql_insertq('spip_meta', array('nom' => 'links', 'valeur' => $links, 'impt' => 'oui'));
     52                $res = array('message_ok' => _T('links:message_ok_configuration'));
    4153        }
    4254        return $res;
  • _plugins_/links/trunk/links_fonctions.php

    r104327 r117869  
    11<?php
     2/**
     3 * Fonctions utiles au plugin Links
     4 *
     5 * @plugin     Links
     6 * @copyright  2009-2019
     7 * @author     Collectif
     8 * @licence    GNU/GPL
     9 * @package    SPIP\Links\Fonctions
     10 */
     11
    212if (!defined("_ECRIRE_INC_VERSION")) return;
    313
     
    515// on ne traite que les #URL_ARTICLE, pas les #URL_ARTICLE{13}
    616// https://code.spip.net/@balise_URL_ARTICLE_dist
    7 function balise_URL_ARTICLE($p) {
     17function balise_URL_ARTICLE($p){
    818        include_spip('balise/url_');
    919        balise_URL_ARTICLE_dist($p); // traitement de base de SPIP
    1020
    11         if ($p->type_requete == 'articles' AND !interprete_argument_balise(1,$p)) {
     21        if ($p->type_requete=='articles' AND !interprete_argument_balise(1, $p)){
    1222                include_spip('inc/lien');
    1323                if (function_exists('chapo_redirigetil')){
    1424                        $_chapo = champ_sql('chapo', $p);
    15                         $p->code = "(chapo_redirigetil(\$c=$_chapo)?chapo_redirige(substr(\$c,1),true):".$p->code.')';
    16                 }
    17                 else {
     25                        $p->code = "(chapo_redirigetil(\$c=$_chapo)?chapo_redirige(substr(\$c,1),true):" . $p->code . ')';
     26                } else {
    1827                        $_virtuel = champ_sql('virtuel', $p);
    19                         $_redirige = (function_exists('virtuel_redirige')?"virtuel_redirige($_virtuel,true)":"($_virtuel)");
    20                         $p->code = "(($_virtuel)?$_redirige:".$p->code.')';
     28                        $_redirige = (function_exists('virtuel_redirige') ? "virtuel_redirige($_virtuel,true)" : "($_virtuel)");
     29                        $p->code = "(($_virtuel)?$_redirige:" . $p->code . ')';
    2130                }
    2231        }
  • _plugins_/links/trunk/links_pipelines.php

    r117865 r117869  
    11<?php
     2/**
     3 * Fonctions pipelines du plugin Links
     4 *
     5 * @plugin     Links
     6 * @copyright  2009-2019
     7 * @author     Collectif
     8 * @licence    GNU/GPL
     9 * @package    SPIP\Links\Pipelines
     10 */
     11
    212if (!defined("_ECRIRE_INC_VERSION")) return;
    313
    4 function links_configuration() {
     14function links_configuration(){
    515        $links = (isset($GLOBALS['meta']['links']) ? unserialize($GLOBALS['meta']['links']) : array(
    616                'style' => 'off',
     
    1323}
    1424
    15 function links_insert_head_css($flux) {
     25function links_insert_head_css($flux){
    1626        //Recuperation de la configuration
    1727        $links = links_configuration();
    1828
    1929        //Styles
    20         if($links['style'] == 'on'){
    21                 $flux .= '<link rel="stylesheet" href="'.find_in_path('css/links.css').'" type="text/css" media="all" />';
     30        if ($links['style']=='on'){
     31                $flux .= '<link rel="stylesheet" href="' . find_in_path('css/links.css') . '" type="text/css" media="all" />';
    2232        }
    2333        //Ouverture d'une nouvelle fenetre : insertion des init js inline, en amont des CSS (perf issue)
    24         if($links['window'] == 'on'){
    25                 $js = 'var js_nouvelle_fenetre=\''._T('links:js_nouvelle_fenetre').'\';';
     34        if ($links['window']=='on'){
     35                $js = 'var js_nouvelle_fenetre=\'' . _T('links:js_nouvelle_fenetre') . '\';';
    2636                //Ouverture dune nouvelel fenetre sur les liens externes
    27                 if($links['external'] == 'on'){
     37                if ($links['external']=='on'){
    2838                        // quand un site fait du multidomaine on prend en reference le domaine de la page concernee :
    2939                        // sur www.example.org : autre.example.org est external
     
    3444                }
    3545                //Ouverture d'une nouvelle fenetre sur les documents (extensions a preciser)
    36                 if(($links['download'] == 'on')&&($links['doc_list'])){
    37                         $js .= 'var links_doc = \''.$links['doc_list'].'\';';
     46                if (($links['download']=='on') && ($links['doc_list'])){
     47                        $js .= 'var links_doc = \'' . $links['doc_list'] . '\';';
    3848                }
    39                 $flux = '<script type="text/javascript">'.$js.'</script>' . "\n" . $flux;
     49                $flux = '<script type="text/javascript">' . $js . '</script>' . "\n" . $flux;
    4050        }
    4151
     
    4353}
    4454
    45 function links_insert_head($flux) {
     55function links_insert_head($flux){
    4656        //Recuperation de la configuration
    4757        $links = links_configuration();
    4858
    4959        //Ouverture d'une nouvelle fenetre
    50         if($links['window'] == 'on'){
    51                 $flux .= '<script src="'.find_in_path('links.js').'" type="text/javascript"></script>'. "\n";
     60        if ($links['window']=='on'){
     61                $flux .= '<script src="' . find_in_path('links.js') . '" type="text/javascript"></script>' . "\n";
    5262        }
    5363        return $flux;
Note: See TracChangeset for help on using the changeset viewer.