coppermine-gallery.com/forum

Support => Deutsch (German) => Language Specific Support => cpg1.4.x Deutsch (German) => Topic started by: Visnah on April 25, 2008, 12:06:47 PM

Title: [Solved]: Anzeige Fehler bei Album mit Passwort
Post by: Visnah on April 25, 2008, 12:06:47 PM
Hallo,
ich hab mir die Coppermine als privates Album im Intern für ein paar Freunde aufgesetzt. Ich will die Albums nur mit einem Passwort schützen das die Freunde schon kennen.
Funktioniert auch an sich recht gut. Leider kommt nach der Eingabe des Passworts erstmal ein Fehler "Keine Datei zum Anzeigen vorhanden (oder Du hast keine Berechtigung, das Album zu sehen".
Wenn ich danach nochmal auf die Albumliste klicke ist alles da. Da das ganze ja als Cookie abgelegt wird funktionierts solange der Cookie gültig ist.

Ich habe über das Original-Coppermine nur 2 Sachen drüber installiert einmal     
LightBox JS for Fullsize Popup Slideshow  http://forum.coppermine-gallery.net/index.php/topic,49596.0.html (http://forum.coppermine-gallery.net/index.php/topic,49596.0.html)
danach trat der Fehler noch nicht auf.
Erst als ich cpg1.4 modpack by Stram installiert trat der Fehler auf.
Kann mir jemand helfen ?
Hier der Link zur Seite http://www.softmail.de/coppermine/index.php (http://www.softmail.de/coppermine/index.php) Das Passwort ist test.

Viele Grüße
Visnah
Title: Re: Anzeige Fehler bei Album mit Passwort
Post by: Αndré on April 25, 2008, 05:08:37 PM
hm.. ist ja seltsam.. ich kann dir zwar nicht bei deinem problem helfen, aber wenn die gesamte galerie privat sein soll und du immer dasselbe passwort benutzt, koenntest du auch gleich den ganzen cpg-ordner per htaccess-datei schuetzen..


-
muu
Title: Re: Anzeige Fehler bei Album mit Passwort
Post by: Visnah on April 25, 2008, 09:00:03 PM
Danke für den Tipp, aber ich kann dann keinen Hint eingeben damit mich nicht jeder Anrufen muss für das Passwort.
Es soll nicht 100% sicher sein nur nicht "ganz" öffentlich :)
Title: Re: Anzeige Fehler bei Album mit Passwort
Post by: Αndré on April 25, 2008, 09:44:27 PM
wenn du wie bei deiner galerie den text "wer kennt das Passwort ?" meinst, koenntest du den hinweis in dem Parameter 'AuthName' reinmachen :)

aber vielleicht kennt ja jemand den grund fuer dein phaenomen und kann dir die loesung dafuer sagen


-
muu

Title: Re: Anzeige Fehler bei Album mit Passwort
Post by: Joachim Müller on April 26, 2008, 09:41:11 AM
Keine Ahnung, was bei Dir schief läuft. Bei uns (Demo) läuft's wie erwartet (gehe mal zu http://coppermine-gallery.net/demo/cpg14x/thumbnails.php?album=13, Passwort "pass"). Hast Du etwas am "core-code" geändert.
Title: Re: Anzeige Fehler bei Album mit Passwort
Post by: Visnah on April 26, 2008, 12:07:53 PM
Nein, wie schon geschrieben ich hab Coppermine installiert und dann das Plugin für dir Lightbox. Solange funktioniert auch alles. Danach das Stamm Plugin weil ich gerne Wasserzeichen hätte.
Solange ich Stamm nicht installiert habe geht alles. Erst nach Stamm tritt der Fehler auf und zwar nachvollziehbar. Ich hab das gleiche auch auf einer 2ten Domäne genaus nochmal nachvollzogen.
Title: Re: Anzeige Fehler bei Album mit Passwort
Post by: Joachim Müller on April 26, 2008, 01:51:21 PM
Du meinst vermutlich Stramms Modpack - das ist kein Plugin. Da kann ich dann wenig dazu sagen; vielleicht schaut Stramm ja mal zufällig hier in diesen Thread rein.
Title: Re: Anzeige Fehler bei Album mit Passwort
Post by: Stramm on April 26, 2008, 06:46:26 PM
Ist ein bekanntes Problem. Hatte noch keine Zeit dem nachzugehen. Wenn Du aber das Buddy Feature nicht benutzt, dann kann es recht einfach korrigiert werden.

