alfisti.net
07.08.2004, 12:54
Ciao,
das ist eigentlich kein Hack aber ich wusste nicht wohin damit.
Da ich mich mit php so gut wie gar nicht auskenne und mir die Zeit fehlte das ganze "ordentlich" zu machen, habe ich folgende einfache Lösung gefunden um im postbit einen Link zur Coppermine Galerie einzubauen, der nur angezeigt wird, wenn auch tatsächlich ein Bild vorhanden ist.
Beispiel: http://www.alfa-forum.com/showthread.php?t=29404
Rechts oben die Links mit dem Auto davor.
Folgendes ist zu tun:
1.
Erstelle ein custom profil field: "radio button"
- Option Nein/Ja
- Set Default to: YES
- Field required: YES
- Field hided in profil: NO (IMPORTANT!!)
- Field searchable: NO
- Show on Memberlist: NO
- Allow user to input their own value: NO
- Which page display option: this is your choice!
Merke Dir die field ID, die ist später wichtig!
2.
Bearbeite das postbit-template
Füge den folgenden Code an die Stelle, an der ein Link zur Galerie erscheinen soll:
<if condition="$post[field1] == 'Ja'"><div>
<img src="link/zu/Deinem/icon.gif" border="0" alt="Zeige Galerie-Bilder von $post[username] ">
<a target="_blank" href="http://www.deinedomain.de/galerie/thumbnails.php?album=lastupby&uid=$post[userid]">Zeige Galerie-Bilder von $post[username]</a>
</div></if>
WICHTIG: Ändere "$post[field1]" zu der Field ID Deines neu angelegten Custom Field. Ändere die Links so, dass sie auf Dein Forum/Galerie verweisen ;)
2a
Um persönliche Alben zu linken gib folgendes ein:
<if condition="$post['catuserid'] = $post['userid'] + 10000"></if>
<if condition="$post[field2] == 'Ja'"><div>
<img src="link to your/icon.gif" border="0" alt="Album of $post[username] ">
<a target="_blank" href="http://www.yourdomain.com/gallery/index.php?cat=$post[catuserid]">Album von $post[username] </a>
</div></if>
Vielen Dank an Xeon für die catuserID Lösung :)
3.
Ändere die Datei forumlinks.php:
Die FieldID und der Prefix für die Coppermine Tabellen müssen angepasst werden!
$DB_site->query('UPDATE userfield,COPPERMINEPREFIX_pictures SET userfield.field1 = "Ja" WHERE userfield.userid = COPPERMINEPREFIX_pictures.owner_id');
Speichere die angehängte Datei "forumlinks.php" in: includes\cron
4.
Erzeuge einen neuen Task im Admin CP (dritte Gruppe von unten im linken Menü)
Name: Forumlinks
Alles andere mit "*" oder wie Du es sonst haben möchtest.
Filename: ./includes/cron/forumlinks.php
Das ist alles.
Der Cronjob wird nun täglich überprüfen welcher User Bilder in der Galerie hat und das Custom Feld entsprechend mit "Ja" füllen.
Das Postbit Template zeigt nur dann die Links, wenn das Custom Field gefüllt ist.
Ich weiss das dies eine Krücke ist, da mir aber der Skill und vor allem die Zeit fehlt bis jemand mal was ordentliches in PHP macht, tut es die Lösung auch.
Schönes Wochenende
André
Dies ist ein Crossposting zum englischen Coppermine Forum
das ist eigentlich kein Hack aber ich wusste nicht wohin damit.
Da ich mich mit php so gut wie gar nicht auskenne und mir die Zeit fehlte das ganze "ordentlich" zu machen, habe ich folgende einfache Lösung gefunden um im postbit einen Link zur Coppermine Galerie einzubauen, der nur angezeigt wird, wenn auch tatsächlich ein Bild vorhanden ist.
Beispiel: http://www.alfa-forum.com/showthread.php?t=29404
Rechts oben die Links mit dem Auto davor.
Folgendes ist zu tun:
1.
Erstelle ein custom profil field: "radio button"
- Option Nein/Ja
- Set Default to: YES
- Field required: YES
- Field hided in profil: NO (IMPORTANT!!)
- Field searchable: NO
- Show on Memberlist: NO
- Allow user to input their own value: NO
- Which page display option: this is your choice!
Merke Dir die field ID, die ist später wichtig!
2.
Bearbeite das postbit-template
Füge den folgenden Code an die Stelle, an der ein Link zur Galerie erscheinen soll:
<if condition="$post[field1] == 'Ja'"><div>
<img src="link/zu/Deinem/icon.gif" border="0" alt="Zeige Galerie-Bilder von $post[username] ">
<a target="_blank" href="http://www.deinedomain.de/galerie/thumbnails.php?album=lastupby&uid=$post[userid]">Zeige Galerie-Bilder von $post[username]</a>
</div></if>
WICHTIG: Ändere "$post[field1]" zu der Field ID Deines neu angelegten Custom Field. Ändere die Links so, dass sie auf Dein Forum/Galerie verweisen ;)
2a
Um persönliche Alben zu linken gib folgendes ein:
<if condition="$post['catuserid'] = $post['userid'] + 10000"></if>
<if condition="$post[field2] == 'Ja'"><div>
<img src="link to your/icon.gif" border="0" alt="Album of $post[username] ">
<a target="_blank" href="http://www.yourdomain.com/gallery/index.php?cat=$post[catuserid]">Album von $post[username] </a>
</div></if>
Vielen Dank an Xeon für die catuserID Lösung :)
3.
Ändere die Datei forumlinks.php:
Die FieldID und der Prefix für die Coppermine Tabellen müssen angepasst werden!
$DB_site->query('UPDATE userfield,COPPERMINEPREFIX_pictures SET userfield.field1 = "Ja" WHERE userfield.userid = COPPERMINEPREFIX_pictures.owner_id');
Speichere die angehängte Datei "forumlinks.php" in: includes\cron
4.
Erzeuge einen neuen Task im Admin CP (dritte Gruppe von unten im linken Menü)
Name: Forumlinks
Alles andere mit "*" oder wie Du es sonst haben möchtest.
Filename: ./includes/cron/forumlinks.php
Das ist alles.
Der Cronjob wird nun täglich überprüfen welcher User Bilder in der Galerie hat und das Custom Feld entsprechend mit "Ja" füllen.
Das Postbit Template zeigt nur dann die Links, wenn das Custom Field gefüllt ist.
Ich weiss das dies eine Krücke ist, da mir aber der Skill und vor allem die Zeit fehlt bis jemand mal was ordentliches in PHP macht, tut es die Lösung auch.
Schönes Wochenende
André
Dies ist ein Crossposting zum englischen Coppermine Forum