2025-06-16 18:28:08 +05:00

288 lines
11 KiB
PHP
Executable File
Raw Permalink 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);
//@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'");
?>