source: spip-zone/_plugins_/couteau_suisse/cout_define.php @ 33755

Last change on this file since 33755 was 33755, checked in by patfr@…, 11 years ago

[new]Prévisualisation des articles

Par défaut, SPIP permet de prévisualiser les articles dans leur version publique, mais uniquement lorsque ceux-ci ont été « proposé à l’évaluation ». Hors cet outil permet aux auteurs de prévisualiser également les articles pendant leur rédaction. Chacun peut alors prévisualiser et modifier son texte à sa guise.
Attention : cette fonctionnalité ne modifie pas les droits de prévisualisation. Pour que vos rédacteurs aient effectivement le droit de prévisualiser leurs articles « en cours de rédaction », vous devez l’autoriser (dans le menu Configuration>Fonctions avancées de l’espace privé).
Auteur : Cédric Morin

Le Couteau Suisse intègre ici une lame à distance en plaçant un fichier en librairie.
Attention : ce nouveau mécanisme est une ébauche. Il ne fonctionne pour l'instant que pour les pipelines codés dans un fichier .php distant.
L'idée d'étendre ce système au décryptage d'une page html quelconque pour y trouver du code valide à dispatcher où on veut dans une lame (options, fonctions, pipelines, css, js, etc.).

Les nouvelles options d'outil pour attraper du code distant sont :

'distant' => 'http://mon.site.ici/le_code_des_pipelines.php';
'distant_options' => 'http://mon_adresse_pour_mes_options';
'distant_fonctions' => 'http://mon_adresse_pour_mes_fonctions';
'distant_css' => 'http://mon_adresse_pour_ma_css';
'distant_js' => 'http://mon_adresse_pour_mon_js';

File size: 5.7 KB
Line 
1<?php
2#-----------------------------------------------------#
3#  Plugin  : Couteau Suisse - Licence : GPL           #
4#  Auteur  : Patrice Vanneufville, 2006               #
5#  Contact : patrice¡.!vanneufville¡@!laposte¡.!net   #
6#  Infos : http://www.spip-contrib.net/?article2166   #
7#-----------------------------------------------------#
8if(!defined("_ECRIRE_INC_VERSION")) return;
9
10// Les constantes utilisees dans la description des outils ont la forme @_CS_MACONSTANTE@
11
12function cout_define($contexte) {
13$rss_source = 'http://zone.spip.org/trac/spip-zone/log/_plugins_/couteau_suisse?format=rss&mode=stop_on_copy&limit=20';
14switch($contexte) {
15        case 'distant':
16                // RSS de trac
17                @define('_CS_RSS_SOURCE', $rss_source);
18                // Doc de spip-contrib.net
19                @define('_URL_CONTRIB', 'http://www.spip-contrib.net/?article');
20                // Revisions du CS
21                @define('_URL_CS_PLUGIN_XML', 'http://zone.spip.org/trac/spip-zone/browser/_plugins_/couteau_suisse/plugin.xml?format=txt');
22                // on met a jour le flux rss toutes les 2 heures
23                // contrib ici qui devra passer en fond et utiliser le cache de SPIP !
24                define('_CS_RSS_UPDATE', 2*3600);
25                define('_CS_RSS_COUNT', 15);
26                break;
27
28        // contexte general lie au descriptions d'outils
29        case 'description_outils':
30                define('_VAR_OUTIL', '@@CS_VAR_OUTIL@@');
31                @define('_CS_CHOIX', _T('couteauprive:votre_choix'));
32                @define('_CS_ASTER', '<sup>(*)</sup>');
33                @define('_CS_PLUGIN_JQUERY192', defined('_SPIP19300')?'':_T('couteauprive:detail_jquery3'));
34                break;
35               
36        case 'couleurs':
37                @define('_CS_EXEMPLE_COULEURS', '<br /><span style="font-weight:normal; font-size:85%;"><span style="background-color:black; color:white;">black/noir</span>, <span style="background-color:red;">red/rouge</span>, <span style="background-color:maroon;">maroon/marron</span>, <span style="background-color:green;">green/vert</span>, <span style="background-color:olive;">olive/vert&nbsp;olive</span>, <span style="background-color:navy; color:white;">navy/bleu&nbsp;marine</span>, <span style="background-color:purple;">purple/violet</span>, <span style="background-color:gray;">gray/gris</span>, <span style="background-color:silver;">silver/argent</span>, <span style="background-color:chartreuse;">chartreuse/vert&nbsp;clair</span>, <span style="background-color:blue;">blue/bleu</span>, <span style="background-color:fuchsia;">fuchsia/fuchia</span>, <span style="background-color:aqua;">aqua/bleu&nbsp;clair</span>, <span style="background-color:white;">white/blanc</span>, <span style="background-color:azure;">azure/bleu&nbsp;azur</span>, <span style="background-color:bisque;">bisque/beige</span>, <span style="background-color:brown;">brown/brun</span>, <span style="background-color:blueviolet;">blueviolet/bleu&nbsp;violet</span>, <span style="background-color:chocolate;">chocolate/brun&nbsp;clair</span>, <span style="background-color:cornsilk;">cornsilk/rose&nbsp;clair</span>, <span style="background-color:darkgreen;">darkgreen/vert&nbsp;fonce</span>, <span style="background-color:darkorange;">darkorange/orange&nbsp;fonce</span>, <span style="background-color:darkorchid;">darkorchid/mauve&nbsp;fonce</span>, <span style="background-color:deepskyblue;">deepskyblue/bleu&nbsp;ciel</span>, <span style="background-color:gold;">gold/or</span>, <span style="background-color:ivory;">ivory/ivoire</span>, <span style="background-color:orange;">orange/orange</span>, <span style="background-color:lavender;">lavender/lavande</span>, <span style="background-color:pink;">pink/rose</span>, <span style="background-color:plum;">plum/prune</span>, <span style="background-color:salmon;">salmon/saumon</span>, <span style="background-color:snow;">snow/neige</span>, <span style="background-color:turquoise;">turquoise/turquoise</span>, <span style="background-color:wheat;">wheat/jaune&nbsp;paille</span>, <span style="background-color:yellow;">yellow/jaune</span></span><span style="font-size:50%;"><br />&nbsp;</span>');
38                @define('_CS_EXEMPLE_COULEURS2', "\n-* <code>Lorem ipsum [rouge]dolor[/rouge] sit amet</code>\n-* <code>Lorem ipsum [red]dolor[/red] sit amet</code>.");
39                @define('_CS_EXEMPLE_COULEURS3', "\n-* <code>Lorem ipsum [fond rouge]dolor[/fond rouge] sit amet</code>\n-* <code>Lorem ipsum [bg red]dolor[/bg red] sit amet</code>.");
40                break;
41        case 'cs_comportement':
42                @define('_CS_DIR_TMP', cs_canonicalize(_DIR_RESTREINT_ABS._DIR_TMP));
43                @define('_CS_FILE_OPTIONS', cs_canonicalize(
44                        str_replace('../', '', _DIR_RESTREINT_ABS)
45                        .cs_spip_file_options(3)
46                ));
47                break;
48        case 'auteur_forum':
49                @define('_CS_FORUM_NOM', preg_replace(',:$,','',_T('forum_votre_nom')));
50                @define('_CS_FORUM_EMAIL', preg_replace(',:$,','',_T('forum_votre_email')));
51                break;
52        case 'en_travaux':
53                @define('_CS_TRAVAUX_TITRE', '<i>'._T('info_travaux_titre').'</i>');
54                @define('_CS_NOM_SITE', '<i>'.$GLOBALS['meta']['nom_site'].'</i>');
55                break;
56        case 'webmestres':
57                def_liste_adminsitrateurs();
58                break;
59        case 'boites_privees':
60                // RSS de trac
61                @define('_CS_RSS_SOURCE', $rss_source);
62                break;
63
64}} // function cout_define($contexte)
65
66// Qui sont les webmestres et les administrateurs ?
67function def_liste_adminsitrateurs() {
68        include_spip('inc/autoriser');
69        include_spip('inc/texte');
70        $webmestres = array();
71        $s = spip_query("SELECT * FROM spip_auteurs WHERE statut='0minirezo'");
72        $fetch = function_exists('sql_fetch')?'sql_fetch':'spip_fetch_array'; // compatibilite SPIP 1.92
73        while ($qui = $fetch($s)) {
74                $nom = typo($qui['nom']." (id_auteur=$qui[id_auteur])");
75                if(autoriser('webmestre','','',$qui)) $webmestres[$qui['id_auteur']] = $nom;
76                else if(autoriser('configurer','plugins','',$qui)) $admins[$qui['id_auteur']] = $nom;
77        }
78        @define('_CS_LISTE_WEBMESTRES', join(', ', $webmestres));
79        @define('_CS_LISTE_ADMINS', join(', ', $admins));
80}
81
82?>
Note: See TracBrowser for help on using the repository browser.