NextGEN Gallery: Galerie-Widget benutzerspezifisch filtern

Als Ergänzung zur Zugriffssteuerung für einzelne Galerien wird auch noch das NextGEN-Widget angepasst. Denn natürlich soll auch das Widget dem jeweiligen Benutzer nur Bilder aus Galerien anzeigen, für die er zugriffsberechtigt ist. Das Widget wird zunächst so konfiguriert, dass grundsätzlich “Alle Galerien” als Quelle für anzuzeigende Bilder verwendet werden. NextGEN Widget

Die Methode zur Zugriffssteuerung nach Benutzer wird nun in die Datei “nextgen-gallery/products/photocrati_nextgen/modules/widget/class.widget_gallery.php” eingebaut:

  
  $gallery_ids = array();
  $list = explode(',', $instance['list']);
  foreach ($mapper->find_all() as $gallery) {

    require_once("/pfad-zum-blog/wp-content/plugins/
      nextgen-gallery/products/photocrati_nextgen/
      modules/ngglegacy/view/isUserPermitted.php");
       
    if (isUserPermitted($gallery)) {
      if (!in_array($gallery->{$gallery->id_field}, $list))
        $gallery_ids[] = $gallery->{$gallery->id_field};
    }

  }
  $params['container_ids'] = implode(',', $gallery_ids);
   

Die Berechtigungsabfrage wird in jenen Loop eingesetzt, der die Galerien zur Auswahl der Bilder zusammenstellt. Dazu wird hier die gleiche PHP-Datei isUserPermitted.php verwendet, die schon zur Zugriffssteuerung für Galerien verwendet wurde. Diese Datei kann auch an anderer Stelle liegen, dann muss der obige Pfad entsprechend angepasst werden.

Mit dieser kleinen Ergänzung ist sichergestellt, dass Nutzer auch im NextGEN-Widget nur Bilder aus Galerien sehen, für die sie als Berechtigte eingetragen sind.

3 Kommentare

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *