contenido/includes/function.api.image.phpMilly hat geschrieben:Aber was bedeuten die letzten vier Parameter?
So um Zeile 593 ff
Code: Alles auswählen
<?php
$dateien = array();
$start=time();
get_dir("CMS_VALUE[1]",$start,"CMS_VAR[3]");
$breite = (int) "CMS_VALUE[2]";
#Was gefunden?
if (count($dateien) < 1)
{ echo "nix gefunden"; }
else
{ # Array sortieren
sort($dateien);
# Zufall
srand ((double) microtime() * 10000000);
$rand_keys = array_rand ($dateien, 2);
$Zufallsbild = $dateien[$rand_keys[0]];
$dimensions = GetImageSize($Zufallsbild);
echo "<div id=\"zbild\"><a href=\"$Zufallsbild\" target=\"_blank\">";
if ($dimensions[0] > $breite)
{ $divisor = $dimensions[0] / $breite;
$hoehe = (int) ($dimensions[1] / $divisor);
$thumb = capiImgScale ($Zufallsbild, $breite, $hoehe, false, false);
echo "<img src=\"$thumb\" width=\"$breite\" height=\"$hoehe\""; }
else
{ echo "<img src=\"$Zufallsbild\" width=\"$dimensions[0]\" height=\"$dimensions[1]\""; }
echo " style=\"border-width:1px; border-color:#000000;\" alt=\"Klick mich für eine Großansicht (neues Fenster)\"></a></div>\n";
}
function get_dir ($dir,$startzeit,$zeitlimit)
{ global $dateien;
$fp=opendir($dir);
while($datei=readdir($fp))
{ if (is_dir("$dir/$datei") && $datei!="." && $datei!="..")
{ if (time()-$starttime > $zeitlimit) get_dir("$dir/$datei",$startzeit,$zeitlimit); }
else
{ if (strlen($datei) > 4)
{ $ext = strtolower(substr($datei,-4));
if ($ext==".jpg" || $ext==".gif" || $ext=="jpeg" || $ext==".png")
{ $dateien[] = $dir . "/" . $datei; }
}
}
}
closedir($fp);
}
?>
Hi Milly,Milly hat geschrieben:
Damit solltest du jetzt die Max-Tiefe der Verzeichnisse bestimmen können.
Viel Spaß damit.
Code: Alles auswählen
Warning: Wrong parameter count for substr_count() in .../htdocs/contenido/includes/include.con_editcontent.php(618) : eval()'d code on line 1132
Code: Alles auswählen
function get_dir ($dir,$startzeit,$zeitlimit,$max_tiefe)
{ global $dateien;
global $aktuelle_tiefe;
$fp=opendir($dir);
while($datei=readdir($fp))
{ if (is_dir("$dir/$datei") && $datei!="." && $datei!="..")
{ $aktuelle_tiefe++;
if (time()-$starttime > $zeitlimit || $max_tiefe >= $aktuelle_tiefe)
{ get_dir("$dir/$datei",$startzeit,$zeitlimit,$max_tiefe); }
}
else
{ if (strlen($datei) > 4)
{ $ext = strtolower(substr($datei,-4));
if ($ext==".jpg" || $ext==".gif" || $ext=="jpeg" || $ext==".png")
{ $dateien[] = $dir . "/" . $datei; }
}
}
}
closedir($fp);
}
Code: Alles auswählen
echo "<div id=\"zbild\"><a href=\"$Zufallsbild\" target=\"_blank\">";
Code: Alles auswählen
echo "<div id=\"zbild\"><script type=\"text/javascript\" src=\"js/jquery.js\"></script><script type=\"text/javascript\" src=\"js/thickbox.js\"></script><a href=\"$Zufallsbild\" target=\"_blank\" class=\"thickbox\">";
Code: Alles auswählen
?>
<table cellspacing="0" cellpadding="5" border="0">
<tr>
<td>Image-Directory:</td>
<td><input size=20 type="text" name="CMS_VAR[1]" value="CMS_VALUE[1]"></td>
</tr><tr>
<td>Max Breite:</td>
<td><input size=20 type="text" name="CMS_VAR[2]" value="CMS_VALUE[2]"></td>
</tr><tr>
<td>Max Höhe:</td>
<td><input size=20 type="text" name="CMS_VAR[4]" value="CMS_VALUE[4]"></td>
</tr><tr>
<td>Zeitlimit in Sek.:</td>
<td><input size=20 type="text" name="CMS_VAR[3]" value="CMS_VALUE[3]"></td>
</tr>
</table>
<?php
Code: Alles auswählen
<?php
echo "<script>\n";
echo "function OpenNewWindow(Picture,Breit,Hoch)\n";
echo " { xsize = Breit+35;\n";
echo " ysize = Hoch+75;\n";
echo " ScreenWidth = screen.width;\n";
echo " ScreenHeight = screen.height;\n";
echo " xpos = (ScreenWidth/2)-(xsize/2);\n";
echo " ypos = (ScreenHeight/2)-(ysize/2);\n";
echo ' NewWindow=window.open("","Picture","height="+ysize+",width="+xsize+",scrollbars=no,resizable=no,top="+ypos+",left="+xpos+"");'."\n";
echo ' NewWindow.document.write ("<html><head><title>BILDANZEIGE");'."\n";
echo ' NewWindow.document.write ("</title></head>");'."\n";
echo ' NewWindow.document.write ("<body bgcolor=\'#cccccc\'>");'."\n";
echo ' NewWindow.document.write ("<table align=\'center\'><tr>");'."\n";
echo ' NewWindow.document.write ("<td align=\'center\' valign=\'top\'>");'."\n";
echo ' NewWindow.document.write ("<table border=\'1\' bgcolor=\'#000000\' cellpadding=\'0\' cellspacing=\'1\'><tr><td align=\'center\'>");'."\n";
echo ' NewWindow.document.write ("<img src=");'."\n";
echo ' NewWindow.document.write (Picture);'."\n";
echo ' NewWindow.document.write (">");'."\n";
echo ' NewWindow.document.write ("</tr></table>");'."\n";
echo ' NewWindow.document.write ("</td></tr><tr>");'."\n";
echo ' NewWindow.document.write ("<td align=\'center\' valign=\'bottom\'>");'."\n";
echo ' NewWindow.document.write ("<form><input type=\'button\' value=\'Fenster schliessen\' style=\'font-family: Verdana; font-size: 10px\' onClick=\'self.close()\'>");'."\n";
echo ' NewWindow.document.write ("</td></tr></table>");'."\n";
echo ' NewWindow.document.write ("</form></body></html>");'."\n";
echo ' NewWindow.document.close();'."\n";
echo " }\n";
echo "</script>\n";
$dateien = array();
$start=time();
get_dir("CMS_VALUE[1]",$start,"CMS_VAR[3]");
$maxbreite = (int) "CMS_VALUE[2]";
$maxhoehe = (int) "CMS_VALUE[4]";
#Was gefunden?
if (count($dateien) < 1)
{ echo "nix gefunden"; }
else
{ # Array sortieren
sort($dateien);
# Zufall
srand ((double) microtime() * 10000000);
$rand_keys = array_rand ($dateien, 2);
$Zufallsbild = $dateien[$rand_keys[0]];
$Internetpfad = "http://www.meinedomain.de/cms/" . substr($Zufallsbild,2);
$dimensions = GetImageSize($Zufallsbild);
echo "<div id=\"zbild\">";
if ($dimensions[0] > $maxbreite)
{ $divisor = $dimensions[0] / $maxbreite;
$hoehe = (int) ($dimensions[1] / $divisor);
if ($hoehe > $maxhoehe)
{ $divisor = $dimensions[1] / $maxhoehe;
$breite = (int) ($dimensions[0] / $divisor);
$hoehe = $maxhoehe; }
else
{ $breite = $maxbreite; }
$thumb = capiImgScale ($Zufallsbild, $breite, $hoehe, false, false);
echo '<a href="javascript:OpenNewWindow(\''.$Internetpfad.'\','.$dimensions[0].",".$dimensions[1].")\">\n";
echo "<img src=\"$thumb\" width=\"$breite\" height=\"$hoehe\"";
}
else
{ echo '<a href="javascript:OpenNewWindow(\''.$Internetpfad.'\','.$dimensions[0].",".$dimensions[1].")\">\n";
echo "<img src=\"$Zufallsbild\" width=\"$dimensions[0]\" height=\"$dimensions[1]\""; }
echo " style=\"border-width:1px; border-color:#000000;\" alt=\"Klick mich für eine Großansicht (neues Fenster)\"></a></div>\n";
}
function get_dir ($dir,$startzeit,$zeitlimit)
{ global $dateien;
$fp=opendir($dir);
while($datei=readdir($fp))
{ if (is_dir("$dir/$datei") && $datei!="." && $datei!="..")
{ if (time()-$starttime > $zeitlimit) get_dir("$dir/$datei",$startzeit,$zeitlimit); }
else
{ if (strlen($datei) > 4)
{ $ext = strtolower(substr($datei,-4));
if ($ext==".jpg" || $ext==".gif" || $ext=="jpeg" || $ext==".png")
{ $dateien[] = $dir . "/" . $datei; }
}
}
}
closedir($fp);
}
?>
Ja, was denn nun: Zentrieren oder überspringen???slecram hat geschrieben:
...man müsste jetzt die bilder, welche im hochformat sind (hoehe > breite) entweder zentrieren, oder was optisch am besten wäre, komplett ausschließen, sodass nur bilder angezeit werden wo die breite > hoehe ist...