ich hab mal ein Modul zusammengestellt, das Grafiken aus einem beliebigen Verzeichnis auf dem Server ausließt und zufällig ausgibt. Die Anzeigedauer ist variabel; es ist auch eine (allgemeine) Linkhinterlegung möglich.
Mit einem weiteren Modul kann man (optional passwortgeschützt) Grafiken in ein vordefiniertes Verzeichnis für eine Slideshow hochladen. Die Größe der Grafiken kann dabei beschränkt werden.
Eingabe Slideshow:
Code: Alles auswählen
<?php
/**
* Slideshow-Modul - Version 0.1
* Download (http://greatif.cwsurf.de/webentwicklung/redaxo.html)
* Stand: 28.12.2012
*/
?>
<b>Serververzeichnis mit den Grafiken:</b><br />
<i>( z.B. <b>files/slideshow/</b> )</i><br />
<input type="text" size="50" name="VALUE[1]" value="REX_VALUE[1]" /><br />
<b>Ort, an den die Slideshow verlinken soll:</b><br />
<input type="text" size="50" name="VALUE[2]" value="REX_VALUE[2]" /><br />
<b>Ausgabe der Verlinkung:</b><br />
<i>( <b>_parent</b> = im gleichen Fenster, <b>_blank</b> = neues Fenster )</i><br />
<input type="text" size="50" name="VALUE[3]" value="REX_VALUE[3]" /><br />
<b>Bezeichnung der Verlinkung:</b><br />
<input type="text" size="50" name="VALUE[4]" value="REX_VALUE[4]" /><br />
<b>Zeitintervall für Grafikanzeige:</b><br />
<i>( Richtwerte: 1000 = kurz, 10000 = mittel, 50000 = lang)</i><br />
<input type="text" size="50" name="VALUE[5]" value="REX_VALUE[5]" /><br />
Code: Alles auswählen
<?php
/**
* Slideshow-Modul - Version 0.1
* Download (http://greatif.cwsurf.de/webentwicklung/redaxo.html)
* Stand: 28.12.2012
*/
?>
<?php
$verzeichnis = "REX_VALUE[1]";
$peed = REX_VALUE[5];
echo "
<div style='text-align: center;'><a href='REX_VALUE[2]' target='REX_VALUE[3]' title='REX_VALUE[4]'><img id='dummy' src='#' style='border: solid 0px #808080;'></a></div>
<script type='text/javascript'>
var bild = new Array();
var i = 0;
";
$ordner = openDir($verzeichnis);
$by = 0;
while ($file = readDir($ordner)) {
if($file != "." && $file != "..") {
echo "bild[$by]='$verzeichnis$file';\n";
$by++;
}
}
closeDir($ordner);
echo "
function anzeigen() {
if (i < bild.length) {
i = (bild.length-1)*(Math.random());
i = Math.round(i);
document.getElementById('dummy').src=bild[i];
i++;
}
else {
i = 0;
}
setTimeout('anzeigen()', $peed);
}
anzeigen();
</script>
";
?>
Code: Alles auswählen
<?php
/**
* Slideshow-Upload-Modul - Version 0.1
* Download (http://greatif.cwsurf.de/webentwicklung/redaxo.html)
* Stand: 28.12.2012
*/
?>
<b>Upload-Verzeichnis auf dem Server <i>( z.B. files/slideshow )</i> :</b><br />
<input type="text" size="50" name="VALUE[1]" value="REX_VALUE[1]" /><br />
<b>Maximalgröße des Bildes <i>(in Bytes)</i> :</b><br />
<input type="text" size="50" name="VALUE[2]" value="REX_VALUE[2]" /><br />
<b>Maximale Zeichen des Dateinamens:</b><br />
<input type="text" size="50" name="VALUE[3]" value="REX_VALUE[3]" /><br />
<b>Bereits vorhandene Dateien ersetzen <i>( ja / nein )</i> :</b><br />
<input type="text" size="50" name="VALUE[4]" value="REX_VALUE[4]" /><br />
<b>Passwortschutz <i>( ja / nein )</i> :</b><br />
<input type="text" size="50" name="VALUE[5]" value="REX_VALUE[5]" /><br />
<b>Passwort <i>( wenn Passwortschutz = ja )</i> :</b><br />
<input type="text" size="50" name="VALUE[6]" value="REX_VALUE[6]" /><br />
Code: Alles auswählen
<?php
/**
* Slideshow-Upload-Modul - Version 0.1
* Download (http://greatif.cwsurf.de/webentwicklung/redaxo.html)
* Stand: 28.12.2012
*/
?>
<?php
// Verzeichnis in das die Bilder hochgeladen
// werden sollen (ausgehend von dieser Datei).
// Das Verzeichnis benötigt Schreibrechte!
$verzeichnis = "REX_VALUE[1]";
// Die Größe des Bildes das maximal
// hochgeladen werden darf (in Bytes).
$maxgroesse = REX_VALUE[2]; // 1024 Bytes = 1 KB (1048576 Bytes = 1 MB)
$mimetypen = array(
"png" => "image/png",
"jpg" => "image/jpeg",
"jpg" => "image/pjpeg",
"jpeg" => "image/jpeg",
"gif" => "image/gif",
);
// Maximale Länge des Dateinamens
$maxlaenge = REX_VALUE[3];
// Eine bereits vorhandene Datei mit gleichen Namen ersetzen (ja/nein)
// Bei "nein" wird die Datei mit dem Namen und einer Zufallszahl, umbenannt.
$ersetzen = "REX_VALUE[4]";
// Passwortschutz (ja/nein)
$passwortschutz = "REX_VALUE[5]";
// Passwort
$passwort = "REX_VALUE[6]";
echo '<form action="' . $_SERVER["SCRIPT_NAME"] . '" method="post" enctype="multipart/form-data">
Bild auswählen: <input type="file" name="datei" size="25"> <br>
Dateiformat: ' . implode(", ", array_unique(array_keys($mimetypen))) .
' - Dateigröße max.: ' . (number_format(($maxgroesse / 1024), 2, ",", ".")) . ' KB <br><br>' .
($passwortschutz == "ja" ? 'Passwort: <input type="password" name="passwort">' : '') .
'<input type="hidden" name="MAX_FILE_SIZE" value="' . $maxgroesse . '">
<input type="submit" name="submit" value="Bild hochladen">';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if ($passwortschutz == "ja") {
if ($_POST["passwort"] != $passwort) {
die('<p>Sie haben keine Berechtigung!</p>');
}
}
if (is_writeable($verzeichnis)) {
if (isset($_FILES["datei"]["name"]) && $_FILES["datei"]["name"] != "") {
if ($_FILES["datei"]["error"] === UPLOAD_ERR_OK) {
if (is_uploaded_file($_FILES["datei"]["tmp_name"])) {
if ($_FILES["datei"]["size"] <= $maxgroesse) {
$array = explode(".", basename($_FILES["datei"]["name"]));
$dateiendung = strtolower(end($array));
if (in_array($dateiendung, array_keys($mimetypen))) {
if (in_array($_FILES["datei"]["type"], $mimetypen)) {
$dateiname = preg_replace("/[^a-z0-9_-]/", "", strtolower(strtr($array[0], "äöüß", "aous")));
$neuername = substr($dateiname, 0, $maxlaenge) . "." . $dateiendung;
if (file_exists($verzeichnis . $neuername)) {
if ($ersetzen == "ja") {
unlink($verzeichnis . $neuername);
}
else {
$neuername = substr($dateiname, 0, ($maxlaenge - 5)) . "_" . mt_rand(1, 9999) . "." . $dateiendung;
}
}
if (move_uploaded_file($_FILES["datei"]["tmp_name"], $verzeichnis . $neuername)) {
echo '<p>Die Datei wurde erfolgreich hochgeladen<br> <img src="' . $verzeichnis . $neuername . '">';
echo ' <br>' . $neuername . ' - ' . number_format(($_FILES["datei"]["size"] / 1024), 2, ",", ".") . ' KB</p>';
}
else {
echo '<p>Beim hochladen der Datei „' . $_FILES["datei"]["name"] . '” ist leider ein Fehler aufgetreten!</p>';
}
}
else {
echo '<p>Ungültiger Mimetyp: "' . $_FILES["datei"]["type"] . '"!</p>';
}
}
else {
echo '<p>Das Dateiformat: "' . $dateiendung . '" ist nicht erlaubt!</p>';
}
}
else {
echo '<p>Die Datei „' . $_FILES["datei"]["name"] . '” ist mit ' . number_format(($_FILES["datei"]["size"] / 1024), 2, ",", ".") . ' KB leider zu groß!</p>';
}
}
}
}
else {
echo '<p>Bitte wählen Sie eine Datei aus!</p>';
}
}
else {
echo '<p>Das Verzeichnis: "' . $verzeichnis . '" besitzt keine Schreibrechte!</p>';
}
}
echo '</form>';
?>
Vllt. kann ja jemand was damit anfangen...