ich hatte ja schon unter "Allgemeines" mein Script vorgestellt, um ein oder mehrere zufällige Bilder anzeigen zu lassen.
Ich fange das Thema hier nochmal neu an, da ich nun schon den Eingabeteil soweit fertig habe.
Nur bei der Ausgabe, da reichen meine Kenntnisse noch nicht so ganz.
Ich bekomme das mit den Kategorien nicht so ganz hin.
Vielleicht hat jemand auch Interesse an dem Script und kann es weiter vollenden.
Der Sinn soll sein, das man ein oder mehrere Bilder aus einer bestimmten Kategorie zufallsmäßig anzuzeigen lassen kann.
Hier der Code bis jetzt:
Eingabe:
Code: Alles auswählen
<?
// Check ob schon was ausgewählt ist
if ( "REX_VALUE[1]" ) {
$selectedCat = "REX_VALUE[1]";
} else {
$selectedCat = "";
}
if ( "REX_VALUE[2]" ) {
$anzahl = "REX_VALUE[2]";
} else {
$anzahl = "3";
}
if ( "REX_VALUE[3]" ) {
$zwischen = "REX_VALUE[3]";
} else {
$zwischen = "<br>";
}
if ( "REX_VALUE[4]" == "true" ) {
$val4checked = "checked";
} else {
$val4checked = "";
}
if ( "REX_VALUE[5]" ) {
$breite = "REX_VALUE[5]";
} else {
$breite = "150";
}
// --- Output ---
echo "<b>Kategorie</b><br/>";
echo "Bitte die Kategorie der Bilder auswählen:<br />\n";
// show the mediapool-categories
echo "\n<select class=\"inp50\" name=\"VALUE[1]\">\n";
CnPrintMediaCats();
echo "</select>\n";
echo "<br /><b>Anzahl der gleichzeitig dargestellten Bilder</b><br />";
// Anzahl
echo "Gewünschte Bildanzahl:<br /> ";
echo "<input type=\"text\" size=\"5\" name=\"VALUE[2]\" value=\"$anzahl\" />";
echo "<br /><b>Trennung zwischen den Bildern</b><br />";
// Trennung
echo "Wie sollen die Bilder getrennt werden:<br /> ";
echo "<input type=\"text\" size=\"50\" name=\"VALUE[3]\" value=\"$zwischen\" />";
echo "<br /><b>Breite der Bilder</b><br />";
// Gleiche Breite
echo "Alle Bilder die gleiche Breite:<br /> ";
echo "<input type=\"checkbox\" name=\"VALUE[4]\" value=\"true\" $val4checked/> Ja/Nein ";
echo " Wenn ja, dann Bildbreite: ";
echo "<input type=\"text\" size=\"5\" name=\"VALUE[5]\" value=\"$breite\" /> px<br />";
///////////////////////////////////////////////////////
// Helper functions
///////////////////////////////////////////////////////
function CnPrintMediaCats( $cat = null) {
$selectCats = null;
if ( is_int( $cat)) {
$selectCats = array( OOMediaCategory::getCategoryById( $cat));
} else if ( OOMediaCategory::isValid( $cat)) {
$selectCats = array( $cat);
} else {
$selectCats = OOMediaCategory::getRootCategories();
}
foreach ( $selectCats as $selectCat) {
add_cat_option( $selectCat);
}
}
?>
Code: Alles auswählen
<?
//CHRONO.net Media Works Hildesheim
// Mit diesem Script kann man mehrere zufällige Bilder anzeigen lassen.
// Die Bilder müssen dafür nur in ein Verzeichnis geladen werden. Es werden nur Bilder aus dem Verzeichnis ausgelesen.
global $filepath;
global $CnCat;
if (!$CnCat) { $CnCat = REX_VALUE[1]; };
$anzahl = REX_VALUE[2];
$folder=opendir("./files");
// Pfad mit den Bildern ohne
$domain_dir= $REX[HTDOCS_PATH]."files/";
//URL zu dem Redaxo Bilderordner mit Abschluss /
$break = REX_VALUE[3];
// Was soll zwischen jedes Bild ?
$width_active= REX_VALUE[4];
$width = REX_VALUE[5];
// Alle Bilder werden in dieser Breite angezeigt. (Wenn nicht gewünscht, Wert auf false)
// ------------- Hier nichts mehr ändern ---------------
while ($file = readdir($folder))
$names[count($names)] = $file;
closedir($folder);
//sort file names in array
sort($names);
//alle Nichtbilder aus dem Array entfernen
$tempvar=0;
for ($i=0;$names[$i];$i++){
$ext=strtolower(substr($names[$i],-4));
if ($ext==".jpg"||$ext==".gif"||$ext=="jpeg"||$ext==".png"){$names1[$tempvar]=$names[$i];$tempvar++;}
}
$rand_var = mt_srand((double)microtime()*1000000);
$rand_var = array_rand($names1,$anzahl);
for($x=0;$x<count($rand_var);$x++){
if ($width_active == "true") {
echo '<img src="'.$domain_dir.$names1[$rand_var[$x]].'" width="'.$width.'"><br><br>' . $break; }
else {
echo '<img src="'.$domain_dir.$names1[$rand_var[$x]].'"><br><br>' . $break; }
}
// man kann auch "echo" mit "include" austauschen; als Wert für $numberX muss dann ein Dateiname [ "datei.htm" ] stehen
// das Ergebnis: Es wird die Datei "datei.htm" ausgegeben
?>
mfg
Holger