288 lines
11 KiB
PHP
Executable File
288 lines
11 KiB
PHP
Executable File
<?php
|
||
ini_set('display_errors', 0);
|
||
//@mkdir(MYDIR . '/img/tovar', 0700);
|
||
//проверяем авторизацию
|
||
|
||
if ( $_SESSION['dostup'] !=='a' && $_SESSION['dostup'] !== 'e' ) header( 'Location: /403/' );
|
||
|
||
|
||
|
||
class modClass
|
||
{
|
||
public static $catID = 0; // int
|
||
public static $set; // array
|
||
|
||
/* ----------------------------------------------------------------------
|
||
23.04.2025
|
||
Получить список категорий
|
||
---------------------------------------------------------------------- */
|
||
static function getSubCats()
|
||
{
|
||
$id=($_GET['id'])?$_GET['id']:0;
|
||
return ($_SESSION['show_hidden']==1)?
|
||
DBmysql::getAll("SELECT `id`, `title`, `sort`, `status` FROM `ctovar` WHERE `cat`=? ORDER BY `sort`, `title`", $id):
|
||
DBmysql::getAll("SELECT `id`, `title`, `sort`, `status` FROM `ctovar` WHERE `cat`=? AND `status`=? ORDER BY `sort`, `title`", [$id, 1]);
|
||
}
|
||
/* ----------------------------------------------------------------------
|
||
23.04.2025
|
||
Получить список категорий
|
||
---------------------------------------------------------------------- */
|
||
static function getSubTovar()
|
||
{
|
||
$id=($_GET['id'])?$_GET['id']:0;
|
||
return ($_SESSION['show_hidden']==1)?
|
||
DBmysql::getAll("SELECT `id`, `title`, `sort`, `status`, `cena` FROM `tovar` WHERE `ctovar`=? ORDER BY `sort`, `title`", $id):
|
||
DBmysql::getAll("SELECT `id`, `title`, `sort`, `status`, `cena` FROM `tovar` WHERE `ctovar`=? AND `status`=? ORDER BY `sort`, `title`", [$id, 1]);
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
/* ----------------------------------------------------------------------
|
||
15.01.2024
|
||
Сохранить описание категории
|
||
---------------------------------------------------------------------- */
|
||
static function getSettings()
|
||
{
|
||
$a=\DBmysql::getValue("SELECT `json` FROM `settings` WHERE `site`=? AND `mod`=? LIMIT 1", array($_SERVER['SERVER_NAME'], $_GET['mod']));
|
||
$b=\core::j($a);
|
||
self::$set=$b;
|
||
}
|
||
|
||
/* ----------------------------------------------------------------------
|
||
15.01.2024
|
||
Сохранить описание категории
|
||
---------------------------------------------------------------------- */
|
||
static function getCategories()
|
||
{
|
||
$parent=($_GET['id'])?$_GET['id']:0;
|
||
if (self::$set['showNoPublic']==0)
|
||
$categories=\DBmysql::getAll("SELECT `id`, `title` FROM `ctovar` WHERE `cat`=? AND `status`=?", [$parent, 1]);
|
||
else
|
||
$categories=\DBmysql::getAll("SELECT `id`, `title` FROM `ctovar` WHERE `cat`=?", $parent);
|
||
return $categories;
|
||
}
|
||
|
||
/* ----------------------------------------------------------------------
|
||
15.01.2024
|
||
Сохранить описание категории
|
||
---------------------------------------------------------------------- */
|
||
static function saveCategoryInfo()
|
||
{
|
||
|
||
$_POST['status']=($_POST['status']=='on')?1:0;
|
||
\DB::set("UPDATE `tovar_category` SET `title`=?, `txt`=?, `category`=?, `keywords`=?, `description`=?, `status`=? WHERE `id`=? AND `site`=?", array(
|
||
$_POST['title'],
|
||
$_POST['txt'],
|
||
$_POST['category'],
|
||
$_POST['keywords'],
|
||
$_POST['description'],
|
||
$_POST['status'],
|
||
$_POST['id'], $_SERVER['SERVER_NAME']));
|
||
//print_r($_POST);
|
||
return 1;
|
||
}
|
||
|
||
/* ----------------------------------------------------------------------
|
||
03.01.2024
|
||
Полуаем список всего товара в категории
|
||
---------------------------------------------------------------------- */
|
||
static function getFromKeyWords($id)
|
||
{
|
||
//return \DB::getAll("SELECT `id`, `txt` FROM `keywords` WHERE `content_id`=? AND `content_type`=? AND `site`=? ORDER BY `txt`", array($id, 'tovar_cat', $_SERVER['SERVER_NAME']));
|
||
}
|
||
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
/* ----------------------------------------------------------------------
|
||
15.01.2024
|
||
Обрабатываем POST-запросы
|
||
---------------------------------------------------------------------- */
|
||
switch ($_POST['act']) {
|
||
|
||
case 'saveCategoryInfo'://сохраняем информацию о категории
|
||
$smarty -> assign( 'saveResult', modClass::saveCategoryInfo() );
|
||
|
||
|
||
break;
|
||
|
||
default:
|
||
|
||
}
|
||
|
||
|
||
|
||
modClass::getSettings();
|
||
modClass::getCategories();
|
||
/* ----------------------------------------------------------------------
|
||
14.01.2024
|
||
получаем собранные ключевые слова
|
||
---------------------------------------------------------------------- */
|
||
$smarty -> assign( 'keywords', modClass::getFromKeyWords($_GET['id']) );
|
||
|
||
|
||
/* ----------------------------------------------------------------------
|
||
10.06.2023
|
||
выбираем правила сортировки
|
||
---------------------------------------------------------------------- */
|
||
//$autofilter=\DB::getAll("SELECT * FROM `tovar_category_filter` WHERE `tovar_category`=?", $_GET['id']);
|
||
//$smarty -> assign( 'autofilter', $autofilter );
|
||
|
||
|
||
|
||
|
||
/* ----------------------------------------------------------------------
|
||
17.02.2023
|
||
Перемещаем товар
|
||
---------------------------------------------------------------------- */
|
||
if (@$_POST['move']) \DB::set ("UPDATE `tovar` SET `category`=? WHERE `title` LIKE '" . $_POST['txt'] . "'", $_POST['category']);
|
||
|
||
$smarty -> assign( 'uploadimg', 'api/modules/a_tovar_cat/uploadimg.html' );
|
||
$_SESSION['tmp']=$_GET['id'];
|
||
|
||
/* ----------------------------------------------------------------------
|
||
14.12.2022
|
||
Получаем инфу о пользователе
|
||
---------------------------------------------------------------------- */
|
||
$smarty -> assign( 'userInfo', \core::getUserInfo( $_SESSION['user_id'] ) );
|
||
|
||
|
||
$set['showNoPublic']=\core::getSettings('showNoPublic', 'a_tovar_cat');
|
||
/* ----------------------------------------------------------------------
|
||
15.12.2022
|
||
Получаем список категорий
|
||
---------------------------------------------------------------------- */
|
||
$_GET['id'] = ($_GET['id']) ? $_GET['id'] : 0;
|
||
if ($set['showNoPublic']==1)
|
||
$cats=\DBmysql::getAll("SELECT * FROM `ctovar` WHERE `cat`=? ORDER BY `sort`, `title`", $_GET['id']);
|
||
else
|
||
$cats=\DBmysql::getAll("SELECT * FROM `ctovar` WHERE `cat`=? AND `status`=1 ORDER BY `sort`, `title`", $_GET['id']);
|
||
for ( $i=0; $i<count($cats); $i++){
|
||
unset($c);
|
||
$c=\DBmysql::getAll("SELECT count(*) FROM `ctovar` WHERE `cat`=? AND `status`=1" , $cats[$i]['id']);
|
||
$cats[$i]['count_cats']=$c[0]['count(*)'];
|
||
unset($c);
|
||
$c=\DBmysql::getAll("SELECT count(*) FROM `tovar` WHERE `ctovar`=? AND `status`=1", $cats[$i]['id']);
|
||
$cats[$i]['count_tovar']=$c[0]['count(*)'];
|
||
}
|
||
|
||
$smarty -> assign( 'cats', $cats );
|
||
|
||
|
||
/* ----------------------------------------------------------------------
|
||
03.01.2023
|
||
Хлебные крошки
|
||
---------------------------------------------------------------------- */
|
||
$smarty->assign('Breadcrumb', \core::getBreadcrumb( 'ctovar', @$cats[0]['category'] ) );
|
||
|
||
|
||
//
|
||
/* ----------------------------------------------------------------------
|
||
15.12.2022
|
||
Получаем список товаров
|
||
---------------------------------------------------------------------- */
|
||
if ($set['showNoPublic']==1)
|
||
$tovars=\DBmysql::getAll("SELECT `id`, `title`, `cena`, `status` FROM `tovar` WHERE `ctovar`=? ORDER BY tovar.title LIMIT 500", $_GET['id']);
|
||
else//$tovars=\DB::getAll("SELECT tovar.*, tovar_img.filename AS img FROM `tovar`
|
||
$tovars=\DBmysql::getAll("SELECT `id`, `title`, `cena`, `status` FROM `tovar` WHERE `ctovar`=? AND `status`=1 ORDER BY tovar.title LIMIT 500", $_GET['id']);
|
||
|
||
|
||
//for ($i=0;$i<count($tovars);$i++)$tovars[$i]['img']=\DB::getValue("SELECT `filename` FROM `tovar_img` WHERE `tovar_id`=?", $tovars[$i]['id']);
|
||
|
||
/*if ($set['showNoPublic']==1)
|
||
$tovars=\DB::getAll("SELECT tovar.id, tovar.title, tovar.cena, tovar_img.filename AS img FROM `tovar`
|
||
JOIN `tovar_img`
|
||
ON tovar_img.tovar_id=tovar.id
|
||
WHERE `category`=? ORDER BY tovar.title LIMIT 400", $_GET['id']);
|
||
else//$tovars=\DB::getAll("SELECT tovar.*, tovar_img.filename AS img FROM `tovar`
|
||
$tovars=\DB::getAll("SELECT tovar.id, tovar.title, tovar.cena, tovar_img.filename AS img FROM `tovar`
|
||
JOIN `tovar_img`
|
||
ON tovar_img.tovar_id=tovar.id
|
||
WHERE `category`=? AND `status`=1 ORDER BY tovar.title LIMIT 400", $_GET['id']);
|
||
*/
|
||
if ($tovars)$smarty -> assign( 'pages', \core::array_unique_key($tovars, 'id') );
|
||
|
||
/* ----------------------------------------------------------------------
|
||
21.12.2022
|
||
Получаем информацию о категории
|
||
---------------------------------------------------------------------- */
|
||
if ( $_GET['id'] ){
|
||
|
||
$catInfo = DBmysql::getAll( "SELECT * FROM `ctovar` WHERE `id`=? LIMIT 1", $_GET['id'] );
|
||
//print_r ( $catInfo );
|
||
$smarty -> assign( 'catInfo', $catInfo );
|
||
|
||
/* ----------------------------------------------------------------------
|
||
02.01.2023
|
||
Получаем обложек
|
||
---------------------------------------------------------------------- */
|
||
//$imgs=\DB::getAll("SELECT * FROM `img` WHERE `content_id`=? AND `content_type`=? AND `site`=?", array($_GET['id'], 'tovar_category', $_SERVER['SERVER_NAME']) );
|
||
//$smarty -> assign( 'imgs', $imgs );
|
||
|
||
|
||
}
|
||
/* ----------------------------------------------------------------------
|
||
23.04.2025
|
||
Получаем список категорий
|
||
---------------------------------------------------------------------- */
|
||
|
||
|
||
$smarty -> assign( 'catList', modClass::getSubCats() );
|
||
$smarty -> assign( 'catTovar', modClass::getSubTovar() );
|
||
|
||
|
||
|
||
//получаем список страниц
|
||
//echo ("test1");
|
||
//$pages = $mod -> get_pages('page', ID);
|
||
//$smarty -> assign( 'pages', $pages );//список страниц
|
||
//$smarty -> assign( 'cat_id', ID );//ИД категории
|
||
//$smarty -> assign( 'all_cats', $mod->get_all_cats() );//Получаем все опубликованные категории для модалки добавления и изменения категорий
|
||
$smarty -> assign( 'cat_list', 'api/modules/' . MOD . '/cat_list.html' );
|
||
$smarty -> assign( 'pages_list', 'api/modules/' . MOD . '/pages_list.html' );
|
||
$smarty -> assign( 'modal_new_cat', 'api/modules/' . MOD . '/modal_new_cat.html' );
|
||
$smarty -> assign( 'modal_del_page', 'api/modules/' . MOD . '/modal_del_page.html' );
|
||
//if (ID) $smarty -> assign( 'this_cat', $mod -> get_this_cat( ID ) );//Эта категория
|
||
|
||
$smarty -> assign( 'set', $set );
|
||
|
||
$smarty -> assign( 'allcats', DBmysql::getAll("SELECT `id`, `title`, `sort`, `status` FROM `ctovar` WHERE `status`=? ORDER BY `sort`, `title`", 1));
|
||
|
||
|
||
//\DB::set ("UPDATE `tovar_category` SET `img` = NULL WHERE `img`='/img/tk-ligat.ru/tovar/.jpg'");
|
||
?>
|