include('../lib/main-class.php');
//require_once(WEB_DIRECTORY.'clanek/clanek-anketa.php');
//require_once(WEB_DIRECTORY.'admin/plugins/simplehtmldom/simple_html_dom.php');
// generovani html
function generate_detail_katalog_polozka($katalog_id, $diskuze, $noCache, $fotogalerie, $fotogalerieDiskuze)
{
global $dbMD, $html, $cache, $form, $ciselnik;
$ret = '';
$sql = 'SELECT
'.DB_PREFIX.'katalog_polozka.*,
'.DB_PREFIX.'box.nazev AS kategorie,
'.DB_PREFIX.'box.url AS kategorie_url
FROM '.DB_PREFIX.'katalog_polozka JOIN '.DB_PREFIX.'box
ON '.DB_PREFIX.'katalog_polozka.box_id = '.DB_PREFIX.'box.id_box
WHERE '.DB_PREFIX.'katalog_polozka.id_katalog_polozka = '.intval($katalog_id).'
AND '.DB_PREFIX.'katalog_polozka.active_state != 9';
$sql .= ' LIMIT 1';
if(!$katalog_polozka = $dbMD->get_row($sql))
{
return false;
}
else
{
$allowFullDetail = false;
if($katalog_polozka->katalog_dodavatel_id OR ((isset($_SESSION['web']['uzivatel_id']) AND !empty($_SESSION['web']['uzivatel_id'])) OR (isset($_SESSION['admin']['uzivatel_id']) AND !empty($_SESSION['admin']['uzivatel_id']))))
{
$allowFullDetail = true;
}
$params = array(
'title' => $katalog_polozka->nazev,
'drobky' => $katalog_polozka->drobky,
'hiearchie' => $katalog_polozka->hiearchie,
'contentClass' => 'catalog desc'
);
if($diskuze) // katalog_polozka s diskuzi
{
$params['linkJavaScript'] = array('/js/limiter.js', '/js/diskuze_katalog.js');
}
elseif($fotogalerie)
{
$params['linkJavaScript'] = array(
'/js/scriptaculous.js?load=effects,builder',
'/js/lightbox.js',
'/js/images.js',
'/js/clanek-detail.js',
'/js/jquery.min.js',
'/js/stepcarousel.js'
);
$params['contentClass'] = 'catalog photogallery';
}
elseif($fotogalerieDiskuze)
{
$params['linkJavaScript'] = array(
'/js/scriptaculous.js?load=effects,builder',
'/js/lightbox.js',
'/js/images.js',
'/js/clanek-detail.js',
'/js/limiter.js',
'/js/diskuze_galerie.js'
);
$params['contentClass'] = 'catalog photogallery';
}
else
{
$params['linkJavaScript'] = array(
'/js/scriptaculous.js?load=effects,builder',
'/js/lightbox.js',
'/js/images.js',
'/js/clanek-detail.js',
'/js/jquery.min.js',
'/js/stepcarousel.js'
);
$params['contentClass'] = 'catalog desc';
}
$html = new html($params);
// navigace
$ret .= '
'."\n";
$ret .= '
'.$html->params['drobky'].'
'."\n";
// url rubriky
$pos = strrpos($katalog_polozka->url, "/");
$url = substr($katalog_polozka->url, 0, ($pos + 1));
// galerie url a dalsi url
$galerie_url = str_replace(".html", "_fotogalerie.html", $katalog_polozka->url);
$galerieDiskuze_url = str_replace(".html", "_fotogalerie_diskuze.html", $katalog_polozka->url);
$komentare = str_replace(".html", "_diskuze.html", $katalog_polozka->url);
$bookTitle = urlencode(strip_tags($katalog_polozka->nazev));
$bookUrl = substr(WEB_URL, 0, -1).$katalog_polozka->url;
$twitter = urlencode('Currently reading '.$bookUrl);
$specifikace = false;
$projekty = false;
$enabledProjekty = false;
if($katalog_polozka->katalog_dodavatel_id)
{
$sqlProjekty = 'SELECT
'.DB_PREFIX.'katalog_polozka.*,
'.DB_PREFIX.'box.url AS kategorie_url
FROM '.DB_PREFIX.'katalog_polozka JOIN '.DB_PREFIX.'box
ON '.DB_PREFIX.'katalog_polozka.box_id = '.DB_PREFIX.'box.id_box
WHERE '.DB_PREFIX.'katalog_polozka.active_state IN (1)
AND '.DB_PREFIX.'katalog_polozka.katalog_dodavatel_id IN ('.intval($katalog_polozka->katalog_dodavatel_id).')
AND '.DB_PREFIX.'katalog_polozka.id_katalog_polozka NOT IN ('.intval($katalog_polozka->id_katalog_polozka).')
ORDER BY '.DB_PREFIX.'katalog_polozka.doporucujeme DESC, '.DB_PREFIX.'katalog_polozka.priorita DESC, '.DB_PREFIX.'katalog_polozka.cas_vlozeni DESC';
$enabledProjekty = intval($dbMD->get_var('SELECT COUNT(id_katalog_polozka) AS pocet FROM ('.$sqlProjekty.') AS vypis_list'));
}
// tab navigace
$TabNav = '
'."\n";
$sql = 'SELECT COUNT('.DB_PREFIX.'diskuze_katalog.id_diskuze_katalog) AS pocet
FROM '.DB_PREFIX.'diskuze_katalog
WHERE '.DB_PREFIX.'diskuze_katalog.katalog_polozka_id = '.intval($katalog_polozka->id_katalog_polozka).'
AND '.DB_PREFIX.'diskuze_katalog.active_state IN (0,1)';
if(!$pocet = $dbMD->get_var($sql)) { $pocet = 0; }
// tool bar
$tools = '
'."\n";
$tools .= 'Diskuze ('.$pocet.') | '."\n";
$tools .= 'Tisk | '."\n";
$tools .= 'Poslat | '."\n";
//$tools .= 'Diskuze domu | '."\n";
$tools .= 'Přidat k oblíbeným | '."\n";
if($fotogalerie) $tools .= 'Zpět na dům | '."\n";
//$tools .= 'Sdílet dům'."\n";
$tools .= 'Facebook '."\n";
$tools .= ''."\n";
$tools .= 'Google '."\n";
$tools .= '
'."\n";
if($fotogalerieDiskuze)
{
$ret .= $TabNav;
// obrazek
$sql = 'SELECT
'.DB_PREFIX.'obrazek.id_obrazek,
'.DB_PREFIX.'obrazek.link AS obrazek_src,
REGEXP_REPLACE('.DB_PREFIX.'obrazek.popisek,\'^bez popisku ([0-9]*)\',\'\') AS obrazek_alt
FROM '.DB_PREFIX.'obrazek
WHERE '.DB_PREFIX.'obrazek.active_state = 1
AND '.DB_PREFIX.'obrazek.typ = 1
AND '.DB_PREFIX.'obrazek.id_obrazek = '.intval($_REQUEST['obrazek_id']).'
LIMIT 1';
if($picture = $dbMD->get_row($sql))
{
if($thumb = get_thumbsMD($picture->obrazek_src, 595, 395))
{
$ret .= '
'."\n";
$ret .= '
Zpět na fotogalerii '."\n";
// diskuze k fotografii
include(WEB_DIRECTORY.'diskuze_galerie/diskuze-vypis.php');
$katalog_polozka->obrazek_id = $picture->id_obrazek;
$katalog_polozka->url = $galerieDiskuze_url;
$ret .= vypis_diskuze($katalog_polozka);
}
}
$ret .= $tools;
}
// katalog_polozka - fotogalerie
elseif($fotogalerie)
{
if(isset($_REQUEST['slide'])) { $auto = 'true'; }
else { $auto = 'false'; }
$ret .= '';
$ret .= '
Předchozí / Další
'."\n";
$ret .= $TabNav;
$ret .= '
';
$ret .= '
';
// obrazky
$sql = 'SELECT
'.DB_PREFIX.'obrazek.id_obrazek,
'.DB_PREFIX.'obrazek.link AS obrazek_src,
REGEXP_REPLACE('.DB_PREFIX.'obrazek.popisek,\'^bez popisku ([0-9]*)\',\'\') AS obrazek_alt
FROM '.DB_PREFIX.'obrazek
WHERE '.DB_PREFIX.'obrazek.active_state = 1
AND '.DB_PREFIX.'obrazek.typ = 1
AND '.DB_PREFIX.'obrazek.polozka_id LIKE \''.$katalog_polozka->unikatni_id.'\'
ORDER BY '.DB_PREFIX.'obrazek.priorita DESC';
if($pictures = $dbMD->get_results($sql))
{
$celkem = count($pictures);
foreach($pictures as $key => $picture)
{
if($thumb = get_thumbsMD($picture->obrazek_src, 595, 395))
{
$keyS = $key+1;
if(strlen($key+1) == 1) $keyS = '0'.($key+1);
$ret .= '
'."\n";
$ret .= '
'."\n";
}
};
};
$ret .= '
';
$ret .= '
';
$ret .= '
'.$katalog_polozka->nazev.' '."\n";
$ret .= '
'."\n";
$ret .= ''.$katalog_polozka->kategorie.' '."\n";
$ret .= ''.view_date($katalog_polozka->cas_vlozeni).' '."\n";
$ret .= '
'."\n";
$ret .= '
'."\n";
$ret .= ''.get_nahled($katalog_polozka->text, 350, false, $katalog_polozka->url.'?showTab=popis').''."\n";
$ret .= '
'."\n";
$ret .= $tools;
// obrazky
$sql = 'SELECT
'.DB_PREFIX.'obrazek.id_obrazek,
'.DB_PREFIX.'obrazek.link AS obrazek_src,
REGEXP_REPLACE('.DB_PREFIX.'obrazek.popisek,\'^bez popisku ([0-9]*)\',\'\') AS obrazek_alt
FROM '.DB_PREFIX.'obrazek
WHERE '.DB_PREFIX.'obrazek.active_state = 1
AND '.DB_PREFIX.'obrazek.typ = 1
AND '.DB_PREFIX.'obrazek.polozka_id LIKE \''.$katalog_polozka->unikatni_id.'\'
ORDER BY '.DB_PREFIX.'obrazek.priorita DESC';
if($res = $dbMD->get_results($sql))
{
$ret .= '
';
$ret .= '
';
};
}
elseif($enabledProjekty AND $projekty) // katalog_polozka - projekty
{
$ret .= $TabNav;
$ret .= '
Další projekty '."\n";
if($result = $dbMD->get_results($sqlProjekty))
{
include(WEB_DIRECTORY.'katalog-md/katalog-vypis-1.php');
}
}
elseif($diskuze) // katalog_polozka s diskuzi
{
$ret .= '
'."\n";
// zobrazeni nahledu
$ret .= '
'.get_nahled($katalog_polozka->text, 350).'
'."\n";
$ret.= '
Zpět na rodinný dům
'."\n";
// diskuze
if(TRUE OR $katalog_polozka->diskuze)
{
include(WEB_DIRECTORY.'diskuze_katalog/diskuze-vypis.php');
$ret .= vypis_diskuze($katalog_polozka);
}
else
{
$ret .= '
Diskuze je zablokována.
'."\n";
};
}
else // katalog_polozka
{
/*
// anketa
if($retAnketa = parseAnketa($katalog_polozka->text))
{
$katalog_polozka->text = $retAnketa;
$noCacheThis = true;
}
*/
$ret .= $TabNav;
// hlavni obrazek
if($allowFullDetail)
{
if($obrazek = get_imageMD($katalog_polozka->unikatni_id))
{
if($thumb = get_thumbsMD($obrazek['obrazek_src'], 595, 395, true, true))
{
$ret .= '
'."\n";
}
}
}
else
{
$ret .= '
'."\n";
$ret .= '
'."\n";
$ret .= '
Technické specifikace a kontakty se zobrazují pouze registrovaným uživatelům '."\n";
$ret .= '
'."\n";
}
$ret .= '
'.$katalog_polozka->nazev.' '."\n";
$ret .= '
'."\n";
$ret .= ''.$katalog_polozka->kategorie.' '."\n";
$ret .= ' '."\n";
$ret .= '
'."\n";
// zobrazeni tela clanku
$ret .= '
'."\n";
if ($specifikace)
{
if($allowFullDetail)
{
// obrazky pudorys
$sql = 'SELECT
'.DB_PREFIX.'obrazek.id_obrazek,
'.DB_PREFIX.'obrazek.link AS obrazek_src,
REGEXP_REPLACE('.DB_PREFIX.'obrazek.popisek,\'^bez popisku ([0-9]*)\',\'\') AS obrazek_alt
FROM '.DB_PREFIX.'obrazek
WHERE '.DB_PREFIX.'obrazek.active_state = 1
AND '.DB_PREFIX.'obrazek.typ = 2
AND '.DB_PREFIX.'obrazek.polozka_id LIKE \''.$katalog_polozka->unikatni_id.'\'
ORDER BY '.DB_PREFIX.'obrazek.priorita DESC';
if($res = $dbMD->get_results($sql))
{
foreach($res as $i=>$obrazek)
{
if($thumb = get_thumbsMD($obrazek->obrazek_src, 285, 350))
{
$l = '';
if(($i+1) % 2 == 0) { $l = ' class="left"'; }
$ret .= '
'."\n";
$ret .= ' '."\n";
$ret .= ' '."\n";
};
};
$ret .= '
';
};
$ret .= ''.$katalog_polozka->specifikace.''."\n";
}
else
{
$ret .= '
Tyto informace se zobrazují pouze registrovaným uživatelům. Přihlásit se můžete zde a registrovat zde . ';
}
}
else
{
$katalog_polozka->text = str_replace('
text);
$katalog_polozka->text = str_replace('
text);
$ret .= ''.$katalog_polozka->text.''."\n";
}
$ret .= '
'."\n";
$ret .= view_date($katalog_polozka->cas_vlozeni).' | '."\n";
$ret .= ''.$katalog_polozka->kategorie.' '."\n";
$ret .= '
'."\n";
$ret .= '
'."\n";
$ret .= $tools;
// obrazky
$sql = 'SELECT
'.DB_PREFIX.'obrazek.id_obrazek,
'.DB_PREFIX.'obrazek.link AS obrazek_src,
REGEXP_REPLACE('.DB_PREFIX.'obrazek.popisek,\'^bez popisku ([0-9]*)\',\'\') AS obrazek_alt
FROM '.DB_PREFIX.'obrazek
WHERE '.DB_PREFIX.'obrazek.active_state = 1
AND '.DB_PREFIX.'obrazek.typ = 1
AND '.DB_PREFIX.'obrazek.polozka_id LIKE \''.$katalog_polozka->unikatni_id.'\'
ORDER BY '.DB_PREFIX.'obrazek.priorita DESC';
if($res = $dbMD->get_results($sql))
{
$ret .= '
';
$ret .= '
';
};
$displayForm = 'none';
if($message = $form->get_message()) { $displayForm = 'block'; }
$ret .= '
'."\n";
$ret .= ''."\n";
// zobrazeni souvisejicich polozek
$relatedItem = array();
// souvisejici
$souvisejici = $dbMD->get_array($katalog_polozka->souvisejici);
$sql = 'SELECT
'.DB_PREFIX.'katalog_polozka.nazev,
'.DB_PREFIX.'katalog_polozka.url,
'.DB_PREFIX.'katalog_polozka.unikatni_id
FROM '.DB_PREFIX.'katalog_polozka
WHERE '.DB_PREFIX.'katalog_polozka.id_katalog_polozka IN ('.implode(',', $souvisejici).')
AND '.DB_PREFIX.'katalog_polozka.active_state IN (1)
ORDER BY '.DB_PREFIX.'katalog_polozka.priorita DESC, '.DB_PREFIX.'katalog_polozka.cas_vlozeni DESC
LIMIT 6';
if($res = $dbMD->get_results($sql))
{
$ret .= '
'."\n";
$ret .= '
Mohlo by vás zajímat '."\n";
foreach($res as $itemKey => $related)
{
$l = '';
if(($itemKey+1) % 3 == 0 AND $itemKey != 0) $l = ' last';
$galerie_url = str_replace(".html", "_fotogalerie.html", $related->url);
$ret .= '
'."\n";
if($obrazek = get_imageMD($related->unikatni_id))
{
// obrazek
if($thumb = get_thumbsMD($obrazek['obrazek_src'], 188, 150))
{
$ret .= '
'."\n";
$ret .= ' '."\n";
$ret .= ' '."\n";
}
}
$ret .= '
'."\n";
$ret .= '
'."\n";
}
$ret .= '
'."\n";
};
}
$ret .= '
'."\n";
// ulozeni do cache
if(!$noCache && !$diskuze && !$html->params['noCache'])
{
$cacheSeparator = '# CACHE SEPARATOR katalog_polozka '.intval($katalog_polozka->id_katalog_polozka).' #';
$cacheContent = $katalog_polozka->nazev;
$cacheContent .= $cacheSeparator;
$cacheContent .= $katalog_polozka->drobky;
$cacheContent .= $cacheSeparator;
$cacheContent .= $katalog_polozka->hiearchie;
$cacheContent .= $cacheSeparator;
$cacheContent .= $ret;
$cache->store('katalog_polozka-'.intval($katalog_polozka->id_katalog_polozka), $cacheContent, CACHE_DAY);
};
return $ret;
};
};
// zobrazeni clanku
if(isset($_GET['katalog_polozka_id']))
{
$diskuze = false;
if(isset($_GET['diskuze'])) { $diskuze = true; };
$fotogalerie = false;
if(isset($_GET['fotogalerie'])) { $fotogalerie = true; };
$fotogalerieDiskuze = false;
if(isset($_GET['fotogaleriediskuze'])) { $fotogalerieDiskuze = true; };
$cacheSeparator = '# CACHE SEPARATOR katalog_polozka '.intval($_GET['katalog_polozka_id']).' #';
$noCache = false;
if(isset($_SESSION['admin']['uzivatel_id'])) { $noCache = true; }
// nacteni z cache
if(FALSE AND !$noCache && !$diskuze && $ret = $cache->fetch('katalog_polozka-'.intval($_GET['katalog_polozka_id'])))
{
list($nazev, $drobky, $hiearchie, $content) = explode($cacheSeparator, $ret);
$params = array(
'title' => $nazev,
'drobky' => $drobky,
'hiearchie' => $hiearchie,
'contentClass' => 'catalog desc',
'linkJavaScript' => array('/js/scriptaculous.js?load=effects,builder', '/js/lightbox.js?version=1', '/js/images.js', '/js/clanek-detail.js')
);
$html = new html($params);
$html->head();
echo $content;
echo ''."\n";
// nastaveni pristupu
//set_pristup_katalog_polozka($_GET['katalog_polozka_id']);
//if(isset($_GET['nlvisit']) AND !empty($_GET['nlvisit'])) set_pristup_newsletter($_GET['katalog_polozka_id'], $_GET['nlvisit'], 'katalog_polozka');
$html->foot();
}
elseif($katalog_polozka = generate_detail_katalog_polozka($_GET['katalog_polozka_id'], $diskuze, $noCache, $fotogalerie, $fotogalerieDiskuze))
{
$html->head();
echo $katalog_polozka;
// nastaveni pristupu
//set_pristup_katalog_polozka($_GET['katalog_polozka_id']);
//if(isset($_GET['nlvisit']) AND !empty($_GET['nlvisit'])) set_pristup_newsletter($_GET['katalog_polozka_id'], $_GET['nlvisit'], 'katalog_polozka');
$html->foot();
};
}
redirect();
?>