Strana 5 z 6

Re: highslidegal

Napísané: Ne Mar 27, 2011 3:45 pm
od používateľa puschpull
je tam v těch nesprávných cestách moc těch WWW

Kód: Vybrať všetko

PHP verzia: 5.3.5
Cesta z korenoveho adresara: /home/www/puschpull.org/www
Adresar nahladov (relativna cesta): /directory/
Uplna cesta: /home/www/puschpull.org/www/directory/
Adresar (/home/www/puschpull.org/www/directory/) sa NEpodarilo otvorit, pretoze cesta nebola najdena!

Kód: Vybrať všetko

Nebola zadana cesta () k obrazkom!
Adresar () sa nepodarilo otvorit, pretoze cesta nebola najdena!

Kód: Vybrať všetko

Adresár (/home/www/puschpull.org/www/images/galleries/obaly/thumbs/) sa nepodarilo otvoriť, pretože cesta nebola nájdená!
na stránce mám nyní tři snippety:

Kód: Vybrať všetko

[[test_php]] [[highslidegal_new?galpath=images/galleries/obaly/]] [[highslidegal2]]
ten Tvůj test funkčnosti cesty
včerejší verzi a dnešní verzi highslidegal snippetu

Re: highslidegal

Napísané: Ne Mar 27, 2011 4:19 pm
od používateľa _rasel^
Tak toto, som teda nečakal... snippet pre tento neštandardný hosting bude takýto:

Kód: Vybrať všetko

$pathFromRoot     = "/home/www/puschpull.org/subdomains/groon";
$docAlias         = $etomite->documentObject['alias'];
$pathGal          = isset($galpath) ? $galpath : "images/galleries/" . $docAlias . "/";
$pathThmbs        = "thumbs/";
$pathLarge        = "large/";
$pathFromRoot     = isset($pathFromRoot) ? $pathFromRoot : getenv("DOCUMENT_ROOT");
$pathGalThmbsFull = $pathFromRoot . "/" . $pathGal . $pathThmbs;

if (is_dir($pathGalThmbsFull)) {
	$dirHandle = opendir($pathGalThmbsFull);
	$picCount = 0;
	while ($file = readdir($dirHandle)) {
		if (preg_match("(gif|jpg|jpeg)", $file)) {
			$picList[$picCount++] = $file;
		}
	}
	$output = '';
	for ($i = 0; $i < $picCount; $i++) {
		$output .= '<a href="' . $pathGal . $pathLarge .$picList[$i].'" class="highslide" onclick="return hs.expand(this)">
	<img style="'.$style.'" src="./' . $pathGal . $pathThmbs . $picList[$i] . '" title="Click to enlarge: '.$picList[$i].'" />
</a>'."\n";
	}
	closedir($dirHandle);
	}
	else {
		$output .= 'Adresár (' . $pathGalThmbsFull . ') sa nepodarilo otvoriť, pretože cesta nebola nájdená!<br />';
	}

return $output;

Re: highslidegal

Napísané: Ne Mar 27, 2011 4:27 pm
od používateľa puschpull
JO!!!!!!!!!!!!!!!
:)

Kód: Vybrať všetko

http://groon.puschpull.org/index.php?id=23
u nezapnutého Friendly URL

změním to zpět na Friendly URL

Kód: Vybrať všetko

http://groon.puschpull.org/obaly
Hostuji na ebola.cz

P.S.: prosím o komentář k tomu mému problému, který vzniknul (nebo jsem si všimnul) až při změně z php 5.2 na 5.3
(respektive jde o stránky mého synka :-), ale hosting je samozřejmě stejný )
Děkuji

Re: highslidegal

Napísané: Ne Mar 27, 2011 5:09 pm
od používateľa _rasel^
Po prechode z PHP 5.2.× na PHP 5.3.× viacero funkcií PHP sú v stave DEPRECATED (zastaralé) a už ich v tejto verzii PHP nie je možné použiť, prípadne sa zmenil zápis a podobne:
  • v tomto snippete to bola funkcia eregi, ktorá mala na starosti filtrovanie obrázkov zo súborov - bolo potrebné použiť preg_match a trocha iný zápis,
  • funkcia opendir hľadala obrázky na nesprávnom mieste asi vďaka tomu, že parameter directory zo snippetu prestal fungovať, alebo bol zápis funkcie opendir pre PHP 5.3 nesprávny (buď jedno, alebo druhé, alebo oboje - to by som musel prakticky otestovať),
  • parameter galpath neodovzdal snippetu cestu, čo môže byť spôsobené oborom platnosti v PHP 5.3.×, nastavením redakčného systému, alebo nastavením hostingu (alebo iným voodoo),
  • funkcia getenv("DOCUMENT_ROOT") mala vrátiť správnu absolútnu cestu, ale nestalo sa tak... buď je zle nastavený hosting, alebo redakčný systém pracuje v inom umiestnení ako je jeho fyzické umiestnenie...

