FAQ für Coppermine Photo Gallery
v1.4.x
Quellenangabe und Copyright unter Coppermine
Dokumentation
Mit Tausenden von Benutzern ist es keine Überraschung, dass viele gleiche Fragen in den Supportforen der Coppermine Fotogalerie gestellt werden. Um die Hilfe bei Eurer Websiteentwicklung zu erleichtern haben wir diese grundsätzlichen FAQ hier hinzugefügt. Bitte schaut erst diese FAQ durch, bevor ihr Eure Fragen im Forum stellt.
GD ist eine graphical library, die es PHP ermöglicht Bilder zu bearbeiten. Wenn Du Deinen eigenen Webserver betreibst, dann kannst Du GD unter www.boutell.com/gd/ runterladen. Unter L(Unix) Systemen könnte es nötig sein, abhängig von der Apache Version, PHP neu zu kompilieren. Die meisten neusten PHP Versionen bringen GD direkt mit. Auf den meisten Windows Systemen kann GD direkt in der php.ini aktiviert werden. Wenn Du von einem Webhoster abhängig bist, dann überprüfe, ob GD/GD2 Unterstützung für Deine Seite zur Verfügung steht. Sollte das nicht der Fall sein, frage deinen Webhoster, ob Du es haben kannst oder Suche Dir einen Neuen. GD/GD2 sind meistens ein Standardfeature bei den meisten Webhostern.
ImageMagick ist eine andere graphical library wie GD/GD2 für die Bildbearbeitung. Solltest Du einen eigenen Webserver laufen haben, dann kannst Du es unter imagemagick.org runterladen. Dort sind Sources für Unix, Linux, Mac and Windows erhältlich, sowie binary packeges für verschiedene Server Betriebssysteme. Wenn man bei einem Webhoster ist, dann kann man ImageMagick nicht selbst installieren.
Wenn Du Coppermine noch nicht installiert hast, dann erstelle eine leere
Datai mit dem Namen "info.php". Schreibe den folgenden Code hinein: <?php phpinfo(); ?>. Speichere die Datei und lade sie
auf Deinen Server hoch; anschließend rufe die Datei in deinem Browser auf.
(z.B. http://www.deinedomain.de/info.php). In der ersten Zeile ist die PHP
Version zu finden "PHP Version X.Y.Z"
Bitte beachte: die info.php Datei auf Deinem Websever kann ein
Sicherheitsrisiko sein; am besten nach Gebrauch läschen in ein Passwort
geschütztes Verzeichnis verschieben!
Wenn Du bereits Coppermine installiert hast, dann findest Du eine phpinfo
Datei (phpinfo.php) in den Coppermine Ordnern. Log Dich in Dein Coppermine
Setup als Admin ein und tippe folgende URL in Deinen browser ein:
http://deineadresse.tld/dein_coppermine_ordner/phpinfo.php .
Wenn Du Coppermine noch nicht installiert hast, dann erstelle eine leere Datai mit dem Namen "info.php". Schreibe den folgenden Code hinein: <?php phpinfo(); ?>. Speichere die Datei und lade sie auf Deinen Server hoch; anschließend rufe die Datei in deinem Browser auf. (z.B. http://www.deinedomain.de/info.php). Suche nach einer Tabelle wie dieser:
GD Support | enabled |
GD Version | 1.6.2 or higher |
FreeType Support | enabled |
FreeType Linkage | with TTF library |
JPG Support | enabled |
PNG Support | enabled |
WBMP Support | enabled |
GD2 ist eine aktualisierte Version von GD1 und als solche werden Bilder mit einer besseren Qualität erzeugt (Zwischenbilder und Thumbnails).
Hier ist ein Beispiel, genommen
von w-nailer: about resizing (Original Bildgröße: 1024 x 768 Pixel): |
|
![]() |
![]() |
GD 1.8.4: ImageCreate ImageCopyResized 128 x 96 pixels |
GD 2.0.1: ImageCreateTrueColor ImageCopyResampled 128 x 96 pixels |
Wie in der Coppermine readme Datei genannt:
Du kannst nur ImageMagic oder GD installieren, wenn Du Deinen eigenen Server laufen lässt oder Du hast shell Zugriff auf Deinen Webserver. Wenn Deine Seite bei einem Webhoster liegt, dann kann st Du nur Kontakt zu ihm aufnehmen und fragen, ob er die Erweiterungen für Dich installiert. Sollte das nicht klappen, dann wähle einen anderen Anbieter.
DAs ist natürlich ein Widerspruch in sich: Eine Galerie laufen zu haben bedeutet normalerweise, dass außreichend Speicherplatz für Bilder vorhanden sein muss, aber wenn Du auf dem geringen Speicherplatz, der Dir noch übrig bleibt, nur ein paar wenige Bilder veröffentlichen möchtest, dann gibt es schon ein paar Dateien, die Du (falls nicht benötigt) nicht dochzuladen brauchst oder löschen kannst. Es ist trotzdem empfehlenswert, dass nur erfahrende Benutzer eine Minimuminstallation erstellen. Bei Zweifel besser eine Komplettinstallation machen!
Bei der Upload Fehlersuche in CPG 1.4 ist es empfohlen die Upload Einstellungen in der Gruppenkonsole auf 'nur Einzel upload' einzustellen und den Debug Modus in der Konfigurationskonsole zu aktivieren. Das Ändern dieser Einstellungen schaltet die Fehlermaskierung beim Multiplen Upload ab. Das erlaubt Dir einen Zugrif auf detailliertere Fehlermeldungen.
Anmerkung: HTTP uploads sind limitiert durch Einschränkungen in der PHP Konfiguration.
Der am häufigsten vorkommende Fehler bei Settings ist eine open_basedir Warnung. In dieser Situation hat Dein Serveradministrator die Dateien eingeschränkt mit denen PHP arbeiten kann in einem bestimmten Verzeichnis. Wenn er kein temporäres Verzeichnis mit den open_basedir Einschränkungen erzeugt und spezifiziert hat, dann wird PHP versuchen das temporäre Verzeichnis des Betriebssystems zu nutzen und dies wird durch die open_basedir Beschränkungen abgewiesen.
Einige Anmerkungen über die verschiedenen Arten der
Upload-Möglichkeiten in CPC1.3 (oder neuer):
Mehrfache (multiple) HTTP uploads wurden entwickelt um eine geringe Anzahl
von Dateien zu bewältigen, und habe ein Limit von maximal 10 Dateien auf
einmal. Deshalb ist diese Methode unpassend zum Uploaden von großen
Dateimengen außer Du hast Deinen eigenen Webserver am laufen und hast volle
Kontrolle über die Einstellungen der php.ini. Wenn Du versuchen willst mehr
als 15 oder 20 Dateien gleichzeitig hoch zu laden, solltest Du erwägen statt
dessen den "Batch hinzufügen" Prozess oder das XP Publisher Utilitie zu
nutzen. Beides hat Vor und Nachteile.
Der Batch hinzufügen-Prozess ist schnell, aber er erzeugt eine ganze Menge
Last auf dem Server und als Resultat dessen kann es vorkommen, dass der
Upload unvollständig abbricht. Andererseits der XP Publisher beträchtlich
langsamer, aber er begrenzt die Last auf dem Server. Dies umgeht außerdem
einige der Fallstricke, welche durch die Limits in der php.ini hervorgerufen
werden, durch das Hochladen jeder einzelnen Datei im Batch als jeweils
einzelne post Anfrage.
Dieser Fehler bedeutet, dass die Version von PHP welche auf Deinem Server
installiert ist die GD1/GD2 image library (Bilder Bibliothek) nicht
unterstützt.
Wenn du weißt ,dass die ImageMagick Suite auf deinem Server installiert ist,
könntest Du versuchen diese statt dessen zu nutzen.
Ansonsten musst Du Dir einen anderen Webhost suchen oder Deinen vorhanden
überzeugen GD1/GD2 zu installieren (die GD image library ist jetzt eine
Standardkomponente von PHP und sollte deshalb normalerweise installiert sein)
Coppermine wird nicht laufen ohne GD oder Image Magick.
Das Script muss die Rechte haben zu Erzeugen und Löschen von Dateien.
Editiere die Datei include/search.inc.php
Suche nach der Zeile mit:
$charset = $CONFIG['charset'] == 'language file' ?
$lang_charset : $CONFIG['charset'];
Ersetze dies mit:
$charset = $CONFIG['charset'] == 'language file' ?
$GLOBALS['lang_charset'] : $CONFIG['charset'];
In seltenen Fällen erhalten einige Nutzer diese Fehlermeldung während der Installation:
While trying to retrieve the URL: http://yoursite.com/coppermine/install.php
The system returned:
Zero Sized Reply
Reason:
The remote server did not reply any data for this request.
Please try again later
Leider wissen wir nicht was dies auslöst - Diejenigen Benutzer, die diesen Fehler erhalten, können Coppermine nicht nutzen (tut uns leid). Das Ausschalten oder Entfernen der HTTP Filterung auf der Firewall hilft vielleicht (client und/oder serverseitig). Solltest Du eine Idee haben was diesen Fehler auslöst (und möglicherweise eine Lösung dazu), bitte besuche das Coppermine Support Forum und erleuchte uns.
Versuche die Datei include/init.inc.php zu editieren:
Ändere
$PHP_SELF = isset($_SERVER['REDIRECT_URL']) ? $_SERVER['REDIRECT_URL'] : $_SERVER['SCRIPT_NAME'];zu
$PHP_SELF = $_SERVER['PHP_SELF'];
Du solltest den administrator Deines webhosts kontaktieren, weil Du
gewöhnlich den Ort des temporären Verzeichnisses der Webseite nicht selbst
ändern kannst, welches für Dateiuploads genutzt wird. (Es ist ein Teil der
PHP-Konfiguration).
Wenn Du selbst darauf Einfluss hast, in den open basedir restriction
deiner Seite ist das Temp- Verzeichnis für den Dateiupload eingestellt, es
sollte eins sein auf das Du Zugriff hast.
Prüfe ob deine Version von PHP die Minimalen Anforderungenfür Coppermine
vollständig erfüllt. Wenn deine Version 4.1.0 oder neuer ist , dann ist
dieser Feherl vermutlich durch eine Misskonfiguration des Webservers
entstanden und kein Coppermine Fehler. Wenn Du den Server nicht selbst
richtig konfigurieren kannst, das ist so wenn Du den Server eines Webhost
nutzt, dann kannst Du diese Fehlerumgehung versuchen (auf Dein eigenes
Risiko):
Editiere die Datei "init.inc.php" und suche nach
$PHP_SELF = isset($_SERVER['REDIRECT_URL']) ? $_SERVER['REDIRECT_URL'] : $_SERVER['SCRIPT_NAME'];Ersetze es mit
$PHP_SELF = $_SERVER['PHP_SELF'];
Das Problem:
MySQL kann keine temporäre Datei für das Result Set im entsprechenden
temporären Verzeichnis erzeugen.
Die Lösung:
Ändere die tempdir-Variable so dass sie auf ein beschreibbares Verzeichnis
zeigt. Das erfordert die Änderung der Zeile tmpdir line in der Datei my.cnf,
gewöhnlich in der [mysqld] Sektion (tmpdir = /writable/dir, wobei
/writable/dir ein Verzeichnis ist in welches Du schreiben kannst).
Bitte Deinen Webhoster, dass er diese Änderungen macht.
Das Problem:
Deine Datenbank ist kaputt.
Die Lösung:
Das ist kein Coppermine-Fehler, sondern ein mySQL Fehler. Das kann aber
vielleicht die Datenbanktabelle beeinflussen, die Coppermine benutzt.
Benutze Dein Webseiten Kontroll-Panel zum Reparieren der Datenbank, oder
nutze phpMyAdmin zum ausführen der SQL-Abfrage : REPAIR
TABLE yourPrefix_tableName
(Ersetze yourPrefix_tableName mit deinem tatsächliche Tabellenname z.B.
cpg145_pictures)
Wenn Du die Lösung nicht verstehst bitte Deinen Webhoster damit er die Änderungen für Dich macht.
Coppermine unterstützt die folgenden bbCodes in Bild- und Albenbeschreibungen (die selben welche in phpBB genutzt werden):
code | Ausgabe |
---|---|
[b]fetter Text[/b] |
fetter Text |
[i]schräger Text[/i] |
schräger Text |
[url=http://www.foo.com/bar.html]URL Text[/url] |
URL Text |
[email]user@domain.tld[/email] |
user@domain.tld |
Du "darfst" diese Zeile nicht entfernen - das ist ein Teil der
Vereinbarung: Dir ist es erlaubt Coppermine für Deine Webseite zu benutzen
und zu ändern aber diese Zeile muss erhalten bleiben! Wir sind uns sicher,
dass diese Forderung als Würdigung/Respekt mehr als gerechtfertigt ist. Wir
hoffen, dass Du da mit uns übereinstimmst und sind froh, dass eine so
großartige Software ohne Kosten für Dich zur Nutzung zur Verfügung steht
und das ohne Banner, Ads oder eingebaute Spyware. Dir ist es erlaubt die Art
der Anzeige der Zeile mit CCS anzupassen, so dass sie zum Design deiner
Webseite passt. Editiere dazu die /themes/yourtheme/style.css, suche nach der
class "Footer" und ändere die Einstellungen wie Du möchtest. Sie muss aber
lesbar bleiben.
Notiz: BITTE stelle keine idiotischen Fragen wie diese Zeile zu entfernen ist
im Coppermine Photo
Gallery Support Forum - Dein Posting wird sonst kommentarlos
gelöscht!
Coppermine basiert auf OpenSource Software, welche unter GNU/GPL lizenziert ist (Was Modiffikationen am Code erlaubt, aber Änderungen des Lizenzmodels auch für Modifikationen verbietet) Deshalb kannst Du keine Version von Coppermine kaufen, egal ob die Zeile entfernt wurde oder nicht. Lies die Datei COPYING, welche mit Coppermine ausgeliefert wird für genauere Details.
Entferne einfach den Link; Editiere /themes/deinthema/theme.php, suche
nach der Funktion welche Du entfernen willst und kommentiere den HTML Code
aus.
Beispiel: Wenn Du die Ecard Funktion entfernen willst, suche nach
<td align="center" valign="middle" class="navmenu" width="48">und ersetze es mit
<a href="{ECARD_TGT}" title="{ECARD_TITLE}">
<img src="images/ecard.gif" width="16" height="16" border="0" align="absmiddle" alt="{ECARD_TITLE}"></a>
</td>
<!--<td align="center" valign="middle" class="navmenu" width="48">
<a href="{ECARD_TGT}" title="{ECARD_TITLE}">
<img src="images/ecard.gif" width="16" height="16" border="0" align="absmiddle" alt="{ECARD_TITLE}"></a>
</td>-->
Das sind die Dateien in die Du schauen musst:
<?php
echo <<<EOT
Enter your header/footer content here. What you enter here will be displayed
at the top of my page if it is a header and at the bottom of my page if it is a footer.
EOT;
?>
Benenne sie mit myheader.php und myfooter.php, oder einem anderen eindeutigen name den es noch nicht gibt im cpg Ordner und speicher diese im Coppermine Stammverzeichnis. Danngehe in den AdminModus, klicke auf Einstellungen, scrolle zu Design Einstellungen und gib dort in die dazugehörenden Felder den Name deiner Kopf- und Fußdatei an.
Notitz: Du musst trotzdem die template.html Datei deines Themes ändern um unerwünschte Logos und Einträge über der Menüsektion zu entfernen.
(Vorausgesetzt das Du bereits eine Kategorie und/oder ein Album erzeugt hast, wohin die hochgeladenen Dateien gehen sollen.):
Gegenwärtig ist keine eingebaute Sicherungslösung für Coppermine
verfügbar, bis jetzt. Zum Sichern der Ordner/Datei-Struktur musst Du die
gute alte FTP-Methode benutzen. und ein Tool wie phpMyAdminzum Sichern
der Datenbank (Einge Webhoster, welche mySQL anbieten haben ebenfalls eine
Version von phpMyAdmin vorinstalliert - wenn das so ist, dann nutze diese!).
PhpMyAdmin ist leicht zu installieren: Nur herunterladen, auf der Festplatte
auspacken, die config Datei anpassen und es auf den Server hochladen. (NOTIZ:
Einige Webhoster bieten auch Sicherungsservice an. Du solltest zuerst prüfen
ob dieser Service für Dich auch verfügbar ist.)
Hier ist eine kleine "Wie sichere ich eine Datenbank mit phpMyAdmin"
Einführung:
Es gibt inzwischen auch ein experimentelles PlugIn zum Sichern und Wiederherstellen der Datenbank direkt in Coppermine (Anmerkung des Übersetzers)
(Erste Frage - Ist ein Popupblocker im Browser aktiv/überaktiv?)
Wenn Du sichergestellt hast, dass das Originalbild größer ist als die Einstellung für das Zwischengrößenbild, welche Du gewählt hast, dann stehen die Chancen gut, dass Du deine Themen Vorlage/html-Datei zu viel editiert hast. Überprüfe, dass die Zeile <script type="text/javascript" src="scripts.js"></script> noch drin ist in der Datei /themes/deinthema/template.html die wird gebraucht damit das Pop-Up-Fenster arbeitet....
Der <head>-Teil deiner Template Datei sollte wie dieser aussehen:
<head> <title>{TITLE}</title> <meta http-equiv="Content-Type" content="text/html; charset={CHARSET}" /> {META} <link rel="stylesheet" href="themes/default/style.css" /> <script type="text/javascript" src="scripts.js"></script> </head>- Wenn Du weiter unsicher deswegen bist, vergleiche die Datei template.html aus Deinem Thema mit der aus dem default theme, welches mit Coppermine ausgeliefert wird.
Editiere die displayimage.php und füge hinzu:
if (!USER_ID) cpg_die(ERROR, 'Du must Dich registrieren um
auf diese Seite zugreifen zu koennen', __FILE__, __LINE__);
direkt vor
/************************************************************************** * Local functions definition **************************************************************************/
Wenn dein Webhoster die Verwendung von .htaccess dateien erlaubt (Du musst
Ihn das fragen), dann kannst du das "hotlinking" verhindern durch das
Erzeugen einer .htaccess Datei im Albumsordner.
Öffne Deinen Texteditor und füge die folgenden Zeilen ein und sicher dies
als .htaccess Datei:
SetEnvIfNoCase Referer "^http://www.deinedomain.de/" locally_linked=1 SetEnvIfNoCase Referer "^http://deinedomain.de/" locally_linked=1 SetEnvIf Referer "^$" locally_linked=1 <FilesMatch "\.(gif|png|jpe?g)$"> Order Allow,Deny Allow from env=locally_linked </FilesMatch>Dies wird nur funktionieren wenn Dein Server auf linux/unix und apache läuft UND nur, wenn es Dir durch Deinen Webhoster erlaubt ist .htaccess Dateien zu verwenden oder wenn Du Deinen Eigenen Server hast und "mod_rewrite" erlaubt ist auf Deinem Server. (Habe ich schon erwähnt, dass Selfhosting nur selten eine gute Idee ist, man sollte sich damit schon sehr gut auskennen bevor man einen echten eigenen Webserver betreibt)
"Character encoding" ist wahrscheinlich gesetzt (oder war gesetzt einige
Zeit vorher) auf UTF-8 bei Deiner Einstellungsseite.
Wenn UTF-8 ausgewählt ist, wählt Coppermine Deine Sprache basierend auf
deiner Browserkonfiguration selbst und speichert diese Einstellungen in einem
Cookie. Dies überschreibt die Einstellungen in der CONFIG.
Um dies zu beheben:
Wenn Du die Fehlermeldung: No picture was uploaded. If you have really selected a picture to upload, check that the server allows file uploads... erhältst, prüfe ob es ein Problem mit http-Uploads mit Deinem Server gibt. - diese Funktion kann verboten oder unglücklich knfiguriert sein. In phpinfo(), prüfe das der "file_uploads" an ist, "upload_max_filesize" ist irhendwas um die 2M und "upload_tmp_dir" ist ein existierendes und erlaubtes Verzeichnis! Lies auch die Hinweise zu Uploadfehlern weiter oben in diesem Dokument.
Beachte dass man diese Reihenfolge in den Einstellungen auch auf alphabetisch (und damit automatisch) setzen kann. (Anmerkung des Übersetzers)
Wenn Du eine bestimmte Datei nicht löschen kannst mit deiner FTP Software, dann ist es nicht Coppermine, welches Dir nicht erlaubt dies zu tun, sondern Dein FTP-Server. Das Problem ist die Konfiguration deines Servers. Versuche die Datei zu löschen über ein Script.
Wenn Dein PHP auf dem Server unter dem Nutzer "nobody" läuft, dann sind alle Dateien, welche durch ein PHP Script erzeugt werden (das ist nichts spezielles an Coppermine) Eigentum vom Nutzer "nobody". Daran kann man nichts ändern.
WICHTIG: 0777 (CHMOD 777) sollte nicht die Standardmethode für Verzeichnisse sein wegen des Sicherheitsrisikos. Wenn Deine Galerie auf einem geshareten Server läuft und PHP safe mode ist nicht erlaubt, kann irgendwer mit einem Account auf diesem Server besispielsweise deine Dateien löschen. Es gibt mehreres Themen zu diesem Fehler im Menalto Gallery Forum und verschiedene Nutzer haben gesehen wie Ihre Galerieen gehackt und zerstört wurden deswegen. Das ist kein für Fotogalerieen spezielle Fehler,es betrifft alle PHP scripts welche Verzeichnisse und Dateien erzeugen. Solange jemand Schreibzugriff auf ein Verzeichnis hat, kann er / sie Dateien darin löschen, auch wenn er / sie keine Schreibrechte auf die Datei selbst hat. Wir bedauern sehr, dass wir Nutzer haben, welche sich LAUTSTARK und WIEDERHOLT darüber beschweren, dass sie andauernd Ihren Sysadmin kontakten müssen, damit dieser dieses oder jenes setzt oder zurücksetzt. Oder dass sie Ihre Coppermine Installation wieder löschen mussten, wegen dieses "Coppermine"-FEHLERS und sich deshalb für eine andere Galerie entschieden haben, wegen dieser Unzulänglichkeit um dann später völlig verzweifelt festzustellen, dass auch darin ein Hacker ihre Bilder gelöscht hat. Du glaubst das nicht? Lies dies hier: Auf dem Webhost wo diese Site läuft arbeitet alles prima wenn die Ordner mit Modus 755 erzeugt wurden und die PHP erzeugten Dateien und Verzeichnisse im Besitz des chezgreg Nutzers sind - welchem ich benutze wenn ich mich mit FTP verbinde. Weiterhin sobald eine Datei oder ein Verzeichnis auf meine Site den Modus 777 hat, fährt der Server meine Site herunter und schickt mir eine Emailwarnung dass dies unsicher ist. |
Die maximale Größe der hochladbaren Dateien wird durch verschiedene Einstellungen begrenzt - um herauszufinden warum Du keine großen Bilder hochladen kannst überprüfen bitte Folgendes:
Dies ist meistens ein Cookie-Fehler:
Von Haus aus werden die Alben in der Reihenfolge angezeigt in der sie erstellt werden. Wenn Du diese Sortierreihenfolge einstellen willst, mache Folgendes:
Warum willst Du das machen? Das Löschen der Zwischengrößenbilder behindert die Nutzung vieler großartiger Funktionen, welche Coppermine erst zu dem machen was es heute ist. Die Möglichkeit ecards zu versenden, Kommentare zu den Bildern zu schreiben, die Bilder zu bewerten, Exif-Informationen anzuzeigen, nur um ein paar zu nennen. Wenn Du wirklich Plattenplatz sparen willst, denke drüber nach die Vollgrößenbilder über die Admintools zu löschen. Wenn Du das machst erlaubst Du deinen Nutzern alle Funktionne von Coppermine zu benutzen außer der einen das Vollgrößenbild zu sehen. Am Ende wird Dir das auch mehr Speicherplatz ersparen. Überprüfe aber ob die Größe der Zwischenbilder, welche Du in der Konfiguration eingestellt hast eine Größe ist mit der Du leben kannst.
Besonders klever wäre es die Vollgrößenbilder, welche Du hochlädst, von vorn herein auch nur vernüftig groß sein zu lassen.
Wenn Du aus irgend einem Grund die Zwischengrößenbilder wirklich entfernen musst, dann schau Dir die AdminTools zum Bearbeiten der Zwischengrößenbilder mal näher an oder durchsuche das mods und hacks Board im Coppermine Forum um zu lernen wie es geht.
Seit Coppermine Version 1.4.x wird die Funktion Album Keyword aus den Album Eigenschaften nicht mehr zu Suchzwecken genutzt, sondern um Bilder aus einem Album in ein anderes zu verlinken. Durch benutzen dieser Funktion können Dateien/Bilder in verschiedenen Alben gezeigt werden, während die Datei selbst nur in einem der "virtuellen" Alben auf dem Webserver existiert (der Vorteil besteht darin, dass die Datei nur einmal in der Datenbank verwaltet wird also nur eine Beschriftung, nur ein Zähler, nur eine Bewertung. Auf dem Server physikalisch liegt sie ja sowieso nur einmal). Du musst die Datei nur normal in ein Album hochladen wie Du es normal auch tun würdest, dann füge ein oder mehrere keywords zu der Datei hinzu. Die keyword Funktion liest Leerzeichenzwischen Wörtern als 'break" und betrachtet diese als separate Keywörter. Wenn Du Wortgruppen für Deine Keywords nutzen musst, verbinde sie mit einem Unterstrich oder durch nutzung des ASII Leerzeichens ctrl+Alt+0160 (NOTIZ: die zweite Option arbeitet nur mit latin basierenden Zeichensätzen und sollte deshalb besser nicht benutz werden.) Jedes Album kann NUR ein Keyword oder eine Keyword-Wortgruppe haben. Alle Bilder welche sich in verschiedenen Alben befinden, von welche Du willst, dass Sie im gleichen Album angezeigt werden, müssen das selbe Keyword oder die selbe Keyword-wortgruppe in ihrem zugehörigen Keyword Feld haben. Bilder - anders als Alben können multiple keywords haben geteilt durch normale Leerzeichen. Dies eröffnet Dir die Möglichkeit Bilder in mehreren Alben anzuzeigen. Für die Betrachter dieser Alben sieht es aus, als wären die Dateien ins Album hochgeladen worden.
Wenn Du die AlbumKeywords nutzt um Bilder/Dateien in mehr als einem Album anzuzeigen, dann erlaube die Option "Anzahl der verlinkten Dateien anzeigen" aus der Konfiguration Ansicht Albenliste. Dies zeigt zusätzliche Informationen für den Albumstatus an. Das ist es weshalb, wenn ein Album nicht nur "normale" Dateien, sondern auch verlinkte Dateien über die "album keyword" Option, die Anzahl der verlinkten Dateieen separat angezeigt wird, wie hier "3 Dateien, letzte hinzugefügt am Jan 07, 2007, 3 verlinkte Dateien, 6 Dateien insgesamt". Es können also in Alben "echte" und "verlinkte" Dateien gemischt werden.
By default, the pics are shown alphabetically when you edit them. To
change the sorting order to "by date", edit editpics.php and change
$sql = "SELECT p.*,a.category FROM {$CONFIG['TABLE_PICTURES']} as p ". "INNER JOIN {$CONFIG['TABLE_ALBUMS']} as a ". "ON a.aid=p.aid ". "WHERE p.aid = '$album_id' ". "ORDER BY p.filename LIMIT $start, $count"; $result = cpg_db_query($sql);
$sql = "SELECT p.*,a.category FROM {$CONFIG['TABLE_PICTURES']} as p ". "INNER JOIN {$CONFIG['TABLE_ALBUMS']} as a ". "ON a.aid=p.aid ". "WHERE p.aid = '$album_id' ". "ORDER BY pid LIMIT $start, $count"; $result = cpg_db_query($sql);
When the template.html is read, it is split in 2. What is before the
{GALLERY} tag is output by the pageheader function, what is after by the
pagefooter function.
If your menu is in the "footer" you need to modify your theme.php file
$template_vars = array( '{LANG_DIR}' => $lang_text_dir, '{TITLE}' => $CONFIG['gallery_name'].' - '.$section, '{CHARSET}' => $CONFIG['charset'] == 'language file' ? $lang_charset : $CONFIG['charset'], '{META}' => $meta, '{GAL_NAME}' => $CONFIG['gallery_name'], '{GAL_DESCRIPTION}' => $CONFIG['gallery_description'], '{MAIN_MENU}' => theme_main_menu(), '{ADMIN_MENU}' => theme_admin_mode_menu() ); echo template_eval($template_header, $template_vars);will become
$template_vars = array( '{LANG_DIR}' => $lang_text_dir, '{TITLE}' => $CONFIG['gallery_name'].' - '.$section, '{CHARSET}' => $CONFIG['charset'] == 'language file' ? $lang_charset : $CONFIG['charset'], '{META}' => $meta, '{GAL_NAME}' => $CONFIG['gallery_name'], '{GAL_DESCRIPTION}' => $CONFIG['gallery_description'], ); echo template_eval($template_header, $template_vars);and
$template_vars = array( '{MAIN_MENU}' => theme_main_menu(), '{ADMIN_MENU}' => theme_admin_mode_menu() ); echo template_eval($template_footer, $template_vars);
edit
login.php
and search for
pageheader($lang_login_php['login'],"<META
http-equiv=\"refresh\" content=\"3;url=$referer\">");
and add before it
$referer =
'index.php?cat='.(FIRST_USER_CAT+$USER_DATA['user_id']);
In Config, when "Allow unlogged users (guest or anonymous) access" is set
to "No", unlogged users (i.e. guests or anonymous users) can not access
anything in your gallery except the login screen (and the registration
screen, if you allow registrations). Completely disabling anonymous access
will probably decrease your site's popularity. Use this option only if you
need your gallery to be absolutely private. The recommended setting is to
leave anonymous access enabled and use the more specific permissions by
groups and albums settings instead.
Warning: this is quite a complicated hack for a newbie to perform!
Make sure to back up your original files before attempting this.
Edit displayimage.php and search for:
$info[$lang_picinfo['Filename']] =
htmlspecialchars($CURRENT_PIC_DATA['filename']);
add after it:
$info[$lang_picinfo['Username']] =
htmlspecialchars($CURRENT_PIC_DATA['user_name']);.
Then open /include/functions.inc.php and search for following in function
get_pic_data():
if($select_columns != '*') $select_columns .= ', title,
caption';
and replace it with:
if($select_columns != '*') $select_columns .= ', title,
caption, user_name';.
After that search for:
$result = cpg_db_query("SELECT $select_columns from
{$CONFIG['TABLE_PICTURES']} WHERE aid='$album' $approved $ALBUM_SET ORDER BY
$sort_order $limit");
and replace it with:
$result = cpg_db_query("SELECT $select_columns from
{$CONFIG['TABLE_PICTURES']} AS p LEFT JOIN {$CONFIG['TABLE_USERS']} AS u ON
u.user_id = p.owner_id WHERE p.aid='$album' $approved $ALBUM_SET ORDER BY
$sort_order $limit");
Then you have to add the language string for the username. Open
/lang/yourlang.php and search for:
$lang_picinfo = array(
and add after that:
'Username' => 'Username',
Also you need to execute this query in MySQL (with a tool like phpMyAdmin):
ALTER TABLE `cpg11d_pictures` ADD INDEX ( `owner_id`
);
(NOTE: If your database table_prefix is not "cpg11d_", you will need
to change it in the query)
Edit displayimage.php and change
$info[$CONFIG['user_field'.$i.'_name']] =
make_clickable($CURRENT_PIC_DATA['user'.$i]);
into
$info[$CONFIG['user_field'.$i.'_name']] =
bb_decode($CURRENT_PIC_DATA['user'.$i]);
This will allow you to use BBCodes in the custom fields: you can then have
something like
[url]http://www.somesite.com/foo/bar.php?whatever=42[/url]
or
[url=http://www.somesite.com/foo/bar.php?whatever=42]link to
some site![/url]
in your custom user fields (the display of which, of course, has to be
enabled in the config page, begin with).
$sort_array = array('na' => 'filename ASC', 'nd' => 'filename DESC', 'da' => 'pid ASC', 'dd' => 'pid DESC');to
$sort_array = array( 'na' => 'filename ASC', 'nd' => 'filename DESC', 'da' => 'pid ASC', 'dd' => 'pid DESC', 'f1a' => 'user1 ASC', 'f1d' => 'user1 DESC', 'f2a' => 'user2 ASC', 'f2d' => 'user2 DESC', 'f3a' => 'user3 ASC', 'f3d' => 'user3 DESC', 'f4a' => 'user1 ASC', 'f4d' => 'user1 DESC' );
// The sort order options are not available for meta albums if ($sort_options){ $param = array( '{ALBUM_NAME}' => $album_name, '{AID}' => $aid, '{PAGE}' => $page, '{NAME}' => $lang_thumb_view['name'], '{DATE}' => $lang_thumb_view['date'], '{SORT_NA}' => $lang_thumb_view['sort_na'], '{SORT_ND}' => $lang_thumb_view['sort_nd'], '{SORT_DA}' => $lang_thumb_view['sort_da'], '{SORT_DD}' => $lang_thumb_view['sort_dd'], );
// The sort order options are not available for meta albums if ($sort_options){ $param = array( '{ALBUM_NAME}' => $album_name, '{AID}' => $aid, '{PAGE}' => $page, '{NAME}' => $lang_thumb_view['name'], '{DATE}' => $lang_thumb_view['date'], '{SORT_NA}' => $lang_thumb_view['sort_na'], '{SORT_ND}' => $lang_thumb_view['sort_nd'], '{SORT_DA}' => $lang_thumb_view['sort_da'], '{SORT_DD}' => $lang_thumb_view['sort_dd'], // Exxodus Sorting '{FIELD1}' => $CONFIG['user_field1_name'], '{FIELD2}' => $CONFIG['user_field2_name'], '{FIELD3}' => $CONFIG['user_field3_name'], '{FIELD4}' => $CONFIG['user_field4_name'], // Exxodus Sorting );
// HTML template for title row of the thumbnail view (album title + sort options) // Exxodus (Adding Sorting by UserField) $template_thumb_view_title_row = <<<EOT <table width="100%" cellpadding="0" cellspacing="0"> <tr> <td width="100%" class="statlink"><h2>{ALBUM_NAME}</h2></td> <td><img src="images/spacer.gif" width="1"></td> <td class="sortorder_cell"> <table height="100%" cellpadding="0" cellspacing="0"> <tr> <td class="sortorder_options">{NAME}</td> <td class="sortorder_options"><span class="statlink"> <a href="thumbnails.php?album={AID}&page={PAGE}&sort=na" title="{SORT_NA}">&+&</a>/</span></td> <td class="sortorder_options"><span class="statlink"> <a href="thumbnails.php?album={AID}&page={PAGE}&sort=nd" title="{SORT_ND}">&-&</a></span></td> </tr> <tr> <td class="sortorder_options">{DATE}</td> <td class="sortorder_options"><span class="statlink"> <a href="thumbnails.php?album={AID}&page={PAGE}&sort=da" title="{SORT_DA}">&+&</a>/</span></td> <td class="sortorder_options"><span class="statlink"> <a href="thumbnails.php?album={AID}&page={PAGE}&sort=dd" title="{SORT_DD}">&-&</a></span></td> </tr> </table> </td> <td><img src="images/spacer.gif" width="10"></td> <td class="sortorder_cell"> <table height="100%" cellpadding="0" cellspacing="0"> <tr> <td class="sortorder_options">{FIELD1}</td> <td class="sortorder_options"><span class="statlink"> <a href="thumbnails.php?album={AID}&page={PAGE}&sort=f1a">&+&</a>/</span></td> <td class="sortorder_options"><span class="statlink"> <a href="thumbnails.php?album={AID}&page={PAGE}&sort=f1d">&-&</a></span></td> </tr> <tr> <td class="sortorder_options">{FIELD2}</td> <td class="sortorder_options"><span class="statlink"> <a href="thumbnails.php?album={AID}&page={PAGE}&sort=f2a">&+&</a>/</span></td> <td class="sortorder_options"><span class="statlink"> <a href="thumbnails.php?album={AID}&page={PAGE}&sort=f2d">&-&</a></span></td> </tr> </table> </td> <td><img src="images/spacer.gif" width="10"></td> <td class="sortorder_cell"> <table height="100%" cellpadding="0" cellspacing="0"> <tr> <td class="sortorder_options">{FIELD3}</td> <td class="sortorder_options"><span class="statlink"> <a href="thumbnails.php?album={AID}&page={PAGE}&sort=f3a">&+&</a>/</span></td> <td class="sortorder_options"><span class="statlink"> <a href="thumbnails.php?album={AID}&page={PAGE}&sort=f3d">&-&</a></span></td> </tr> <tr> <td class="sortorder_options">{FIELD4}</td> <td class="sortorder_options"><span class="statlink"> <a href="thumbnails.php?album={AID}&page={PAGE}&sort=f4a">&+&</a>/</span></td> <td class="sortorder_options"><span class="statlink"> <a href="thumbnails.php?album={AID}&page={PAGE}&sort=f4d">&-&</a></span></td> </tr> </table> </td> </tr> </table> EOT;
Edit /includes/picmgmt.inc.php and search for
$imagesize = getimagesize($image);
replace this with:
$imagesize = getimagesize($image,&$info); $iptc = iptcparse($info["APP13"]); if (is_array($iptc)) { $caption.=$iptc['2#120'][0]; $title.=$iptc['2#105'][0]; (is_array($iptc['2#025'])) && ($keywords.=implode(" ", $iptc['2#025'])); }NOTE: This hack hasn't been thoroughly tested, use at your own risk...!
Edit /themes/yourtheme/theme.php, look for echo
$template_footer and add the stuff you want to output in a line
before it, like print '<span
class="footer"><a href="http://www.mylink.com/foo.htm">My
Link</a></span>';
There are a lot of people (especially PHP newbies) that post questions
like I get the error "Parse error: parse error in XXX"
and don't know what to do about it. That's why I translated this list of
common errors (and a solution how to fix them) from the original german
article in Dr. Web :
No, this is simply not the way coppermine works; for "normal" pages the name of the extension tells the webserver whether the file should be parsed by the PHP interpreter. The template files within the themes folder are not being parsed this way - the extension .html was just chosen to make editing easier. You can not have PHP code in the template file, no matter how you name it - that's all there is to it!
You can not completely prevent users from stealing your pics - that's the way the www works: if a picture is being displayed in the browser, the user already has a copy of it on his hard drive. There are however some methods to make it harder for newbie users to steal your pics:
GD 1.x 2.x are normally part of all standard PHP distributions under
Windows
To check if you have it, go to the directory where you installed PHP, go to
the "extensions" subdir and see if you have a file named "php_gd2.dll".
Ocassionally, you will also need to edit your php.ini file (located in
windows directory normally) and remove the ";" that is at the beginning of
the line:
extension=php_gd2.dll (at the end of the file). This
will cause PHP to load the GD2 extension.
Whenever you make changes to php.ini, remember that you will need to restart
your webserver before changes become effective.
ImageMagick it quite complicated to use under Windows
Greg
ImageMagick is quite complicated to set up on Windows. There are several
things to be taken into account. The Coppermine support board is not
the right place to ask for help on installing it, as it deals with
Coppermine, not "How to set up a server" (most people on the Coppermine
boards don't run their own webserver, but they have webspace by a webhost).
Instead, try to find support boards on the internet that deal with this
special topic.
No problem with that, everyone stars as a newbie. Just don't start
each and every posting by stating "I'm a newbie", "I don't know anything
about PHP" etc.
Usually, one can acertain that from your question itself. There's no need to
apologize. Most of us can still remember when we were in your shoes.
The support board is not a hotline. Although there are many
visitors to the site, only a few do actually support - on a unpaid, voluntary
basis. Yes, we don't receive remuneratio for our contributions and we each
have a life, a job, family and more. We are away sometimes, as well. So,
please, be patient, read the docs and search the boards while you are
waiting.
If you don't get an answer to your question:
If you have a question, make sure you provide as much information as possible:
If you are posting in the English support boards, pPlease do not post in
some other language - in this way, others may benefit from your question (and
the answers you receive ), too. Don't be afraid to write "poor english" - no
one will laugh at you, and most of our visitor's first language isn't english
to begin with! There's a german support board available at http://forum.the-service.de/ - use it if you are more
comfortable with German and you' not able to write in English!
We have language-specific support boards for Chinese and French.
No you mustn't! Post your question on the Coppermine support board
(publicly) - if we (the community) don't find a solution and I
have the time and I want to I'll email/pm/im
you!
We are a group of people who decided to form a team to develop Coppermine
further - check the team page for
details...