Coppermine neueste Bilder Mod für SMF
#1
Hallo!

erstmal vielen dank für diesen mod! gefällt mir sehr gut!

ich habe aber ein kleines problem und zwar zeigt er mir im smf zwar die neuesten bilder, aber auch die nicht öffentlichen.

gibt es eine möglichkeit diesen mod so anzupassen dass man als neueste Bilder diejenigen sieht, entsprechend dem einloggzustand (gast oder mitglied) und eingeloggt natürlich dann abhängig von den berechtigungen.

über hilfe würde ich mich freuen, da dieser zustand so natürlich nicht lange onine sein kann.

grüsse
clemens
  Zitieren
#2
Hallo und willkommen im Netboard!

Das Script liest zur Zeit lediglich alle Bilder aus der Galerie. Man könnte bestimmte Alben komplett verbieten, was so aber vermutlich auch nicht gedacht ist wenn ich dich richtig verstehe.
Deine Galerie ist also an die Datenbank des SMF gekoppelt und die Alben sind je nach Benutzergruppe öffentlich oder nicht. Sehe ich das richtig?

Dann müsstest du mir kurz sagen welche Bridge (ist es doch denke ich) du dafür verwendest. Also zwischen SMF und Coppermine.

Gruß
pattex
  Zitieren
#3
Hallo! Smile

ja das verstehst du richtig. meine galerie ist mit smf1.1.7 gebridget und die alben sind benutzergruppenabhängig.

welche bridge ist ne gute frage, ... wo sehe ich das denn? soweit ich weiss ging das so gut wie automatisch das bridging....

danke und gruss
clemens

EDIT: ich habe cpg14x - evtl sagt das auch was über die bridge aus!?

EDIT1: ok ich denke ich habs und vermute die bridge heisst smf10.inc.php
  Zitieren
#4
Hallo,

Ich bräuchte die Daten von der Tabelle cpg_albums und smf_membergroups(wenn das möglich ist). Kannst du mir auch per Mail senden an info@net-board.net
Geht darum wie deine Gruppen heißen und welche ID sie haben.

Habe zwar bereits eine Änderung gemacht, die nun nach Registriert, Gast und Admin unterscheiden kann, das dürfte aber in jedem Board verschieden sein. Brauche daher ein praktisches Beispiel aus dem laufenden Betrieb (also wie es bei dir eingerichtet ist).

Gruß
pattex
  Zitieren
#5
Hab die Datenbanken erhalten und das Script entsprechend angepasst.

Die Bilder werden nun angezeigt je nachdem in welchen Benutzergruppen der User ist.
Alben, die für alle öffentlich sind, werden immer angezeigt.

Man kann auch neue Nutzergruppen anlegen die dann ebenfalls unterschieden werden.
Gäste bekommen die Gruppe "Newbie". Kann aber auch geändert werden, sodass Gäste wirklich nur öffentliche Alben sehen.

Vor der Änderung solltest du die BoardIndex.php sichern.
Änderungen:
###Datei: /smf/Sources/BoardIndex.php###

Suche:
// Coppermine Last Pictures(by net-board.net)

füge darunter ein:
Code:
$usergroup=$user_info['groups'];
if($user_info[is_guest]) $usergroup[0]=4;