Re: highslidegal

Napísané: Ne Mar 27, 2011 5:29 pm
od používateľa puschpull
_rasel^: děkuji moc za spolupráci a za odpovědi na mé otázky !
:)

Re: highslidegal

Napísané: Ne Okt 30, 2011 8:37 pm
od používateľa Marek Adamec
Mam jednu otazocku s jednym problemom ohladom galerie, neviem preco ale zoraduje mi fotky pod seba a nie vedla seba.... nemozem najst resp neviem kde a ako upravit script aby to radilo vedla seba. Vie mi stym niekdo poradit? Mam to spravene cez HTML nie cez ETOMITE... lebo to je mala teamova bezecka stranka... a chcel som sa vyhnut databaze...

http://www.team.navrchol.sk/fotogaleria.html

Re: highslidegal

Napísané: Ut Nov 08, 2011 11:40 pm
od používateľa _rasel^
Ahoj, do CSS je potrebné pridať napr (highslide.css, riadok 12):

Kód: Vybrať všetko

.highslide {
    background: none repeat scroll 0 0 #F0EEE0;
    border: 1px solid #AFAB8E;
    float: left;
    height: 100px;
    margin: 8px;
    padding: 5px;
    text-align: center;
    width: 138px;
}
O zarovnanie elementov vedľa seba sa postará float, ostatné je pozadie, okraje a veľkosť a odskočenie od ostatných obrázkov.

Re: highslidegal

Napísané: Ne Nov 13, 2011 7:00 pm
od používateľa Marek Adamec
Super dik, funguje to! Ja som sa stym trapil pred tvojou radou na 143 riadku highslide-gallery ul li :(

Re: highslidegal

Napísané: Št Máj 10, 2012 8:57 pm
od používateľa Marek Adamec
_rasel^ napísal:Po prechode z PHP 5.2.× na PHP 5.3.× viacero funkcií PHP sú v stave DEPRECATED (zastaralé) a už ich v tejto verzii PHP nie je možné použiť, prípadne sa zmenil zápis a podobne:
  • v tomto snippete to bola funkcia eregi, ktorá mala na starosti filtrovanie obrázkov zo súborov - bolo potrebné použiť preg_match a trocha iný zápis,
  • funkcia opendir hľadala obrázky na nesprávnom mieste asi vďaka tomu, že parameter directory zo snippetu prestal fungovať, alebo bol zápis funkcie opendir pre PHP 5.3 nesprávny (buď jedno, alebo druhé, alebo oboje - to by som musel prakticky otestovať),
  • parameter galpath neodovzdal snippetu cestu, čo môže byť spôsobené oborom platnosti v PHP 5.3.×, nastavením redakčného systému, alebo nastavením hostingu (alebo iným voodoo),
  • funkcia getenv("DOCUMENT_ROOT") mala vrátiť správnu absolútnu cestu, ale nestalo sa tak... buď je zle nastavený hosting, alebo redakčný systém pracuje v inom umiestnení ako je jeho fyzické umiestnenie...
toto je moj snippet highslidegal, ktory som pouzival ked som bezal na PHP 5.2.× po prechode na PHP 5.3.× mi galeria negunguje http://www.galeria.navrchol.sk akusal som nahradit eregi ale nepomohlo:

Kód: Vybrať všetko

$id = $GLOBALS["HTTP_GET_VARS"]["id"];
$path = empty($HTTP_SERVER_VARS["PATH_INFO"]) ? $HTTP_SERVER_VARS["PHP_SELF"] : $HTTP_SERVER_VARS["PATH_INFO"];
@$dirhandle = opendir( "$directory/thumbs" );
$pic_count = 0;
while( $file = readdir( $dirhandle ) )
{
   if (eregi("(gif|jpg|jpeg)$",$file))
   {
  $pic_list[$pic_count++] = $file;
   }
}
$output = '';
   if ($pend>$pic_count) $pend=$pic_count;
   for ($i=0;$i<$pic_count;$i++)
   {
  $output .= '<a href="'.$directory.'/large/'.$pic_list[$i].'" class="highslide" onclick="return hs.expand(this)"><img src="./'.$directory.'/thumbs/'.$pic_list[$i].'" alt="'.$pic_list[$i].'" title="Click to enlarge: '.$pic_list[$i].'" /></a>'."\n";
}
return $output;

Re: highslidegal

Napísané: Pi Máj 11, 2012 4:10 pm
od používateľa _rasel^
Ahoj, snippet vyzerá byť na prvý pohľad v poriadku. Zrejme je ešte niekde funkcia eregi uložená.. vyskúšaj vyprázdniť chache stránok, prípadne pohľadať, či sa na tej stránke nepoužíva eregi aj v inom snippete.

Re: highslidegal

Napísané: Ne Máj 13, 2012 7:31 pm
od používateľa Marek Adamec
no praveze polka galerie isla a cca polka nesla vyprazdnil som zasobnik a uz neslo nic...:) Teraz som prepisal eregi na preg_match, ale stale nic.

