core/api/modules/tovar_cat/index.php

136 lines
6.0 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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("");#Меняем на полезное"&gt;", , "&lt;"
$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);
?>