Deutsch: blauer Textenglish: black textWie versprochen kommt nun die 1. Version des Update Scripts mit MySQL-Unterstützung.
Funktionen:
- auslesen der Bilder/Dateien sowie zusätzlichen Angaben aus der MySQL-Datenbank
- eintragen der Bild-/Datei-Namen sowie der zusätzlichen Angaben, sortiert nach ID, in die megazine.mz3
- Auf jeder linken Seite das Bild, auf jeder rechten Seite zusätzlicher Text
- ImageResize zur proportionalen Skalierung der Bilder auf einen festgelegten Wert
- Anlegen von statischen Seiten inklusive Hintergrundbild (Buchdeckel/Cover, Prolog, Inhaltsverzeichnis, Epilog, Buchrücken)
- komplett an eigene Anforderungen anpassbar
as promised here is the extendedupdate script with mysql-support
Functions:- read images/files and additional contents from a MySQL-Database
- write images/files and additional contents in order of the ID into megazine.mz3 file
- on each left site comes the image, on right sites the additional content
- ImageResize to scale the images onto a fixed value
- structure static sites including backgroundimages (covers, index, prolog and epilog)
- completely customizable for your own requirements
Das Script / the script:
<?php
include('header.php');
require('connect.inc.php');
/*Tabelle der Datenbank für das Inhaltsverzeichnis wählen
Select database table for index*/
$inhalt = mysql_query("SELECT * FROM `bilder` ORDER BY `id`");
/*Configdatei angeben
select config file*/
$xml_datei = "../megazine/megazine.mz3";
/*Configdatei öffnen, falls nicht vorhanden erstellen
open config files otherwise create*/
$datei_neu = fopen($xml_datei,"w+");
/*Schreiben des ersten statischen Teils der Configdatei
writing of first static part*/
fwrite($datei_neu, "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"); fwrite($datei_neu, "<!DOCTYPE book SYSTEM \"http://www.megazine3.de/megazine2.dtd\">\n");
//Einstellungen die das Buch betreffen
//setting of the book
fwrite($datei_neu, "<book\n"); fwrite($datei_neu, "pagewidth=\"400\"\n"); fwrite($datei_neu, "pageheight=\"600\"\n"); fwrite($datei_neu, "lang=\"de,en\"\n"); fwrite($datei_neu, "plugins=\"anchors, backgroundsounds, batchpages, help, javascript, keyboardnavigation, links, navigationbar, overlays, print, slideshow, swfaddress, gallery, pdflinks, titles\"\n"); fwrite($datei_neu, "centercovers=\"true\"\n"); fwrite($datei_neu, "pagethickness=\"0.3\"\n"); fwrite($datei_neu, "maxloaded=\"32\"\n"); fwrite($datei_neu, "minscale=\"0.5\"\n"); fwrite($datei_neu, "bgcolor=\"0xCCCC99\"\n"); fwrite($datei_neu, "thumbloadtext=\"\"\n"); fwrite($datei_neu, "thumbloadtextsize=\"6\"\n"); fwrite($datei_neu, "zoomminscale=\"0.5\"\n"); fwrite($datei_neu, "zoommaxscale=\"4.0\"\n"); fwrite($datei_neu, "zoomsnap=\"0.5, 0.75, 1.0, 1.5, 2.0, 3.0, 4.0\"\n"); fwrite($datei_neu, "zoomsteps=\"2\"\n"); fwrite($datei_neu, "qualitycontrol=\"true\"\n"); fwrite($datei_neu, "thumbscale=\"0.25\"\n"); fwrite($datei_neu, "dragkeepdist=\"100\"\n"); fwrite($datei_neu, "dragrange=\"25\"\n"); fwrite($datei_neu, "dragspeed=\"0.25\"\n"); fwrite($datei_neu, "foldfx=\"1\"\n"); fwrite($datei_neu, "fadein=\"true\"\n"); fwrite($datei_neu, "elementsfadein=\"false\"\n"); fwrite($datei_neu, "galleryalign=\"center middle\"\n"); fwrite($datei_neu, "galleryfade=\"true\"\n"); fwrite($datei_neu, "galleryfs=\"true\"\n"); fwrite($datei_neu, "cornerhint=\"false\"\n"); fwrite($datei_neu, "shadows=\"0.5\"\n"); fwrite($datei_neu, "startpage=\"1\"\n"); fwrite($datei_neu, "pageoffset=\"0\"\n"); fwrite($datei_neu, "instantjumpcount=\"100\"\n");
//Einstellungen für den Vordergrund
//settings foreground
fwrite($datei_neu, "<foreground>\n"); fwrite($datei_neu, "</foreground>\n");
//Kapitel wird erstellt
//create chapter
fwrite($datei_neu, "<chapter>\n");
//Buchdeckel/Cover wird erstellt
//create cover
fwrite($datei_neu, "<page anchor=\"buchdeckel\" bgcolor=\"0x222222\" stiff=\"true\">\n"); fwrite($datei_neu, "<img width=\"pagew\" height=\"pageh\">\n"); fwrite($datei_neu, "<src lang=\"de\">data/buchdeckel.jpg</src>\n"); fwrite($datei_neu, "</img>\n"); fwrite($datei_neu, "</page>\n");
//Erste Seite (Prolog) wird erstellt
//create first site (prolog)
fwrite($datei_neu, "<page anchor=\"einleitung\" bgcolor=\"0x222222\" align=\"center\">\n"); fwrite($datei_neu, "<img width=\"pagew\" height=\"pageh\">\n"); fwrite($datei_neu, "<src lang=\"de\">data/einleitung.jpg</src>\n"); fwrite($datei_neu, "</img>\n"); fwrite($datei_neu, "</page>\n");
//Zweite Seite (Inhaltsverzeichnis) wird erstellt - statischer Teil 1
//create second site (index) - static part 1
fwrite($datei_neu, "<page anchor=\"inhalt\" bgcolor=\"0x222222\" align=\"center\">\n"); fwrite($datei_neu, "<img width=\"pagew\" height=\"pageh\">\n"); fwrite($datei_neu, "<src lang=\"de\">data/inhalt.jpg</src>\n"); fwrite($datei_neu, "</img>\n"); fwrite($datei_neu, "<nav align=\"center\" color=\"0x423e21\" hover=\"0x5e5934\" width=\"325\" left=\"25\" top=\"100\">\n");
//Schreiben des dynamischen Inhaltsverzeichnisses (Links) solange bis alle Inhalte eingetragen sind
//write dynamic index (links)
fwrite($datei_neu, "<lnk lang=\"de\" url=\"anchor:".$inhalt1->bild."\"><![CDATA[<font face=\"serif\" size=\"18\">".$inhalt1->name."</font>]]></lnk>\n"); }
//Schreiben des statischen Inhaltsverzeichnisses (Links) für zusätzliche statische Inhalte
//write static index for additional content (like impressum)
fwrite($datei_neu, "<lnk lang=\"de\" url=\"anchor:impressum\"><![CDATA[<font face=\"serif\" size=\"18\">Impressum</font>]]></lnk>\n");
//Zweite Seite (Inhaltsverzeichnis) wird erstellt - statischer Teil 2
//create second site (index) - static part 2
fwrite($datei_neu, "</nav>\n"); fwrite($datei_neu, "</page>\n");
//Schließen der bearbeiteten oder neu angelegten Configdatei
//close config file
/*Ausgabe des 1. statischen Teils der Meldung welche Datensätze aus der Datenbank in die Configdatei eingetragen werden
print 1. part of static message which data sets were written into the config file*/
echo "<table width=\"100%\" bgcolor=\"#000000\" border=\"0\" cellpadding=\"5\" cellspacing=\"1\" align=\"center\">";
echo "<tr>";
echo "<td bgcolor=\"black\" align=\"center\">";
echo "<font color=\"white\"><b>Homepage aktualisieren</b></font>";
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td bgcolor=\"#e7e7e7\" align=\"center\">";
echo "<br /><b>Folgende Dateien wurden auf der Homepage aktualisiert:</b><br /><br />";
echo "<table border=\"1\" width=\"100%\" style=\"border-collapse: collapse\" bordercolor=\"#111111\" cellpadding=\"5\" cellspacing=\"2\">";
echo "<tr>";
echo "<td align=\"center\"><b>Vorschaubild</b></td>";
echo "<td align=\"center\"><b>ID</b></td>";
echo "<td align=\"center\"><b>Name</b></td>";
echo "<td align=\"center\"><b>Dateiname</b></td>";
echo "<td align=\"center\"><b>Beschreibung</b></td>";
echo "<td align=\"center\"><b>Material</b></td>";
echo "<td align=\"center\"><b>Größen</b></td>";
echo "<td align=\"center\"><b>Farben</b></td>";
echo "</tr>";
/*Funktion zur Bildgrößenanpassung
ImageResize function*/
function imageResize($width, $height, $target) {
if ($width > $height) {
$percentage = ($target / $width);
} else {
$percentage = ($target / $height);
}
$width = round($width * $percentage); $height = round($height * $percentage);
return "width=\"$width\" height=\"$height\"";
}
/*Tabelle der Datenbank für die Datensätze wählen
Select database table for data sets*/
$abfrage = mysql_query("SELECT * FROM `bilder` ORDER BY `id`");
/*Datensätze geordnet nach ID ausgeben und in die Configdatei einfügen bis alle Datensätze eingefügt sind
read data sets and write in config file*/
//Variable für die Funktion Bildgrößenanpassung erstellen
//create ImageResize variable
$mysock = getimagesize("../megazine/bilder/".$ausgabe->bild."");
/*Ausgabe des dynamischen Teils der Meldung welche Datensätze (hier Dateiname.Endung) in die Configdatei eingetragen wurden
print dynamic part of messega which data sets were written into the config file*/
echo '<tr>';
echo "<td align=\"center\"><a href=\"../megazine/bilder/".$ausgabe->bild."\" alt=\"Vergrößern\" target=\"_blank\" onClick=\"window.open('../megazine/bilder/".$ausgabe->bild."','".$ausgabe->bild."','width=800,height=600,scrollbars=yes,location=no,menubar=no,status=no,toolbar=no,resizable=yes,hotkeys=yes');this.blur(); return false;\"><img src=\"../megazine/bilder/".$ausgabe->bild."\" ".imageResize($mysock[0], $mysock[1], 150)." /></a></td>";
echo "<td align=\"center\">".$ausgabe->id."</td>";
echo "<td align=\"center\">".$ausgabe->name."</td>";
echo "<td align=\"center\">".$ausgabe->bild."</td>";
echo "<td align=\"center\">".$ausgabe->beschreibung."</td>";
echo "<td align=\"center\">".$ausgabe->material."</td>";
echo "<td align=\"center\">".$ausgabe->groessen."</td>";
echo "<td align=\"center\">".$ausgabe->farben."</td>";
echo '</tr>';
/*Configdatei öffnen und zum Ende gehen
open config file and goto end*/
$datei = fopen($xml_datei,"a+");
/*Schreiben der Datensätze in die Configdatei
write data sets into config file*/
//Auf die linke Seite kommt das Bild und ein Anker mit dem jeweiligen Dateinamen welcher im Inhaltsverzeichnis als Link zur Seite ausgegeben wird
//on left sites comes the image including an anchor with the corresponding filename wich posted at index as a link
//Hochauflösende Bilder sind zur Zeit gleichzeitig die angezeigten Bilder (src == hires) - durch "imageResize" spart man an Upload
//high quality images at the moment are also showing images (src == hires) because ImageResize function
fwrite($datei, "<page anchor =\"".$ausgabe->bild."\" bgcolor=\"0x222222\" align=\"center\">\n"); fwrite($datei, "<img src=\"bilder/".$ausgabe->bild."\" hires=\"bilder/".$ausgabe->bild."\" position=\"center middle\" ".imageResize
($mysock[0], $mysock[1], 350)." gallery=\"bilder\" />\n");
//Auf die rechte Seite kommen die zusätzlichen Daten aus der Datenbank
//on right sites comes the additional contents
//Tabellarischer Aufbau der TXT-Areas durch "left" und "width" Angaben
//table like view with <txt>areas because "left" and "width" values
fwrite($datei, "<page bgcolor=\"0x222222\" align=\"center\">\n"); fwrite($datei, "<txt top=\"50\" left=\"25\" width=\"100\" align=\"left\" selectable=\"false\" color=\"#888888\">\n"); fwrite($datei, "<content><![CDATA[\n"); fwrite($datei, "]]></content>\n"); fwrite($datei, "<txt top=\"50\" left=\"125\" width=\"250\" align=\"left\" selectable=\"false\" color=\"#888888\">\n"); fwrite($datei, "<content><![CDATA[\n"); fwrite($datei, "".$ausgabe->name."\n"); fwrite($datei, "]]></content>\n"); fwrite($datei, "<txt top=\"100\" left=\"25\" width=\"100\" align=\"left\" selectable=\"false\" color=\"#888888\">\n"); fwrite($datei, "<content><![CDATA[\n"); fwrite($datei, "Beschreibung:\n"); fwrite($datei, "]]></content>\n"); fwrite($datei, "<txt top=\"100\" left=\"125\" width=\"250\" align=\"left\" selectable=\"false\" color=\"#888888\">\n"); fwrite($datei, "<content><![CDATA[\n"); fwrite($datei, "".$ausgabe->beschreibung."\n"); fwrite($datei, "]]></content>\n"); fwrite($datei, "<txt top=\"250\" left=\"25\" width=\"100\" align=\"left\" selectable=\"false\" color=\"#888888\">\n"); fwrite($datei, "<content><![CDATA[\n"); fwrite($datei, "Material:\n"); fwrite($datei, "]]></content>\n"); fwrite($datei, "<txt top=\"250\" left=\"125\" width=\"250\" align=\"left\" selectable=\"false\" color=\"#888888\">\n"); fwrite($datei, "<content><![CDATA[\n"); fwrite($datei, "".$ausgabe->material."\n"); fwrite($datei, "]]></content>\n"); fwrite($datei, "<txt top=\"400\" left=\"25\" width=\"100\" align=\"left\" selectable=\"false\" color=\"#888888\">\n"); fwrite($datei, "<content><![CDATA[\n"); fwrite($datei, "]]></content>\n"); fwrite($datei, "<txt top=\"400\" left=\"125\" width=\"250\" align=\"left\" selectable=\"false\" color=\"#888888\">\n"); fwrite($datei, "<content><![CDATA[\n"); fwrite($datei, "".$ausgabe->groessen."\n"); fwrite($datei, "]]></content>\n"); fwrite($datei, "<txt top=\"450\" left=\"25\" width=\"100\" align=\"left\" selectable=\"false\" color=\"#888888\">\n"); fwrite($datei, "<content><![CDATA[\n"); fwrite($datei, "]]></content>\n"); fwrite($datei, "<txt top=\"450\" left=\"125\" width=\"250\" align=\"left\" selectable=\"false\" color=\"#888888\">\n"); fwrite($datei, "<content><![CDATA[\n"); fwrite($datei, "".$ausgabe->farben."\n"); fwrite($datei, "]]></content>\n");
/*Schließen der bearbeiteten Configdatei
close edited config file*/
}
/*Ausgabe des 2. statischen Teils der Meldung welche Datensätze aus der Datenbank in die Configdatei eingetragen wurden
print second static part of message which data sets were written into the config file*/
echo "</table>";
echo "</td>";
echo "</tr>";
echo "</table>";
echo "<br />";
/*Configdatei öffnen und zum Ende gehen
open config file and goto end*/
$datei = fopen($xml_datei,"a");
/*Schreiben des zweiten statischen Teils der Configdatei
write second static part in the config file*/
fwrite($datei, "<page bgcolor=\"0x222222\" align=\"center\">\n"); fwrite($datei, "<page anchor=\"impressum\" bgcolor=\"0x222222\" align=\"center\">\n"); fwrite($datei, "<img width=\"400\" height=\"600\">\n"); fwrite($datei, "<src lang=\"de\">data/impressum.jpg</src>\n"); fwrite($datei, "<page anchor=\"buchruecken\" bgcolor=\"0x222222\" stiff=\"true\">\n"); fwrite($datei, "<img width=\"400\" height=\"600\">\n"); fwrite($datei, "<src lang=\"de\">data/buchruecken.jpg</src>\n"); fwrite($datei, "</chapter>\n");
/*Schließen der bearbeiteten Configdatei
close edited config file*/
include('footer.php');
?>
Erklärungen:
(Erweitertes Update Script für die megazine.mz3 mit MySQL-Unterstützung und Textausgaben)
Das Script kann, so wie es jetzt ist, in irgendein Ordner im Rootverzeichnis abgelegt werden.
Die Schritte sind im Script selbst erklärt 
Nun wieder viel Spaß mit dem Script
MfG Paro[/color]
Explanations:(extended update script for megazine.mz3 file with MySQL support and text output)This script can uploaded into any folder in the root.
The steps of the script are described in the script self!
And now have fun with this script
regards