Ked som nahradil:

Kód: Vybrať všetko

if (preg_match("(gif|jpg|jpeg)$",$file))
   {
  $pic_list[$pic_count++] = $file;
   }
tymto

Kód: Vybrať všetko

if (preg_match("(gif|jpg|jpeg)", $file)) 
      {
         $picList[$picCount++] = $file;
      }
Tak mi uz nevyhadzovalo ziadnu chybu ale nenacitalo galeriu...

Re: highslidegal

Napísané: Ne Máj 13, 2012 10:54 pm
od používateľa _rasel^
S touto komplikáciou som sa už raz stretol u seba (tiež mi nechcel fungovať snippet aj napriek tomu, že v inej časti stránky fungoval). Skús použiť novšiu verziu snippetu, ktorý som uverejnil do prvého príspevku v tejto téme. V prípade, že nedôjde k úspešnému otvoreniu cesty, tak dôjde k výpisu hlášky. Zrada môže byť napr. aj v tom, že obrázky majú príponu veľkými písmenami, alebo je komplikácia v odovzdávaní parametrov snippetu (odkaz na testovací PHP script je v prvom príspevku).

Re: highslidegal

Napísané: Po Máj 14, 2012 2:30 pm
od používateľa Marek Adamec
po prepisani snippetu mi to neslo, budem sa musiet skusit pohrat s cesou... ale az ked mi skonci v skole skuskove obdobie... Vyhodilo tuto chybu:

Kód: Vybrať všetko

Galéria

« Error »

Etomite encountered the following error while attempting to parse the requested resource:
« PHP Parse Error »
 
PHP error debug
  Error:	is_dir(): open_basedir restriction in effect. File(/usr/local/apache2/htdocs/images/galleries/parizthumbs/) is not within the allowed path(s): (/DISK2/WWW:/DISK3/WWW:/DISK2/TMP:/tmp:/NET)	 
  Error type/ Nr.:	Warning - 2	 
  File:	/DISK2/WWW/navrchol.sk/galeria/index.php(508) : eval()'d code	 
  Line:	11	 
 
Parser timing
  MySQL:	0.0036 s s	(2 Requests)
  PHP:	0.0085 s s	 
  Total:	0.0121 s s	 
Powered by Etomite CMS.

Re: highslidegal

Napísané: St Máj 16, 2012 9:18 pm
od používateľa puschpull
Rozchodil jsem Highslidegal na MODx Revo verze 2.x.x

např:

http://puschpull.org/modx_rev/portfolio1?id=9

http://123.puschpull.org/galerie
a nastavení: http://123.puschpull.org/setup

eventuelně modifikace bráchovo galerie implementovaná do MODx Revo:
http://123.puschpull.org/dawe?id=2

Přikládám jako nástřel kód snippetu, který tvoří základ
třeba tam něco najdete pro inspiraci:

Kód: Vybrať všetko

<?php
if (!isset($_GET['pageid']))
{
$page_id = $_SESSION['page_id'];
}
else
{
$pageid = $_GET['pageid'];
}  

$page_set = 12; // počet záznamů na stránku - vybrat číslo dělitelné počtem sloupců !!
$pagesize=$page_set;


$a = $_GET['id'];
// echo 'ID zvolené kategorie je: '.$a.'<br>';




function getTree($parent) {  
  global $modx;
    $path = MODX_CORE_PATH . 'components/fotogalerie/';
    $result = $modx->addPackage('fotogalerie',$path . 'model/','pp_');  
  if($result){
  $g = $modx->newQuery('Category');
  $g->where(array(
    'parent_id' => $parent,
));
  $trees = $modx->getCollection('Category',$g);
}  
$pole = array();  
foreach ($trees as $tre) {
	$pole[] = $tre->get('id_category');
	$pole = array_merge($pole, getTree($tre->get('id_category')));
}
return $pole;
}



$path = MODX_CORE_PATH . 'components/fotogalerie/';
$result = $modx->addPackage('fotogalerie',$path . 'model/','pp_');

if($result){
  $e = $modx->newQuery('Category');
  $e->where(array(
    'id_category' => $a,
));
  $seze = $modx->getCollection('Category',$e);
}

foreach ($seze as $se) {
	echo '<br>Vybraná kategorie je: &nbsp;&nbsp;&nbsp; <b><font size="+1" color="#FFFF99">'.$se->get('name').'</font></b>';
}



$iii = $a;
$seznam_kategorii = getTree($iii);
$seznam_kategorii[] = $iii;
$seznam_kategorii_retezec = '\''.implode('\',\'', $seznam_kategorii).'\'';
// echo 'Seznam kategorií celé vybrané větve:&nbsp;&nbsp;<br>'.$seznam_kategorii_retezec.'<br><hr>';


// ********************************************************************************************

if($result){
  $f = $modx->newQuery('Galerie');
  
    $f->innerJoin('Category','Category', array("Galerie.kategorie = Category.id_category"));
  
    $f->select(array(
    $modx->getSelectColumns('Galerie', 'Galerie'),
    $modx->getSelectColumns('Category', 'Category', '', array('name','id_category')),
));
  
  $f->where(array('kategorie:IN' => $seznam_kategorii));
  $f->sortby('id_galerie','ASC');
  $vypis = $modx->getCollection('Galerie',$f);
}
    
$f->prepare();
// echo 'SQL QUERY:<div class="sql">'.$f->toSql().'</div><hr>';
$totalrecord = count($vypis);
// echo 'Celkový počet nalezených záznamů: '.count($vypis).'<br><hr>'; 


// echo $totalrecord;echo $pagesize;
$totalpage=(int)($totalrecord/$pagesize);
if(($totalrecord%$pagesize)!=0){
$totalpage+=1;
}

if(isset($pageid)){
$start=$pagesize*($pageid-1);
}
else{
$pageid=1;
$start=0;
}

// ********************************************************************************************


if($result){
  $ff = $modx->newQuery('Galerie');
  
    $ff->innerJoin('Category','Category', array("Galerie.kategorie = Category.id_category"));
  
    $ff->select(array(
    $modx->getSelectColumns('Galerie', 'Galerie'),
    $modx->getSelectColumns('Category', 'Category', '', array('name','id_category')),
));
  
  $ff->where(array('kategorie:IN' => $seznam_kategorii));
  $ff->sortby('id_galerie','DESC');
  //  $ff->limit(8);
  //    $ff->limit(8,0);
  $ff->limit($pagesize,$start);
  $vypis2 = $modx->getCollection('Galerie',$ff);
}
    
$ff->prepare();
// echo 'XXX-SQL QUERY:<div class="sql">'.$ff->toSql().'</div><hr>';
// echo 'Celkový počet nalezených záznamů: '.count($vypis2).'<br><hr>'; 


echo '<div id="db">';
$t = '<table class="border">';
$i = 0;
$k = 4; // počet sloupců v tabulce galerie

