getreidemuehlen
-


Hinweise


Antwort
 
LinkBack Themen-Optionen Thema durchsuchen Thema bewerten
Alt 20.08.2002, 19:17   #1
TP-Senior
 
Benutzerbild von moonwalker
 
Registriert seit: Mar 2002
moonwalker macht alles soweit korrekt

hilfe bei php-script layout-anpassung


hi, ich habe ein photogallerie-php script gefunden installiert und es funzt.
Jedoch möchte ich das layout anpassen. Ob meiner bescheidenen php kentnissen scheitere ich aber daran.
hier das script in aktion:

http://mitglied.lycos.de/hoerb1/scri...pgraphy-0.9.7/

Zunächst mal der wichtigste änderungs punkt. Wenn ich auch die miniatur bilder sowie auf den kommentar daneben klicke, sollte sich ein neues fenster öffnen in dem alles angezeigt wird.
Ich habe es mit js versucht. Es funtzte auch alles nur wurden die orignial bilder nicht angezeigt.

hier der code:

den teil an dem ich vermute das verlinkt wird habe ich beschriftet.
wäre echt dankbar, wenn einer das prob löst.
sojetzt muss ich nur cohc mit der zeichen beschrönkung hinkomment
moonwalker ist offline   Mit Zitat antworten


Alt 20.08.2002, 19:19   #2
TP-Senior
 
Benutzerbild von moonwalker
 
Registriert seit: Mar 2002
moonwalker macht alles soweit korrekt
1. teil

PHP-Code:
<? 

include "config.inc.php";

if(
$thumb_generator=="convert") {
  @
exec("which convert"$my_convert_path);
  if(
$my_convert_path[0]=="") die("install convert (see manual) or use 'GD' or 'manual' as thumb generator");
}
function 
set_cookie_val($val)
{
  global 
$cookiesite;
  
setcookie("LoginValue",$val,time()+(3600*24*365*3),"/");
}

function 
get_comment($nom)
{
  global 
$sDB,$nConnection,$sTable;
  
$cmd="select * from $sTable where name='".addslashes($nom)."'";
  
$res=mysql_db_query($sDB,$cmd,$nConnection);
  
$row=mysql_fetch_array($res);
  return 
$row["descr"];
}

function 
get_rating($nom)
{
  global 
$sDB,$nConnection,$sTableRatings;
  
$cmd="select avg(rating), count(*) from $sTableRatings where pic_name='".addslashes($nom)."'";
  
$res=mysql_db_query($sDB,$cmd,$nConnection);
  
$row=mysql_fetch_array($res);
  return (
$row[1]?$row[0]:false);
}

function 
already_rated($nom)
{
  global 
$sDB,$nConnection,$sTableRatings;
  
$cmd="select * from $sTableRatings where pic_name='".addslashes($nom)."' and ip='".getenv("REMOTE_ADDR")."'";
  
$res=mysql_db_query($sDB,$cmd,$nConnection);
  
$row=mysql_fetch_array($res);
  return(
$row);
}

function 
get_level_db($nom)
{
  global 
$sDB,$nConnection,$sTable;
  
$cmd="select * from $sTable where name='".addslashes($nom)."'";
  
$res=mysql_db_query($sDB,$cmd,$nConnection);
  
$row=mysql_fetch_array($res);
  return (int)
$row["seclevel"];
}

function 
get_level($pic) {
  if(!
strstr($pic,"/")) return (int)get_level_db($pic);
  
$l=get_level_db($pic);
  if(
$l!=0) return (int)$l;
  
$l2=get_level_db($pic."/");
  if(
$l2!=0) return (int)$l2;
  return (int)(
get_level(substr($pic,0,strrpos($pic,"/"))));
}

function 
reformat($s)
{
  if(
$s$s=StripSlashes($s);
  if(!
strstr($s,"..")) { } else $s=""// ANTI HACK :)
  
return($s);
}

// sound/video/text functions
function get_movie_type($doc)
{
  if (
eregi("mov$"$doc)) {
    return 
"video/quicktime";
  }
  if (
eregi("avi$"$doc)) {
    return 
"video/x-msvideo";
  }
  else if (
eregi("mpe?g$"$doc)) {
    return 
"video/mpeg";
  }
  return 
0;
}

function 
get_sound_type($doc)
{
  if (
eregi("wav$"$doc)) {
    return 
"audio/x-wav";
  }
  else if (
eregi("mp3$"$doc)) {
    return 
"audio/mp3";
  }
  return 
0;
}

function 
get_text_type($doc)
{
  if (
eregi("txt$"$doc)) {
    return 
"text/plain";
  }
  return 
0;
}

// image convertion functions

function wait_convert_proc()
{
  global 
$sem,$use_sem;

  
register_shutdown_function("end_convert_proc");
  if(
$use_sem) {
    
$sem=sem_get(31337);
    
sem_acquire($sem);
  }
}

function 
end_convert_proc()
{
  global 
$sem,$use_sem;
  if(
$use_sem) {
    
sem_release($sem);
  }
  
register_shutdown_function("");
}

function 
convert_image($sourcepic,$destpic,$res,$quality)
{
  global 
$my_convert_path,$thumb_generator;

  if (
get_sound_type($sourcepic)) {
    
copy("icons/sound.gif"$destpic);
    return;
  }
  else if (
get_movie_type($sourcepic)) {
    
copy("icons/movie.gif"$destpic);
    return;
  } else if (
get_text_type($sourcepic)) {
    
copy("icons/text.gif"$destpic);
    return;
  }

  
wait_convert_proc();

  if(
$thumb_generator=="convert") {
    @
exec($my_convert_path[0]." -geometry ".$res." -quality ".$quality." \"".$sourcepic."\" \"".$destpic."\"");
  } else if(
$thumb_generator=="gd") {
    if(
eregi("\.(jpg|jpeg)$",$sourcepic))
      
$im=imagecreatefromjpeg($sourcepic);
    else if (
eregi("\.png$",$fn))
      
$im=imagecreatefrompng($createfn);
    if (
$im != "") {
      
$dims=explode("x",$res);
      
$newh=$dims[1];
      
$neww=$newh/imagesy($im) * imagesx($im);
      if (
$neww imagesx($im)) {
        
$neww=imagesx($im);
        
$newh=imagesy($im);
      }
      if (
$neww $dims[0])
      {
        
$neww=$dims[0];
        
$newh=$neww/imagesx($im) * imagesy($im);
      }
      
$im2=ImageCreate($neww,$newh);
      
ImageCopyResized($im2,$im,0,0,0,0,$neww,$newh,imagesx($im),imagesy($im));
      if (
eregi("\.(jpg|jpeg)$",$sourcepic)) imagejpeg($im2,$destpic,$quality);
      else if (
eregi("\.png$",$fn)) imagepng($im2,$destpic);
      
ImageDestroy($im);
      
ImageDestroy($im2);
     } else {
      
debug_image("Error loading file!");
     }
  }

  
end_convert_proc();
}

//show debug info in image format
function debug_image($str){
    
$im ImageCreate (15050); /* Create a blank image */
    
$bgc ImageColorAllocate ($im255255255);
    
$tc  ImageColorAllocate ($im000);
    
ImageFilledRectangle ($im0015030$bgc);
    
/* Output an errmsg */
    
ImageString ($im155$str$tc);
    
ImageJPEG($im);
}

// comments functions

function get_nb_comments($id)
{
  global 
$sDB,$nConnection,$sTableComments;
  
$cmd="select * from ".$sTableComments." where pic_name='".addslashes($id)."'";
  
$res=mysql_db_query($sDB,$cmd,$nConnection);
  return 
mysql_num_rows($res);
}

function 
display_comments($id)
{
  global 
$sDB,$nConnection,$sTableComments,$admin;
  global 
$txt_comments,$txt_add_comment,$txt_comment_from,$txt_comment_on;
?>
  <table width="100%">
  <tr><td align=left>
<? if(get_nb_comments($id)>0) { ?> 
  <u><? echo $txt_comments ?></u>
<? ?>
  </td><td align=right>
  <a href="" onClick='enterWindow=window.open("?id=<? echo rawurlencode($id?>&addcomment=1","commentadd","width=400,height=260,top=250,left=500"); return false'><? echo $txt_add_comment ?></a>
  </td></tr>
  </table>
  <br>
<?
  $cmd
="select * from ".$sTableComments." where pic_name='".addslashes($id)."'";
  
$res=mysql_db_query($sDB,$cmd,$nConnection);
  while(
$row=mysql_fetch_array($res))
  {
     echo 
"<span class=\"small\">".$txt_comment_from."<b>".htmlentities($row["user"])."</b>".$txt_comment_on.$row["datetime"];
     if(
$admin)
     {
       echo 
" | <a href=\"?display=".rawurlencode($id)."&delcom=".$row["id"]."\">Delete</a>";
     }
     echo 
"</span><br>";
     echo 
nl2br(htmlentities($row["comment"]))."<br>";
     echo 
"<br>";
  }
}

// logout ?

if($logout) {
  
set_cookie_val("");
  
header("Location: ".$SCRIPT_NAME);
  exit;
}

// logging in ?

unset($user_row);
if(
$startlogin) {
  
$cmd="select * from ".$sTableUsers." where login='$user' and pass='$pass'";
  
$res mysql_db_query($sDB,$cmd,$nConnection);
  if(!
$res || mysql_num_rows($res)==$error_login=1;
  else {
    
$logged=1;
    
$user_row=mysql_fetch_array($res);
    
set_cookie_val($user_row["cookieval"]);
  }
} else if(
$LoginValue) { // login cookie present ?
  
$cmd="select * from ".$sTableUsers." where cookieval='$LoginValue'";
  
$res mysql_db_query($sDB,$cmd,$nConnection);
  if(
$res && mysql_num_rows($res)>) {
    
$logged=1;
    
$user_row=mysql_fetch_array($res);
  }
}

$admin=($user_row["seclevel"]==999);

// pic rating update ?

if ($display&&$rating) {
    if (!
already_rated($display) && ($rating>0) && ($rating<=10)) {
        
$cmd="insert into $sTableRatings (datetime, pic_name, ip, rating) values (now(), '$display', '".getenv("REMOTE_ADDR")."', $rating)";
        
mysql_db_query($sDB,$cmd,$nConnection);
    }
}

// pic comment update ?

if($updpic=="1"&&$admin) {
  
$cmd="replace into $sTable values('$display','$dsc','$lev')";
  
mysql_db_query($sDB,$cmd,$nConnection);
}

// dir level update ?

if($dirlevelchange&&$admin) {
  
$cmd="replace into $sTable values('$dir','','$dirlevel')";
  
mysql_db_query($sDB,$cmd,$nConnection);
}

if(
$dir$dir=reformat($dir);
if(
$display$display=reformat($display);
if(
$displaypic$displaypic=reformat($displaypic);
if(
$preview$preview=reformat($preview);

if(
$display$dir=dirname($display);

if(
substr($root_dir,-1)!='/'$root_dir.='/';
if(
$dir && substr($dir,-1)!='/'$dir.='/';

// dir creation ?

if($dircreate&&$admin) {
  
mkdir($root_dir.$dir.$createdirname,0755);
}

// file uploaded ?

if($admin&&$picupload&&$picuploadname!="none") {
  
Exec("cp -f \"$picuploadname\" \"".$root_dir.$dir.$picuploadname_name."\"");
  
Exec("chmod 755 \"".$root_dir.$dir.$picuploadname_name."\"");
}

// adding comment ?

if($addingcomment && (trim($comment) || trim($user))) {
  
$picname=reformat($picname);
  
$cmd="insert into ".$sTableComments." values(0,'".addslashes($picname)."','$comment','".date("Y-m-d H:i:s")."','$user','$REMOTE_ADDR')";
  
mysql_db_query($sDB,$cmd,$nConnection);
 
?> <html><script language="javascript">window.opener.location="?display=<? echo rawurlencode($picname?>";window.close();</script></html> <? 
  
exit;
}

// deleting comment ?

if($delcom&&$admin) {
  
$cmd="delete from ".$sTableComments." where id=$delcom";
  
mysql_db_query($sDB,$cmd,$nConnection);
}

// picture displaying ?

if($displaypic && get_level($displaypic)<=(int)$user_row["seclevel"]) {
  
header("Content-type: image/jpeg");

  if(
filesize($root_dir.$displaypic)>=$lr_limit && !$non_lr) {
    
// switch to lr_mode
    
$lrdir=$root_dir.dirname($displaypic)."/.thumbs";
    
$lrfile=$lrdir."/lr_".basename($displaypic);
    if(!
file_exists($lrfile)) {
      if(!
is_dir($lrdir)) mkdir($lrdir,0755);
      
convert_image($root_dir.$displaypic,$lrfile,$lr_res,$lr_quality);
    }
    
readfile($lrfile);
  } else 
readfile($root_dir.$displaypic);
  exit;
}

if(
$preview) {
  
header("Content-type: image/jpeg"); 
  
$prdir=$root_dir.dirname($preview)."/.thumbs";
  
$prfile=$prdir."/thumb_".basename($preview);
  if(!
file_exists($prfile)) {
    if(!
is_dir($prdir)) mkdir($prdir,0755);
    
convert_image($root_dir.$preview,$prfile,$thumb_res,$thumb_quality);
  }
  
readfile($prfile);
  exit;
}

// random image?

if($random) {
  
$level=0;
  if(
$logged$level=(int)$user_row["seclevel"];
  
$ok=0;
  
srand ((double) microtime() * 1000000);
  
exec('find '.$root_dir.' -type f -print | egrep -i "\.(jpg|jpeg|gif|png)$" | grep -v ".thumbs/"',$find_ar);

  
$l=sizeof($find_ar);
  for(
$try=0;!$ok && $try<32;$try++) {
    
$pickline=substr($find_ar[rand(0,$l)],strlen($root_dir));
    
$ok = (get_level($pickline)<=$level);
  }
  
$display $pickline;
  
$dir substr($display,0,strrpos($display,"/"))."/";
}

Geändert von moonwalker (20.08.2002 um 23:16 Uhr).
moonwalker ist offline   Mit Zitat antworten
Alt 20.08.2002, 19:19   #3
TP-Senior
 
Benutzerbild von moonwalker
 
Registriert seit: Mar 2002
moonwalker macht alles soweit korrekt
2. teil

PHP-Code:
// generate all thumbnails/low res

if($genall&&$admin) { 
  echo "Generating all missing thumbnails/low res pictures: (be patient)<br><br>";
  flush();

  $gen_lr=0; $gen_th=0;
  exec('find '.$root_dir.' -type f -print | egrep -i "\.(jpg|jpeg|gif|png)$" | grep -v ".thumbs/"',$find_ar);
  for($i=0;$find_ar[$i];$i++) {
    $pic=substr($find_ar[$i],strlen($root_dir));
    $lrdir=$root_dir.dirname($pic)."/.thumbs";
    if(!is_dir($lrdir)) mkdir($lrdir,0755);

    // low res check
    if(filesize($root_dir.$pic)>=$lr_limit) {
      $lrfile=$lrdir."/lr_".basename($pic);
      if(!file_exists($lrfile)) {
        echo "Generating low res picture for $pic<br>";
        flush();
        convert_image($root_dir.$pic,$lrfile,$lr_res,$lr_quality);
        $gen_lr++;
      }
    }

    // thumbnail check
    $prfile=$lrdir."/thumb_".basename($pic);
    if(!file_exists($prfile)) {
      echo "Generating thumbnail picture for $pic<br>";
      flush();
      convert_image($root_dir.$pic,$prfile,$thumb_res,$thumb_quality);
      $gen_th++;
    }
  }

  echo "<br>";
  echo "Generated <b>$gen_lr</b> low res pictures and <b>$gen_th</b> thumbnails.<br>";
  echo "Your library has <b>".sizeof($find_ar)."</b> pictures.<br>";

  exit;
}

// pic delete
if($updpic=="del"&&$admin) {
  $cmd="delete from $sTable where name='$display'";
  $db=mysql_db_query($sDB,$cmd,$nConnection);
  $cmd="delete from $sTableComments where pic_name='$display'";
  $db=mysql_db_query($sDB,$cmd,$nConnection);
  $filename=$root_dir.$display;
  $thumbname=$root_dir.dirname($display)."/.thumbs/thumb_".basename($display);
  $lrname=$root_dir.dirname($display)."/.thumbs/lr_".basename($display);
  if (file_exists($filename))unlink($filename);
  if (file_exists($thumbname))unlink($thumbname);
  if (file_exists($lrname))unlink($lrname);
  //jump back to the directory after deleting the pic
  $dir=dirname($display);
  header("Location: ./?dir=$dir");
  exit;
}

// test if display is video or sound
if ($display) {
  if (($type = get_movie_type($display)) || ($type = get_sound_type($display)) || ($type = get_text_type($display))) {
    header("Content-type: ".$type);
    header("Content-Disposition: inline; filename=".basename($display));
    readfile($root_dir.$display);
    return;
  }
}

?>

<? include "header.inc.php" ?>

<? // Login form

if($login) {
?>
<form method=POST action="index.php">
<? echo $txt_login_form_login ?> <input name="user" size=20><br>
<? echo $txt_login_form_pass ?> <input type="password" name="pass" size=20> 
<input type="hidden" name="startlogin" value="1">
<input type="hidden" name="dir" value="<? echo $dir ?>">
<input type="submit" value="Login">
</form> 
<?
  
include "footer.inc.php";
  exit;
} else if(
$create&&$admin) {  // Create dir form
echo "Current directory : ".$dir."<br>";
?>
<form method=POST action="index.php">
Directory to create: <input name="createdirname" size=50><br>
<input type="hidden" name="dircreate" value="1">
<input type="hidden" name="dir" value="<? echo $dir ?>">
<input type="submit" value="Create">
</form> 
<?
  
include "footer.inc.php";
  exit;
} else if(
$upload&&$admin) {  // Create dir form
echo "Current directory : ".$dir."<br>";
?>
<form method=POST action="index.php" ENCTYPE="multipart/form-data">
File to upload: <INPUT TYPE=FILE NAME="picuploadname" SIZE=24 MAXLENGTH=80>
<INPUT TYPE="SUBMIT" VALUE="Upload">
<input type="hidden" name="picupload" value="1">
<input type="hidden" name="dir" value="<? echo $dir ?>">
</form> 
<?
  
include "footer.inc.php";
  exit;
} else if(
$addcomment) { // (little "add comment" popup window)
  
$id=reformat($id);
  
?>
    <form name="blah" method=POST>
    <? echo $txt_comment_form_name ?> <font face="Courier" size=1><input type=text name=user size=30></font><br>
    <? echo $txt_comment_form_comment ?> <br><font face="Courier" size=1><textarea name=comment cols=40 rows=3></textarea></font><br>
    <br>
    <input type=submit value="<? echo $txt_add_comment ?>">
    <input type=hidden name=addingcomment value="1">
    <input type=hidden name=picname value="<? echo $id ?>">
    </form>
    <script language="javascript">document.blah.user.focus();</script>
  <?
  
include "footer.inc.php";
  exit;
} else if(
$lastcomments) { // display last added comments
  
echo "<u>Last added comments :</u><br>";
  echo 
"<br>";
  
$cmd="select * from ".$sTableComments." order by datetime desc";
  
$res=mysql_db_query($sDB,$cmd,$nConnection);
  
$i=0;
  while((
$row=mysql_fetch_array($res)) && $i<20)
  {
    if(
get_level($row["pic_name"])>(int)$user_row["seclevel"]) continue;
    echo 
"<span class=\"small\">";
    echo 
$row["datetime"]." by <b>".htmlentities($row["user"])."</b> : </span>";
    
$comment=get_comment($row["pic_name"]);
    if(
trim($comment)==""$comment=$row["pic_name"];
    echo 
"<a href=\"?display=".rawurlencode($row["pic_name"])."\">".$comment."</a>";
    echo 
"<br>";
    
$i++;
  }
  echo 
"<br>";
  echo 
"<span class=\"small\"><a href=\"?dir=\">Go back</a></span><br>";
  echo 
"<br>";
  include 
"footer.inc.php";
  exit;
} else if(
$topratings) { // display top ratings
  
echo "<u>Top ".$nb_top_rating." rated pictures :</u><br>";
  echo 
"<br>";
  
$cmd="select *,avg(rating) as rat from ".$sTableRatings." group by pic_name order by rat desc";
  
$res=mysql_db_query($sDB,$cmd,$nConnection);
  
$i=0;
  while((
$row=mysql_fetch_array($res)) && $i<$nb_top_rating)
  {
    if(
get_level($row["pic_name"])>(int)$user_row["seclevel"]) continue;
    echo 
"<span class=\"small\">".($i+1).": </span>";
    
$comment=get_comment($row["pic_name"]);
    if(
trim($comment)==""$comment=$row["pic_name"];
    echo 
"<a href=\"?display=".rawurlencode($row["pic_name"])."\">".$comment."</a>";
    echo 
" <span class=\"small\">(<b>".sprintf("%.1f"$row["rat"])."</b>)</span>";
    echo 
"<br>";
    
$i++;
  }
  echo 
"<br>";
  echo 
"<span class=\"small\"><a href=\"?dir=\">Go back</a></span><br>";
  echo 
"<br>";
  include 
"footer.inc.php";
  exit;
}

?>

<?
  
if(get_level($dir)>(int)$user_row["seclevel"]) exit;