Lister les pages de configuration, v1

Ce plugin permet de lister sur une page tous les liens vers les pages de configuration des plugins ; il propose également un sous-menu utilisé pour accéder à d’autres plugins utilitaires du même auteur.

Installation

Ce plugin s’installe comme tous les plugins.

Explication

Il n’y a pas de mode d’emploi spécifique à ce plugin. Il a pour mission d’améliorer l’accès aux différentes pages de configuration des plugins installés et activés du site.
Pour exemple, si on veut configurer le plugin MediaBox sur SPIP 3, il faut :
-  survoler “Configurer” puis cliquer sur “Gestion des plugins” ;
-  cliquer sur “Verrouillés” ;
-  enfin sur l’icône représentant de clefs pour accéder à la page de configuration.
Ça ne fait pas beaucoup d’étapes mais on oublie souvent que tel ou tel plugin possède une page de configuration.

Avec le plugin “Lister les pages de configuration”, on aura 1 étape en moins mais surtout son avantage est d’avoir, en un seul coup d’œil, la liste des plugins offrant un formulaire de configuration. Qu’ils soient dans la dist ou pas, sur un SPIP mutualisé ou pas.

Cette page se trouve dans le menu configuration, sous-entrée “Les pages de configuration” ; depuis SPP 3.1 si le webmestre a paramétré le menu Dev dans ses préférences, il faut trouver dans «Développement» la ligne d’accès “Liste des Plugins configurables”.

Les liens du menu

La version 1.0.0 permet grâce à un pipeline de rajouter des éléments au menu. Les plugins suivants utilisent ce pipeline :

Nettoyer les entrées de menus

Si le besoin se faisait sentir de nettoyer les menus de l’espace privé des entrées vers les pages de configuration listées sur la page ?exec=lister_config_conf, cela est possible grâce à l’API d’autorisation de SPIP. En effet, SPIP vérifie à la construction des menus si un élément du menu est autorisé pour l’auteur connecté :

autoriser_$id_menu_dist($faire, $type = '', $id = 0, $qui = null, $opt = null)

$id est le nom de la page appelée. Les pages de configurations sont sous la forme configurer_prefixe. Il faudra alors créer l’autorisation suivante dans le fichier d’autorisations de votre plugin ou votre fichier mes_fonctions.php :

function autoriser_configurerprefixe_menu_dist($faire, $type = '', $id = 0, $qui = null, $opt = null) {
    return false;
}

Ainsi votre entrée menant vers ?exec=configurer_prefixe sera absent du menu de l’espace privé.

Un exemple concret ?
Dans le plugin-dist “Forum”, un menu de configuration est présent dans le paquet.xml :

<menu nom="configurer_forum" titre="forum:titre_forum" parent="menu_configuration" icone="images/forum-16.png" />

Source
L’attribut nom est l’identifiant qui nous intéresse. Il mène vers la page ?exec=configurer_forum. Cela en tête, il vous suffit de créer la fonction suivante :

function autoriser_configurerforum_menu_dist($faire, $type = '', $id = 0, $qui = null, $opt = null) {
    return false;
}

Sauf que… la fonction autoriser_configurerforum_menu_dist existe déjà. Source
Pour SPIP, on peut surcharger une fonction du moment qu’elle se termine par un “_dist”. Donc, vous devrez créer cette fonction dans votre fichier préféré :

function autoriser_configurerforum_menu($faire, $type = '', $id = 0, $qui = null, $opt = null) {
    return false;
}

L’entrée dans le menu de configuration de l’espace privé, menant vers la page ?exec=configurer_forum sera ainsi invisible pour tout le monde. Mais vous la retrouverez sans faute sur la page ?exec=lister_config_conf.

Attention Notez bien que pour SPIP, l’écriture de l’identifiant dans la fonction d’autorisation a changé. L’underscore a disparu, configurer_forum devient configurerforum dans la fonction.

Portfolio

updated on 20 September 2019

Discussion

2 discussions

  • Merci beaucoup ! c’est exactement ce que je cherchais pour avoir une vue d’ensemble des plugins et faciliter les réglages. Ce devrait être proposé dans la _dist à mon sens, directement dans la page “gestion des plugins”.

    Reply to this message

  • Bonjour Teddy,

    J’aurais une suggestion à proposer, car je n’en n’ai pas vu la possibilité :
    pouvoir afficher le lien de ce plugin dans le menu Dev (s’il est disponible)

    Cela pourrait d’ailleurs tre généralisé à tous tes plugins^de développeur professionnel ;-)...

    PS et on pourrait finaliser le plugin https://contrib.spip.net/4710,
    pour enregistrer un paquet plugins_site.xml à rajouter à Mes_Fichiers
    qui provoquerait effectivement le rechargement des plugins !
    YannX

    Reply to this message

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom