136 lines
6.0 KiB
PHP
136 lines
6.0 KiB
PHP
<?php
|
||
ini_set('display_errors', 0 );
|
||
\DB::set("ALTER TABLE `tovar_category` ADD `hide` int(1) NULL DEFAULT '0'");
|
||
$smarty -> caching = false;
|
||
$smarty -> cache_lifetime = 2592000;// 86400 - сутки, 2592000 - месяц
|
||
|
||
function delhtml ($text) { // ФУНКЦИЯ очистки кода
|
||
$old1 = array(".html");#Ищем вредное ">",, "<"
|
||
$new1 = array("");#Меняем на полезное">", , "<"
|
||
$text = str_replace($old1, $new1, $text);#Собсно сама замена =)
|
||
return $text;
|
||
}
|
||
|
||
//если нет html возвращаем 404
|
||
function findtxt($txt, $str){
|
||
$pos1 = stripos($txt, $str);
|
||
if ($pos1 === false) return 0;
|
||
else
|
||
return 1;
|
||
}
|
||
if (findtxt($_GET['id'], 'html')==0){
|
||
header('HTTP/1.0 404 not found');
|
||
}
|
||
|
||
|
||
|
||
$period=delhtml($_GET['id']);
|
||
$pieces = explode("-",$period);
|
||
$pieces[0] = ( $pieces[0] ) ? $pieces[0] : 0; //категория
|
||
$page = ( $pieces[1] ) ? $pieces[1] : 0; // текущая страница
|
||
|
||
$categoryInfo=\DB::getAll("SELECT * FROM `tovar_category` WHERE `id`=? LIMIT 1", $pieces[0]);
|
||
$smarty->assign('page_info', $categoryInfo);//получаем инфо о категории
|
||
|
||
$childrenCategory=\DB::getAll("SELECT `id`, `title`, `hide` FROM `tovar_category` WHERE `status` = 1 AND `category` = ? ORDER BY `title`", $pieces[0] );
|
||
//Если нет дочерних категорий, берем текущие....
|
||
if (!$childrenCategory){
|
||
$childrenCategory=\DB::getAll("SELECT `id`, `title`, `hide` FROM `tovar_category` WHERE `status` = 1 AND `category` = ? ORDER BY `title`", $categoryInfo[0]['category'] );
|
||
}
|
||
|
||
/* ----------------------------------------------------------------------
|
||
24.02.2023
|
||
Выводим изображения категорий
|
||
---------------------------------------------------------------------- */
|
||
|
||
for ($i=0; $i<count($childrenCategory); $i++){
|
||
//Смотрим на всякий случай картинки в таблице tovar_category и переносим в tovar_category_img
|
||
// Убрать в конце 2023 года!!!
|
||
$obl_img=\DB::getValue("SELECT `img` FROM `tovar_category` WHERE `id`=? LIMIT 1", $childrenCategory[$i]['id']);
|
||
if ($obl_img){
|
||
$md5=md5_file('img/' . $_SERVER['SERVER_NAME'] . '/tovar_cat/' . $obl_img . '.jpg');
|
||
$insert_id = \DB::add ( "INSERT INTO `tovar_category_img` (`filename`, `tovar_category_id`, `md5`) VALUES (?, ?, ?)", array(
|
||
$obl_img, $childrenCategory[$i]['id'], $md5
|
||
) );
|
||
\DB::set("UPDATE `tovar_category` SET `img`=? WHERE `id`=? LIMIT 1", array("", $childrenCategory[$i]['id']) );
|
||
unset($obl_img);
|
||
unset($md5);
|
||
}
|
||
//А это не убирать!
|
||
$childrenCategory[$i]['img']=\DB::getValue("SELECT `filename` FROM `tovar_category_img` WHERE `tovar_category_id`=? LIMIT 1", $childrenCategory[$i]['id']);
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
$smarty->assign('list', $childrenCategory);//получаем дочерние категории
|
||
|
||
/* ----------------------------------------------------------------------
|
||
19.09.2022
|
||
Узнаем обложку раздела - переделано в слайдер
|
||
---------------------------------------------------------------------- */
|
||
|
||
$mainImg=\DB::getAll("SELECT `filename`, `id` FROM `tovar_category_img` WHERE `tovar_category_id`=?", $pieces[0]);
|
||
$smarty->assign('oblozhka', $mainImg);
|
||
//print_r($mainImg);
|
||
|
||
/* ----------------------------------------------------------------------
|
||
02.01.2023
|
||
Получаем случайную обложку категории
|
||
---------------------------------------------------------------------- */
|
||
|
||
if ( $pieces[0] ) $catImg=\DB::getValue("SELECT `filename` FROM `tovar_category_img` WHERE `tovar_category_id`=? ORDER BY RANDOM() LIMIT 1", $pieces[0]);
|
||
$smarty -> assign( 'catImg', $catImg );
|
||
$kol = 80; //количество записей для вывода
|
||
$art=($page>0)? ($page * $kol) - $kol : 0;// определяем, с какой записи нам выводить
|
||
|
||
|
||
|
||
|
||
$total = \DB::getValue ( "SELECT COUNT(*) FROM `tovar` WHERE (`category` = ? AND `status`=1) OR (`category` LIKE '%--" . $pieces[0] . "--%' AND `status`=1) ", $pieces[0] );
|
||
$str_pag = ceil($total / $kol);
|
||
|
||
$childrenTovar=\DB::getAll("SELECT `id`, `title` FROM `tovar` WHERE (`category` = ? AND `status`=1) OR (`category` LIKE '%--" . $pieces[0] . "--%' AND `status`=1) ORDER BY `title` LIMIT $art, $kol", $pieces[0]);
|
||
|
||
for ($i=0; $i<count($childrenTovar); $i++){
|
||
//А это не убирать!
|
||
$childrenTovar[$i]['cena']=\DB::getValue("SELECT `cena` FROM `tovar_price_history` WHERE `tovar_id`=? ORDER BY `t` DESC LIMIT 1", $childrenTovar[$i]['id']);
|
||
$childrenTovar[$i]['img']=\DB::getValue("SELECT `filename` FROM `tovar_img` WHERE `tovar_id`=? LIMIT 1", $childrenTovar[$i]['id']);
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
$smarty->assign('list2', $childrenTovar);//получаем дочерние категории
|
||
/* ----------------------------------------------------------------------
|
||
03.01.2023
|
||
Хлебные крошки
|
||
---------------------------------------------------------------------- */
|
||
|
||
$smarty->assign('Breadcrumb', \core::getBreadcrumb( 'tovar_category', $categoryInfo[0]['category'] ) );
|
||
|
||
/* ----------------------------------------------------------------------
|
||
03.01.2023
|
||
Пагинатор
|
||
---------------------------------------------------------------------- */
|
||
$paginator='<nav aria-label="123" style="margin-top: 40px; margin-bottom: 40px;"><ul class="pagination">';
|
||
for ($i = 1; $i <= $str_pag; $i++){
|
||
if ($i==$page)
|
||
$paginator.= "<li class='page-item text-center'><a href='/tovar_cat/" . $pieces[0] . "-" .$i.".html' class='page-link'><b>".$i."</b></a></li>";
|
||
else
|
||
$paginator.= "<li class='page-item text-center'><a href='/tovar_cat/" . $pieces[0] . "-" .$i.".html' class='page-link'>".$i." </a></li>";
|
||
}
|
||
$paginator.='</ul></nav>';
|
||
$smarty->assign('paginator', $paginator);
|
||
|
||
|
||
|
||
?>
|