foreach ($vypis2 as $val) {
$j = $i % $k; // binarni nasobeni $k (3)
if ($j==0) {$t .= '<tr>';}
$t.='<td id="in_table_work"  style="empty-cells:show; border-style:solid; border-width:1px">';
// $t.='&nbsp;'.$val->get('id_galerie').'&nbsp;|';
// $t.='&nbsp;'.$val->get('name_cz').'&nbsp;<br />';
// $t.='&nbsp;'.$val->get('kdy').'&nbsp;<br />';
  
// $t.='<font size="-1" color="#FFFF99">('.$val->get('name').')</font>';
  
// $t.='&nbsp;<br>';  
  
$t.= '<div align="center">
    <a class="highslide" onclick="return hs.htmlExpand(this, { contentId: \'highslide-html-'.$val->get('id_galerie').'\' } )" href="#">
      <img style="vertical-align: baseline; /*width:180px; height:180px;*/ text-align: center; border: black 0px solid;"  title="puschpull.org" src='.$val->get('path_thumbs').' alt="puschpull.org" /></a>
    <div id="highslide-html-'.$val->get('id_galerie').'" class="highslide-html-content">


<div style="empty-cells:show; border-style:solid; border-width:0px; border-color:orange; /*width:400px;*/ height:100%; margin: auto;  text-align:center; vertical-align:center;">

<table bordercolor="#33FF00" width="100%" height="100%"  border="0" style="margin: auto; vertical-align:center; ">
  <tr>
    <td width="20px" height="20px">&nbsp;</td>
    <td width="724px" height="20px">
    <div id="font_top"><strong>'.$val->get('name_cz').'</strong>&nbsp;&nbsp;<font size="-1">&nbsp;<em>'.$val->get('name_lat').'</em></font></div>

      </td>
    <td width="20px" height="20px">

     <a onclick="return hs.close(this)" title="Zavřít okno / Close Window" href="#"><font size="5" color="#FFCC66">x</font></a>

    </td>
  </tr>
  <tr>
    <td width="20px" height="724px">&nbsp;</td>
    <td width="724px" height="724px">
  
    <img style="vertical-align:middle; text-align: center; border: white 0px solid;" title="puschpull.org" src="'.$val->get('path_large').'" alt="puschpull.org" />
    </td>
    <td width="20px" height="724px">&nbsp;</td>
  </tr>
  <tr>
    <td width="20px" height="20px">&nbsp;</td>
    <td width="724px" height="20px">
    <div id="font_bottom_right">'.$val->get('kde').'&nbsp;|&nbsp;'.$val->get('kdy').'</div>
    <div id="font_bottom_left">'.$val->get('short_text').'</div>
    </td>
    <td width="20px" height="20px">&nbsp;</td>
  </tr>
</table>

</div></div></div>'; 
  
  
// $t.='&nbsp;<a href='.$val->get('path_large').' class="highslide" onclick="return hs.expand(this)"><img src='.$val->get('path_thumbs').' alt="Highslide JS" title="Click to enlarge" style=" vertical-align: baseline; /*width:150px; height:150px;*/ text-align: center; border: yellow 2px solid; " /></a>&nbsp;<br />';

// $t.='&nbsp;Kategorie:&nbsp;<b><font size="+0" color="#FF6600">'.$val->get('name').'</font></b>';

// $t.='&nbsp;<br>';
    
 $t.='<br><font size="-1" color="#FFFF99">'.$val->get('name').'</font>';
  
  
$t.='</td>';
if ($j==$k) {$t .= '</tr>';}
$i++; }

//echo '$i='.$i;
$ik = $i % $k;
//echo '|$ik='.$ik;
$ir = ceil(($i / $page_set)*($k-1));
//echo '|$ir='.$ir;
//echo '|$j='.$j;
//echo '|$k='.$k;
$b = floor(($page_set - $i) / $k);
//echo '|$b='.$b;
$c = $page_set / $k;
//echo '|$c='.$c;
$d1 = ($page_set / $c)*1;
$d2 = ($page_set / $c)*2;
//echo '|$d1='.$d1;
//echo '|$d2='.$d2;

if ($i <> 0){
if ($i < $page_set){
  if (($i <> $d1) and ($i <> $d2)){
for ($w=($ik+1); $w<=$k; $w++) {$t.='<td id="in_table_work"  style="empty-cells:show; border-style:solid; border-width:1px"></td>';}
} 
  
$t .= '</tr>';

if ($ir <= $c){
for ($s = 1; $s <= $b; $s++) {
  //$r = abs($j-$k+1);
for ($ww=1; $ww<=$k; $ww++) {$t.='<td id="in_table_work"  style="empty-cells:show; border-style:solid; border-width:1px"></td>';}
$t .= '</tr>';
} } }
}

else {

for ($s = 1; $s <= $b; $s++) {
  //$r = abs($j-$k+1);
for ($ww=1; $ww<=$k; $ww++) {$t.='<td id="in_table_work"  style="empty-cells:show; border-style:solid; border-width:1px"></td>';}
$t .= '</tr>';
 }  
}
$t .= '</table>';


echo $t;
echo '</div> <!-- end db -->';


echo '<div id="page_navigator">';
// This is the Page Navigator.
for ($i=1; $i<=$totalpage; $i++){
if ($i==$pageid){
echo "[".$i."] ";
}
else{
  echo '<a href=[[~[[*id]]]]?id='.$_GET['id'].'&pageid='.$i.'>' .$i.'</a> ';  
}
}
echo '</div>';

Re: highslidegal

Napísané: Ut Jún 05, 2012 6:19 pm
od používateľa puschpull
Blíží se finální verze galerie po mého bráchu

Třeba zde:

http://galerie.dawep.net/dawe?id=9

uvítám připomínky a poznámky

Postaveno na Highslide /a CMS MODx Revo 2.2.2)