- #1
G
Gandalf_the_Grey
Bekanntes Mitglied
Themenersteller
- Dabei seit
- 19.11.2003
- Beiträge
- 2.768
- Reaktionspunkte
- 0
- Ort
- Großraum Frankfurt/Main
Hallo zusammen,
ich habe derzeit ein größeres Problem. Ich leide (für mich echt selten) unter akkutem Zeitmangel. Das heißt ich habe privat wie geschäftlich eine Auslastung von 99%. (Bin ja froh das ich zumindest in den Pausen hier mal vorbei schauen kann.) Auf der anderen Seite habe ich ein Problem das ich schon seit langem vor mir her schiebe und das mir jetzt endgültig abzuschmieren droht. Deswegen wollte ich euch drum bitten mir wenn möglich zu helfen. Ich wäre dafür SEEEEHHHRRRR dankbar.
Zunächst einmal worum es geht. Ich habe vor ca. 1,5 Jahren, als ich noch deutlich weniger Ahnung von PHP hatte als heute, (und heute ist es schon nicht sonderlich viel) ein Galerie Script für meine und die HP eines Freundes gesucht und auch gefunden. Sie war einfach gehalten (2 Scripte) und erfüllte ihren Zweck mehr als anständig. Worauf ich allerdings damals nicht geachtet hatte waren 2 Dinge a) das das Script zwingend Register Globals auf ON benötigt (was äußerst Risikohaft ist UND von meinem Hoster deaktiviert wurde, verständlicherweise) und b) das der Coder der das Entwickelt hat scheinbar seit 2003 keinen Support mehr dafür leistet. (zumindest antwortet er nicht auf PN, Forenbeiträge usw. zu diesem Thema). Eigentlich wollte ich mich nun daran machen entweder a) das Script zu überarbeiten (was ich schon einmal bezüglich der Sortiereihenfolge getan hatte) oder b) ein neues vergleichbares Script zu erstellen. Mittlerweile schiebe ich das recht lange vor mir her, allerdings kreischen jetzt 3 Freunde von mir, die die von mir überarbeitete Version des Scripts einsetzen.
Von daher wäre ich froh wenn mir jemand helfen könnte.
Der Quellcode des Projekts ist folgender:
index.php
shomImg.php
Schön wäre es wenn es einer von euch schafft das Script zumindest auf Register Globals OFF umzuarbeiten, denn das wäre erstmal die Lösung. Vieleicht ist es ja auch möglich aus den 2 Scripten ein einziges zu machen, aber das wäre mir erstmal vollkommen egal. (würde ich nur ggf. so machen). Hat jemand die Zeit und die Lust mir unter die Arme zu greifen? Würde mich wirklich darüber freuen.
ich habe derzeit ein größeres Problem. Ich leide (für mich echt selten) unter akkutem Zeitmangel. Das heißt ich habe privat wie geschäftlich eine Auslastung von 99%. (Bin ja froh das ich zumindest in den Pausen hier mal vorbei schauen kann.) Auf der anderen Seite habe ich ein Problem das ich schon seit langem vor mir her schiebe und das mir jetzt endgültig abzuschmieren droht. Deswegen wollte ich euch drum bitten mir wenn möglich zu helfen. Ich wäre dafür SEEEEHHHRRRR dankbar.
Zunächst einmal worum es geht. Ich habe vor ca. 1,5 Jahren, als ich noch deutlich weniger Ahnung von PHP hatte als heute, (und heute ist es schon nicht sonderlich viel) ein Galerie Script für meine und die HP eines Freundes gesucht und auch gefunden. Sie war einfach gehalten (2 Scripte) und erfüllte ihren Zweck mehr als anständig. Worauf ich allerdings damals nicht geachtet hatte waren 2 Dinge a) das das Script zwingend Register Globals auf ON benötigt (was äußerst Risikohaft ist UND von meinem Hoster deaktiviert wurde, verständlicherweise) und b) das der Coder der das Entwickelt hat scheinbar seit 2003 keinen Support mehr dafür leistet. (zumindest antwortet er nicht auf PN, Forenbeiträge usw. zu diesem Thema). Eigentlich wollte ich mich nun daran machen entweder a) das Script zu überarbeiten (was ich schon einmal bezüglich der Sortiereihenfolge getan hatte) oder b) ein neues vergleichbares Script zu erstellen. Mittlerweile schiebe ich das recht lange vor mir her, allerdings kreischen jetzt 3 Freunde von mir, die die von mir überarbeitete Version des Scripts einsetzen.
Von daher wäre ich froh wenn mir jemand helfen könnte.
Der Quellcode des Projekts ist folgender:
index.php
Code:
<?
// $docRoot wird mit dem Wert von DOCUMENT_ROOT (zu finden in der Ausgabe der PHPInfo) zuzüglich des Galerie-Hauptverzeichnisses belegt
$docRoot=/home/www/htdocs/myhomepage.de/galleries;
$dirStructur = opendir($docRoot);
echo <form action=\index.php?op=choose\ method=\post\>;
echo <select name=\verzeichnis\>;
//////Anfang der Select-Box
$i = 0;
/* Array mit Verzeichnissen einlesen */
while ( $eintrag = readdir ( $dirStructur ) )
{
$dirs[$i] = $eintrag;
$i++;
}
/* Array sortieren */
sort($dirs);
/* Array durchlaufen */
foreach ($dirs as $eintrag)
{
if ( is_dir($eintrag )
&& $eintrag != .
&& $eintrag != ..
&& eregi(thumbs, $eintrag)
)
echo <option value=\$eintrag\>.substr($eintrag, 0, -6);
}
closedir($dirStructur);
echo </select>;
echo <input type=\Submit\ value=\Gallerie auswählen\>;
echo </form>;
//////Ende der Select-Box
/*
mit der folgenden Bedingung wird geprüft, ob die Seite
erstmalig aufgerufen wird, damit sofort eine
Thumbnailvorschau gezeigt wird
*/
if(!isset($op)){
$dirStructur=opendir($docRoot);
$eintrag=readdir($dirStructur);
while ( $eintrag = readdir ( $dirStructur ) )
{
$dirs[$i] = $eintrag;
$i++;
}
/* Array sortieren */
sort($dirs);
/* Array durchlaufen */
foreach ($dirs as $eintrag)
{
if ( is_dir($eintrag )
&& $eintrag != .
&& $eintrag != ..
&& eregi(thumbs, $eintrag)
){
$verzeichnis=$eintrag;
break;
}else{
$eintrag=readdir($dirStructur);
}
}
closedir($dirStructur);
}
///////Ende dieser Abfrage
//////Die folgende Ausgabe erzeugt den Galerie-Titel (=Verzeichnisname des Thumbnailverzeichnisses ohne thumbs)
echo <font face=\VERDANA,ARIAL,HELVETICA\><b>.substr($verzeichnis,0,-6).</b></font><br><font size=\-2\ face=\VERDANA,ARIAL,HELVETICA\>Zum Vergrößern auf das Bild klicken</font><br><br>;
//////Jetzt wird die Tabelle mit den Thumbnails aufgebaut
$count = 1;
$index=0;
$dirstring = $verzeichnis./;
$mydir = dir($verzeichnis);
echo <table border=0 cellpadding=0 cellspacing=10 style=border-collapse: collapse bordercolor=#111111 width=100%>;
while(($file = $mydir->read()) != false) {
if ($file != . && $file != ..) {
if ($count == 1) {
$endRow=</tr>;
$fstring = substr($file, 0, -4);
$display = $dirstring . $file;
echo <tr><td width=33% align=center><a href=\./showImg.php?verz=.substr($verzeichnis,0,-6).&bild=.substr($file,3).&index=$index\><IMG border=\1\ src=\$display\></a><font face=\VERDANA,ARIAL,HELVETICA\ size=\- 2\><br>.substr($fstring,3).</font></TD>;
$count++;
$index++;
}
elseif ($count == 2) {
$fstring = substr($file, 0, -4);
$display = $dirstring . $file;
echo <td width=33% align=center><a href=\./showImg.php?verz=.substr($verzeichnis,0,-6).&bild=.substr($file,3).&index=$index\><IMG border=\1\ src=\$display\></a><font face=\VERDANA,ARIAL,HELVETICA\ size=\- 2\><br>.substr($fstring,3).</font></TD>;
$count++;
$index++;
}
elseif ($count == 3) {
$endRow=;
$fstring = substr($file, 0, -4);
$display = $dirstring . $file;
echo <td width=33% align=center><a href=\./showImg.php?verz=.substr($verzeichnis,0,-6).&bild=.substr($file,3).&index=$index\><IMG border=\1\ src=\$display\></a><font face=\VERDANA,ARIAL,HELVETICA\ size=\- 2\><br>.substr($fstring,3).</font></TD></tr>;
$count = 1;
$index++;
}
}
}
echo $endRow</table>;
$mydir->close();
?>
shomImg.php
Code:
<?
//die Dateinamen der Bilder werden in ein Array eingelesen
$galArray=array();
$mydir = dir($verz);
while(($file = $mydir->read()) != false) {
if ($file != . && $file != ..) {
$galArray[]=$file;
}
}
$mydir->close();
// die Verweise für nächstes und vorheriges Bild werden erzeugt
$nextPic=$index+1;
$prevPic=$index-1;
$noPics= count($galArray);
if($nextPic >= $noPics){
$anchorNext=;
$anchorNextClose=;
}else{
$anchorNext=<a href=\showImg.php?verz=.$verz.&index=.$nextPic.&bild=.$galArray[$nextPic].\>;
$anchorNextClose=</a>;
}
if($prevPic < 0){
$anchorPrev=;
$anchorPrevClose=;
}else{
$anchorPrev=<a href=\showImg.php?verz=.$verz.&index=.$prevPic.&bild=.$galArray[$prevPic].\>;
$anchorPrevClose=</a>;
}
//Bild mit Navigationselementen wird angezeigt
echo <div align=\center\>;
echo <table>;
echo <tr>;
echo <td><div align=\center\>;
//die navigation wird 2x gezeigt, nämlich über und unter dem bild
//will man sie nur einmal haben, muss eine der beiden navigationen auskommentiert werden
//anfang navigation oben
echo $anchorPrev.vorheriges Bild.$anchorPrevClose. <a href=\index.php?op=choose&verzeichnis=.$verz.thumbs\>Zurück zur Galerie</a> .$anchorNext.nächstes Bild.$anchorNextClose.<br>;
//ende navigatione oben
echo <img src=\$verz/$bild\ border=\1\><br>; //das bild
//anfang navigation unten
echo $anchorPrev.vorheriges Bild.$anchorPrevClose. <a href=\index.php?op=choose&verzeichnis=.$verz.thumbs\>Zurück zur Galerie</a> .$anchorNext.nächstes Bild.$anchorNextClose;
//ende navigatione unten
echo </div>;
echo <br></td>;
echo </tr>;
echo </table>;
echo </div>;
?>
Schön wäre es wenn es einer von euch schafft das Script zumindest auf Register Globals OFF umzuarbeiten, denn das wäre erstmal die Lösung. Vieleicht ist es ja auch möglich aus den 2 Scripten ein einziges zu machen, aber das wäre mir erstmal vollkommen egal. (würde ich nur ggf. so machen). Hat jemand die Zeit und die Lust mir unter die Arme zu greifen? Würde mich wirklich darüber freuen.