[MOD] Galeria + Highslide&Lightbox
|
Piter573PB |
Dodany dnia 20.02.2008 14:55:35
|
Przedszkolak
Postów: 53
Data rejestracji: 19.01.2008 11:31
|
bartek124, rozwiazanie dobre bo proste:), ale ja szukam czegoś innego. Takiego samego efektu jak w highslide. Samego highslida nie zainstaluje bo mi się nie za bardzo podoba i pod wzgledem funkcjonalności też nie najlepiej, ale to tylko moja opinia, kwesta gustu. Ale za samą innowacyjność skrypty wielkie brawa do autoów:D Prawie jak Windows, prawie nie zawsze znaczy tak wielką różnicę;)
Doszedłem do czegoś takiego. Link umieszczony bezpośredio we fragmentach HTML pliku nie działa. Trzeba umieścić znacznik <span> i jego id. Potem na podstawie jego id odpowiednie komendy wykonuję wszystko. Tak mi się przynajmniej wydaje. Na przykładzie numeru obrazka
<span id="numberDisplay"></span>
Potem
var objNumberDisplay = document.createElement("span");
objNumberDisplay.setAttribute('id','numberDisplay');
objImageDetails.appendChild(objNumberDisplay);
I później
Element.hide('numberDisplay');
I dalej...
if(imageArray.length > 1){
Element.show('numberDisplay');
Element.setInnerHTML( 'numberDisplay', "Obraz " + eval(activeImage + 1) + " z " + imageArray.length);
}
Według tego teraz wystarczy utworzyć znacznik <span> z jakimś id i przypisać mu odpowiednie funkcje. Jeśli ktoś się zna na javie to byłbym wdzięczny jak by podpowiedział jak edytować te fragmenty kodu które wyżej podałem.
Edytowane przez Piter573PB dnia 21.02.2008 11:22:24
|
|
|
|
Wścibski Gość |
Dodany dnia 22.11.2024 15:49:16
|
Pan Kontekstualny
Postów: n^x
Data rejestracji: Zawsze
|
|
IP: localhost |
|
|
Qklik |
Dodany dnia 22.02.2008 14:29:49
|
Przedszkolak
Postów: 4
Data rejestracji: 22.02.2008 14:27
ZBANOWANY: Dożywotnio
|
Cześć, wiecie może co i jak trzeba edytować w plikach highslide żeby tło pod wyświetlaną fotką było przyciemnione tak jak w lightboxie? Z góry dziękuję
|
|
|
|
Piter573PB |
Dodany dnia 22.02.2008 19:02:01
|
Przedszkolak
Postów: 53
Data rejestracji: 19.01.2008 11:31
|
Kod lightboxa nie był skory do współpracy, dlatego został potraktowany klawiszem DELETE:D Teraz zaczynam dostosowywać highslide pod swoje potrzeby. Dołanczam się do pytania Qklika. W pliku CSS nie znalazłem jakiegoś magicznego wpisu który mówił bym mi ,że to on odpowiada za przyciemnienie tła. Dlatego jak ktoś miał taki magiczny wpis to niech się z nim podzieli;).
A i jeszcze jedno. Znalazłęm wpis w phoyogallery odpowiedzialny za wyswietlanie efektu highslide., poprzesyuwałem tam sobie tochę i teraz jest lepiej, ale chciałbym ,żeby obok komentarzy był opis zdjęcia/tytuł. Po dodaniu kodu if ($data['photo_description']) echo nl2br(parseubb($data['photo_description']))."</b>\n";
wywala mi bład, jak ktoś już rozwiązałl u siebie taki problem to byłbym wdzięczny za jakąć radę:)
|
|
|
|
K2 |
Dodany dnia 22.02.2008 19:04:39
|
Początkujący
Postów: 218 Pomógł: 1
Data rejestracji: 11.12.2006 12:51
ZBANOWANY: Dożywotnio
|
Jaki dokładnie błąd "wywala" ?
|
|
|
|
Piter573PB |
Dodany dnia 22.02.2008 19:14:54
|
Przedszkolak
Postów: 53
Data rejestracji: 19.01.2008 11:31
|
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\xampp\htdocs\fusion\photogallery.php on line 127
Przypuszczam ,że pewnie trzeba coś dopisać, jakąś komendę tylko nie wiem jaką. A tu wygląd całej sekcji div odpowiedzialnej za wyświetlnie okienka highslide w photogallery: echo "<table align='center' cellpadding='0' cellspacing='1' width='100%'>\n<tr>\n";
while ($data = dbarray($result)) {
$highslides .= "<div class='highslide-caption' id='caption".$data['photo_id']."' style='text-align:left'><a href='".FUSION_SELF."?photo_id=".$data['photo_id']."'><h3>Komentarze<h3></a>
if ($data['photo_description']) echo nl2br(parseubb($data['photo_description']))."</b>\n";
</div>
<div style='text-align:center'
<a href='#' class='previous' onclick='return hs.previous(this)' title='Poprzednie'> <img src='images/prev.jpg' alt='' width='34' height='34' /> </a>
<a href='#' class='next' onclick='return hs.next(this)' title='Nast^epne'> <img src='images/next.jpg' alt='' width='34' height='34' /> </a>
<a href='#' class='highslide-move' onclick='return false' title='Przenie'> </a>
</div>
<div style='text-align:right'
<a href='#' class='close' onclick='return hs.close(this)' style='text-align:right' title='Zamknij'> <img src='images/close.jpg' alt='' width='118' height='25' /> </a>
</div>
</div>\n";
Bez tej linijki odpowiedzialnej za wyświetlanie opisu wszystko działa ok:)
Edytowane przez Piter573PB dnia 22.02.2008 19:16:28
|
|
|
|
Qklik |
Dodany dnia 22.02.2008 19:36:52
|
Przedszkolak
Postów: 4
Data rejestracji: 22.02.2008 14:27
ZBANOWANY: Dożywotnio
|
W pliku effects.js (lightbox) znalazłem coś takiego: Effect.Highlight = Class.create();
Object.extend(Object.extend(Effect.Highlight.prototype, Effect.Base.prototype), {
initialize: function(element) {
this.element = $(element);
var options = Object.extend({ startcolor: '#ffff99' }, arguments[1] || {});
this.start(options);
},
setup: function() {
// Prevent executing on elements not in the layout flow
if(Element.getStyle(this.element, 'display')=='none') { this.cancel(); return; }
// Disable background image during the effect
this.oldStyle = {
backgroundImage: Element.getStyle(this.element, 'background-image') };
Element.setStyle(this.element, {backgroundImage: 'none'});
if(!this.options.endcolor)
this.options.endcolor = Element.getStyle(this.element, 'background-color').parseColor('#ffffff');
if(!this.options.restorecolor)
this.options.restorecolor = Element.getStyle(this.element, 'background-color');
// init color calculations
this._base = $R(0,2).map(function(i){ return parseInt(this.options.startcolor.slice(i*2+1,i*2+3),16) }.bind(this));
this._delta = $R(0,2).map(function(i){ return parseInt(this.options.endcolor.slice(i*2+1,i*2+3),16)-this._base[i] }.bind(this));
},
update: function(position) {
Element.setStyle(this.element,{backgroundColor: $R(0,2).inject('#',function(m,v,i){
return m+(Math.round(this._base[i]+(this._delta[i]*position)).toColorPart()); }.bind(this)) });
},
finish: function() {
Element.setStyle(this.element, Object.extend(this.oldStyle, {
backgroundColor: this.options.restorecolor
}));
}
});
Nie jestem pewien czy to to odpowiada za przyciemnione tło, czy może ktoś to potwierdzić i powiedzieć co zrobić ,żeby działąło w highslide?
Edytowane przez Milka dnia 22.02.2008 20:21:21
|
|
|
|
Piter573PB |
Dodany dnia 23.02.2008 20:50:21
|
Przedszkolak
Postów: 53
Data rejestracji: 19.01.2008 11:31
|
No i co sądzicie na temat tych błedów? Jak ktoś może to niech poda co muszę sobie wstawić do tego kodu (patrz 2 posty wyżej)
PW od moderatora:
- Ogólna Uwaga - Pieka 23.02 - 20:59
Edytowane przez czarny_ dnia 23.02.2008 21:14:00
|
|
|
|
miczus |
Dodany dnia 24.02.2008 13:21:24
|
Przedszkolak
Postów: 2
Data rejestracji: 21.10.2007 10:46
|
Witam.
Chciałem,żeby wszystkie galerie się tak fajnie otwierały,więc trochę się pobawiłem i pozmieniałem plik photogallery.php na photogallery2.php i photogallery3.php,należy je tylko pozmieniać w głównym katalogu (photogallery2.php i photogallery3.php) i wszystkie galerie się tak czadowo otwierają.
Można sprawdzić u mnie na stronie.
Pozdrawiam.
miczus dodał/a następującą plik:
|
|
|
|
Lukiqq |
Dodany dnia 25.02.2008 22:36:02
|
Początkujący
Postów: 179 Pomógł: 7
Data rejestracji: 05.11.2006 18:58
|
Miesiące mijają a kolejni Userzy odkrywają galerię, miło A co do subkategorii, to poziom trudności implementacji efektów Lightbox+Highslide do galerii nie jest wysoki. Tak więc po chwili pracy może się okazać, że nawet tak spartańska wersja galerii z podkategoriami będzie wyglądała całkiem fajnie Życzę powodzenia ewentualnym prekursorom w tym temacie.
itvortal.avx.pl - A taka sobie moja strona :]
Pomoc na GG wyłącznie dla nieco wtajemniczonych, podstawowe HowTo znajduje się na forum.
|
|
|
|
Piter573PB |
Dodany dnia 29.02.2008 19:52:52
|
Przedszkolak
Postów: 53
Data rejestracji: 19.01.2008 11:31
|
To ja w dalszym ciągu powałkuję temat przyciemnionego tła w highslide. Tutaj jest kod który odpowiada za to w lightbox: #overlay{
position: absolute;
top: 0;
left: 0;
z-index: 90;
width: 100%;
height: 500px;
background-color: #000;
filter:alpha(opacity=60);
-moz-opacity: 0.6;
opacity: 0.6;
}
Udało mi się to przenieść w jakiej takiej formie do highslide. Efekt działa, ale nie tam gdzie bym chciał. Mogę przyciemniać wszystko co jest w ramce, ale nic poza nią. W pliku highslide.css też jest pozycja overlay, ale w niej kod nie działa(nie widać efektu). Poniżej efekt mojej dotychczasowej pracy
.
Jak ktoś mógłby poradzić co trzeba zrobić z tym nieszczęsnym overlay, to byłbym wdzięczny;)
|
|
|
|
Lukiqq |
Dodany dnia 29.02.2008 21:50:25
|
Początkujący
Postów: 179 Pomógł: 7
Data rejestracji: 05.11.2006 18:58
|
Ok, no to lecimy:
By uzyskać efekt przyciemnienia tła podczas efektu Highslide należy:
1. Pobrać wersję z załącznika.
2. Rozpakować ją i wrzucić do katalogu includes wcześniej usuwając w całości poprzednią.
3. Otworzyć plik photogallery.php i znaleźć w nim tekst:
echo "hs.outlineType = 'rounded-white';\n";
a następnie dodać po nim:
echo "hs.dimmingOpacity = 0.75;";
liczba 0.75 określa poziom przezroczystości tła.
Dodatkowo w pliku .css w klasie .highslide-dimming możemy zmieniać kolor przezroczystego tła.
Notka dla IE, po zastosowaniu nowej wersji HS należy wyczyścić pamięć cache przeglądarki.
ENJOY! B)
Lukiqq dodał/a następującą plik:
Edytowane przez Lukiqq dnia 29.02.2008 22:34:17
itvortal.avx.pl - A taka sobie moja strona :]
Pomoc na GG wyłącznie dla nieco wtajemniczonych, podstawowe HowTo znajduje się na forum.
|
|
|
|
Piter573PB |
Dodany dnia 01.03.2008 10:18:57
|
Przedszkolak
Postów: 53
Data rejestracji: 19.01.2008 11:31
|
Dzięki Lukiqq . O to dokładnie mi chodziło. Jak by ktoś jeszcze wiedział, gdzie można ustawić parametr 'before' , tak aby tło ściemniało się przed pokazaniem obrazka a nie po nim, niby mało znacząca różnica ale jednak coś
|
|
|
|
Lukiqq |
Dodany dnia 01.03.2008 16:00:43
|
Początkujący
Postów: 179 Pomógł: 7
Data rejestracji: 05.11.2006 18:58
|
Nie przesadzasz?
itvortal.avx.pl - A taka sobie moja strona :]
Pomoc na GG wyłącznie dla nieco wtajemniczonych, podstawowe HowTo znajduje się na forum.
|
|
|
|
Piter573PB |
Dodany dnia 02.03.2008 22:57:09
|
Przedszkolak
Postów: 53
Data rejestracji: 19.01.2008 11:31
|
No, może trochę przesadziłęm. Ale mam takie pytanie Lukiqq, czy w tych plikach co je załączyłeś zmieniałeś gdzieś w jakichś ustawieniach wymiary wyświetlania na jakieś niestandardowe? Bo teraz na Frirefoxie przycina mi przyciski przewijania i okno nie mieści się na ekranie. Dwniej było ok. Proble z przycinaniem wystepuje tylko na FX http://img443.ima...idebk4.jpg albo na stronie w oryginale http://zsg5radoms...allery.php
Edytowane przez Milka dnia 02.03.2008 23:04:37
|
|
|
|
Lukiqq |
Dodany dnia 02.03.2008 23:25:27
|
Początkujący
Postów: 179 Pomógł: 7
Data rejestracji: 05.11.2006 18:58
|
Nie, raczej tego nie zmieniałem, przeglądnij pliki i wprowadź ewentualne poprawki, ja na to uwagi nie zwracałem, ponieważ nie mam tych przycisków.
itvortal.avx.pl - A taka sobie moja strona :]
Pomoc na GG wyłącznie dla nieco wtajemniczonych, podstawowe HowTo znajduje się na forum.
|
|
|
|
Piter573PB |
Dodany dnia 03.03.2008 15:49:47
|
Przedszkolak
Postów: 53
Data rejestracji: 19.01.2008 11:31
|
Ok. Nie weim dokładnie co było nie tak, ale po edycji starego pliku highslide.css wszystko jest ok. Tutaj załączam poprawiony plik css, teraz na firefoxie wszystko jest ok. Nie wiem jak było wcześniej ale na Safari nie działa przyciemnianie. Nie bedę się już tym bawił bo może to wina wersji beta na windowsa a na Macu nie mam możliwości sprawdzic. Poza tym (bez obrazy userzy Safari) jesteście tak zwanym "marginesem" (tym bardziej wersja beta na windows, podobno ma problemy z CSS)
Piter573PB dodał/a następującą plik:
Edytowane przez Milka dnia 03.03.2008 19:03:19
|
|
|
|
Qklik |
Dodany dnia 10.03.2008 11:26:31
|
Przedszkolak
Postów: 4
Data rejestracji: 22.02.2008 14:27
ZBANOWANY: Dożywotnio
|
Witam.
Co należy zrobić aby w highslide po otwarciu obrazka wyświetlał się jego opis?
|
|
|
|
Piter573PB |
Dodany dnia 10.03.2008 11:32:11
|
Przedszkolak
Postów: 53
Data rejestracji: 19.01.2008 11:31
|
Udało mi się zmienić photogallery.php tak aby wykorzystywał tylko highslide bez lightboxa, dzieki temu zabiegowi można odciażyć strone. Są jednak drobne błedy.
Poniżej kod pliku
<?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";
require_once "subheader.php";
require_once "side_left.php";
include LOCALE.LOCALESET."photogallery.php";
define("SAFEMODE", @ini_get("safe_mode") ? true : false);
if (isset($photo_id) && !isNum($photo_id)) fallback(FUSION_SELF);
if (isset($album_id) && !isNum($album_id)) fallback(FUSION_SELF);
if (!isset($rowstart) || !isNum($rowstart)) $rowstart = 0;
if(isset($photo_id)){
$result = dbquery(
"SELECT tp.*, ta.*, tu.user_id,user_name, SUM(tr.rating_vote) AS sum_rating, COUNT(tr.rating_item_id) AS count_votes
FROM ".$db_prefix."photos tp
LEFT JOIN ".$db_prefix."photo_albums ta USING (album_id)
LEFT JOIN ".$db_prefix."users tu ON tp.photo_user=tu.user_id
LEFT JOIN ".$db_prefix."ratings tr ON tr.rating_item_id = tp.photo_id AND tr.rating_type='P'
WHERE photo_id='$photo_id' GROUP BY tp.photo_id"
);
$data = dbarray($result);
if (!checkgroup($data['album_access'])) {
fallback(FUSION_SELF);
} else {
define("PHOTODIR", PHOTOS.(!SAFEMODE ? "album_".$data['album_id']."/" : ""));
include INCLUDES."comments_include.php";
include INCLUDES."ratings_include.php";
$result=dbquery("UPDATE ".$db_prefix."photos SET photo_views=(photo_views+1) WHERE photo_id='".$photo_id."'");
$pres = dbquery("SELECT photo_id FROM ".$db_prefix."photos WHERE photo_order='".($data['photo_order']-1)."' AND album_id='".$data['album_id']."'");
$nres = dbquery("SELECT photo_id FROM ".$db_prefix."photos WHERE photo_order='".($data['photo_order']+1)."' AND album_id='".$data['album_id']."'");
if (dbrows($pres)) $prev = dbarray($pres);
if (dbrows($nres)) $next = dbarray($nres);
opentable($locale['450']);
if ($data['photo_thumb2']) $photo_thumb = PHOTODIR.$data['photo_thumb2'];
$photo_file = PHOTODIR.$data['photo_filename'];
$photo_size = @getimagesize($photo_file);
echo "<table cellpadding='0' cellspacing='0' width='100%'>\n<tr>\n<td class='topnav'>\n";
echo "<a href='".FUSION_SELF."'>".$locale['400']."</a> >\n";
echo "<a href='".FUSION_SELF."?album_id=".$data['album_id']."'>".$data['album_title']."</a> >\n";
echo "<a href='".FUSION_SELF."?photo_id=$photo_id'>".$data['photo_title']."</a>\n</td>\n";
if (isset($prev) || isset($next)) {
if (isset($prev)) echo "<td width='1%' class='topnav'><a href='".FUSION_SELF."?photo_id=".$prev['photo_id']."' title='".$locale['451']."'><<</a></td>\n";
if (isset($next)) echo "<td width='1%' class='topnav'><a href='".FUSION_SELF."?photo_id=".$next['photo_id']."' title='".$locale['452']."'>>></a></td>\n";
}
echo "</tr>\n</table>\n";
tablebreak();
echo "<div class='highslide-caption' id='caption".$data['photo_id']."' style='text-align:left'>
<div style='text-align:right'
<a href='#' class='close' onclick='return hs.close(this)' style='text-align:right' title='Zamknij'> <img src='images/close.jpg' alt='' width='250' height='34' /> </a>
</div>
</div>\n";
echo "<div align='center' style='margin:5px 0px 5px 0px'>\n";
echo "<b><span style='font-size:12px'>".$data['photo_title']."</span></b><br>\n<a href='".PHOTODIR.$data['photo_file'].$data['photo_filename']."' class='highslide' onclick=\"return hs.expand(this, { captionId: 'caption".$data['photo_id']."' } );\" title='".$data['photo_description']."'>";
echo "<img src='".PHOTODIR.$data['photo_thumb1']."' alt='".$data['photo_thumb1']."' title='".$locale['431']."' border='0'>";
echo "</a><br><br>\n<span class='small'>\n";
echo $highslides;
echo "<script type='text/javascript'>\n";
echo "hs.registerOverlay(
{
thumbnailId: null,
overlayId: 'controlbar',
position: 'top right',
hideOnMouseOut: false,
opacity: 1.00
}
);\n";
echo "hs.graphicsDir = 'includes/highslide/graphics/';\n";
echo "hs.outlineType = 'rounded-white';\n";
echo "hs.dimmingOpacity = 0.75;";
echo "window.onload = function() {\n";
echo "hs.preloadImages();\n"."}\n";
echo "</script>\n";
}
}
echo "<div align='center' style='margin:5px 0px 5px 0px'>\n";
if ($data['photo_description']) echo nl2br(parseubb($data['photo_description']))."</b><br><br>\n";
echo $locale['433'].showdate("shortdate", $data['photo_datestamp'])."<br>\n";
echo $locale['434']."<a href='".BASEDIR."profile.php?lookup=".$data['user_id']."'>".$data['user_name']."</a><br>\n";
echo $locale['454']."$photo_size[0] x $photo_size[1] ".$locale['455']."<br>\n";
echo $locale['456'].parsebytesize(filesize($photo_file))."<br>\n";
echo $locale['436'].dbcount("(comment_id)", "comments", "comment_type='P' AND comment_item_id='".$data['photo_id']."'")."<br>\n";
echo $locale['437'].($data['count_votes'] > 0 ? str_repeat("<img src='".IMAGES."star.gif' alt='*' style='vertical-align:middle'>", ceil($data['sum_rating'] / $data['count_votes'])) : $locale['438'])."<br>\n";
echo $locale['457'].$data['photo_views']."\n";
closetable();
if ($data['photo_allow_comments'] == "1") showcomments("P","photos","photo_id",$photo_id,FUSION_SELF."?photo_id=$photo_id");
if ($data['photo_allow_ratings']) showratings("P",$photo_id,FUSION_SELF."?photo_id=$photo_id");
}
} elseif (isset($album_id)) {
define("PHOTODIR", PHOTOS.(!SAFEMODE ? "album_".$album_id."/" : ""));
$result = dbquery(
"SELECT ta.* FROM ".$db_prefix."photo_albums ta WHERE album_id='$album_id'"
);
if (!dbrows($result)) {
fallback(FUSION_SELF);
} else {
$data = dbarray($result);
if (!checkgroup($data['album_access'])) {
fallback(FUSION_SELF);
} else {
$rows = dbcount("(photo_id)", "photos", "album_id='$album_id'");
opentable($locale['420']);
tablebreak();
echo "<table align='center' cellpadding='0' cellspacing='0' width='80%'>\n<tr>\n";
echo "<td rowspan='2' align='center' class='tbl2'><img src='".PHOTOS.$data['album_thumb']."'></td>\n";
echo "<td valign='top' width='100%'><div class='tbl2' style='font-weight:bold;vertical-align:top'>".$locale['421'].$data['album_title']."</div>\n";
echo "<div class='tbl2' style='vertical-align:middle'>".nl2br(parseubb($data['album_description']))."</div>\n</td>\n</tr>\n";
echo "<tr>\n<td valign='bottom' width='100%'>\n<div class='tbl2' style='vertical-align:bottom'>\n";
if ($rows) {
$pdata = dbarray(dbquery("SELECT tp.*, tu.user_id,user_name FROM ".$db_prefix."photos tp LEFT JOIN ".$db_prefix."users tu ON tp.photo_user=tu.user_id WHERE album_id='$album_id' ORDER BY photo_datestamp DESC LIMIT 1"));
echo $locale['422']."$rows<br>\n";
echo $locale['423']."<a href='".BASEDIR."profile.php?lookup=".$pdata['user_id']."'>".$pdata['user_name']."</a>".$locale['424'].showdate("shortdate", $pdata['photo_datestamp'])."\n";
} else {
echo $locale['425']."\n";
}
echo "</div>\n</td>\n</tr>\n</table>";
tablebreak();
closetable();
if ($rows) {
tablebreak();
opentable($locale['430']);
$result = dbquery(
"SELECT tp.*, tu.user_id,user_name, SUM(tr.rating_vote) AS sum_rating, COUNT(tr.rating_item_id) AS count_votes
FROM ".$db_prefix."photos tp
LEFT JOIN ".$db_prefix."users tu ON tp.photo_user=tu.user_id
LEFT JOIN ".$db_prefix."ratings tr ON tr.rating_item_id = tp.photo_id AND tr.rating_type='P'
WHERE album_id=$album_id GROUP BY photo_id ORDER BY photo_order LIMIT $rowstart,".$settings['thumbs_per_page']
);
$counter = 0;
echo "<table cellpadding='0' cellspacing='1' width='100%'>\n<tr>\n<td class='topnav'>\n";
echo "<a href='".FUSION_SELF."'>".$locale['400']."</a> >\n";
echo "<a href='".FUSION_SELF."?album_id=".$data['album_id']."'>".$data['album_title']."</a>\n";
echo "</td>\n</tr>\n</table>\n";
tablebreak();
echo "<table align='center' cellpadding='0' cellspacing='1' background-color: #000; width='100%'>\n<tr>\n";
while ($data = dbarray($result)) {
$highslides .= "<div class='highslide-caption' id='caption".$data['photo_id']."' style='text-align:left'><a href='".FUSION_SELF."?photo_id=".$data['photo_id']."'><h3>Komentarze<h3></a>
<div style='text-align:right'
<a href='#' class='previous' onclick='return hs.previous(this)' title='Poprzednie'> <img src='images/prev.jpg' alt='' width='34' height='34' /> </a>
<a href='#' class='next' onclick='return hs.next(this)' title='Nast^epne'> <img src='images/next.jpg' alt='' width='34' height='34' /> </a>
<a href='#' class='highslide-move' onclick='return false' title='Przenie'> </a>
<a href='#' class='close' onclick='return hs.close(this)' style='text-align:right' title='Zamknij'> <img src='images/close.jpg' alt='' width='250' height='34' /> </a>
</div>
</div>\n";
if ($counter != 0 && ($counter % $settings['thumbs_per_row'] == 0)) echo "</tr>\n<tr>\n";
echo "<td align='center' valign='top' class='tbl'>\n";
echo "<b><span style='font-size:12px'>".$data['photo_title']."</span></b><br>\n<a href='".PHOTODIR.$data['photo_file'].$data['photo_filename']."' class='highslide' onclick=\"return hs.expand(this, { captionId: 'caption".$data['photo_id']."' } );\" title='".$data['photo_description']."'>";
if ($data['photo_thumb1'] && file_exists(PHOTODIR.$data['photo_thumb1'])){
echo "<img src='".PHOTODIR.$data['photo_thumb1']."' alt='".$data['photo_thumb1']."' title='".$locale['431']."' border='0'>";
} else {
echo $locale['432'];
}
echo "</a><br><br>\n<span class='small'>\n";
echo $locale['433'].showdate("shortdate", $data['photo_datestamp'])."<br>\n";
echo $locale['434']."<a href='".BASEDIR."profile.php?lookup=".$data['user_id']."'><span class='small'>".$data['user_name']."</span></a><br>\n";
echo $locale['436'].dbcount("(comment_id)", "comments", "comment_type='P' AND comment_item_id='".$data['photo_id']."'")."<br>\n";
echo $locale['437'].($data['count_votes'] > 0 ? str_repeat("<img src='".IMAGES."star.gif' alt='*' style='vertical-align:middle'>", ceil($data['sum_rating'] / $data['count_votes'])) : $locale['438'])."<br><br>\n";
echo "</span></td>\n";
$counter++;
}
echo "</tr>\n</table>\n";
closetable();
echo $highslides;
echo "<script type='text/javascript'>\n";
echo "hs.registerOverlay(
{
thumbnailId: null,
overlayId: 'controlbar',
position: 'top right',
hideOnMouseOut: false,
opacity: 1.00
}
);\n";
echo "hs.graphicsDir = 'includes/highslide/graphics/';\n";
echo "hs.outlineType = 'rounded-white';\n";
echo "hs.dimmingOpacity = 0.75;";
echo "window.onload = function() {\n";
echo "hs.preloadImages();\n"."}\n";
echo "</script>\n";
}
if ($rows > $settings['thumbs_per_page']) echo "<div align='center' style='margin-top:5px;'>\n".makePageNav($rowstart,$settings['thumbs_per_page'],$rows,3,FUSION_SELF."?album_id=$album_id&")."\n</div>\n";
}
}
} else {
opentable($locale['400']);
$rows = dbcount("(album_id)", "photo_albums", groupaccess('album_access'));
if ($rows) {
$result = dbquery(
"SELECT ta.*, tu.user_id,user_name FROM ".$db_prefix."photo_albums ta
LEFT JOIN ".$db_prefix."users tu ON ta.album_user=tu.user_id
WHERE ".groupaccess('album_access')." ORDER BY album_order
LIMIT $rowstart,".$settings['thumbs_per_page']
);
$counter = 0; $r = 0; $k = 1;
echo "<table cellpadding='0' cellspacing='1' width='100%'>\n<tr>\n";
while ($data = dbarray($result)) {
if ($counter != 0 && ($counter % $settings['thumbs_per_row'] == 0)) echo "</tr>\n<tr>\n";
echo "<td align='center' valign='top' class='tbl'>\n";
echo "<b>".$data['album_title']."</b><br><br>\n<a href='".FUSION_SELF."?album_id=".$data['album_id']."'>";
if ($data['album_thumb'] && file_exists(PHOTOS.$data['album_thumb'])){
echo "<img src='".PHOTOS.$data['album_thumb']."' alt='".$data['album_thumb']."' title='".$locale['401']."' border='0'>";
} else {
echo $locale['402'];
}
echo "</a><br><br>\n<span class='small'>\n";
echo $locale['403'].showdate("shortdate", $data['album_datestamp'])."<br>\n";
echo $locale['404']."<a href='".BASEDIR."profile.php?lookup=".$data['user_id']."'>".$data['user_name']."</a><br>\n";
echo $locale['405'].dbcount("(photo_id)", "photos", "album_id='".$data['album_id']."'")."</span><br>\n";
echo "</td>\n";
$counter++; $k++;
}
echo "</tr>\n</table>\n";
closetable();
if ($rows > $settings['thumbs_per_page']) echo "<div align='center' style='margin-top:5px;'>\n".makePageNav($rowstart,$settings['thumbs_per_page'],$rows,3)."\n</div>\n";
}else{
echo "<center><br>".$locale['406']."<br><br></center>\n";
closetable();
}
}
require "side_right.php";
require "footer.php";
?>
W lini 111 przed else jeśli postawię znak '}' wyswietla mi błąd Parse error: syntax error, unexpected '}' in C:\xampp\htdocs\fusion\photogallery.php on line 111
Natomias jeśli wykasuję ten znak, cała strona robija mi się na bloczki.
|
|
|
|
bartek124 |
Dodany dnia 10.03.2008 15:09:25
|
Weteran
Postów: 3264 Pomógł: 236
v7.02.06 Data rejestracji: 26.05.2007 12:25
|
<?php
/*---------------------------------------------------+
| PHP-Fusion 6 Content Management System
+----------------------------------------------------+
| Copyright 2002 - 2006 Nick Jones
| http://www.php-fu...
+----------------------------------------------------+
| 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";
require_once "subheader.php";
require_once "side_left.php";
include LOCALE.LOCALESET."photogallery.php";
define("SAFEMODE", @ini_get("safe_mode") ? true : false);
if (isset($photo_id) && !isNum($photo_id)) fallback(FUSION_SELF);
if (isset($album_id) && !isNum($album_id)) fallback(FUSION_SELF);
if (!isset($rowstart) || !isNum($rowstart)) $rowstart = 0;
if(isset($photo_id)){
$result = dbquery(
"SELECT tp.*, ta.*, tu.user_id,user_name, SUM(tr.rating_vote) AS sum_rating, COUNT(tr.rating_item_id) AS count_votes
FROM ".$db_prefix."photos tp
LEFT JOIN ".$db_prefix."photo_albums ta USING (album_id)
LEFT JOIN ".$db_prefix."users tu ON tp.photo_user=tu.user_id
LEFT JOIN ".$db_prefix."ratings tr ON tr.rating_item_id = tp.photo_id AND tr.rating_type='P'
WHERE photo_id='$photo_id' GROUP BY tp.photo_id"
);
$data = dbarray($result);
if (!checkgroup($data['album_access'])) {
fallback(FUSION_SELF);
} else {
define("PHOTODIR", PHOTOS.(!SAFEMODE ? "album_".$data['album_id']."/" : ""));
include INCLUDES."comments_include.php";
include INCLUDES."ratings_include.php";
$result=dbquery("UPDATE ".$db_prefix."photos SET photo_views=(photo_views+1) WHERE photo_id='".$photo_id."'");
$pres = dbquery("SELECT photo_id FROM ".$db_prefix."photos WHERE photo_order='".($data['photo_order']-1)."' AND album_id='".$data['album_id']."'");
$nres = dbquery("SELECT photo_id FROM ".$db_prefix."photos WHERE photo_order='".($data['photo_order']+1)."' AND album_id='".$data['album_id']."'");
if (dbrows($pres)) $prev = dbarray($pres);
if (dbrows($nres)) $next = dbarray($nres);
opentable($locale['450']);
if ($data['photo_thumb2']) $photo_thumb = PHOTODIR.$data['photo_thumb2'];
$photo_file = PHOTODIR.$data['photo_filename'];
$photo_size = @getimagesize($photo_file);
echo "<table cellpadding='0' cellspacing='0' width='100%'>\n<tr>\n<td class='topnav'>\n";
echo "<a href='".FUSION_SELF."'>".$locale['400']."</a> >\n";
echo "<a href='".FUSION_SELF."?album_id=".$data['album_id']."'>".$data['album_title']."</a> >\n";
echo "<a href='".FUSION_SELF."?photo_id=$photo_id'>".$data['photo_title']."</a>\n</td>\n";
if (isset($prev) || isset($next)) {
if (isset($prev)) echo "<td width='1%' class='topnav'><a href='".FUSION_SELF."?photo_id=".$prev['photo_id']."' title='".$locale['451']."'><<</a></td>\n";
if (isset($next)) echo "<td width='1%' class='topnav'><a href='".FUSION_SELF."?photo_id=".$next['photo_id']."' title='".$locale['452']."'>>></a></td>\n";
}
echo "</tr>\n</table>\n";
tablebreak();
echo "<div class='highslide-caption' id='caption".$data['photo_id']."' style='text-align:left'>
<div style='text-align:right'
<a href='#' class='close' onclick='return hs.close(this)' style='text-align:right' title='Zamknij'> <img src='images/close.jpg' alt='' width='250' height='34' /> </a>
</div>
</div>\n";
echo "<div align='center' style='margin:5px 0px 5px 0px'>\n";
echo "<b><span style='font-size:12px'>".$data['photo_title']."</span></b><br>\n<a href='".PHOTODIR.$data['photo_file'].$data['photo_filename']."' class='highslide' onclick=\"return hs.expand(this, { captionId: 'caption".$data['photo_id']."' } );\" title='".$data['photo_description']."'>";
echo "<img src='".PHOTODIR.$data['photo_thumb1']."' alt='".$data['photo_thumb1']."' title='".$locale['431']."' border='0'>";
echo "</a><br><br>\n<span class='small'>\n";
echo $highslides;
echo "<script type='text/javascript'>\n";
echo "hs.registerOverlay(
{
thumbnailId: null,
overlayId: 'controlbar',
position: 'top right',
hideOnMouseOut: false,
opacity: 1.00
}
);\n";
echo "hs.graphicsDir = 'includes/highslide/graphics/';\n";
echo "hs.outlineType = 'rounded-white';\n";
echo "hs.dimmingOpacity = 0.75;";
echo "window.onload = function() {\n";
echo "hs.preloadImages();\n"."}\n";
echo "</script>\n";
}
echo "<div align='center' style='margin:5px 0px 5px 0px'>\n";
if ($data['photo_description']) echo nl2br(parseubb($data['photo_description']))."</b><br><br>\n";
echo $locale['433'].showdate("shortdate", $data['photo_datestamp'])."<br>\n";
echo $locale['434']."<a href='".BASEDIR."profile.php?lookup=".$data['user_id']."'>".$data['user_name']."</a><br>\n";
echo $locale['454']."$photo_size[0] x $photo_size[1] ".$locale['455']."<br>\n";
echo $locale['456'].parsebytesize(filesize($photo_file))."<br>\n";
echo $locale['436'].dbcount("(comment_id)", "comments", "comment_type='P' AND comment_item_id='".$data['photo_id']."'")."<br>\n";
echo $locale['437'].($data['count_votes'] > 0 ? str_repeat("<img src='".IMAGES."star.gif' alt='*' style='vertical-align:middle'>", ceil($data['sum_rating'] / $data['count_votes'])) : $locale['438'])."<br>\n";
echo $locale['457'].$data['photo_views']."\n";
closetable();
if ($data['photo_allow_comments'] == "1") showcomments("P","photos","photo_id",$photo_id,FUSION_SELF."?photo_id=$photo_id");
if ($data['photo_allow_ratings']) showratings("P",$photo_id,FUSION_SELF."?photo_id=$photo_id");
} elseif (isset($album_id)) {
define("PHOTODIR", PHOTOS.(!SAFEMODE ? "album_".$album_id."/" : ""));
$result = dbquery(
"SELECT ta.* FROM ".$db_prefix."photo_albums ta WHERE album_id='$album_id'"
);
if (!dbrows($result)) {
fallback(FUSION_SELF);
} else {
$data = dbarray($result);
if (!checkgroup($data['album_access'])) {
fallback(FUSION_SELF);
} else {
$rows = dbcount("(photo_id)", "photos", "album_id='$album_id'");
opentable($locale['420']);
tablebreak();
echo "<table align='center' cellpadding='0' cellspacing='0' width='80%'>\n<tr>\n";
echo "<td rowspan='2' align='center' class='tbl2'><img src='".PHOTOS.$data['album_thumb']."'></td>\n";
echo "<td valign='top' width='100%'><div class='tbl2' style='font-weight:bold;vertical-align:top'>".$locale['421'].$data['album_title']."</div>\n";
echo "<div class='tbl2' style='vertical-align:middle'>".nl2br(parseubb($data['album_description']))."</div>\n</td>\n</tr>\n";
echo "<tr>\n<td valign='bottom' width='100%'>\n<div class='tbl2' style='vertical-align:bottom'>\n";
if ($rows) {
$pdata = dbarray(dbquery("SELECT tp.*, tu.user_id,user_name FROM ".$db_prefix."photos tp LEFT JOIN ".$db_prefix."users tu ON tp.photo_user=tu.user_id WHERE album_id='$album_id' ORDER BY photo_datestamp DESC LIMIT 1"));
echo $locale['422']."$rows<br>\n";
echo $locale['423']."<a href='".BASEDIR."profile.php?lookup=".$pdata['user_id']."'>".$pdata['user_name']."</a>".$locale['424'].showdate("shortdate", $pdata['photo_datestamp'])."\n";
} else {
echo $locale['425']."\n";
}
echo "</div>\n</td>\n</tr>\n</table>";
tablebreak();
closetable();
if ($rows) {
tablebreak();
opentable($locale['430']);
$result = dbquery(
"SELECT tp.*, tu.user_id,user_name, SUM(tr.rating_vote) AS sum_rating, COUNT(tr.rating_item_id) AS count_votes
FROM ".$db_prefix."photos tp
LEFT JOIN ".$db_prefix."users tu ON tp.photo_user=tu.user_id
LEFT JOIN ".$db_prefix."ratings tr ON tr.rating_item_id = tp.photo_id AND tr.rating_type='P'
WHERE album_id=$album_id GROUP BY photo_id ORDER BY photo_order LIMIT $rowstart,".$settings['thumbs_per_page']
);
$counter = 0;
echo "<table cellpadding='0' cellspacing='1' width='100%'>\n<tr>\n<td class='topnav'>\n";
echo "<a href='".FUSION_SELF."'>".$locale['400']."</a> >\n";
echo "<a href='".FUSION_SELF."?album_id=".$data['album_id']."'>".$data['album_title']."</a>\n";
echo "</td>\n</tr>\n</table>\n";
tablebreak();
echo "<table align='center' cellpadding='0' cellspacing='1' background-color: #000; width='100%'>\n<tr>\n";
while ($data = dbarray($result)) {
$highslides .= "<div class='highslide-caption' id='caption".$data['photo_id']."' style='text-align:left'><a href='".FUSION_SELF."?photo_id=".$data['photo_id']."'><h3>Komentarze<h3></a>
<div style='text-align:right'
<a href='#' class='previous' onclick='return hs.previous(this)' title='Poprzednie'> <img src='images/prev.jpg' alt='' width='34' height='34' /> </a>
<a href='#' class='next' onclick='return hs.next(this)' title='Nast^epne'> <img src='images/next.jpg' alt='' width='34' height='34' /> </a>
<a href='#' class='highslide-move' onclick='return false' title='Przenie'> </a>
<a href='#' class='close' onclick='return hs.close(this)' style='text-align:right' title='Zamknij'> <img src='images/close.jpg' alt='' width='250' height='34' /> </a>
</div>
</div>\n";
if ($counter != 0 && ($counter % $settings['thumbs_per_row'] == 0)) echo "</tr>\n<tr>\n";
echo "<td align='center' valign='top' class='tbl'>\n";
echo "<b><span style='font-size:12px'>".$data['photo_title']."</span></b><br>\n<a href='".PHOTODIR.$data['photo_file'].$data['photo_filename']."' class='highslide' onclick=\"return hs.expand(this, { captionId: 'caption".$data['photo_id']."' } );\" title='".$data['photo_description']."'>";
if ($data['photo_thumb1'] && file_exists(PHOTODIR.$data['photo_thumb1'])){
echo "<img src='".PHOTODIR.$data['photo_thumb1']."' alt='".$data['photo_thumb1']."' title='".$locale['431']."' border='0'>";
} else {
echo $locale['432'];
}
echo "</a><br><br>\n<span class='small'>\n";
echo $locale['433'].showdate("shortdate", $data['photo_datestamp'])."<br>\n";
echo $locale['434']."<a href='".BASEDIR."profile.php?lookup=".$data['user_id']."'><span class='small'>".$data['user_name']."</span></a><br>\n";
echo $locale['436'].dbcount("(comment_id)", "comments", "comment_type='P' AND comment_item_id='".$data['photo_id']."'")."<br>\n";
echo $locale['437'].($data['count_votes'] > 0 ? str_repeat("<img src='".IMAGES."star.gif' alt='*' style='vertical-align:middle'>", ceil($data['sum_rating'] / $data['count_votes'])) : $locale['438'])."<br><br>\n";
echo "</span></td>\n";
$counter++;
}
echo "</tr>\n</table>\n";
closetable();
echo $highslides;
echo "<script type='text/javascript'>\n";
echo "hs.registerOverlay(
{
thumbnailId: null,
overlayId: 'controlbar',
position: 'top right',
hideOnMouseOut: false,
opacity: 1.00
}
);\n";
echo "hs.graphicsDir = 'includes/highslide/graphics/';\n";
echo "hs.outlineType = 'rounded-white';\n";
echo "hs.dimmingOpacity = 0.75;";
echo "window.onload = function() {\n";
echo "hs.preloadImages();\n"."}\n";
echo "</script>\n";
}
if ($rows > $settings['thumbs_per_page']) echo "<div align='center' style='margin-top:5px;'>\n".makePageNav($rowstart,$settings['thumbs_per_page'],$rows,3,FUSION_SELF."?album_id=$album_id&")."\n</div>\n";
}
}
} else {
opentable($locale['400']);
$rows = dbcount("(album_id)", "photo_albums", groupaccess('album_access'));
if ($rows) {
$result = dbquery(
"SELECT ta.*, tu.user_id,user_name FROM ".$db_prefix."photo_albums ta
LEFT JOIN ".$db_prefix."users tu ON ta.album_user=tu.user_id
WHERE ".groupaccess('album_access')." ORDER BY album_order
LIMIT $rowstart,".$settings['thumbs_per_page']
);
$counter = 0; $r = 0; $k = 1;
echo "<table cellpadding='0' cellspacing='1' width='100%'>\n<tr>\n";
while ($data = dbarray($result)) {
if ($counter != 0 && ($counter % $settings['thumbs_per_row'] == 0)) echo "</tr>\n<tr>\n";
echo "<td align='center' valign='top' class='tbl'>\n";
echo "<b>".$data['album_title']."</b><br><br>\n<a href='".FUSION_SELF."?album_id=".$data['album_id']."'>";
if ($data['album_thumb'] && file_exists(PHOTOS.$data['album_thumb'])){
echo "<img src='".PHOTOS.$data['album_thumb']."' alt='".$data['album_thumb']."' title='".$locale['401']."' border='0'>";
} else {
echo $locale['402'];
}
echo "</a><br><br>\n<span class='small'>\n";
echo $locale['403'].showdate("shortdate", $data['album_datestamp'])."<br>\n";
echo $locale['404']."<a href='".BASEDIR."profile.php?lookup=".$data['user_id']."'>".$data['user_name']."</a><br>\n";
echo $locale['405'].dbcount("(photo_id)", "photos", "album_id='".$data['album_id']."'")."</span><br>\n";
echo "</td>\n";
$counter++; $k++;
}
echo "</tr>\n</table>\n";
closetable();
if ($rows > $settings['thumbs_per_page']) echo "<div align='center' style='margin-top:5px;'>\n".makePageNav($rowstart,$settings['thumbs_per_page'],$rows,3)."\n</div>\n";
}else{
echo "<center><br>".$locale['406']."<br><br></center>\n";
closetable();
}
}
require "side_right.php";
require "footer.php";
?>
Chyba poprawny kod. Nie sprawdzałem.
Nie pomagam na komunikatorach oraz PW!
|
|
|
|
Piter573PB |
Dodany dnia 10.03.2008 15:20:27
|
Przedszkolak
Postów: 53
Data rejestracji: 19.01.2008 11:31
|
Dzięki Bartek, teraz działa ok.
|
|
|