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.

Discussion

3 discussions

  • Bonsoir,

    j’essaye de faire un peu le menage dans les entrés du back office sur une mutualisation

    exemple concret :
    j’ai activé le plugin alerte d’urgence qui a une entré dans « edition »

    je penser qu’ en faisant ceci j’aurais rendu invisible l’acces a la configuration, ce qui n’est pas le cas

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

    qu’est ce que je fais de mal ?

    Répondre à ce message

  • 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 ».

    Répondre à ce 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

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom