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 oder 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 Datei 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 kannst 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.
Für diejenigen, die rot geschriebene Absätze überfliegen: wir versuchen, damit nur Deine Aufmerksamkeit zu erregen:
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. Dann gehe 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.
In der Konfiguration, wenn "Nicht-angemeldeten Besuchern (Gäste) Zugriff erlauben" auf "Nein" gesetzt ist, dann können nicht eingeloggte Nutzer oder Gäste nicht auf die Galerie zugreifen - außer auf die Login-Seite (und die Registrierungseite, wenn Du Registrierungen erlaubst). Komplettes Deaktivieren des anonymen Zugriffs wird wahrscheinlich die Beliebtheit Deiner Seite schmälern. Nutze diese Option nur, wenn Du eine absolut private Galerie brauchst. Der empfohlene Weg ist den anonymen Zugriff zu gestatten und die viel spezifischeren Gruppen- und Albenberechtigungen zu nutzen stattdessen.
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 konfiguriert sein. In phpinfo(), prüfe das der "file_uploads" an ist, "upload_max_filesize" ist irgendwas 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 (mehrfach genutztem) Server läuft und PHP safe mode ist nicht erlaubt, kann irgendwer mit einem Account auf diesem Server beispielsweise 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 spezieller 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 immer wieder 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 - welchen ich benutze wenn ich mich mit FTP verbinde. Außerdem, sobald eine Datei oder ein Verzeichnis auf meiner Site den Modus 777 hat, fährt der Server meine Site automatisch 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 clever 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 benutzt 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.
Von Haus aus werden die Bilder in alphabetischer Reihenfolge angezeigt, wenn Du sie editierst. Um die Sortierreihenfolge zu ändern "nach Datum", editiere die Datei editpics.php und ändere
$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);
Wenn die template.html gelesen wird, gibt es 2 Sachen. Das was vor dem {GALLERY} tag ist, wird von der pageheader Funktion ausgegeben, und das danach, von der pagefooter Funktion.
Wenn Dein Menü im "footer" ist, musst Du Deine theme.php Datei ändern
$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);soll werden
$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);und
$template_vars = array( '{MAIN_MENU}' => theme_main_menu(), '{ADMIN_MENU}' => theme_admin_mode_menu() ); echo template_eval($template_footer, $template_vars);
Editiere die
login.php
und suche nach
pageheader($lang_login_php['login'],"<META http-equiv=\"refresh\" content=\"3;url=$referer\">");
und füge davor Folgendes ein
$referer = 'index.php?cat='.(FIRST_USER_CAT+$USER_DATA['user_id']);
Warnung: Dies ist ein ziemlich komplizierter Hack für einen Neuling! Prüfe ob Du auch wirklich Deine Original-Dateien gesichert hast bevor Du diesen durchführst.
Editiere die displayimage.php und suche nach:
$info[$lang_picinfo['Filename']] = htmlspecialchars($CURRENT_PIC_DATA['filename']);
füge danach hinzu:
$info[$lang_picinfo['Username']] = htmlspecialchars($CURRENT_PIC_DATA['user_name']);.
Dann öffne die /include/functions.inc.php und suche nach Folgendem in der Funktion get_pic_data():
if($select_columns != '*') $select_columns .= ', title, caption';
und ersetze es mit:
if($select_columns != '*') $select_columns .= ', title, caption, user_name';.
Danach suche nach:
$result = cpg_db_query("SELECT $select_columns from {$CONFIG['TABLE_PICTURES']} WHERE aid='$album' $approved $ALBUM_SET ORDER BY $sort_order $limit");
und ersetze es mit:
$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");
Dann musst du den language string für den Nutzername hinzufügen. Öffne die /lang/yourlang.php und suche nach:
$lang_picinfo = array(
und füge danach hinzu:
'Username' => 'Nutzername',
Außerdem musst Du diese Abfrage in MySQL druchführen (mit einem Tool wie phpMyAdmin):
ALTER TABLE `cpg11d_pictures` ADD INDEX ( `owner_id` );
(Achtung: Wenn Dein Datenbank-Tabellen_Prefix nicht "cpg11d_" ist, dann musst Du diese Abfrage vorher entsprechend anpassen)
Editiere die displayimage.php und ändere
$info[$CONFIG['user_field'.$i.'_name']] = make_clickable($CURRENT_PIC_DATA['user'.$i]);
zu
$info[$CONFIG['user_field'.$i.'_name']] = bb_decode($CURRENT_PIC_DATA['user'.$i]);
Dies erlaubt Dir BBCodes in den benutzerdefinierten Feldern zu benutzen: Du kannst dann dort etwas einfügen, wie das hier
[url]http://www.somesite.com/foo/bar.php?whatever=42[/url]
oder
[url=http://www.somesite.com/foo/bar.php?whatever=42]link to some site![/url]
(die Darstellung davon muss aber in der Konfiguration auch erlaubt sein).
$sort_array = array('na' => 'filename ASC', 'nd' => 'filename DESC', 'da' => 'pid ASC', 'dd' => 'pid DESC');zu
$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;
Editiere /includes/picmgmt.inc.php und suche nach
$imagesize = getimagesize($image);
ersetze es mit:
$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'])); }Achtung: Dieser Hack ist nicht gründlich genug getestet, nutze ihn auf Dein eigenes Riskio...!
Editiere die /themes/yourtheme/theme.php, suche nach echo $template_footer und füge das hinzu was Du ausgeben willst vor der Zeile, wie print '<span class="footer"><a href="http://www.mylink.com/foo.htm">My Link</a></span>';
Es gibt eine Menge Leute (speziell PHP Neulinge), welche Fragen stellen, wie diese hier: Ich bekomme den Fehler "Parse error: parse error in XXX" und weiß nicht was es bedeutet. Das ist der Grund, warum ich diese Liste der häufigen Fehler (und eine Lösung dazu) vom deutschen Artikel in Dr. Webhier hinzugefügt habe:
Nein, das ist einfach nicht der Weg wie Coppermine arbeitet; für "normale" Seiten verrät die Extension dem Webserver, ob die Datei vom PHP Interpreter geparsed werden soll. Die Template-Dateien im themes Ordner werden nicht über diesen Weg geparsed - Die Extension .html wurde nur gewählt um das Editieren leichter zu machen. Du kannst keinen PHP code in der template-Datei haben, egal wie Du sie bennenst - das ist alles nur ein Trick!
Du kannst es nicht wirklich - das liegt daran wie das www arbeitet: Wenn ein Bild im Browser dargestellt wird, dann hat der Nutzer bereits eine Kopie davon auf seiner Festplatte. Es gibt also nur einige Methoden es für einen Neuling etwas schwerer zu machen:
GD 1.x 2.x sind normalerweise ein Teil von allen Standard PHP Distributionen unter Windows.
Um zu überprüfen ob Du es hast, gehe in das Verzeichnis in dem Du PHP installiert hast, gehe in das "extensions" Unterverzeichnis und schaue nach ob Du eine Datei "php_gd2.dll" hast.
Eventuell musst Du weiterhin deine php.ini editieren (normalerweise im Windows Ordner zu finden) und dort das ";" vom Anfang der Zeile weglöschen: extension=php_gd2.dll (ungefähr am Ende der Datei). Dies wird PHP anweisen die GD2 Extension zu laden.
Vergiss nicht, immer wenn Du die php.ini änderst, musst Du Deinen Webserver neu starten bevor die Änderungen wirksam werden.
ImageMagick ist hingegen weitaus schwieriger zu Benutzen unter Windows
Greg
ImageMagick ist viel schwieriger als GD einzurichten auf einem Windowsserver. Da müssen sehr viele Sachen in Betracht gezogen werden. Das Coppermine Support Forum ist nicht der richtige Platz dafür um dort nach Unterstützung zu fragen zu diesem Thema, da es sich nur mit Coppermine beschäftigt, nicht mit "Wie richte ich meinen Server ein?" (die meisten Leute im Coppermine Forum haben keinen eigenen Server am Laufen, sondern sie haben irgendwo Webspace bei einem Webhoster). Stattdessen solltest Du versuchen im Internet andere Support Foren zu finden, welche sich mit diesem speziellen Thema befassen.
Kein Problem, jeder beginnt als Anfänger. Aber bitte startet nicht jedes Posting mit "Ich bin ein Anfänger", "Ich weiß nichts über PHP" usw.
Meistens kann man das auch aus der Art der eigentlichen Frage erkennen. Es gibt keinen Grund sich dafür extra noch zu entschuldigen. Die Meisten von uns können Sich noch daran erinnern, wie es bei Ihnen damals war, als sie anfingen.
Als Erstes, das Support Forum ist keine Hotline. Obwohl es viele Besucher im Forum gibt, leisten nur weinige davon Support - und diesen auch auf unbezahlter freiwilliger Basis. Ja wir erhalten keinerlei Bezahlung für die Hilfestellung, welche wir geben und wir alle haben ein Leben, einen Job, eine Familie und mehr. Wir sind auch manchmal einfach nicht da. So, bitte seid geduldig, lest die Dokumentationen und durchsucht das Forum während Ihr wartet.
Wenn Du keine Antwort auf Deine Frage erhältst:
Wenn Du eine Frage stellst, gib bitte auch alle nötigen Informationen dazu mit:
Wenn Du im englischem SupportForum schreibst, so bitte schreib nicht in irgendeiner anderen Sprache - dadurch profitieren auch Andere von Deiner Frage (und den Antworten, die Du erhältst). Hab keine Angst in einfachem Englsich zu schreiben, - niemand wird über Dich lachen - und bei den meisten Besuchern ist Englisch nicht die Muttersprache! Es gibt ein deutsches Support Forum verfügbar unter http://coppermine-gallery.net/forum/index.php?board=67.0Benutze dieses, wenn es für Dich einfacher ist auf Deutsch zu schreiben oder wenn Du nicht in der Lage bist in English zu schreiben!
Eine Übersicht über die language-specific support boards findest Du hier
Definitiv NEIN - Das darfst Du nicht! Stelle deine Frage öffentlich im Coppermine Support Forum - wenn wir (die Community) keine Lösung finden und wenn Ich Zeit habe und Ich dazu Lust habe, dann werde Ich Dir eine Email/PM/IM schreiben, niemals umgekehrt! Schreibe nie jemand unaufgefordert eine Email/PM/IM. Sollten zusätzliche Informationen benötigt werden, um Dir zu helfen, zum Beispiel administrative Zugangsdaten, dann wird der SupporterDich auffordern Ihm diese per Email/PM/IM zu schicken und dann und auch nur dann, darfst Du Ihn auf diesen Weg kontaktieren.
Wir sind eine Gruppe von Leuten, welche sich entschieden haben ein Team zu bilden, um Coppermine weiter zu entwickeln - Schaue auf die Team Webseite, wenn Du mehr Details wissen willst...