Galerie : phpRS Fórum
Máte dotaz ohledně doplňku Galerie?
phpRS - redakční a informační systém
Rozšíření Piclens pro 0_99_900_beta4_prefinal
Zaslán uživatelem/kou: bkv (IP adresa zaznamenána)
Datum: 2008-08-23, 01:27

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&amp;akce=galerie_ukaz&amp;galerie_id=".$GLOBALS["galerie_id"]."&amp;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&amp;akce=obrazek_ukaz&amp;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&amp;akce=galerie_edituj&amp;galerie_id=".$galerie_id."'>".GAL_EDITUJ."</a> - <a href='?modul=gallery&amp;akce=galerie_smaz&amp;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&amp;akce=galerie_smaz_smazane&amp;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&amp;akce=obrazek_ukaz&amp;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&amp;akce=obrazek_uprav&amp;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&amp;akce=galerie_ukaz&amp;galerie_id=<*galerie_id*>&amp;piclens=1'});\">Start Slideshow</a>






Celkem upraveno 7×. Poslední úprava bkv v 15.07.2009 15:14.

Re: Rozšíření Piclens pro 0_99_900_beta4_prefinal
Zaslán uživatelem/kou: Tom_AG (IP adresa zaznamenána)
Datum: 2008-08-24, 22:02

Dobrá práce ... :-)

Tom_AG
www.Stříbro.net

Re: Rozšíření Piclens pro 0_99_900_beta4_prefinal
Zaslán uživatelem/kou: bkv (IP adresa zaznamenána)
Datum: 2008-09-11, 19:12

Původní verze nezobrazovala obrázky na dalších stránkách galérie. Proto jsem se snažil to trochu upravit. Změnila se funkce GalerieUkaz v souboru gal_fnc_gallery.php

Do kódu tady na foru se vloudilo < br phorum="true" /> a bohužel se toho nedokážu zbavit :-(

Re: Rozšíření Piclens pro 0_99_900_beta4_prefinal
Zaslán uživatelem/kou: JanVar (IP adresa zaznamenána)
Datum: 2008-09-11, 19:45

dobrá práce, což o to, ale nějak se mi ho nedaří dostat do *nixu. Že by jen widle? :-)

-- JaV ---- [http://www.hades.cz] ---- security by obscurity ---------------------------------------------
motto:
It's OK to be ignorant; it's not OK to play stupid.
But it's simply not efficient for us to try to help people who are not willing to help themselves.
----------------------------------------------------------------------------------------------------------------------



Celkem upraveno 2×. Poslední úprava JanVar v 11.09.2008 19:46.

Re: Rozšíření Piclens pro 0_99_900_beta4_prefinal
Zaslán uživatelem/kou: bkv (IP adresa zaznamenána)
Datum: 2008-09-12, 14:49

Dle ofic. webu pouze Win a Mac. Bohužel :-(

Re: Rozšíření Piclens pro 0_99_900_beta4_prefinal
Zaslán uživatelem/kou: ivasek (IP adresa zaznamenána)
Datum: 2008-10-15, 00:56

Ahoj, mohl bys prosím ještě osvětlit, jak "povolit" svůj web na [http://www.cooliris.com]? chce to vytvořit nějaký rss? nějak jsem to asi nepochopil do konce, díky

Re: Rozšíření Piclens pro 0_99_900_beta4_prefinal
Zaslán uživatelem/kou: bkv (IP adresa zaznamenána)
Datum: 2008-10-16, 19:01

Na webu [http://www.cooliris.com] není potřeba nic povolovat.
Doplněk Piclens funguje na základě přečtení údajů v media rss souboru. Skript pro vytvoření tohoto rss souboru je vložen do souboru gal_fnc_gallery.php do funkce GalerieUkaz. V závislosti na stavu proměnné "piclens" se buď zobrazí obrázky nebo vytvoří rss soubor.
Pro funkci je potřeba provést úpravy podle bodů 1 až 5. Bod 6 jen zobrazí odkaz, který můžou využít ti, kteří Piclens nemají.

Re: Rozšíření Piclens pro 0_99_900_beta4_prefinal
Zaslán uživatelem/kou: bart11 (IP adresa zaznamenána)
Datum: 2009-07-22, 19:10

Vše jsem udělal dle výše uvedeného návodu, ale bohužel když kliknu na odkaz Slide Show, tak se mi nezobrazí v popředí galerie, ale skočí mi na konec stránky. Dalším kliknutím, se mi tam objeví zase pod již otevřeným slide show další s fotkama z Afriky. Neuměl by mi někdo poradit jak přesvědčit phprs ,aby se prezentace otevírala přez otevřenou galerii. Děkuji.

Re: Rozšíření Piclens pro 0_99_900_beta4_prefinal
Zaslán uživatelem/kou: bkv (IP adresa zaznamenána)
Datum: 2009-08-22, 22:34

Jde o chybu někde ve spojení Piclens, IE a šablon postavených na layoutu freestyle

Re: Rozšíření Piclens pro 0_99_900_beta4_prefinal
Zaslán uživatelem/kou: bart11 (IP adresa zaznamenána)
Datum: 2010-08-03, 22:54

Tak jsem se snažil dle návodu zprovoznit Slideshow a stále mi to píše, že je chyba v souboru config_fnc_gallery v řádku 183, neboť php neočekává $ v řádku začínajícím $GLOBALS viz níže.

endswitch;
$GLOBALS["galstrankovani"]->StrankovaniNastav("galerie_ukaz",$GLOBALS["galobrazek"]->ObrazkuVG alerii($galerie_id),$GLOBALS["kolik"],$GLOBALS["strana"]);
$kdezacit=$GLOBALS["galstrankovani"]->KdeZacit();
Neuměl by někdo poradit ?

Re: Rozšíření Piclens pro 0_99_900_beta4_prefinal
Zaslán uživatelem/kou: bkv (IP adresa zaznamenána)
Datum: 2010-08-07, 08:12

Chyba bude asi tady: ObrazkuVGalerii($galerie_id) má být dohromady. Forum do dlouhých řetězců vkládá mezery.



Lituji, ale pouze registrovaní uživatelé mohou zasílat příspěvky do této sekce.
This forum powered by Phorum and designed by STaNBoSS.