[EF IV] Okienko popup automatycznie dopasowujące się do rozmiarów obrazka - usergalerie
|
QooBooS |
Dodany dnia 06.07.2008 22:18:58
|
Przedszkolak
Postów: 52
Data rejestracji: 02.06.2008 22:31
|
Witam.
Próbuję zastosować w usergalerii skrypt js, który, po kliknięciu na miniaturkę, otwiera nowe okno z wybranym obrazkiem i dostosowuje swoje rozmiary do rozmiarów obrazka. Dorwałem kilka gotowych kodów, ale za każdym razem jest coś źle... Fragment kodu z < head > </ head > umieszczam w pliku subheader, a resztę w view_usergalerie, a mimo to nad logiem wyświetla się na przykład takie coś:
') else writeln(''); writeln('
<<<<niby obrazek, który jest pusty>>>>
'); close(); }}
Wygląda na to, że źle dobrałem cudzysłowy i apostrofy w kodzie z subheader. Przy próbie zastosowania poprzednich kodów, nic się w tym miejscu nie pokazywało, a mimo to po kliknięciu na obrazek nic się nie działo.
Zamieszczę tutaj kod, który wywołuje błąd zamieszczony w tym poście w tagach [ code ] [/ code ].
<script>
// Script Source: CodeLifter.com
// Copyright 2003
// Do not remove this notice.
// SETUPS:
// ===============================
// Set the horizontal and vertical position for the popup
PositionX = 100;
PositionY = 100;
// Set these value approximately 20 pixels greater than the
// size of the largest image to be used (needed for Netscape)
defaultWidth = 500;
defaultHeight = 500;
// Set autoclose true to have the window close automatically
// Set autoclose false to allow multiple popup windows
var AutoClose = true;
// Do not edit below this line...
// ================================
if (parseInt(navigator.appVersion.charAt(0))>=4){
var isNN=(navigator.appName=='Netscape')?1:0;
var isIE=(navigator.appName.indexOf('Microsoft')!=-1)?1:0;}
var optNN='scrollbars=no,width='+defaultWidth+',height='+defaultHeight+',left='+PositionX+',top='+PositionY;
var optIE='scrollbars=no,width=150,height=100,left='+PositionX+',top='+PositionY;
function popImage(imageURL,imageTitle){
if (isNN){imgWin=window.open('about:blank','',optNN);}
if (isIE){imgWin=window.open('about:blank','',optIE);}
with (imgWin.document){
writeln('<html><head><title>Loading...</title><style>body{margin:0px;}</style>');writeln('<sc'+'ript>');
writeln('var isNN,isIE;');writeln('if (parseInt(navigator.appVersion.charAt(0))>=4){');
writeln('isNN=(navigator.appName=='Netscape')?1:0;');writeln('isIE=(navigator.appName.indexOf('Microsoft')!=-1)?1:0;}');
writeln('function reSizeToImage(){');writeln('if (isIE){');writeln('window.resizeTo(100,100);');
writeln('width=100-(document.body.clientWidth-document.images[0].width);');
writeln('height=100-(document.body.clientHeight-document.images[0].height);');
writeln('window.resizeTo(width,height);}');writeln('if (isNN){');
writeln('window.innerWidth=document.images['George'].width;');writeln('window.innerHeight=document.images['George'].height;}}');
writeln('function doTitle(){document.title='+imageTitle+';}');writeln('</sc'+'ript>');
if (!AutoClose) writeln('</head><body bgcolor=000000 scroll='no' onload='reSizeToImage();doTitle();self.focus()'>')
else writeln('</head><body bgcolor=000000 scroll='no' onload='reSizeToImage();doTitle();self.focus()' onblur='self.close()'>');
writeln('<img name='George' src='+imageURL+' style='display:block'></body></html>');
close();
}}
</script>
a tu kod z pliku view_usergalerie:
$zdjid = USERGALERIE.$data['photo_id'];
$zdjnazwa = $data['photo_title'];
echo "<td class='gallery' width='".round(100/$settings['thumbs_per_row'])."%' align='center' valign='top'>
<a href='javascript:popImage(\"$zdjid.jpg\",\"$zdjnazwa\")'>
<IMG SRC='".checkImageExists(USERGALERIE.$data['photo_id']."t.jpg")."' width='$widththump' height='$heighthump' BORDER='0' title='".$data['photo_title']."' alt='".$locale['VU05']."'>
</a>
Czy mógłby ktoś mi pomóc zoptymalizować kod, aby działał poprawnie?
EDIT:
Czy mógłby ktoś pomóc mi dostosować zmienną $photo_size, która jest odpowiedzialna za wymiary obrazka na taką, aby pobierała wymiary obrazka oryginalnego, a nie miniatury? Alternatywnym wyjściem, nie stosując powyższego kodu, jest użycie kodu z pliku photogallery.php. Wszystko działa pięknie, ale zmienna $photo_size pobiera rozmiar nie tego obrazka, co trzeba. Dodam, że obrazek o rozmiarach miniatury wyświetla się tuż po otwarciu okna, natomiast jeśli powiększy się okno, obrazek również się powiększa, aby wypełnić całe okno.
U mnie wygląda ona tak:
$photo_file = USERGALERIE.$data['photo_id'];
$photo_size = @getimagesize($photo_file);
PW od moderatora:
- Przeniesienie tematu - Pieka 07.07 - 12:53
- Zmiana nazwy tematu - Pieka 07.07 - 12:56
Edytowane przez QooBooS dnia 07.07.2008 12:58:15
|
|
|
|
Wścibski Gość |
Dodany dnia 25.11.2024 11:59:05
|
Pan Kontekstualny
Postów: n^x
Data rejestracji: Zawsze
|
|
IP: localhost |
|
|
Szapko |
Dodany dnia 07.07.2008 09:53:35
|
Bywalec
Postów: 888 Pomógł: 66
Data rejestracji: 19.08.2007 19:49
|
Mógłbyś dać jakiś link gdzie jest ten efekt zastosowany?
Edytowane przez Pieka dnia 07.07.2008 13:00:11
|
|
|
|
QooBooS |
Dodany dnia 07.07.2008 12:36:30
|
Przedszkolak
Postów: 52
Data rejestracji: 02.06.2008 22:31
|
Na przykład tu: http://www.co2pl....?userid=26 (galeria losowego użytkownika z mojej strony). Znajdziesz tam problem numer dwa, bo z pierwszym sobie dałem spokój, dopóki ktoś mi nie pomoże z poprawieniem kodu (psuje wygląd strony).
Temat zmieniłem, mam nadzieję, że teraz będzie odpowiadał.
A temat założyłem w przedszkolu, gdyż dotyczy on małych zmian, które dla mnie wydają się trudne do wykonania. Po nazwie działu 'Przedszkole' sugeruję, że to tam właśnie powinny trafiać tematy, w których użytkownicy pytają bardziej doświadczonych użytkowników o pomoc w drobnych modyfikacjach.
Natomiast dział 'Propozycje' wydaje mi się być przeznaczonym dla tematów, w których to użytkownicy proponują modyfikacje skryptów już istniejących na większą skalę.
Poza tym, nie wiedziałem, że posiadanie EF ma jakikolwiek wpływ na schemat składni kodu JS, choć być może chodzi tu o problem numer dwa, czyli składnię kodu pobierającego rozmiar obrazka.
Przepraszam za moje błędy. Choć otrzymałem już tego typu pouczenie, to jednak wciąż mam problemy z idealnym dostosowaniem się do Waszego REGULAMINU.
Edytowane przez QooBooS dnia 07.07.2008 13:03:21
|
|
|
|
Pieka |
Dodany dnia 07.07.2008 13:08:49
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
Nie wiem, ktora masz wersje, ale podam Ci na przykladzie mojej galerii.
W pliku view_usergalerie.php, zastap kod odpowiedzialny za wyswietlanie zdjecia na zblizony do tego:
<div align='center' style='margin:5px 0px;'>
<a href=\"javascript:;\" onclick=\"window.open('showphoto_usergallery.php?photo=".$data['photo_id']."','','scrollbars=yes,toolbar=no,status=no,resizable=yes,width=".($imgsize[0]+20).",height=".($imgsize[1]+20)."')\"><img src='".checkImageExists($img_filename)."' border='0' width='".$max_width."' height='".$prc_height."' title='".$data['photo_title']."' alt='".$locale['VU05']."'></a>
</div>
Z tym, ze pewnie masz inna nazwe pliku zawarta w kodzie. Sam robilem.
Natomiast czesc, o ktora pytasz w drugiej czesci posta, razem z zapytaniem wyglada mniej wiecej tak:
if(isset($photo)){
$result=dbquery("UPDATE ".$db_prefix."ug_photos SET photo_views=(photo_views+1) WHERE photo_id='".$photo."'");
$result=dbquery("SELECT tp.*, user_name FROM ".$db_prefix."ug_photos AS tp INNER JOIN ".$db_prefix."users USING (user_id) WHERE photo_id='".$photo."'");
$data=dbarray($result);
if (dbrows($result)) {
$data = dbarray($result);
$img_filename = USERGALERIE.$photo.".jpg";
echo "<a href=\"javascript:;\" onclick=\"window.close();\"><img src='$img_filename' alt='".$data['img_filename']."' title='".$locale['458']."' border='0'></a>\n";
} else {
echo "<script language='text/javascript'>window.close();</script>\n";
}
}
Nazwy plikow i tabel sa zalezne od wersji, wiec musisz sobie przystosowac w razie potrzeby.
WAZNE: Gwoli uzupelnienia, jesli masz EP/EF, to bezwzglednie masz pisac w tym dziale. Koniec, kropka!
To jest Support PHP-Fusion i nie wspieramy modyfikacji, a jedynie z uprzejmosci udostepniamy osobne forum.
Edytowane przez Pieka dnia 07.07.2008 13:12:33
Jestem jaki jestem
|
|
|
|
QooBooS |
Dodany dnia 07.07.2008 13:41:43
|
Przedszkolak
Postów: 52
Data rejestracji: 02.06.2008 22:31
|
Sprawa wygląda tak:
Zastąpiłem kod odpowiedzialny za wyświetlanie obrazka tym Twoim, a nad nim wkleiłem ten drugi. Zapisałem i wysłałem na f t p.
Wydaje mi się, że wpisy w bazie danych wyglądają u mnie tak samo jak w podanym przez Ciebie kodzie.
Po odświeżeniu strony zauważyłem następujące rzeczy:
- zamiast miniatur obrazków wyświetla się bez przerwy napis "Wczytywanie obrazka";
- gdy zmieniłem w Twoim kodzie nazwę pliku na view_usergalerie.php, w nowym okienku wyświetlała się strona view_usergalerie.php, wraz z całym otoczeniem, a pośrodku był obrazek tak, jak w oryginalnej wersji pliku. Gdy zmieniłem cały pierwszy argument na:
'".USERGALERIE.$data['photo_id'].".jpg'
obrazek wyświetla się identycznie, jak wyświetlał się przed wprowadzeniem Twojego kodu, tzn. ma rozmiary miniaturki, ale da się go rozciągać wraz z rozciągnięciem całego okna popup. Rozumiem, że to, co wprowadziłem jest nie do końca poprawne? Gdy użyłem tu Twojej zmiennej $img_filename, wyświetlała się pusta strona.
PS: Posiadam 'Usergalerie' w wersji 1.0 (przynajmniej tak jest napisane w pliku infusion.php).
Edytowane przez QooBooS dnia 07.07.2008 13:46:56
|
|
|
|
Pieka |
Dodany dnia 07.07.2008 14:05:32
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
Nie tak. Zakladam, ze przynajmniej pierwsza czesc kodu wstawiles poprawnie, wiec wyjasnie co dalej.
Jesli uzywasz mojego kodu, to musisz jeszcze zrobic jedna czynnosc. Zdefiniowalem skalowanie zdjec, wiec aby wszystko dzialalao prawidlowo musisz do pliku show_usergalerie.php dodac zaraz po:
opentable($locale['VU19'].$data['photo_title']);
if(dbrows($result)!=1){
echo "<center><br>".$locale['VU28']."<br><br></center>\n";
}else{
Ponizszy kod:
$img_filename = USERGALERIE.$photo.".jpg";
$imgsize=@getimagesize($img_filename);
//
if($imgsize[0] >= "500") {
$max_width = 500;
$prc_height = ($max_width / $imgsize[0]) * $imgsize[1];
}else{
$max_width = ($imgsize[0]);
$prc_height = ($imgsize[1]);
}
//
Standardowo w galerii PHP-Fusion jest plik showphoto.php, ktory znajduje sie w glownym katalogu strony. Musisz skopiopwac ten plik, zienic nazwe na showphoto_usergallery.php, a nastepnie wyedytowac, zmieniajac:
if (!isset($photo_id) || !isNum($photo_id)) {
fallback("photogallery.php");
} else {
$result = dbquery(
"SELECT tp.*, ta.* FROM ".$db_prefix."photos tp
LEFT JOIN ".$db_prefix."photo_albums ta USING (album_id)
WHERE photo_id='$photo_id' GROUP BY tp.photo_id
");
if (dbrows($result)) {
$data = dbarray($result);
if (!checkgroup($data['album_access'])) {
fallback(FUSION_SELF);
} else {
define("PHOTODIR", PHOTOS.(!SAFEMODE ? "album_".$data['album_id']."/" : ""));
$photo_file = PHOTODIR.$data['photo_filename'];
echo "<a href=\"javascript:;\" onclick=\"window.close();\"><img src='$photo_file' alt='".$data['photo_filename']."' title='".$locale['458']."' border='0'></a>\n";
}
} else {
echo "<script language='text/javascript'>window.close();</script>\n";
}
}
Na ten drugi, podany dwa posty wyzej, czyli:
if(isset($photo)){
$result=dbquery("UPDATE ".$db_prefix."ug_photos SET photo_views=(photo_views+1) WHERE photo_id='".$photo."'");
$result=dbquery("SELECT tp.*, user_name FROM ".$db_prefix."ug_photos AS tp INNER JOIN ".$db_prefix."users USING (user_id) WHERE photo_id='".$photo."'");
$data=dbarray($result);
if (dbrows($result)) {
$data = dbarray($result);
$img_filename = USERGALERIE.$photo.".jpg";
echo "<a href=\"javascript:;\" onclick=\"window.close();\"><img src='$img_filename' alt='".$data['img_filename']."' title='".$locale['458']."' border='0'></a>\n";
} else {
echo "<script language='text/javascript'>window.close();</script>\n";
}
}
Zapisac i wstawic do katalogu infusions/usergalerie/.
Edytowane przez Pieka dnia 07.07.2008 14:20:35
Jestem jaki jestem
|
|
|
|
QooBooS |
Dodany dnia 07.07.2008 14:46:45
|
Przedszkolak
Postów: 52
Data rejestracji: 02.06.2008 22:31
|
Po zastosowaniu wszystkich Twoich kodów, powstało takie coś:
http://www.co2pl....?userid=26
Czy mógłbyś pomóc mi także z tym czarnym tłem środka? Który plik jest odpowiedzialny za tło tego środka? Ostatnio coś kombinowałem, ale zmieniałem tylko subheader i view_usergalerie, więc nie wiem, co mogłem zepsuć. Wygląda to tak, jakby jakiś cudzysłów nie był domknięty albo coś w tym stylu.
A wracając do galerii, proszę o sprawdzenie tego, co tam namajstrowałem - w razie potrzeby chętnie służę kodem.
Zastosowałem się także do Twojej ostatniej edycji poprzedniego posta.
Edytowane przez QooBooS dnia 07.07.2008 14:51:04
|
|
|
|
Pieka |
Dodany dnia 07.07.2008 16:24:31
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
Nie wykonales tego, co napisalem, wiec nie ma mozliwosci aby dzialalo. Napisalem wyraznie co i gdzie.
Jesli masz v1 tej galerii, to to musi dzialac poprawnie.
Jestem jaki jestem
|
|
|
|
QooBooS |
Dodany dnia 07.07.2008 16:47:11
|
Przedszkolak
Postów: 52
Data rejestracji: 02.06.2008 22:31
|
Naprawdę, nie wiem, co jest źle. Przeczytałem chyba z 10 razy Twoje posty, od góry do dołu, i wszystko się zgadza.
Dla pewności umieszczam kody tych dwóch plików:
view_usergalerie.php:
<?php
require_once "../../maincore.php";
require_once BASEDIR."subheader.php";
require_once BASEDIR."side_left.php";
include "locale/Polish.php";
include INCLUDES."ug_comments_include.php";
$widththump = 100; //thumb wudth
$heightthump = 100; //thumbheight
function checkImageExists($image_file) {
if(file_exists($image_file)) {
return $image_file;
}
}
if (isset($step) && $step == "delete") {
$result = dbquery("DELETE FROM ".$db_prefix."ug_comments WHERE comment_id='$comment_id'");
redirect("comments.php?ctype=$ctype&cid=$cid");
}
if (!isset($rowstart) || !isNum($rowstart)) $rowstart = 0;
if (isset($photo) && !isNum($photo)) fallback(FUSION_SELF);
if (isset($userid) && !isNum($userid)) fallback(FUSION_SELF);
opentable("Podgl±d");
echo "[ <a href='../../profile.php?lookup=$userid&auswahl=profil'>Profil</a> ] ";
echo "[ <s><b>Księga go¶ci</b></s> ] ";
echo "[ <a href='view_usergalerie.php?userid=$userid'>Galerie</a> ] ";
closetable();
if(isset($photo)){
$result=dbquery("UPDATE ".$db_prefix."ug_photos SET photo_views=(photo_views+1) WHERE photo_id='".$photo."'");
$result=dbquery("SELECT tp.*, user_name FROM ".$db_prefix."ug_photos AS tp INNER JOIN ".$db_prefix."users USING (user_id) WHERE photo_id='".$photo."'");
$data=dbarray($result);
opentable($locale['VU19'].$data['photo_title']);
if(dbrows($result)!=1){
echo "<center><br>".$locale['VU28']."<br><br></center>\n";
}else{
[b]$img_filename = USERGALERIE.$photo.".jpg";
$imgsize=@getimagesize($img_filename);
//
if($imgsize[0] >= "500") {
$max_width = 500;
$prc_height = ($max_width / $imgsize[0]) * $imgsize[1];
}else{
$max_width = ($imgsize[0]);
$prc_height = ($imgsize[1]);
}
//[/b]
$img_filename = USERGALERIE.$photo.".jpg";
$imgsize=@getimagesize($img_filename);
$prev=@dbresult(@dbquery("SELECT t2.photo_id FROM ".$db_prefix."ug_photos t1 JOIN ".$db_prefix."ug_photos t2 WHERE t1.photo_order=t2.photo_order+1 AND t1.album_id=t2.album_id AND t1.photo_id='".$photo."'"),0);
$next=@dbresult(@dbquery("SELECT t2.photo_id FROM ".$db_prefix."ug_photos t1 JOIN ".$db_prefix."ug_photos t2 WHERE t1.photo_order=t2.photo_order-1 AND t1.album_id=t2.album_id AND t1.photo_id='".$photo."'"),0);
echo "<div align='center' style='margin:5px 0px;'>
<table align='center' cellpadding='0' cellspacing='1' class='tbl-border'>\n<tr>
<td class='tbl55'><span class='small'><a href='".FUSION_SELF."?".(empty($prev)?"userid=".$data['album_id']:"userid=".$data['album_id']."&photo=".$prev)."'>".$locale['VU29']."</a></span></td>
<td class='tbl55'><span class='small'><a href='".FUSION_SELF."?userid=".$data['album_id']."'>".$locale['VU27']."</a></span></td>
<td class='tbl55'><span class='small'><a href='".FUSION_SELF."?".(empty($next)?"userid=".$data['album_id']:"userid=".$data['album_id']."&photo=".$next)."'>".$locale['VU30']."</a></span></td>
</tr>\n</table>\n</div>
<div align='center' style='margin:5px 0px;'>
<a href='".checkImageExists($img_filename)."' class='highslide' onclick=\"return hs.expand(this, { captionId: 'caption".$data['photo_id']."' } );\" title='".$data['photo_title']."'>
<img src='".checkImageExists($img_filename)."' border='1' title='".$data['photo_title']."' title='".$data['photo_title']."' alt='".$locale['VU05']."'></a>
</div>
<div align='center' style='margin:5px 0px;'>
<span class='small2'>".$locale['VU20'].$imgsize[0]." x ".$imgsize[1].$locale['VU21']."(".parseByteSize(filesize($img_filename)).")<br>
".$locale['VU22']."<b>".$data['user_name']."</b>".$locale['VU23']."<b>".showdate("shortdate", $data['photo_date'])."</b>.<br>
".$locale['VU24']."<b>".$data['photo_views']."</b>".$locale['VU25']."</span>
</div>";
}
closetable();
if($settings['album_comments']=="1") showcomments("P","photos","photo_id",$photo,FUSION_SELF."?userid=".$data['album_id']."&photo=$photo");
}elseif(isset($userid)){
$data=dbarray(dbquery(
"SELECT ta.*, COUNT(photo_id) as photo_count, MAX(photo_date) as max_date, user_name
FROM ".$db_prefix."ug_photo_albums AS ta
LEFT JOIN ".$db_prefix."ug_photos USING (album_id)
LEFT JOIN ".$db_prefix."users USING (user_id)
WHERE ta.album_id='".$userid."' GROUP BY album_id"
));
if ($data['album_title'] != ""){
$piccnt=$data['photo_count'];
opentable($locale['VU08'].$data['album_title']);
echo "<table cellpadding='0' cellspacing='0' width='100%'>
<tr>
<td width='75%' valign='top'><font color=ffffff>".($data['album_info']==""?$data['album_title']:$data['album_info'])."</font></td>
</tr>
<tr>
<td valign='bottom' class='small2'><hr>".$locale['VU09']."<b>".($data['photo_count']>0?"$data[photo_count]</b><br>".$locale['VU10']."<b>".strftime($settings['shortdate'], $data['max_date']+($settings['timeoffset']*3600))."</b>":$locale['VU12']."</b><br /><br />")."</td>
</tr>
<tr>
<td align='center' colspan='2' class='small'><br><a href='".FUSION_SELF."'>".$locale['VU26']."</a></td>
</tr>
</table>";
closetable();
tablebreak();
opentable($locale['VU13']);
$result=dbquery(
"SELECT tp.*, COUNT(comment_item_id) AS comment_count
FROM ".$db_prefix."ug_photos AS tp LEFT JOIN ".$db_prefix."ug_comments
ON photo_id = comment_item_id AND comment_type='P'
WHERE album_id='".$userid."' GROUP BY photo_id
ORDER BY photo_order LIMIT ".$rowstart.",".$settings['thumbs_per_page']
);
if(dbrows($result)>0){
echo "<table cellpadding='0' cellspacing='0' width='100%'>\n<tr>\n";
$img_cnt=0;
while($data=dbarray($result)){
$photo_file = USERGALERIE.$data['photo_id'].".jpg";
$photo_size = @getimagesize($photo_file);
echo "<td class='gallery' width='".round(100/$settings['thumbs_per_row'])."%' align='center' valign='top'>
[b]<div align='center' style='margin:5px 0px;'>
<a href=\"javascript:;\" onclick=\"window.open('showphoto_usergallery.php?photo=".$data['photo_id']."','','scrollbars=yes,toolbar=no,status=no,resizable=yes,width=".($imgsize[0]+20).",height=".($imgsize[1]+20)."')\"><img src='".checkImageExists($img_filename)."' border='0' width='".$max_width."' height='".$prc_height."' title='".$data['photo_title']."' alt='".$locale['VU05']."'></a>
</div>[/b]
<br /><font color=ffffff>
".$data['photo_title']."</font><br />
<span class='small2'>".$locale['VU14']."<b>".($data['photo_views']==0?$locale['VU12']:$data['photo_views'])."</b><br />
".($data['comment_count']==0?$locale['VU15']:"<b>".$data['comment_count']."</b> ".($data['comment_count']==1?$locale['VU16']:$locale['VU17']))."</span>";
if(++$img_cnt%$settings['thumbs_per_row']==0) echo "</tr>\n<tr>\n";
}
echo "</tr>\n</table>\n";
}else{
echo "<center><br />".$locale['VU18']."<br /><br /></center>";
}
closetable();
if ($piccnt != 0) echo "<div align='center' style='margin-top:5px;'>".makePageNav($rowstart,$settings['thumbs_per_page'],$piccnt,3,FUSION_SELF."?userid=$album&")."</div>\n";
}else{
opentable($locale['VU00']);
echo "<center>".$locale['VU31']."</center>";
closetable();
}}
echo "<center>Copyright © 2006 <a href='http://www.pressepage.de/web'>Andreas Niesen (qayqay)</a></center>";
require_once BASEDIR."side_right.php";
require_once BASEDIR."footer.php";
?>
oraz plik showphoto_usergallery.php:
<?php
/*---------------------------------------------------+
| PHP-Fusion 6 Content Management System
+----------------------------------------------------+
| Copyright © 2002 - 2006 Nick Jones
| http://www.php-fusion.co.uk/
+----------------------------------------------------+
| Released under the terms & conditions of v2 of the
| GNU General Public License. For details refer to
| the included gpl.txt file or visit http://gnu.org
+----------------------------------------------------*/
require_once "../../maincore.php";
include LOCALE.LOCALESET."photogallery.php";
define("SAFEMODE", @ini_get("safe_mode") ? true : false);
echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
<html>
<head>
<title>".$settings['sitename']."</title>
<meta http-equiv='Content-Type' content='text/html; charset=".$locale['charset']."'>
<meta name='description' content='".$settings['description']."'>
<meta name='keywords' content='".$settings['keywords']."'>
<link rel='stylesheet' href='".THEME."styles.css' type='text/css'>
<script type='text/javascript' src='".INCLUDES."jscript.js'></script>
</head>
<body style='margin:0px'>\n";
[b]if(isset($photo)){
$result=dbquery("UPDATE ".$db_prefix."ug_photos SET photo_views=(photo_views+1) WHERE photo_id='".$photo."'");
$result=dbquery("SELECT tp.*, user_name FROM ".$db_prefix."ug_photos AS tp INNER JOIN ".$db_prefix."users USING (user_id) WHERE photo_id='".$photo."'");
$data=dbarray($result);
if (dbrows($result)) {
$data = dbarray($result);
$img_filename = USERGALERIE.$photo.".jpg";
echo "<a href=\"javascript:;\" onclick=\"window.close();\"><img src='$img_filename' alt='".$data['img_filename']."' title='".$locale['458']."' border='0'></a>\n";
} else {
echo "<script language='text/javascript'>window.close();</script>\n";
}
}[/b]
echo "</body>\n</html>\n";
?>
Czy o czymś zapomniałem?
EDIT: Okienko popup ma rozmiary 20 pikseli na 20 pikseli, czyli tak, jakby nie rozumiało komendy pobierającej rozmiar obrazka.
W view_usergalerie.php miniaturki nadal są zastąpione tekstem "Wczytywanie Obrazu".
Edytowane przez QooBooS dnia 07.07.2008 16:53:54
|
|
|
|
Pieka |
Dodany dnia 07.07.2008 17:16:45
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
Odpowiedz mi na tylko jedno pytanie, dlaczego zamieniasz kod miniaturki zamiast docelowego zdjecia?
Jestem jaki jestem
|
|
|
|
QooBooS |
Dodany dnia 07.07.2008 17:30:08
|
Przedszkolak
Postów: 52
Data rejestracji: 02.06.2008 22:31
|
Dzięki Szefie za olśnienie Po ujrzeniu napisów na miniaturkach za pierwszym razem, coś mi się nie podobało, ale stwierdziłem, że tak musi być... Zupełnie nie pomyślałem, że to ma mieć zastosowanie do "otwartego" zdjęcia.
Teraz działa perfekcyjnie, strona się nie rozjeżdża. Mam tylko jedno 'ale':
Czy dałoby się otoczyć marginesami zdjęcie otwarte w popupie? W tej chwili ten "zapas", czyli 20 pikseli jest jedynie po prawej i na dole, a chciałbym, żeby było to także z tej drugiej strony. |
|
|
|
Pieka |
Dodany dnia 07.07.2008 18:00:42
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
QooBooS napisał/a:
..Czy dałoby się otoczyć marginesami zdjęcie otwarte w popupie? W tej chwili ten "zapas", czyli 20 pikseli jest jedynie po prawej i na dole, a chciałbym, żeby było to także z tej drugiej strony.
Sprawdz cos takiego, zamien w pliku view_usergalerie.php:
<a href=\"javascript:;\" onclick=\"window.open('showphoto_usergallery.php?photo=".$data['photo_id']."','','scrollbars=yes,toolbar=no,status=no,resizable=yes,width=".($imgsize[0]+20).",height=".($imgsize[1]+20)."')\">
Na:
<a href=\"javascript:;\" onClick=\"OpenWindow('showphoto_usergallery.php?photo=".$data['photo_id']."& amp;full', ".($imgsize[0]+2).", ".($imgsize[1]+2).", true)\">
Wazne! W kodzie nalezy usunac spacje pomiedzy:
&
A:
amp;full
Teoretycznie powinno byc ok, ale glowy nie dam, wiec zrob kopie pliku przed modyfikacja.
Edytowane przez Pieka dnia 07.07.2008 18:15:19
Jestem jaki jestem
|
|
|
|
QooBooS |
Dodany dnia 07.07.2008 18:06:42
|
Przedszkolak
Postów: 52
Data rejestracji: 02.06.2008 22:31
|
Po wklejeniu Twojego kodu, nic się nie dzieje, gdy klikam na zdjęcie - jakby nie znało funkcji OpenWindow. Spróbowałem window.open, ale zdjęcie się otwiera w zmaksymalizowanym oknie, nawet po usunięciu &full z URL'a. |
|
|
|
Pieka |
Dodany dnia 07.07.2008 18:12:44
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
QooBooS napisał/a:
Po wklejeniu Twojego kodu, nic się nie dzieje, gdy klikam na zdjęcie - jakby nie znało funkcji OpenWindow. Spróbowałem window.open, ale zdjęcie się otwiera w zmaksymalizowanym oknie, nawet po usunięciu &full z URL'a.
To jest znaczek (bez spacji):
& amp;full
Forum go interpretuje, wiec kod sie zle wyswietlil. Poprawilem.
Jesli po porawieniu nie zadziala poprawnie, to wstaw tam standardowy zamieniajac +20 na np. +2 lub w ogole pomijajac margines.
Edytowane przez Pieka dnia 07.07.2008 18:22:14
Jestem jaki jestem
|
|
|
|
QooBooS |
Dodany dnia 07.07.2008 18:20:10
|
Przedszkolak
Postów: 52
Data rejestracji: 02.06.2008 22:31
|
W dalszym ciągu po kliknięciu na zdjęcie nic się nie dzieje... W takim razie zastosuję Twoją poradę dotyczącą usunięcia marginesów. Tak chyba będzie najlepiej, skoro nie da się ustawić marginesów dookoła stron zdjęcia...
Serdeczne dzięki za Twoją pomoc! |
|
|
|
Pieka |
Dodany dnia 07.07.2008 18:26:15
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
QooBooS napisał/a:
..W takim razie zastosuję Twoją poradę dotyczącą usunięcia marginesów...
Z tego, co widze efekt jest wiecej niz dobry i mysle, ze bez marginesow wyswietlane zdjecia tylko zyskaly.
Jestem jaki jestem
|
|
|