 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
20.08.2002, 19:17
|
#1
|
|
TP-Senior
Registriert seit: Mar 2002
|
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
|
|
|
20.08.2002, 19:19
|
#2
|
|
TP-Senior
Registriert seit: Mar 2002
|
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 (150, 50); /* Create a blank image */
$bgc = ImageColorAllocate ($im, 255, 255, 255);
$tc = ImageColorAllocate ($im, 0, 0, 0);
ImageFilledRectangle ($im, 0, 0, 150, 30, $bgc);
/* Output an errmsg */
ImageString ($im, 1, 5, 5, $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)==0 ) $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)>0 ) {
$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).
|
|
|
20.08.2002, 19:19
|
#3
|
|
TP-Senior
Registriert seit: Mar 2002
|
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; | | |