In include/functions.inc.php die function get_private_album_set() mit der von einem unmodifzierten Coppermine überschreiben.
Title: Re: Anzeige Fehler bei Album mit Passwort
Post by: Stramm on April 26, 2008, 06:53:47 PM
hab mal nachgesehen... müßte damit korrigiert sein
function get_private_album_set($aid_str="")
{
        if (GALLERY_ADMIN_MODE) return;

        global $CONFIG, $ALBUM_SET, $USER_DATA, $FORBIDDEN_SET, $FORBIDDEN_SET_DATA;

        $FORBIDDEN_SET_DATA = array();

        if ($USER_DATA['can_see_all_albums']) return;

                //Stuff for Album level passwords
        if (isset($_COOKIE[$CONFIG['cookie_name']."_albpw"]) && empty($aid_str)) {
          $alb_pw = unserialize($_COOKIE[$CONFIG['cookie_name']."_albpw"]);

          foreach($alb_pw as $aid => $value) {
            $aid_str .= (int)$aid . ",";
          }

          $aid_str = substr($aid_str, 0, -1);

          $sql = "SELECT aid, MD5(alb_password) as md5_password FROM ".$CONFIG['TABLE_ALBUMS']." WHERE aid IN ($aid_str)";

          $result = cpg_db_query($sql);
          $albpw_db = array();
          if (mysql_num_rows($result)) {
            while ($data = mysql_fetch_array($result)) {
              $albpw_db[$data['aid']] = $data['md5_password'];
            }
          }
          $valid = array_intersect($albpw_db, $alb_pw);
          if (is_array($valid)) {
            $aid_str = implode(",",array_keys($valid));
          } else {
            $aid_str = "";
          }
        }

        $sql = "SELECT aid, category FROM {$CONFIG['TABLE_ALBUMS']} WHERE visibility != '0' AND visibility !='".(FIRST_USER_CAT + USER_ID)."' AND visibility NOT IN ".USER_GROUP_SET;
        if (!empty($aid_str)) {
          $sql .= " AND aid NOT IN ($aid_str)";
                }

                $result = cpg_db_query($sql);
        if ((mysql_num_rows($result))) {
                $set ='';

if ($CONFIG['enable_buddy_private_view'] && USER_ID) {
$buddies = cpg_db_query("SELECT a.aid FROM {$CONFIG['TABLE_ALBUMS']} as a INNER JOIN {$CONFIG['TABLE_BUDDY']} AS b on a.category=b.buddy_id + ". FIRST_USER_CAT ." WHERE b.user_id = ".USER_ID." AND a.visibility = '-1' AND buddy_ok = 'YES' OR category = ".(USER_ID + FIRST_USER_CAT));
while(list($allowed_list[]) = mysql_fetch_row($buddies));

while($album=mysql_fetch_array($result)){
if (!in_array ($album['aid'], $allowed_list) && (USER_ID != $album['category']-FIRST_USER_CAT)) {
                    $set .= $album['aid'].',';
$FORBIDDEN_SET_DATA[] = $album['aid'];
}
            }
if ($set){
                $FORBIDDEN_SET = "p.aid NOT IN (".substr($set, 0, -1).') ';
                $ALBUM_SET .= 'AND aid NOT IN ('.substr($set, 0, -1).') ';
} else {
                  $FORBIDDEN_SET_DATA = array();
                  $FORBIDDEN_SET = "";
                  $ALBUM_SET = "";
}
} //end if buddy and USER_ID
else { // if not buddy list enabled or guest
        while($album=mysql_fetch_array($result)){
                    $set .= $album['aid'].',';
                    $FORBIDDEN_SET_DATA[] = $album['aid'];
            } // while
                $FORBIDDEN_SET = "p.aid NOT IN (".substr($set, 0, -1).') ';
                $ALBUM_SET = 'AND aid NOT IN ('.substr($set, 0, -1).') ';
}//end else
        } // end if ((mysql_num_rows($result)))
else
{
                  $FORBIDDEN_SET_DATA = array();
                  $FORBIDDEN_SET = "";
                  $ALBUM_SET = "";
        }

        mysql_free_result($result);
Title: Re: Anzeige Fehler bei Album mit Passwort
Post by: Visnah on April 29, 2008, 01:47:06 PM
Super.
Vielen Dank. Funktioniert einwandfrei.

Gruß
Visnah :)