Browse Source

On revient à ce qu'il y avait avant donc. Les modifications apportées ne faisant pas l'unanimité

svn/root/tags/plugins/dev/0.3.10
teddy.spip@gmail.com 8 years ago
parent
commit
93eaa3e0cb
  1. 34
      .gitattributes
  2. 0
      dev-32.png
  3. 320
      dev_fonctions.php
  4. 2
      dev_json.html
  5. 23
      formulaires/lister_constantes.html
  6. 25
      formulaires/lister_constantes.php
  7. 26
      formulaires/lister_fonctions_completes.html
  8. 25
      formulaires/lister_fonctions_completes.php
  9. 23
      formulaires/lister_fonctions_utilisateur.html
  10. 25
      formulaires/lister_fonctions_utilisateur.php
  11. 23
      formulaires/lister_images.html
  12. 25
      formulaires/lister_images.php
  13. 2
      inc/minipres.php
  14. 1
      json/source_fonctions_completes.html
  15. 1
      json/source_fonctions_utilisateur.html
  16. 50
      lang/fonction_fr.php
  17. 15
      paquet.xml
  18. 39
      prive/squelettes/contenu/source_constantes.html
  19. 29
      prive/squelettes/contenu/source_fonctions_completes.html
  20. 29
      prive/squelettes/contenu/source_fonctions_utilisateur.html
  21. 29
      prive/squelettes/contenu/source_images.html
  22. 1
      prive/squelettes/hierarchie/source_constantes.html
  23. 1
      prive/squelettes/hierarchie/source_fonctions_completes.html
  24. 1
      prive/squelettes/hierarchie/source_fonctions_utilisateur.html
  25. 1
      prive/squelettes/hierarchie/source_images.html
  26. 8
      prive/squelettes/inclure/fonction_complete_info_ligne.html
  27. 8
      prive/squelettes/inclure/fonction_info_ligne.html
  28. 21
      prive/squelettes/inclure/image_info_ligne.html
  29. 2
      prive/squelettes/navigation/source_constantes.html
  30. 2
      prive/squelettes/navigation/source_fonctions_completes.html
  31. 2
      prive/squelettes/navigation/source_fonctions_utilisateur.html
  32. 2
      prive/squelettes/navigation/source_images.html
  33. 33
      prive/style_prive_plugin_dev.html
  34. BIN
      prive/themes/spip/images/developpement-48.png
  35. BIN
      prive/themes/spip/images/fonctions-16.png
  36. BIN
      prive/themes/spip/images/fonctions-24.png
  37. BIN
      prive/themes/spip/images/fonctions-32.png

34
.gitattributes vendored

@ -1,21 +1,11 @@
* text=auto !eol
/dev-32.png -text
/dev_fonctions.php -text
/dev_json.html -text
/dev_options.php -text
formulaires/charter.html -text
formulaires/charter.php -text
formulaires/charter_chantier_en_cours.html -text
formulaires/lister_constantes.html -text
formulaires/lister_constantes.php -text
formulaires/lister_fonctions_completes.html -text
formulaires/lister_fonctions_completes.php -text
formulaires/lister_fonctions_utilisateur.html -text
formulaires/lister_fonctions_utilisateur.php -text
formulaires/lister_images.html -text
formulaires/lister_images.php -text
inc/minipres.php -text
json/source_fonctions_completes.html -text
json/source_fonctions_utilisateur.html -text
lang/charter.xml -text
lang/charter_ar.php -text
lang/charter_en.php -text
@ -24,7 +14,6 @@ lang/charter_fa.php -text
lang/charter_fr.php -text
lang/charter_nl.php -text
lang/charter_sk.php -text
lang/fonction_fr.php -text
lang/paquet-dev.xml -text
lang/paquet-dev_ar.php -text
lang/paquet-dev_en.php -text
@ -42,30 +31,9 @@ prive/squelettes/contenu/charte_icones.html -text
prive/squelettes/contenu/charte_listes.html -text
prive/squelettes/contenu/charte_php.html -text
prive/squelettes/contenu/charte_typo.html -text
prive/squelettes/contenu/source_constantes.html -text
prive/squelettes/contenu/source_fonctions_completes.html -text
prive/squelettes/contenu/source_fonctions_utilisateur.html -text
prive/squelettes/contenu/source_images.html -text
prive/squelettes/hierarchie/source_constantes.html -text
prive/squelettes/hierarchie/source_fonctions_completes.html -text
prive/squelettes/hierarchie/source_fonctions_utilisateur.html -text
prive/squelettes/hierarchie/source_images.html -text
prive/squelettes/inclure/fonction_complete_info_ligne.html -text
prive/squelettes/inclure/fonction_info_ligne.html -text
prive/squelettes/inclure/image_info_ligne.html -text
prive/squelettes/navigation/source_constantes.html -text
prive/squelettes/navigation/source_fonctions_completes.html -text
prive/squelettes/navigation/source_fonctions_utilisateur.html -text
prive/squelettes/navigation/source_images.html -text
prive/squelettes/top/charte.html -text
prive/squelettes/top/charte_boites.html -text
prive/squelettes/top/charte_forms.html -text
prive/squelettes/top/charte_icones.html -text
prive/squelettes/top/charte_listes.html -text
prive/squelettes/top/charte_typo.html -text
prive/style_prive_plugin_dev.html -text
prive/themes/spip/images/dev-32.png -text
prive/themes/spip/images/developpement-48.png -text
prive/themes/spip/images/fonctions-16.png -text
prive/themes/spip/images/fonctions-24.png -text
prive/themes/spip/images/fonctions-32.png -text

0
prive/themes/spip/images/dev-32.png → dev-32.png

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

320
dev_fonctions.php

@ -4,307 +4,37 @@ if (!defined('_ECRIRE_INC_VERSION')) return;
/**
* Une fonction récursive pour joliment afficher #ENV, #GET, #SESSION...
* en squelette : [(#ENV|bel_env)], [(#GET|bel_env)], [(#SESSION|bel_env)]
* ou encore [(#ARRAY{0,1, a,#SESSION, 1,#ARRAY{x,y}}|bel_env)]
* en squelette : [(#ENV|bel_env)], [(#GET|bel_env)], [(#SESSION|bel_env)]
* ou encore [(#ARRAY{0,1, a,#SESSION, 1,#ARRAY{x,y}}|bel_env)]
*
* @param string|array $env
* si une string est passée elle doit être le serialize d'un array
* si une string est passée elle doit être le serialize d'un array
*
* @return string
* une chaîne html affichant une <table>
* une chaîne html affichant une <table>
**/
function bel_env($env) {
$env = str_replace(array('&quot;', '&#039;'), array('"', '\''), $env);
if (is_array($env_tab = @unserialize($env))) {
$env = $env_tab;
}
if (!is_array($env)) {
return '';
}
$style = " style='border:1px solid #ddd;'";
$res = "<table style='border-collapse:collapse;'>\n";
foreach ($env as $nom => $val) {
if (is_array($val) || is_array(@unserialize($val))) {
$val = bel_env($val);
} else {
$val = entites_html($val);
}
$res .= "<tr>\n<td$style><strong>". entites_html($nom).
"&nbsp;:&nbsp;</strong></td><td$style>" .$val. "</td>\n</tr>\n";
}
$res .= "</table>";
return $res;
$env = str_replace(array('&quot;', '&#039;'), array('"', '\''), $env);
if (is_array($env_tab = @unserialize($env))) {
$env = $env_tab;
}
if (!is_array($env)) {
return '';
}
$style = " style='border:1px solid #ddd;'";
$res = "<table style='border-collapse:collapse;'>\n";
foreach ($env as $nom => $val) {
if (is_array($val) || is_array(@unserialize($val))) {
$val = bel_env($val);
}
else {
$val = entites_html($val);
}
$res .= "<tr>\n<td$style><strong>". entites_html($nom).
"&nbsp;:&nbsp;</strong></td><td$style>" .$val. "</td>\n</tr>\n";
}
$res .= "</table>";
return $res;
}
/**
* Lister toutes les fonctions définies dans l'instance de SPIP.
* Les fonctions fournies par les différents plugins actifs seront aussi prise en compte.
*
* @param null|string $prefixe
* Préfixe de la fonction. Exemple : `autoriser`, `auth`, etc.
* @return array
* Si aucun préfixe, on listera toutes les fonctions.
* Si un préfixe est identifié, on listera toutes les fonctions avec ce préfixe.
*/
function lister_fonctions ($prefixe = null) {
$fonctions = get_defined_functions();
$fonctions_user = $fonctions["user"];
sort($fonctions_user);
foreach ($fonctions_user as $value) {
if ($fonction = preg_split('/_/', $value, -1, PREG_SPLIT_NO_EMPTY)) {
$fonctions_user[$fonction[0]][] = $value;
if (($key = array_search($value, $fonctions_user)) !== false) {
unset($fonctions_user[$key]);
}
}
}
ksort($fonctions_user);
$resultat = $fonctions_user;
if ($prefixe) {
// On pourrait faire aussi un contrôle avec array_key_exists()
// Mais ça risque de fausser le résultat attendu.
$resultat = array($prefixe => $fonctions_user[$prefixe]);
}
return $resultat;
}
/**
* Lister toutes les constantes définies dans l'instance de SPIP.
* Les constantes fournies par les différents plugins actifs seront aussi prise en compte.
*
* @param null|string $prefixe
* Préfixe de la constantes.
* @return array
* Si aucun préfixe, on listera toutes les constantes.
* Si un préfixe est identifié, on listera toutes les constantes avec ce préfixe.
*/
function lister_constantes ($prefixe = null) {
$constantes = get_defined_constants(true);
$constantes_user = $constantes["user"];
foreach ($constantes_user as $key => $value) {
if ($constante = preg_split('/_/', $key, -1, PREG_SPLIT_NO_EMPTY)) {
if ($constante[0] == '_') {
$constantes_user[$constante[1]][$key] = $value;
} else {
$constantes_user[$constante[0]][$key] = $value;
}
unset($constantes_user[$key]);
}
}
ksort($constantes_user);
$resultat = $constantes_user;
if ($prefixe) {
// On pourrait faire aussi un contrôle avec array_key_exists()
// Mais ça risque de fausser le résultat attendu.
$resultat = array($prefixe => $constantes_user[$prefixe]);
}
return $resultat;
}
/**
* Lister toutes les images issues du thème SPIP de l'espace privé.
* Les images fournies par les différents plugins sont aussi prises en compte.
*
* @param null|string $prefixe
* Préfixe de l'image. Exemple : `auteur`, `article`, etc.
* @return array
* Si aucun préfixe, on listera toutes les images.
* Si un préfixe est identifié, on listera toutes les images avec ce préfixe.
*/
function lister_images ($prefixe = null) {
$images = find_all_in_path("prive/themes/spip/images/", "\w.\w");
foreach ($images as $key => $value) {
// On ne prend que les images issues des thèmes.
if (est_image($value)) {
if ($image = preg_split('/-/', $key, -1, PREG_SPLIT_NO_EMPTY)) {
if (count($image) > 1) {
$images[$image[0]][] = $value;
} else {
$image = explode('.', $image[0]);
$images[$image[0]][] = $value;
}
unset($images[$key]);
}
} else {
// Si ce n'est pas une image, on l'enlève du tableau.
unset($images[$key]);
}
}
ksort($images);
$resultat = $images;
if ($prefixe) {
// On pourrait faire aussi un contrôle avec array_key_exists()
// Mais ça risque de fausser le résultat attendu.
$resultat = array($prefixe => $images[$prefixe]);
}
return $resultat;
}
/**
* Cette fonction vérifie si le fichier est une image ou pas.
* On fait un test selon l'existence des fonctions PHP qui peuvent nous aider.
* On évite ainsi une alerte PHP
*
* @param string $fichier
* url relative du fichier.
* @return bool
*/
function est_image ($fichier)
{
$image = false;
if (function_exists('exif_imagetype')) {
if (is_numeric(exif_imagetype($fichier))) {
$image = true;
}
} elseif (function_exists('getimagesize')) {
if (is_array(getimagesize($fichier))) {
$image = true;
}
}
return $image;
}
/**
* Afficher le nom et le chemin du fichier dans lequel
* est défini la fonction passée en paramètre.
*
* @param null|string $fonction
* @return void|string
*/
function fonction_fichier ($fonction = null) {
if ($fonction == null) {
return;
}
// On prépare le pattern pour ne pas avoir le chemin depuis les méandres du serveur d'hébergement.
$pattern_root = "/^" . preg_replace('/\//', '\/', $_SERVER['DOCUMENT_ROOT']) . "/";
// API offerte par PHP 5.
$refFonction = new ReflectionFunction($fonction);
// On enlève le chemin 'root' pour ne garder que le chemin à la "racine" de notre site.
$filename = preg_replace($pattern_root, '', $refFonction->getFileName()) . ':' . $refFonction->getStartLine();
return $filename;
}
/**
* Lister les fichiers php dans un répertoire donné
* ou, par défaut, dans tout le site.
*
* @param string $dir
* Par défaut, le répertoire racine du site.
* @return array
* Tableau contenant le chemin vers chaque fichier php.
*/
function lister_fichiers_php ($dir = _DIR_RACINE) {
global $list;
// Si $dir est vide, on va chercher le répertoire
// dans lequel se trouve le script pour référence.
if (empty($dir)) {
# on recherche le script sur lequel on est
$script = end(explode('/', $_SERVER['PHP_SELF']));
# Et on l'enlève de l'url pour donner une bonne valeur à $dir
$dir = preg_replace('/' . $script . '/', '', $_SERVER['SCRIPT_FILENAME']);
}
if (!empty($dir) and is_dir($dir)) {
$ffs = scandir($dir);
$exclu = preg_match('/(tmp|local)/', $dir);
if (substr($dir, -1) !== '/') {
$dir = $dir . '/';
}
foreach ($ffs as $ff) {
if ($ff[0] != '.' and $exclu == false) {
if (strlen($ff) >= 5) {
if (substr($ff, -4) == '.php') {
$list[] = $dir . $ff;
}
}
if (is_dir($dir . $ff)) {
lister_fichiers_php($dir . $ff);
}
}
}
}
return $list;
}
/**
* Rechercher le nom de toutes les fonctions
* dans le fichier php passé en paramètre.
*
* @param string $fichier
* @return array
*/
function lister_noms_fonctions ($fichier) {
$liste_fonctions = array();
if (is_file($fichier)) {
$content = file_get_contents($fichier);
preg_match_all("/(function)([\s|\t]+)(\w+)/", $content, $fonctions);
foreach ($fonctions[3] as $fonction) {
$liste_fonctions[] = array('fichier' => $fichier, 'fonction' => $fonction);
}
}
return $liste_fonctions;
}
function lister_toutes_fonctions ($prefixe = null) {
$fichiers_php = lister_fichiers_php();
$fonctions_user = array();
if (count($fichiers_php) > 0) {
foreach ($fichiers_php as $fichier) {
foreach (lister_noms_fonctions($fichier) as $value) {
$fonctions_user[] = $value;
}
}
natcasesort($fonctions_user);
}
if (count($fonctions_user) > 0) {
foreach ($fonctions_user as $value) {
if ($fonction = preg_split('/_/', $value['fonction'], -1, PREG_SPLIT_NO_EMPTY)) {
$fonctions_user[$fonction[0]][] = $value;
if (($key = array_search($value, $fonctions_user)) !== false) {
unset($fonctions_user[$key]);
}
}
}
ksort($fonctions_user);
}
$resultat = $fonctions_user;
if ($prefixe and count($fonctions_user) > 0) {
// On pourrait faire aussi un contrôle avec array_key_exists()
// Mais ça risque de fausser le résultat attendu.
$resultat = array($prefixe => $fonctions_user[$prefixe]);
}
return $resultat;
}
?>

2
dev_json.html

@ -1,2 +0,0 @@
#HTTP_HEADER{Content-Type: application/json; charset=#CHARSET}
[(#INCLURE{fond=json/[(#ENV{objets})],env})]

23
formulaires/lister_constantes.html

@ -1,23 +0,0 @@
<div class="formulaire_spip formulaire_configurer formulaire_#FORM">
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
<form action="#ENV{action}" method="post">
[(#ACTION_FORMULAIRE{#ENV{action}})]
[(#SELF|parametre_url{prefixe,''}|form_hidden)]
<ul>
<li>
<label for="champ_prefixe"><:fonction:label_prefixe_constante:></label>
<select name="prefixe" id="champ_prefixe">
<option value=""><:fonction:tout_voir:></option>
<BOUCLE_lister (DATA) {source table, (#REM|lister_constantes|array_keys)} {par valeur}>
<option value="#VALEUR" [(#ENV{prefixe}|=={#VALEUR}|oui)selected="selected"]>#VALEUR [((#VALEUR|lister_constantes|count))]</option>
</BOUCLE_lister>
</select>
</li>
</ul>
<p class="boutons">
<input type="submit" class="submit" value="<:bouton_valider:>" />
</p>
</form>
</div>

25
formulaires/lister_constantes.php

@ -1,25 +0,0 @@
<?php
if (!defined('_ECRIRE_INC_VERSION')) return;
function formulaires_liste_constantes_charger_dist () {
$valeurs = array();
$valeurs['prefixe'] = (_request('prefixe')) ? _request('prefixe') : '' ;
return $valeurs;
}
function formulaires_liste_constantes_verifier_dist () {
$erreurs = array();
return $erreurs;
}
function formulaires_liste_constantes_traiter_dist () {
$res = array();
return $res;
}
?>

26
formulaires/lister_fonctions_completes.html

@ -1,26 +0,0 @@
<div class="formulaire_spip formulaire_configurer formulaire_#FORM">
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
[(#SET{prefixe,#ARRAY})]
<BOUCLE_prefixe (DATA) {source json, (#INCLURE{fond=dev_json,objets=source_fonctions_completes})}>
[(#SET{prefixe,[(#GET{prefixe}|push{#CLE})]})]
</BOUCLE_prefixe>
<form action="#ENV{action}" method="post">
[(#ACTION_FORMULAIRE{#ENV{action}})]
[(#SELF|parametre_url{prefixe,''}|form_hidden)]
<ul>
<li>
<label for="champ_prefixe"><:fonction:label_prefixe_fonction:></label>
<select name="prefixe" id="champ_prefixe">
<option value=""><:fonction:tout_voir:></option>
<BOUCLE_lister (DATA) {source table, (#GET{prefixe})} {par valeur}>
<option value="#VALEUR" [(#ENV{prefixe}|=={#VALEUR}|oui)selected="selected"]>#VALEUR</option>
</BOUCLE_lister>
</select>
</li>
</ul>
<p class="boutons">
<input type="submit" class="submit" value="<:bouton_valider:>" />
</p>
</form>
</div>

25
formulaires/lister_fonctions_completes.php

@ -1,25 +0,0 @@
<?php
if (!defined('_ECRIRE_INC_VERSION')) return;
function formulaires_liste_fonctions_completes_charger_dist () {
$valeurs = array();
$valeurs['prefixe'] = (_request('prefixe')) ? _request('prefixe') : '' ;
return $valeurs;
}
function formulaires_liste_fonctions_completes_verifier_dist () {
$erreurs = array();
return $erreurs;
}
function formulaires_liste_fonctions_completes_traiter_dist () {
$res = array();
return $res;
}
?>

23
formulaires/lister_fonctions_utilisateur.html

@ -1,23 +0,0 @@
<div class="formulaire_spip formulaire_configurer formulaire_#FORM">
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
<form action="#ENV{action}" method="post">
[(#ACTION_FORMULAIRE{#ENV{action}})]
[(#SELF|parametre_url{prefixe,''}|form_hidden)]
<ul>
<li>
<label for="champ_prefixe"><:fonction:label_prefixe_fonction:></label>
<select name="prefixe" id="champ_prefixe">
<option value=""><:fonction:tout_voir:></option>
<BOUCLE_lister (DATA) {source table, (#REM|lister_fonctions|array_keys)} {par valeur}>
<option value="#VALEUR" [(#ENV{prefixe}|=={#VALEUR}|oui)selected="selected"]>#VALEUR [((#VALEUR|lister_fonctions|count))]</option>
</BOUCLE_lister>
</select>
</li>
</ul>
<p class="boutons">
<input type="submit" class="submit" value="<:bouton_valider:>" />
</p>
</form>
</div>

25
formulaires/lister_fonctions_utilisateur.php

@ -1,25 +0,0 @@
<?php
if (!defined('_ECRIRE_INC_VERSION')) return;
function formulaires_liste_fonctions_utilisateur_charger_dist () {
$valeurs = array();
$valeurs['prefixe'] = (_request('prefixe')) ? _request('prefixe') : '' ;
return $valeurs;
}
function formulaires_liste_fonctions_utilisateur_verifier_dist () {
$erreurs = array();
return $erreurs;
}
function formulaires_liste_fonctions_utilisateur_traiter_dist () {
$res = array();
return $res;
}
?>

23
formulaires/lister_images.html

@ -1,23 +0,0 @@
<div class="formulaire_spip formulaire_configurer formulaire_#FORM">
[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
<form action="#ENV{action}" method="post">
[(#ACTION_FORMULAIRE{#ENV{action}})]
[(#SELF|parametre_url{prefixe,''}|form_hidden)]
<ul>
<li>
<label for="champ_prefixe"><:fonction:label_prefixe_images:></label>
<select name="prefixe" id="champ_prefixe">
<option value=""><:fonction:tout_voir:></option>
<BOUCLE_lister (DATA) {source table, (#REM|lister_images|array_keys)} {par valeur}>
<option value="#VALEUR" [(#ENV{prefixe}|=={#VALEUR}|oui)selected="selected"]>#VALEUR [((#VALEUR|lister_images|count))]</option>
</BOUCLE_lister>
</select>
</li>
</ul>
<p class="boutons">
<input type="submit" class="submit" value="<:bouton_valider:>" />
</p>
</form>
</div>

25
formulaires/lister_images.php

@ -1,25 +0,0 @@
<?php
if (!defined('_ECRIRE_INC_VERSION')) return;
function formulaires_liste_images_charger_dist () {
$valeurs = array();
$valeurs['prefixe'] = (_request('prefixe')) ? _request('prefixe') : '' ;
return $valeurs;
}
function formulaires_liste_images_verifier_dist () {
$erreurs = array();
return $erreurs;
}
function formulaires_liste_images_traiter_dist () {
$res = array();
return $res;
}
?>

2
inc/minipres.php

@ -3,7 +3,7 @@
/***************************************************************************\
* SPIP, Systeme de publication pour l'internet *
* *
* Copyright (c) 2001-2014 *
* Copyright (c) 2001-2013 *
* Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
* *
* Ce programme est un logiciel libre distribue sous licence GNU/GPL. *

1
json/source_fonctions_completes.html

@ -1 +0,0 @@
[(#ENV{prefixe,''}|lister_toutes_fonctions|json_encode)]

1
json/source_fonctions_utilisateur.html

@ -1 +0,0 @@
[(#ENV{prefixe,''}|lister_fonctions|json_encode)]

50
lang/fonction_fr.php

@ -1,50 +0,0 @@
<?php
// This is a SPIP language file -- Ceci est un fichier langue de SPIP
// Fichier source, a modifier dans svn://zone.spip.org/spip-zone/_core_/plugins/dev/lang/
if (!defined('_ECRIRE_INC_VERSION')) return;
$GLOBALS[$GLOBALS['idx_lang']] = array(
// D
'des_constantes' => '@nb@ constantes',
'des_fonctions' => '@nb@ fonctions',
'des_images' => '@nb@ images',
// I
'icone_dev' => 'Développement',
'info_constante' => 'Constante',
'info_core_spip' => 'Core de SPIP',
'info_filename' => 'Fichier d\'origine',
'info_fonction' => 'Fonction',
'info_nom' => 'Nom',
'info_prefixe' => 'Préfixe',
'info_surchargeable' => 'Surchargeable',
'info_technique' => 'Infos techniques',
'info_valeur' => 'Valeur',
// L
'label_prefixe_constante' => 'Préfixe de la constante',
'label_prefixe_fonction' => 'Préfixe de la fonction',
'label_prefixe_images' => 'Préfixe de l\'image',
// T
'titre_onglet_constantes' => 'Les constantes',
'titre_onglet_fonctions' => 'Les fonctions',
'titre_onglet_fonctions_completes' => 'Toutes les fonctions',
'titre_onglet_fonctions_utilisateur' => 'Les fonctions chargées',
'titre_onglet_images' => 'Les images de thèmes',
'titre_page_constantes' => 'Lister les constantes',
'titre_page_fonctions' => 'Lister les fonctions',
'titre_page_fonctions_completes' => 'Lister toutes les fonctions',
'titre_page_fonctions_utilisateur' => 'Lister les fonctions chargées',
'titre_page_images' => 'Lister les images des thèmes de SPIP',
'tout_voir' => 'Tout voir',
// U
'une_constante' => 'Une constante',
'une_fonction' => 'Une fonction',
'une_image' => 'Une image',
);
?>

15
paquet.xml

@ -1,30 +1,21 @@
<paquet
prefix="dev"
categorie="outil"
version="0.3.9"
version="0.2.1"
etat="stable"
compatibilite="[3.0.0;3.1.*]"
logo="prive/themes/spip/images/dev-32.png"
>
logo="dev-32.png"
>
<nom>D&#233;veloppement</nom>
<!-- Outils de developpement -->
<auteur>Collectif SPIP</auteur>
<menu nom="menu_dev" titre="fonction:icone_dev" icone="images/developpement-48.png" action="navigation" parametres="menu=menu_dev" />
<menu nom="charte" titre="charter:titre_charte" parent="menu_dev" action="charte" />
<menu nom="source_fonctions_utilisateur" titre="fonction:titre_onglet_fonctions" parent="menu_dev" action="source_fonctions_utilisateur" icone="images/fonctions-16.png"/>
<onglet nom="charte" titre="charter:titre_charte" parent="charte" action="charte" />
<onglet nom="charte_icones" titre="charter:titre_icones" parent="charte" action="charte_icones" />
<onglet nom="charte_typo" titre="charter:titre_typo" parent="charte" action="charte_typo" />
<onglet nom="charte_boites" titre="charter:titre_boites" parent="charte" action="charte_boites" />
<onglet nom="charte_listes" titre="charter:titre_listes" parent="charte" action="charte_listes" />
<onglet nom="charte_forms" titre="charter:titre_formulaires" parent="charte" action="charte_forms" />
<onglet nom="source_fonctions_utilisateur" titre="fonction:titre_onglet_fonctions_utilisateur" parent="source_fonctions_utilisateur" action="source_fonctions_utilisateur" />
<onglet nom="source_fonctions_completes" titre="fonction:titre_onglet_fonctions_completes" parent="source_fonctions_utilisateur" action="source_fonctions_completes" />
<onglet nom="source_constantes" titre="fonction:titre_onglet_constantes" parent="source_fonctions_utilisateur" action="source_constantes" />
<onglet nom="source_images" titre="fonction:titre_onglet_images" parent="source_fonctions_utilisateur" action="source_images" />
</paquet>

39
prive/squelettes/contenu/source_constantes.html

@ -1,39 +0,0 @@
<h1><:fonction:titre_page_constantes:></h1>
<B_constantes>
<div class="liste-objets constantes">
[<h3>(#ENV{titre})</h3>]
<table class="spip liste">
[<caption>[(#ENV{prefixe,''})&nbsp;: ](#GRAND_TOTAL|singulier_ou_pluriel{fonction:une_constante,fonction:des_constantes})</caption>]
<thead>
<tr class="first_row">
<th class="constante principale"><:fonction:info_constante:></th>
<th class="valeur secondaire"><:fonction:info_valeur:></th>
</tr>
</thead>
<tbody>
<BOUCLE_constantes (DATA) {source table, (#ENV{prefixe,''}|lister_constantes)}>
<BOUCLE_prefixe (DATA) {source table, #VALEUR} {si #VALEUR|is_array}>
[<tr class="prefixe">
<td colspan="2"><h3>(#_constantes:CLE|unique)</h3></td>
</tr>]
<tr class="[(#COMPTEUR_BOUCLE|alterner{'row_odd','row_even'})]">
<td class="constante principale">#CLE</td>
<td class="valeur secondaire">[(#VALEUR|print_r{1})]</td>
</tr>
</BOUCLE_prefixe>
</B_prefixe>
[<tr class="prefixe">
<td colspan="2"><h3>(#ENV{prefixe,''}|unique)</h3></td>
</tr>]
<tr class="[(#COMPTEUR_BOUCLE|alterner{'row_odd','row_even'})]">
<td class="constante principale">#CLE</td>
<td class="valeur secondaire">[(#VALEUR|print_r{1})]</td>
</tr>
<//B_prefixe>
</BOUCLE_constantes>
</tbody>
</table>
</div>
</B_constantes>

29
prive/squelettes/contenu/source_fonctions_completes.html

@ -1,29 +0,0 @@
<h1><:fonction:titre_page_fonctions_completes:></h1>
<B_fonctions>
<div class="liste-objets fonctions">
[<h3>(#ENV{titre})</h3>]
<table class="spip liste">
[<caption>[(#ENV{prefixe,''})&nbsp;: ](#GRAND_TOTAL|singulier_ou_pluriel{fonction:une_fonction,fonction:des_fonctions})</caption>]
<thead>
<tr class="first_row">
<th class="fonction principale"><:fonction:info_fonction:></th>
<th class="filename secondaire"><:fonction:info_filename:></th>
<th class="surcharge secondaire"><:fonction:info_surchargeable:></th>
</tr>
</thead>
<tbody>
<BOUCLE_fonctions (DATA) {source table, (#ENV{prefixe,''}|lister_toutes_fonctions)}>
<BOUCLE_prefixe (DATA) {source table, #VALEUR} {si #VALEUR|is_array}>
#INCLURE{fond=prive/squelettes/inclure/fonction_complete_info_ligne,fonction=#VALEUR,class=(#COMPTEUR_BOUCLE|alterner{'row_odd','row_even'}),prefixe=(#_fonctions:CLE|unique)}
</BOUCLE_prefixe>
</B_prefixe>
#INCLURE{fond=prive/squelettes/inclure/fonction_complete_info_ligne,fonction=#VALEUR,class=(#COMPTEUR_BOUCLE|alterner{'row_odd','row_even'}),prefixe=(#ENV{prefixe}|unique)}
<//B_prefixe>
</BOUCLE_fonctions>
</tbody>
</table>
</div>
</B_fonctions>

29
prive/squelettes/contenu/source_fonctions_utilisateur.html

@ -1,29 +0,0 @@
<h1><:fonction:titre_page_fonctions_utilisateur:></h1>
<B_fonctions>
<div class="liste-objets fonctions">
[<h3>(#ENV{titre})</h3>]
<table class="spip liste">
[<caption>[(#ENV{prefixe,''})&nbsp;: ](#GRAND_TOTAL|singulier_ou_pluriel{fonction:une_fonction,fonction:des_fonctions})</caption>]
<thead>
<tr class="first_row">
<th class="fonction principale"><:fonction:info_fonction:></th>
<th class="filename secondaire"><:fonction:info_filename:></th>
<th class="surcharge secondaire"><:fonction:info_surchargeable:></th>
</tr>
</thead>
<tbody>
<BOUCLE_fonctions (DATA) {source table, (#ENV{prefixe,''}|lister_fonctions)}>
<BOUCLE_prefixe (DATA) {source table, #VALEUR} {si #VALEUR|is_array}>
#INCLURE{fond=prive/squelettes/inclure/fonction_info_ligne,fonction=#VALEUR,class=(#COMPTEUR_BOUCLE|alterner{'row_odd','row_even'}),prefixe=(#_fonctions:CLE|unique)}
</BOUCLE_prefixe>
</B_prefixe>
#INCLURE{fond=prive/squelettes/inclure/fonction_info_ligne,fonction=#VALEUR,class=(#COMPTEUR_BOUCLE|alterner{'row_odd','row_even'}),prefixe=(#ENV{prefixe,''}|unique),env}
<//B_prefixe>
</BOUCLE_fonctions>
</tbody>
</table>
</div>
</B_fonctions>

29
prive/squelettes/contenu/source_images.html

@ -1,29 +0,0 @@
<h1><:fonction:titre_page_images:></h1>
<B_images>
<div class="galerie medias">
[<h3>(#ENV{titre})</h3>]
<table class="spip liste">
[<caption>[(#ENV{prefixe,''})&nbsp;: ](#GRAND_TOTAL|singulier_ou_pluriel{fonction:une_image,fonction:des_images})</caption>]
<thead>
<tr class="first_row">
<th class="nom principale"><:fonction:info_nom:></th>
<th class="exif secondaire"><:fonction:info_technique:></th>
<th class="core secondaire"><:fonction:info_core_spip:></th>
</tr>
</thead>
<tbody>
<BOUCLE_images (DATA) {source table, (#ENV{prefixe,''}|lister_images)}>
<B_prefixe>
<BOUCLE_prefixe (DATA) {source table, #VALEUR} {si #VALEUR|is_array}>
#INCLURE{fond=prive/squelettes/inclure/image_info_ligne,image=#VALEUR,class=(#COMPTEUR_BOUCLE|alterner{'row_odd','row_even'}),prefixe=(#_images:CLE|unique),env}
</BOUCLE_prefixe>
</B_prefixe>
#INCLURE{fond=prive/squelettes/inclure/image_info_ligne,image=#VALEUR,class=(#COMPTEUR_BOUCLE|alterner{'row_odd','row_even'}),prefixe=(#ENV{prefixe,''}|unique),env}
<//B_prefixe>
</BOUCLE_images>
</tbody>
</table>
</div>
</B_images>

1
prive/squelettes/hierarchie/source_constantes.html

@ -1 +0,0 @@
[(#VAL{source_fonctions_utilisateur}|barre_onglets{source_constantes})]

1
prive/squelettes/hierarchie/source_fonctions_completes.html

@ -1 +0,0 @@
[(#VAL{source_fonctions_utilisateur}|barre_onglets{source_fonctions_completes})]

1
prive/squelettes/hierarchie/source_fonctions_utilisateur.html

@ -1 +0,0 @@
[(#VAL{source_fonctions_utilisateur}|barre_onglets{source_fonctions_utilisateur})]

1
prive/squelettes/hierarchie/source_images.html

@ -1 +0,0 @@
[(#VAL{source_fonctions_utilisateur}|barre_onglets{source_images})]

8
prive/squelettes/inclure/fonction_complete_info_ligne.html

@ -1,8 +0,0 @@
[<tr class="prefixe">
<td colspan="3"><h3>(#ENV{prefixe})</h3></td>
</tr>]
<tr class="[(#ENV{class})]">
<td class="fonction principale">[(#ENV{fonction}|table_valeur{fonction}|replace{'_','_<wbr/>'})] [(#ENV{fonction}|table_valeur{fichier}|match{'/plugins/'}|non)<a href="http://code.spip.net/@[(#ENV{fonction}|table_valeur{fonction})]" target="_blank" class="aide">[(#CHEMIN_IMAGE{aide-16.png}|balise_img|inserer_attribut{title,<:titre_image_aide:>})]</a>]</td>
<td class="filename secondaire">[(#ENV{fonction}|table_valeur{fichier}|replace{(/|_),$1<wbr/>})]</td>
<td class="surcharge secondaire">[(#ENV{fonction}|table_valeur{fonction}|match{(_dist)$}|?{[(#CHEMIN_IMAGE{ok-16.png}|balise_img)],[(#CHEMIN_IMAGE{supprimer-8.png}|balise_img)]})]</td>
</tr>

8
prive/squelettes/inclure/fonction_info_ligne.html

@ -1,8 +0,0 @@
[<tr class="prefixe">
<td colspan="3"><h3>(#ENV{prefixe})</h3></td>
</tr>]
<tr class="[(#ENV{class})]">
<td class="fonction principale">[(#ENV{fonction}|replace{'_','_<wbr/>'})] [(#ENV{fonction}|fonction_fichier|match{'/plugins/'}|non)<a href="http://code.spip.net/@#ENV{fonction}" target="_blank" class="aide">[(#CHEMIN_IMAGE{aide-16.png}|balise_img|inserer_attribut{title,<:titre_image_aide:>})]</a>]</td>
<td class="filename secondaire">[(#ENV{fonction}|fonction_fichier|replace{(/|_),$1<wbr/>})]</td>
<td class="surcharge secondaire">[(#ENV{fonction}|match{(_dist)$}|?{[(#CHEMIN_IMAGE{ok-16.png}|balise_img)],[(#CHEMIN_IMAGE{supprimer-8.png}|balise_img)]})]</td>
</tr>

21
prive/squelettes/inclure/image_info_ligne.html

@ -1,21 +0,0 @@
[(#SET{pathinfo,[(#ENV{image}|pathinfo)]})]
[(#SET{icone_ok,[(#CHEMIN_IMAGE{ok-16.png}|balise_img)]})]
[(#SET{icone_ko,[(#CHEMIN_IMAGE{supprimer-8.png}|balise_img)]})]
[<tr class="prefixe">
<td colspan="3"><h3>(#ENV{prefixe})</h3></td>
</tr>]
<tr class="[(#ENV{class})]">
<td class="nom principale">
[<a href="#ENV{image}"[ title="(#ENV{image}|attribut_html)"] class="mediabox">(#ENV{image}|balise_img|image_reduire{125,100}|inserer_attribut{alt,[(#ENV{image}|basename|attribut_html)]})
[<br/><em>(#ENV{image}|basename)</em>]
</a>]
</td>
<td class="exif secondaire">
[<strong class="extension">(#GET{pathinfo}|table_valeur{extension})</strong>]
<div class="dimensions">[(#ENV{image}|largeur)] x [(#ENV{image}|hauteur)] px </div>
[<div class="taille">(#ENV{image}|filesize|taille_en_octets)</div>]
</td>
<td class="core secondaire">
[(#ENV{image}|match{'/plugins/'}|?{#GET{icone_ko},#GET{icone_ok}})]
</td>
</tr>

2
prive/squelettes/navigation/source_constantes.html

@ -1,2 +0,0 @@
#FORMULAIRE_LISTER_CONSTANTES
<div class="nettoyeur"></div>

2
prive/squelettes/navigation/source_fonctions_completes.html

@ -1,2 +0,0 @@
#FORMULAIRE_LISTER_FONCTIONS_COMPLETES
<div class="nettoyeur"></div>

2
prive/squelettes/navigation/source_fonctions_utilisateur.html

@ -1,2 +0,0 @@
#FORMULAIRE_LISTER_FONCTIONS_UTILISATEUR
<div class="nettoyeur"></div>

2
prive/squelettes/navigation/source_images.html

@ -1,2 +0,0 @@
#FORMULAIRE_LISTER_IMAGES
<div class="nettoyeur"></div>

33
prive/style_prive_plugin_dev.html

@ -1,33 +0,0 @@
[(#REM)
Ce squelette definit les styles de l'espace prive
Note: l'entete "Vary:" sert a repousser l'entete par
defaut "Vary: Cookie,Accept-Encoding", qui est (un peu)
genant en cas de "rotation du cookie de session" apres
un changement d'IP (effet de clignotement).
ATTENTION: il faut absolument le charset sinon Firefox croit que
c'est du text/html !
<style>
]
#CACHE{3600*100,cache-client}
#HTTP_HEADER{Content-Type: text/css; charset=iso-8859-15}
#HTTP_HEADER{Vary: Accept-Encoding}
#SET{claire,##ENV{couleur_claire,edf3fe}}
#SET{foncee,##ENV{couleur_foncee,3874b0}}
#SET{left,#ENV{ltr}|choixsiegal{left,left,right}}
#SET{right,#ENV{ltr}|choixsiegal{left,right,left}}
body.source_fonctions #contenu .liste-objets table tbody tr.prefixe,
body.source_images #contenu .galerie.medias table tbody tr.prefixe,
body.source_constantes #contenu .liste-objets table tbody tr.prefixe {
background-color: [#(#ENV{couleur_claire,edf3fe}|couleur_eclaircir)];
}
body.source_fonctions #contenu .liste-objets table tbody tr.prefixe h3,
body.source_images #contenu .galerie.medias table tbody tr.prefixe h3,
body.source_constantes #contenu .liste-objets table tbody tr.prefixe h3 {
margin-bottom: 0;
text-align: center;
}

BIN
prive/themes/spip/images/developpement-48.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

BIN
prive/themes/spip/images/fonctions-16.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 314 B

BIN
prive/themes/spip/images/fonctions-24.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 504 B

BIN
prive/themes/spip/images/fonctions-32.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 596 B

Loading…
Cancel
Save