Startseite mit Kategorien und Alben einschränken Startseite mit Kategorien und Alben einschränken
 

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Main Menu

Startseite mit Kategorien und Alben einschränken

Started by odwphoenix, June 30, 2015, 07:51:14 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

odwphoenix

Hallo,

kann man den Zugriff für Gäste so einschränken, dass diese nur die Startseite mit den Kategorien und Alben sehen?
Für den weiteren Zugriff müssen sich die Besucher dann registrieren. Die Berechtigungen "Thumbnail, Bild in Zwischengröße und Vollbild" sind mir bekannt.

Viele Grüße

Αndré

Worin besteht der Unterschied zu den dir bereits bekannten Berechtigungen?

odwphoenix

Hallo,

vielen Dank für die Rückmeldung. Es soll lediglich die Startseite mit Kategorie und Alben mit Thumbnail angezeigt werden. Klickt man auf ein Album, dann soll man sich erst anmelden müssen. Wenn ich nun die Berechtigung nur auf die Thumbnails setze, dann hat man trotzdem Zugriff auf das Album mit den Thumbnails. Das soll verhindert werden. Gibt es hierzu eine Einstellung?

Viele Grüße

Αndré

Eine Einstellung gibt es dafür nicht, das habe ich mir aber gerade als neues Feature für eine spätere Coppermine-Version notiert.

Derzeit können wir aber problemlos die Theme-Engine benutzen um das zu erreichen. Kopiere dazu die Funktion theme_display_thumbnails aus themes/sample/theme.php in die theme.php-Datei deines Themes ein, wenn sie dort noch nicht existiert. Suche dann nach
$superCage = Inspekt::makeSuperCage();
und füge darunter folgenden Code ein
    if (!USER_ID) {
        // TODO
    }


Je nachdem was passieren soll, wenn Personen versuchen ein Album zu öffnen, muss das "TODO" noch ersetzt werden. Denkbar wäre eine Nachricht, dass nur registrierte Benutzer Zugriff erhalten. Alternativ könnte man auch direkt auf login.php oder register.php umleiten, das ist dann für den Benutzer aber evtl. nicht unbedingt ersichtlich, wieso er jetzt umgeleitet wurde. Lass mich wissen, was du haben möchtest.

odwphoenix

Hallo,

wie lautet der Code für die Umleitung auf die "login.php"?

Viele Grüße

Αndré

    if (!USER_ID) {
        header('Location: login.php');
    }

odwphoenix

Hallo,

wenn ich den Code einfüge, dann erscheint gleich die Anmeldemaske (wie die Berechtigung "Zugriff erlauben = Nein").
Der Gast soll aber die Chance erhalten die Startseite mit den Alben usw. zu sehen. Erst wenn dieser auf ein Album klickt, soll die Anmeldemaske erscheinen.
Gibt es hierzu noch eine Idee?

Viele Grüße

Αndré

Wo genau hast du den Code denn jetzt eingefügt?

odwphoenix

So wie es beschrieben wurde.

Quote from: Αndré on July 06, 2015, 02:41:04 PM
Eine Einstellung gibt es dafür nicht, das habe ich mir aber gerade als neues Feature für eine spätere Coppermine-Version notiert.

Derzeit können wir aber problemlos die Theme-Engine benutzen um das zu erreichen. Kopiere dazu die Funktion theme_display_thumbnails aus themes/sample/theme.php in die theme.php-Datei deines Themes ein, wenn sie dort noch nicht existiert. Suche dann nach
$superCage = Inspekt::makeSuperCage();
und füge darunter folgenden Code ein
    if (!USER_ID) {
        // TODO
    }


Je nachdem was passieren soll, wenn Personen versuchen ein Album zu öffnen, muss das "TODO" noch ersetzt werden. Denkbar wäre eine Nachricht, dass nur registrierte Benutzer Zugriff erhalten. Alternativ könnte man auch direkt auf login.php oder register.php umleiten, das ist dann für den Benutzer aber evtl. nicht unbedingt ersichtlich, wieso er jetzt umgeleitet wurde. Lass mich wissen, was du haben möchtest.

Αndré

Hast du zufällig Meta-Alben auf der Startseite aktiv (z.B. lastup)? Daran habe ich bisher nicht gedacht, dass auch dort diese Funktion genutzt wird. Ich suche eine bessere Stelle für den Code.

Αndré

Versuch es mal mit folgendem Code an derselben Stelle:
    global $CPG_PHP_SELF;
    if (!USER_ID && $CPG_PHP_SELF == 'thumbnails.php') {
        header('Location: login.php');
    }

odwphoenix

Hallo,

nun funktioniert alles wie es soll.
Vielen Dank für die Unterstützung und den Code.
Dieses Thema kann nun geschlossen werden.

Viele Grüße