Browse Source

Il n'y a pas de raisons pour qu'on ne liste les constantes.

On passe la page des fonctions en tableau pour l'affichage pour être cohérent.
Sur la première colonne, on affiche le préfixe pour tout le monde.
Up de z (On reste sur le même type de fonctions du plugin).
svn/root/tags/plugins/dev/0.3.6 v0.3.6
teddy.spip@gmail.com 9 years ago
parent
commit
a0b4db3ef1
  1. 3
      .gitattributes
  2. 67
      dev_fonctions.php
  3. 23
      formulaires/lister_constantes.html
  4. 25
      formulaires/lister_constantes.php
  5. 13
      lang/fonction_fr.php
  6. 9
      paquet.xml
  7. 41
      prive/squelettes/contenu/constantes.html
  8. 48
      prive/squelettes/contenu/fonctions.html
  9. 4
      prive/squelettes/contenu/images.html
  10. 20
      prive/squelettes/inclure/image_info_ligne.html

3
.gitattributes vendored

@ -5,6 +5,8 @@
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.html -text
formulaires/lister_fonctions.php -text
formulaires/lister_images.html -text
@ -36,6 +38,7 @@ 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/constantes.html -text
prive/squelettes/contenu/fonctions.html -text
prive/squelettes/contenu/images.html -text
prive/squelettes/inclure/image_info_ligne.html -text

67
dev_fonctions.php

@ -37,11 +37,21 @@ function bel_env($env) {
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);
sort($fonctions_user, SORT_NATURAL | SORT_FLAG_CASE);
foreach ($fonctions_user as $value) {
if ($fonction = preg_split('/_/', $value, -1, PREG_SPLIT_NO_EMPTY)) {
@ -51,7 +61,7 @@ function lister_fonctions ($prefixe = null) {
}
}
}
ksort($fonctions_user);
ksort($fonctions_user, SORT_NATURAL | SORT_FLAG_CASE);
$resultat = $fonctions_user;
@ -65,6 +75,56 @@ function lister_fonctions ($prefixe = null) {
}
/**
* 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, SORT_NATURAL | SORT_FLAG_CASE);
$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 = $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");
@ -85,7 +145,7 @@ function lister_images ($prefixe = null) {
unset($images[$key]);
}
}
ksort($images);
ksort($images, SORT_NATURAL | SORT_FLAG_CASE);
$resultat = $images;
@ -98,6 +158,7 @@ function lister_images ($prefixe = null) {
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.

23
formulaires/lister_constantes.html

@ -0,0 +1,23 @@
<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}" class="formulaire_spip" 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

@ -0,0 +1,25 @@
<?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;
}
?>

13
lang/fonction_fr.php

@ -6,24 +6,35 @@ 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
'info_constante' => 'Constante',
'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_page_fonction' => 'Lister les fonctions',
'titre_onglet_constantes' => 'Les constantes',
'titre_onglet_fonctions' => 'Les fonctions',
'titre_onglet_images' => 'Les images de thèmes',
'titre_page_constantes' => 'Lister les constantes',
'titre_page_fonctions' => 'Lister les fonctions',
'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',

9
paquet.xml

@ -1,7 +1,7 @@
<paquet
prefix="dev"
categorie="outil"
version="0.3.5"
version="0.3.6"
etat="stable"
compatibilite="[3.0.0;3.1.*]"
logo="dev-32.png"
@ -12,7 +12,8 @@
<auteur>Collectif SPIP</auteur>
<menu nom="charte" titre="charter:titre_charte" parent="menu_squelette"/>
<menu nom="charte" titre="charter:titre_charte" parent="menu_squelette"/>
<menu nom="fonctions" titre="fonction:titre_onglet_fonctions" parent="menu_squelette"/>
<onglet nom="charte" titre="charter:titre_charte" parent="charte" action="charte" />
<onglet nom="charte_icones" titre="charter:titre_icones" parent="charte" action="charte_icones" />
@ -20,4 +21,8 @@
<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="lister_fonctions" titre="fonction:titre_onglet_fonctions" parent="lister_fonctions" action="fonctions" />
<onglet nom="lister_constantes" titre="fonction:titre_onglet_constantes" parent="lister_fonctions" action="constantes" />
<onglet nom="lister_images" titre="fonction:titre_onglet_images" parent="lister_fonctions" action="images" />
</paquet>

41
prive/squelettes/contenu/constantes.html

@ -0,0 +1,41 @@
[(#VAL{lister_fonctions}|barre_onglets{lister_constantes})]
<h1><:fonction:titre_page_constantes:></h1>
#FORMULAIRE_LISTER_CONSTANTES
<div class="nettoyeur"></div>
<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="prefixe secondaire"><:fonction:info_prefixe:></th>
<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="[(#COMPTEUR_BOUCLE|alterner{'row_odd','row_even'})]">
<td class="prefixe secondaire">[<strong>(#_constantes:CLE|unique)</strong>]</td>
<td class="constante principale">#CLE</td>
<td class="valeur secondaire">[(#VALEUR|print_r{1})]</td>
</tr>
</BOUCLE_prefixe>
</B_prefixe>
<tr class="[(#COMPTEUR_BOUCLE|alterner{'row_odd','row_even'})]">
<td class="prefixe secondaire">[<strong>(#ENV{prefixe,''}|unique)</strong>]</td>
<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>

48
prive/squelettes/contenu/fonctions.html

@ -1,25 +1,43 @@
<h1><:fonction:titre_page_fonction:></h1>
[(#VAL{lister_fonctions}|barre_onglets{lister_fonctions})]
<h1><:fonction:titre_page_fonctions:></h1>
[(#SET{icone_ok,[(#CHEMIN_IMAGE{ok-16.png}|balise_img)]})]
[(#SET{icone_ko,[(#CHEMIN_IMAGE{supprimer-8.png}|balise_img)]})]
#FORMULAIRE_LISTER_FONCTIONS
<div class="nettoyeur"></div>
<B_fonctions>
<div class="liste-objets fonctions">
[<strong class="caption">[(#ENV{prefixe,''})&nbsp;: ](#TOTAL_BOUCLE|singulier_ou_pluriel{fonction:une_fonction,fonction:des_fonctions})</strong>]
<ul class="spip liste">
<BOUCLE_fonctions (DATA) {source table, (#ENV{prefixe,''}|lister_fonctions)}>
<B_prefixe>
<li>#CLE
<ul class="spip liste">
[<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="prefixe secondaire"><:fonction:info_prefixe:></th>
<th class="fonction principale"><:fonction:info_fonction:></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}>
<li>#VALEUR <a href="http://code.spip.net/@#VALEUR" target="_blank" class="aide">[(#CHEMIN_IMAGE{aide-16.png}|balise_img|inserer_attribut{title,<:titre_image_aide:>})]</a></li>
<tr class="[(#COMPTEUR_BOUCLE|alterner{'row_odd','row_even'})]">
<td class="prefixe secondaire">[<strong>(#_fonctions:CLE|unique)</strong>]</td>
<td class="fonction principale">[(#VALEUR|replace{'_','_<wbr/>'})] <a href="http://code.spip.net/@#VALEUR" target="_blank" class="aide">[(#CHEMIN_IMAGE{aide-16.png}|balise_img|inserer_attribut{title,<:titre_image_aide:>})]</a></td>
<td class="surcharge secondaire">[(#VALEUR|match{(_dist)$}|?{[(#GET{icone_ok})],[(#GET{icone_ko})]})]</td>
</tr>
</BOUCLE_prefixe>
</li>
</ul>
</B_prefixe>
<li>#VALEUR <a href="http://code.spip.net/@#VALEUR" target="_blank" class="aide">[(#CHEMIN_IMAGE{aide-16.png}|balise_img)]</a></li>
<//B_prefixe>
</BOUCLE_fonctions>
</ul>
</B_prefixe>
<tr class="[(#COMPTEUR_BOUCLE|alterner{'row_odd','row_even'})]">
<td class="prefixe secondaire">[<strong>(#ENV{prefixe,''}|unique)</strong>]</td>
<td class="fonction principale">[(#VALEUR|replace{'_','_<wbr/>'})] <a href="http://code.spip.net/@#VALEUR" target="_blank" class="aide">[(#CHEMIN_IMAGE{aide-16.png}|balise_img|inserer_attribut{title,<:titre_image_aide:>})]</a></td>
<td class="surcharge secondaire">[(#VALEUR|match{(_dist)$}|?{[(#GET{icone_ok})],[(#GET{icone_ko})]})]</td>
</tr>
<//B_prefixe>
</BOUCLE_fonctions>
</tbody>
</table>
</div>
</B_fonctions>

4
prive/squelettes/contenu/images.html

@ -1,3 +1,5 @@
[(#VAL{lister_fonctions}|barre_onglets{lister_images})]
<h1><:fonction:titre_page_images:></h1>
#FORMULAIRE_LISTER_IMAGES
@ -11,9 +13,9 @@
[<caption>[(#ENV{prefixe,''})&nbsp;: ](#GRAND_TOTAL|singulier_ou_pluriel{fonction:une_image,fonction:des_images})</caption>]
<thead>
<tr class="first_row">
<th class="prefixe secondaire"><:fonction:info_prefixe:></th>
<th class="nom principale"><:fonction:info_nom:></th>
<th class="exif secondaire"><:fonction:info_technique:></th>
<th class="prefixe secondaire"><:fonction:info_prefixe:></th>
</tr>
</thead>
<tbody>

20
prive/squelettes/inclure/image_info_ligne.html

@ -1,16 +1,16 @@
[(#SET{pathinfo,[(#ENV{image}|pathinfo)]})]
<tr class="[(#ENV{class})]">
<td class="prefixe secondaire">
[<strong>(#ENV{prefixe}|unique)</strong>]
</td>
<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="prefixe secondaire">
[(#ENV{prefixe})]
</td>
</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>
</tr>
Loading…
Cancel
Save