Annonce

Écrire une réponse

Veuillez écrire votre message et l'envoyer

Cliquez dans la zone sombre de l'image pour envoyer votre message.

Retour

Résumé de la discussion (messages les plus récents en premier)

plg
2012-07-14 19:12:06

yoyo2000 a écrit:

En attendant, comme dit ddtddt, je peux le cacher de la liste des plugins.
Mais comment faire ça simplement ?

Voilà comment je fais sur Piwigo.com :

Code:

Index: plugins_installed.php
===================================================================
--- plugins_installed.php       (revision 1101)
+++ plugins_installed.php       (revision 1102)
@@ -62,6 +62,13 @@
 //--------------------------------------------------perform requested actions
 if (isset($_GET['action']) and isset($_GET['plugin']))
 {
+  // Piwigo.com specific -- starts here
+  if ('delete' == $_GET['action'])
+  {
+    die ("Hacking attempt!");
+  }
+  // Piwigo.com specific -- stops here
+
   if (!is_webmaster())
   {
     array_push($page['errors'], l10n('Webmaster status is required.'));
@@ -86,6 +93,11 @@
 //--------------------------------------------------------Incompatible Plugins
 if (isset($_GET['incompatible_plugins']))
 {
+  // Piwigo.com specific - starts here
+  echo json_encode(array());
+  exit;
+  // Piwigo.com specific - stops here
+
   $incompatible_plugins = array();
   foreach ($plugins->get_incompatible_plugins() as $plugin => $version)
   {
@@ -106,9 +118,16 @@
 $merged_plugins = false;
 $tpl_plugins = array();
 $active_plugins = 0;
-
 foreach($plugins->fs_plugins as $plugin_id => $fs_plugin)
 {
+  // Piwigo.com specific -- starts here
+  if (in_array($plugin_id, $conf['hidden_plugins']))
+  {
+    continue;
+  }
+  // Piwigo.com specific -- stops here
+
+
   if (isset($_SESSION['incompatible_plugins'][$plugin_id])
     and $fs_plugin['version'] != $_SESSION['incompatible_plugins'][$plugin_id])
   {

Et dans le fichier de conf local :

Code:

$conf['hidden_plugins'] = array(
  'PayPalShoppingCart',
  'rotateImage',
  'SmartAlbums',
  'custom_download_link',
  'icy_picture_modify',
  'AntiAspi',
  'perso_jojo'
);

(oui, il y a un plugin qui s'appelle "perso_jojo", c'est normal)

yoyo2000
2012-06-20 09:50:40

Bonjour et merci de votre implication dans mon problème :)

En fait je ne voyais pas ça comme une question de statut d'utilisateur avec des droits différents sur les plugins, mais plutôt comme un "super plugin" que personne ne pourrait désactiver par l'interface.

L'idéal pour moi serait que ce plugin apparaisse dans la liste mais n'ait pas les liens de désactivation. Même la désactivation par "lien direct" ne serait pas gênante.

En attendant, comme dit ddtddt, je peux le cacher de la liste des plugins.
Mais comment faire ça simplement ?

Merci d'avance.

ddtddt
2012-06-20 00:41:53

Eric a écrit:

Donc, sur Piwigo.com, tu agis comme un super-webmestre des galeries parce que tu en maîtrises le code en plus de l'aspect hébergement. Pour réponse à la demande de yoyo2000, il manque bien un status intermédiaire ou supérieur dans son cas. CQFD ;-)

Non tu te trompe complètement
la dans un établissement scolaire je suis webmaster de mon site
juste il ne faut pas désactiver le plugin d’authentification qui 'attaque une table externe'

à quoi servirais le statut super webmaster pour le développeur de l'interface de préinstallation ?


Je dirais que la solution que je vois en rapide avant d'améliorer le système c'est de
1/ De Cacher de la liste le plugin
2/ ajouter dans la fonction de désinstallation du plugin la réinstallation de celui ci au cas ou le webmaster 'tape' le lien direct de désactivation

plg
2012-06-19 23:04:40

Eric a écrit:

Donc, sur Piwigo.com, tu agis comme un super-webmestre des galeries parce que tu en maîtrises le code en plus de l'aspect hébergement.

Oui bien sûr. Et d'ailleurs sur Piwigo.com, le gestionnaire de plugin est largement tronqué car on ne peut activer/désactiver qu'une liste de plugins préinstallés, donc je ne suis pas à une nouvelle modification spécifique près.

Eric
2012-06-19 22:06:03

Donc, sur Piwigo.com, tu agis comme un super-webmestre des galeries parce que tu en maîtrises le code en plus de l'aspect hébergement. Pour réponse à la demande de yoyo2000, il manque bien un status intermédiaire ou supérieur dans son cas. CQFD ;-)

plg
2012-06-19 21:59:35

Je dois implémenter ce genre de fonctionnalité sur Piwigo.com. Pour être très concret, je veux que le plugin Grum Plugin Classes soit activé et caché et non désactivable (parce que pour des utilisateurs "non techniciens", voir ce plugin n'a aucun intérêt, il ne peuvent faire qu'une chose avec c'est le désactiver et c'est une bêtise).

J'avais prévu de faire ça en modifiant le core. Cela me semble impossible de faire autrement.

Sur Piwigo.com, il y a un autre truc un peu spécifique : certains plugins sont "cachés par défaut" et on peut les rendre visibles (donc activables) au cas par cas. C'est utile pour des plugins très spécifiques ou en phase de tests et sur lesquels des utilisateurs ont demandé à faire les beta-testeurs.

Eric
2012-06-19 21:46:55

Je comprends mieux le contexte mais, là encore, le profil admin est le plus adapté selon moi.

Sinon il manque un échelon intermédiaire entre webmestre et administrateur ou alors un super-webmestre.

ddtddt
2012-06-19 21:38:13

Eric je comprends la demande
C'est pour mettre sur des serveurs d'établissement scolaire, il ne faut pas que le webmaster puisse le désactiver.

Eric
2012-06-19 17:55:24

Le fonctionnement actuel de la galerie ne permet pas de savoir qui a installé un plugin. D'autant que les plugins ne sont pas "personnels" dans le sens où ils touchent souvent au fonctionnement global, parfois, à l'intégrité de la galerie et s'appliquent à tous les utilisateurs.

Et plusieurs webmestres sur une galerie, ce n'est pas une bonne idée selon moi. Le status administrateur est là pour çà. Il ne faudrait que 2 webmestres au maximum - l'un pouvant remplacer l'autre en cas d'absence - et liés par une grande confiance vu l'impact des actions qu'ils peuvent faire.

Combien de webmestres prévois-tu sur ta galerie ? Leur donner un status d'administrateur ne serait-il pas suffisant ?

yoyo2000
2012-06-19 09:27:45

Bonjour et merci pour ta réponse.

En fait je n'ai pas été assez précis dans ma demande :

je souhaiterai que celui qui a les droits de toucher aux plugins ne puisse pas désactiver le mien et uniquement le mien, tout en étant libre d'en installer/supprimer à sa guise.

Voila, est-ce possible simplement ?
Y a-t-il des hook spécifiques à intercepter ?
Ou faut-il patcher les sources de Piwigo ?

Merci d'avance pour tout éclaircissement.

Eric
2012-06-18 18:46:47

Bonjour,

C'est déjà le cas. Pour désactiver, activer, installer ou supprimer un plugin, il faut avoir le status "Webmestre". Les utilisateurs sous status "administrateur" ne peuvent pas toucher aux plugins.

yoyo2000
2012-06-18 18:14:05

Bonjour,

Existe-t-il un moyen simple d’empêcher la désactivation d'un plugin par l'administrateur ?

Car dans mon cas le plugin permet de s'authentifier à un serveur CAS, il est donc obligatoire.
Cela éviterait aux futurs administrateurs de faire des bêtises.

Merci d'avance.

Pied de page des forums

Propulsé par FluxBB

github twitter newsletter Faire un don Piwigo.org © 2002-2024 · Contact