suche:
$request = db_query("SELECT * FROM ".$pr."pictures...

diese Zeile und darüber die Zeile mit $sql muss komplett ersetzt werden mit:
Code:
for($i=1;$i<count($usergroup);$i++){
    $sql1.="or a.visibility=".($usergroup[$i]+100)." ";
}

$sql = "SELECT * FROM ".$pr."albums as a,".$pr."pictures as p WHERE p.aid=a.aid AND (a.visibility=".($usergroup[0]+100)." ".$sql1." or a.visibility=0) ORDER BY p.pid DESC LIMIT ".$n."";
$request = db_query($sql, __FILE__, __LINE__);

Der ganze Abschnitt in der BoardIndex.php sollte dann so aussehen:
Code:
        // Coppermine Last Pictures(by net-board.net)

$usergroup=$user_info['groups'];
if($user_info[is_guest]) $usergroup[0]=4;

/* SETTINGS */
$path="url"; // URL zu deiner Coppermine Gallerie
$pr="prefix"; // Prefix deiner Coppermine Gallerie (SQL)
$n="6"; // Anzahl der angezeigten Bilder
$db_n="dbname"; // Datenbankname

mysql_select_db($db_n)or die(mysql_error());
for($i=1;$i<count($usergroup);$i++){
    $sql1.="or a.visibility=".($usergroup[$i]+100)." ";
}


$sql = "SELECT * FROM ".$pr."albums as a,".$pr."pictures as p WHERE p.aid=a.aid AND (a.visibility=".($usergroup[0]+100)." ".$sql1." or a.visibility=0) ORDER BY p.pid DESC LIMIT ".$n."";


$request = db_query($sql, __FILE__, __LINE__);
$position=0;
.
.
.


Viel Erfolg beim Umbau! Smile
  Zitieren
#6
Hallo Pattex!

Super vielen Dank! Der Einbau hat geklappt. Und die Bilder sind den Berechtigungen entsprechende Thumbs. Smile

hab aber noch ne frage weil du schreibst:

Zitat:diese Zeile und darüber die Zeile mit $sql muss komplett ersetzt werden mit:

dann schreibst du weiter unten:
Zitat:Der ganze Abschnitt in der BoardIndex.php sollte dann so aussehen:
Code:
...
mysql_select_db($db_n)or die(mysql_error());
...

in der beschreibung wie die BoardIndex.php aussehen sollte, ist diese zeile $sql nicht ersetzt. soll ich diese zeile nun da lassen oder wie oben geschrieben komplett ersetzten?

derzeit hab ich sie drin, genauso wie du meintest dass die BoardIndex.php aussehen soll.

dann tritt folgendes auf, die bilder werden wunschgemäß angezeigt, doch der text unter den bildern ist nicht der "title" der Bilder sondern der Text des Albumnamens.
ich würde aber lieber den "title" dort sehen.

kannst du mir bitte sagen wie und wo ich das ändere?

grüsse
clemens
  Zitieren
#7
Sorry für die Missverständnisse:
Die Zeile: mysql_select_db($db_n)or die(mysql_error());
sollte natürlich drin bleiben.

Wie du den Titel wieder unter die Bilder bekommst schreib ich gleich.

Gruß pattex
  Zitieren
#8
Ok, so zeigst du unter den Bildern die Titel an:

Ersetze diese Zeile:
Code:
$sql = "SELECT * FROM ".$pr."pictures as p,".$pr."albums as a WHERE p.aid=a.aid AND (a.visibility=".($usergroup[0]+100)." ".$sql1." or a.visibility=0) ORDER BY p.pid DESC LIMIT ".$n."";

durch:
Code:
$sql = "SELECT * FROM ".$pr."albums as a,".$pr."pictures as p WHERE p.aid=a.aid AND (a.visibility=".($usergroup[0]+100)." ".$sql1." or a.visibility=0) ORDER BY p.pid DESC LIMIT ".$n."";

Gruß
pattex
  Zitieren
#9
YEAH WOW YIPIEEE !

Super Arbeit Pattex! Wirklich klasse gemacht!

jetzt sieht mein forum doch gleich mal viel attraktiver aus.

VIELEN VIELEN VIELEN DANK für den schnellen und professionellen Support!

Grüsse
Clemens

Thema ist von meiner Seite her gelöst und kann beendet werden. Danke!
  Zitieren
#10
Hallo Pattex!

Hab noch ne Frage, ...

wäre es möglich diese mod so umzuschreiben, dass nicht die "neuesten bilder" sondern "zufallsbilder" angezeigt werden?

gruss
clemens

EDIT: geht das evtl so? eine änderung in der BoardIndex.php:

vorher:
Code:
<a href='".$path."displayimage.php?album=[B]lastup[/B]&cat=".$album."&pos=".$position."' alt='".$row['title']."' title='".$row['title']."' target='_blank'><img src='".$path."albums/".$row['filepath']."thumb_".$row['filename']."' style='border:none;'></a>

nachher:
Code:
<a href='".$path."displayimage.php?album=[B]random[/B]&cat=".$album."&pos=".$position."' alt='".$row['title']."' title='".$row['title']."' target='_blank'><img src='".$path."albums/".$row['filepath']."thumb_".$row['filename']."' style='border:none;'></a>
  Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 8 Gast/Gäste