EDIT: Upravena funkce GalerieUkaz
Rozšíření možností prohlížení fotogalerie o doplněk Piclens [
http://www.cooliris.com/]. Rozšíření si lze v provozu prohlédnout na [
http://tenisstribro.cz]. Upravované soubory lze stáhnout z [
http://tenisstribro.cz/download.php?soubor=4]
Určeno pro galerii 0_99_900_beta4_prefinal.
Rozšíření využívá doplněk pro prohlížeče PicLens (http://www.cooliris.com/). Existuje pro prohlížeče Firefox 2 a 3, Internet Explorer a Safari. V případě, že doplněk není nainstalován spouští se slideshow pomocí odkazu v galérii.
Principem je vytvoření Media RSS souboru s informacemi o fotografiích, které potom PicLens využívá.
Instalace
1) úprava lengine.php
*****************
Do souboru lengine.php je za $vzhledwebu = new CLayout(); // inic. vzhledove tridy je potřeba přidat funkci:
function piclens_link()
{
if ($GLOBALS["akce"]=="galerie_ukaz"):
$piclenslink = "<link rel=\"alternate\" href=\"gallery.php?modul=gallery&akce=galerie_ukaz&galerie_id=".$GLOBALS["galerie_id"]."&piclens=1\" type=\"application/rss+xml\" title=\"Tenis Stříbro\" id=\"gallery\">
<script type=\"text/javascript\" src=\"http://lite.piclens.com/current/piclens.js\"></script>";
return $piclenslink;
else:
$piclenslink = "";
return $piclenslink;
endif;
}
jednotlivé case větve switch ($rs_main_sablona): je potřeba doplnit o
$vzhledwebu->UlozPro("piclens_link",piclens_link());
2) úprava šablony vzhledu webu (soubor *.sab)
**************************************
Do souboru *.sab je potřeba přidat do sekce <head> </head> značku
<*piclens_link*>
3) úprava souboru gallery.php
************************
Do souboru gallery.php je potřeba před první if($phprs_okoli==1): přidat
if($GLOBALS["piclens"]==1): $phprs_okoli=0; endif;
4) úprava souboru gal_fnc_gallery.php
*******************************
V souboru gal_fnc_gallery.php je potřeba upravit funkci GalerieUkaz.
function GalerieUkaz() {
//zacatek PicLens
if ($GLOBALS["piclens"]==1):
$galerie_id=mysql_escape_string(htmlspecialchars($GLOBALS["galerie_id"])); // bezpecnostni opatreni u id galerie
if (GAL_DEFINE_ADMIN):
$mysql=mysql_query("select media_smazano,media_file,media_id,media_thumbnail,media_thumbnail_width,media_thumbnail_height,media_caption,media_description from ".$GLOBALS["rspredpona"]."media where media_gallery_id='".$galerie_id."'",$GLOBALS["dbspojeni"]);
else:
$mysql=mysql_query("select media_smazano,media_file,media_id,media_thumbnail,media_thumbnail_width,media_thumbnail_height,media_caption,media_description from ".$GLOBALS["rspredpona"]."media where media_smazano='0' and media_gallery_id='".$galerie_id."'",$GLOBALS["dbspojeni"]);
endif;
function Hlavicka($data)
{
echo "<?xml version=\"1.0\" encoding=\"".$GLOBALS['rsconfig']['kodovani']."\" standalone=\"yes\"?>
<rss version=\"2.0\" xmlns:media=\"http://search.yahoo.com/mrss/\" xmlns:atom=\"http://www.w3.org/2005/Atom\">
\t<channel>
\t\t<title>".$GLOBALS["wwwname"]."</title>
\t\t<link>".$GLOBALS["baseadr"]."</link>
\t\t<description>".$GLOBALS["wwwname"]."</description>
\t\t<language>cs</language>
\t\t<lastBuildDate>".GMDate("D, d M Y H:i:s")." GMT</lastBuildDate>
\t\t<webMaster>".$GLOBALS["redakceadr"]."</webMaster>
\t\t<managingEditor>".$GLOBALS["redakceadr"]."</managingEditor>
\t\t<copyright>".Date("Y")." ".$GLOBALS["wwwname"].". All rights reserved.</copyright>\r\n";
echo $data;
echo "\t</channel>\r\n</rss>";
}
$prdata='';
for($pom=0;$pom<mysql_num_rows($mysql);$pom++):
$prdata .="\t\t<item>\r\n";
$prdata .="\t\t\t<title>".mysql_result($mysql,$pom,"media_description")."</title>\r\n";
$prdata .="\t\t\t<link>".$GLOBALS['baseadr']."gallery.php?modul=gallery&akce=obrazek_ukaz&obrazek_id=".mysql_result($mysql,$pom,"media_id")."</link>\r\n";
$prdata .="\t\t\t<guid isPermaLink=\"false\">".md5(mysql_result($mysql,$pom,"media_id"))."</guid>\r\n";
$prdata .="\t\t\t<media:thumbnail url=\"".$GLOBALS['baseadr'].mysql_result($mysql,$pom,"media_thumbnail")."\" />\r\n";
$prdata .="\t\t\t<media:content url=\"".$GLOBALS['baseadr'].mysql_result($mysql,$pom,"media_file")." \" type= \" \" />\r\n";
$prdata .="\t\t</item>\r\n";
endfor;
header("Content-Type: text/xml");
Hlavicka($prdata);
else:
//konec PicLens
$GLOBALS["hlaska"]="";
$galerie_id=mysql_escape_string(htmlspecialchars($GLOBALS["galerie_id"])); // bezpecnostni opatreni u id galerie
$mysql=mysql_query("select gallery_id from ".$GLOBALS["rspredpona"]."gallery where gallery_delete='0' and gallery_id='".$galerie_id."'",$GLOBALS["dbspojeni"]);
if (mysql_num_rows($mysql)>0):
if (TestNaOpakujiciIP('gal'.$galerie_id,(60*60),1)==0):
$mysql=mysql_query("update ".$GLOBALS["rspredpona"]."gallery set gallery_zobrazeni=(gallery_zobrazeni+1) where gallery_id='".$galerie_id."'",$GLOBALS["dbspojeni"]);
endif;
$GLOBALS["galgalerie"]->GalerieNastavId($galerie_id);
$GLOBALS["galerie_titulek"]=$GLOBALS["galgalerie"]->GalerieInfo("titulek");
$GLOBALS["galerie_popis"]=$GLOBALS["galgalerie"]->GalerieInfo("popis");
$GLOBALS["galerie_zalozeni"]=MyDateTimeToDate($GLOBALS["galgalerie"]->GalerieInfo("zalozeni"));
$GLOBALS["galerie_uprava"]=MyDateTimeToDate($GLOBALS["galgalerie"]->GalerieInfo("uprava"));
$GLOBALS["galerie_zobrazeni"]=$GLOBALS["galgalerie"]->GalerieInfo("zobrazeni");
$GLOBALS["galerie_pocet_obrazku"]=$GLOBALS["galgalerie"]->GalerieInfo("pocet_obrazku");
$GLOBALS["galerie_velikost_obrazku"]=round(($GLOBALS["galgalerie"]->GalerieInfo("velikost_obrazku")/1024),2)." MB";
$galerie_vlastnik=$GLOBALS["galuzivatel"]->UzivatelNastav($GLOBALS["galgalerie"]->GalerieInfo("vlastnik"),$GLOBALS["galgalerie"]->GalerieInfo("admin"));
$GLOBALS["galerie_vlastnik"]=$GLOBALS["galuzivatel"]->UzivatelInfo("prezdivka");
$GLOBALS["galuzivatel"]->UzivatelAktualni();
if ((!empty($GLOBALS["smazat"])) and (GAL_DEFINE_ADMIN or ($GLOBALS["galgalerie"]->GalerieInfo("vlastnik")==$GLOBALS["galuzivatel"]->uzivatel_id and $GLOBALS["galgalerie"]->GalerieInfo("admin")==$GLOBALS["galuzivatel"]->uzivatel_admin))):
$GLOBALS["hlaska"].="<div class=\"gal_bacha\">";
for ($pom=0;$pom<count($GLOBALS["smazat"]);$pom++):
$GLOBALS["hlaska"].=$GLOBALS["galobrazek"]->ObrazekSmaz($GLOBALS["smazat"][$pom],$GLOBALS["galerie_id"])."<br />";
endfor;
$GLOBALS["hlaska"].="</div>";
endif;
if (GAL_DEFINE_ADMIN or ($GLOBALS["galgalerie"]->GalerieInfo("vlastnik")==$GLOBALS["galuzivatel"]->uzivatel_id and $GLOBALS["galgalerie"]->GalerieInfo("admin")==$GLOBALS["galuzivatel"]->uzivatel_admin)):
$GLOBALS["galerie_admin"]=GAL_ADMINISTRACE;
$GLOBALS["galerie_admin_dva"]="<a href='?modul=gallery&akce=galerie_edituj&galerie_id=".$galerie_id."'>".GAL_EDITUJ."</a> - <a href='?modul=gallery&akce=galerie_smaz&galerie_id=".$galerie_id."'>".GAL_SMAZ."</a>";
else:
$GLOBALS["galerie_admin"]="";
$GLOBALS["galerie_admin_dva"]="";
endif;
if (!isset($GLOBALS["jak"])): $GLOBALS["jak"]="1"; endif; // prednastavime jak zobrazovat obrazky
if (!isset($GLOBALS["kolik"]) or $GLOBALS["kolik"]<1): $GLOBALS["kolik"]="30"; endif; // prednastavime jak zobrazovat obrazky
$GLOBALS["jak_jedna"]=""; $GLOBALS["jak_dva"]=""; $GLOBALS["jak_tri"]=""; $GLOBALS["jak_ctyri"]=""; $GLOBALS["jak_pet"]=""; $GLOBALS["jak_sest"]="";
switch ($GLOBALS["jak"]):
case "1": $srovnat="media_id desc"; $GLOBALS["jak_jedna"]="selected"; break; // od nejnovejsiho
case "2": $srovnat="media_id asc"; $GLOBALS["jak_dva"]="selected"; break; // od nejstarsiho
case "3": $srovnat="media_view desc"; $GLOBALS["jak_tri"]="selected"; break; // od nejvice prohlizenych
case "4": $srovnat="media_view asc"; $GLOBALS["jak_ctyri"]="selected"; break; // od nejmene prohlizenych
case "5": $srovnat="media_caption asc"; $GLOBALS["jak_pet"]="selected"; break; // podle titulku a-z
case "6": $srovnat="media_caption desc"; $GLOBALS["jak_sest"]="selected"; break; // podle titulku z-a
endswitch;
$GLOBALS["galstrankovani"]->StrankovaniNastav("galerie_ukaz",$GLOBALS["galobrazek"]->ObrazkuVGalerii($galerie_id),$GLOBALS["kolik"],$GLOBALS["strana"]);
$kdezacit=$GLOBALS["galstrankovani"]->KdeZacit();
if (GAL_DEFINE_ADMIN):
$mysql=mysql_query("select media_smazano,media_file,media_id,media_thumbnail,media_thumbnail_width,media_thumbnail_height,media_caption,media_description from ".$GLOBALS["rspredpona"]."media where media_gallery_id='".$galerie_id."' order by ".$srovnat." limit ".$kdezacit.",".$GLOBALS["kolik"]."",$GLOBALS["dbspojeni"]);
else:
$mysql=mysql_query("select media_smazano,media_file,media_id,media_thumbnail,media_thumbnail_width,media_thumbnail_height,media_caption,media_description from ".$GLOBALS["rspredpona"]."media where media_smazano='0' and media_gallery_id='".$galerie_id."' order by ".$srovnat." limit ".$kdezacit.",".$GLOBALS["kolik"]."",$GLOBALS["dbspojeni"]);
endif;
$GLOBALS["galerie_obrazky"]="";
if (GAL_DEFINE_ADMIN):
$GLOBALS["galerie_obrazky"].="<div style=\"margin: 0 auto; text-align: center; width: 300px; background-color: #ffcccc; border-color: red\"><a href=\"".$GLOBALS["gal_soubor"]."?modul=gallery&akce=galerie_smaz_smazane&galerie_id=".$GLOBALS["galerie_id"]."\">".GAL_SMAZAT_SMAZANE."</a></div>";
endif;
$GLOBALS["galerie_obrazky"].="<form action=\"".$GLOBALS["gal_soubor"]."\" method=\"post\"><table class='gal_table_obr'>";
for ($pom=0;$pom<mysql_num_rows($mysql);$pom++):
if ($pom%$GLOBALS["galkonfigurace"]->pocet_sloupcu==0):
$GLOBALS["galerie_obrazky"].="<tr>";
endif;
$GLOBALS["galerie_obrazky"].="<td>".mysql_result($mysql,$pom,"media_caption")."<br /><a target=\"_blank\" href=\"?modul=gallery&akce=obrazek_ukaz&obrazek_id=".mysql_result($mysql,$pom,"media_id")."\">";
$GLOBALS["galerie_obrazky"].="<img ";
if (mysql_result($mysql,$pom,"media_smazano")==1 and GAL_DEFINE_ADMIN):
$GLOBALS["galerie_obrazky"].="style=\"background-color: #ffcccc; border-color: red\"";
endif;
$GLOBALS["galerie_obrazky"].=" src=\"".mysql_result($mysql,$pom,"media_thumbnail")."\" width=\"".mysql_result($mysql,$pom,"media_thumbnail_width")."\" height=\"".mysql_result($mysql,$pom,"media_thumbnail_height")."\" alt=\"".mysql_result($mysql,$pom,"media_description")."\" title=\"".mysql_result($mysql,$pom,"media_description")."\">";
$GLOBALS["galerie_obrazky"].="</a><span class=\"mbf-item\">#gallery ".md5(mysql_result($mysql,$pom,"media_id"))."</span>";
if (GAL_DEFINE_ADMIN or ($GLOBALS["galgalerie"]->GalerieInfo("vlastnik")==$GLOBALS["galuzivatel"]->uzivatel_id and $GLOBALS["galgalerie"]->GalerieInfo("admin")==$GLOBALS["galuzivatel"]->uzivatel_admin)):
$GLOBALS["galerie_obrazky"].="<div class=\"gal_admin\"><input value=\"".mysql_result($mysql,$pom,"media_id")."\" name=\"smazat[]\" id=\"".mysql_result($mysql,$pom,"media_id")."\" type=\"checkbox\" class=\"gal_checkbox\"><label for=\"".mysql_result($mysql,$pom,"media_id")."\"><a>".GAL_SMAZ."</a></label> - <a href=\"".$GLOBALS["gal_soubor"]."?modul=gallery&akce=obrazek_uprav&obrazek_id=".mysql_result($mysql,$pom,"media_id")."\">".GAL_EDITUJ."</a></div>";
endif;
$GLOBALS["galerie_obrazky"].="</td>";
if (($pom%$GLOBALS["galkonfigurace"]->pocet_sloupcu)==($GLOBALS["galkonfigurace"]->pocet_sloupcu-1)):
$GLOBALS["galerie_obrazky"].="</tr>\n";
endif;
endfor;
$chybi=$pom%$GLOBALS["galkonfigurace"]->pocet_sloupcu;
if ($chybi > 0):
for ($pom=0; $pom < ($GLOBALS["galkonfigurace"]->pocet_sloupcu - $chybi); $pom++):
$GLOBALS["galerie_obrazky"].="<td></td>";
endfor;
$GLOBALS["galerie_obrazky"].="</tr>";
endif;
$GLOBALS["galerie_obrazky"].="<tr><td colspan=".$GLOBALS["galkonfigurace"]->pocet_sloupcu.">".$GLOBALS["galstrankovani"]->Ukaz()."</td></tr>";
$GLOBALS["galerie_obrazky"].="</table>";
if (GAL_DEFINE_ADMIN or ($GLOBALS["galgalerie"]->GalerieInfo("vlastnik")==$GLOBALS["galuzivatel"]->uzivatel_id and $GLOBALS["galgalerie"]->GalerieInfo("admin")==$GLOBALS["galuzivatel"]->uzivatel_admin)):
$GLOBALS["galerie_obrazky"].="<input type=\"hidden\" name=\"modul\" value=\"gallery\">";
$GLOBALS["galerie_obrazky"].="<input type=\"hidden\" name=\"akce\" value=\"galerie_ukaz\">";
$GLOBALS["galerie_obrazky"].="<input type=\"hidden\" name=\"galerie_id\" value=\"".$GLOBALS["galerie_id"]."\">";
$GLOBALS["galerie_obrazky"].="<br /><div class=\"gal_admin\"><input type=\"submit\" class=\"tl\" value=\"".GAL_SMAZ_OZNACENE."\"></div>";
endif;
$GLOBALS["galerie_obrazky"].="</form>";
$GLOBALS["galsablona"]->SablonaVloz("galerie_ukaz");
else:
$GLOBALS["chyba_sab"]=GAL_CHYBA_NEEXIST;
$GLOBALS["galsablona"]->SablonaVloz("chyba");
endif;
endif;
//konec if PicLens
}
5) úprava souboru stylů *.css
************************
Soubor stylů je potřeba doplnit o
.mbf-item { display: none; }
6) úprava souboru galerie_ukaz.html
*****************************
Do souboru galerie_ukaz.html je potřeba doplnit odkaz
<a href=\"javascript:PicLensLite.start({feedUrl:'gallery.php?modul=gallery&akce=galerie_ukaz&galerie_id=<*galerie_id*>&piclens=1'});\">Start Slideshow</a>
Celkem upraveno 7×. Poslední úprava bkv v 15.07.2009 15:14.