366 lines
15 KiB
PHP
Executable File
366 lines
15 KiB
PHP
Executable File
<?php
|
||
ini_set('display_errors', 0);
|
||
|
||
class modClass
|
||
{
|
||
public static $catID = 0; // int
|
||
public static $tovar_id = 0; // int
|
||
public static $pageID = 0; // int
|
||
public static $showTovars = 30; // int
|
||
public static $html = ''; // int
|
||
|
||
/* ----------------------------------------------------------------------
|
||
04.02.2024
|
||
Полуаем цены по характеристикам
|
||
---------------------------------------------------------------------- */
|
||
static function getFromPrice_hars($tovar_id)
|
||
{
|
||
$priceHars = \DB::getAll("SELECT * FROM `price_hars` WHERE `tovar_id`=? AND `status`=1 AND `site`=?", array($tovar_id, $_SERVER['SERVER_NAME']));
|
||
return $priceHars;
|
||
}
|
||
/* ----------------------------------------------------------------------
|
||
04.01.2024
|
||
Парсинг ИНСТАЛЛ ASC
|
||
---------------------------------------------------------------------- */
|
||
static function parceKeyWords($alias, $id)
|
||
{
|
||
require_once 'api/soft/phpQuery-master/phpQuery/phpQuery.php';
|
||
self::$html = \core::get_page('https://install-asc.ru/product/' . $alias);
|
||
$doc = phpQuery::newDocument(self::$html['html']);
|
||
$entry = $doc->find('head meta[name="keywords"]');
|
||
$data['keywords'] = pq($entry)->attr('content');
|
||
$entry = $doc->find('head meta[name="description"]');
|
||
$data['description'] = pq($entry)->attr('content');
|
||
if ($data['keywords'] && $data['description'])
|
||
\DB::set("UPDATE `tovar` SET `keywords`=?, `description`=? WHERE `id`=?", array($data['keywords'], $data['description'], $id));
|
||
}
|
||
|
||
|
||
|
||
/* ----------------------------------------------------------------------
|
||
03.01.2024
|
||
Полуаем Инфо о товаре
|
||
---------------------------------------------------------------------- */
|
||
static function getTovar()
|
||
{
|
||
$err = 0;
|
||
// 1. Пробуем найти по алиасу
|
||
$tovar = \DB::getRow("SELECT * FROM `tovar` WHERE `alias`=? LIMIT 1", $_GET['id']);
|
||
|
||
if (!$tovar['id'])
|
||
$tovar = \DB::getRow("SELECT * FROM `tovar` WHERE `id`=? LIMIT 1", $_GET['id']);
|
||
if (!$tovar['id'])
|
||
$err = '404';
|
||
if ($tovar['status'] == 0)
|
||
$err = '403';
|
||
if ($tovar['alias'] && $tovar['alias'] != $_GET['id']) {
|
||
header('HTTP/1.1 301 Moved Permanently');
|
||
header('Location: /product/' . $tovar['alias']);
|
||
}
|
||
self::$tovar_id=$tovar['id'];
|
||
$res['err'] = $err;
|
||
$res['tovar'] = $tovar;
|
||
return $res;
|
||
}
|
||
|
||
/* ----------------------------------------------------------------------
|
||
03.01.2024
|
||
Полуаем характеритики товара
|
||
---------------------------------------------------------------------- */
|
||
static function getTovarHars($id)
|
||
{
|
||
$har = \DB::getAll("SELECT * FROM `tovar_har` WHERE `tovar_id`=?", $id);
|
||
for ($i = 0; $i < count($har); $i++)
|
||
$har[$i]['opt'] = \DB::getValue("SELECT `txt` FROM `tovar_har_sp` WHERE `id`=?", $har[$i]['tovar_har_sp_id']);
|
||
return $har;
|
||
}
|
||
|
||
/* ----------------------------------------------------------------------
|
||
03.01.2024
|
||
Полуаем картинки товара
|
||
---------------------------------------------------------------------- */
|
||
static function getTovarImg($id)
|
||
{
|
||
return \DB::getAll("SELECT `filename` FROM `img` WHERE `content_id`=? AND `site`=? AND `content_type`=?", array(self::$tovar_id, $_SERVER['SERVER_NAME'], 'tovar') );
|
||
}
|
||
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
//print_r($_SERVER);
|
||
if ($_SERVER["REMOTE_ADDR"] == '90.151.129.251' || $_SERVER["REMOTE_ADDR"] == '46.165.16.184') {
|
||
$smarty->assign('dostup', 1);
|
||
$smarty->assign('tovar_category', \DB::getAll("SELECT `id`, `title` FROM `tovar_category` WHERE `status`=1 ORDER BY `title`"));
|
||
}
|
||
|
||
|
||
|
||
|
||
@mkdir('img/' . $_SERVER['SERVER_NAME'] . '/cert', 0700);
|
||
@mkdir('img/' . $_SERVER['SERVER_NAME'] . '/tovar/square', 0700);
|
||
if (!$_SESSION['user_id'])
|
||
$smarty->caching = false;
|
||
$smarty->cache_lifetime = 86400;
|
||
$me = \core::checkMe();
|
||
|
||
/* ----------------------------------------------------------------------
|
||
01.03.2023
|
||
Получаем историю просмотров
|
||
---------------------------------------------------------------------- */
|
||
|
||
|
||
|
||
if (DB_TYPE == 'mysql')
|
||
$tovarHistory = \DB::getAll("SELECT `id`, `title`, `cena` FROM `tovar` WHERE `id` IN ( SELECT `tovar_id` FROM `tovar_history` WHERE `session_id`=? ORDER BY RAND()) AND `status`=1 LIMIT 20", $me);
|
||
else
|
||
$tovarHistory = \DB::getAll("SELECT `id`, `title`, `cena` FROM `tovar` WHERE `id` IN ( SELECT `tovar_id` FROM `tovar_history` WHERE `session_id`=? ORDER BY RANDOM()) AND `status`=1 LIMIT 20", $me);
|
||
|
||
for ($i = 0; $i < count($tovarHistory); $i++) {
|
||
$tovarHistory[$i]['img_id'] = \DB::getValue("SELECT `id` FROM `tovar_img` WHERE `tovar_id`=? LIMIT 1", $tovarHistory[$i]['id']);
|
||
}
|
||
//print_r($tovarHistory);
|
||
$smarty->assign('tovarHistory', $tovarHistory);
|
||
/* ----------------------------------------------------------------------
|
||
28.02.2023
|
||
Получаем коментарии
|
||
---------------------------------------------------------------------- */
|
||
|
||
$comments = \DB::getAll("SELECT * FROM `tovar_otzyv` WHERE `tovar_id`=? AND `status`=1 ORDER BY `t` DESC", $_GET['id']);
|
||
for ($i = 0; $i < count($comments); $i++)
|
||
$comments[$i]['fio'] = \DB::getValue("SELECT `fio` FROM `users` WHERE `id`=?", $comments[$i]['user_id']);
|
||
|
||
$smarty->assign('comments', $comments);
|
||
$smarty->assign('inc_comments', 'api/modules/tovar_show/comments.html');
|
||
|
||
/* ----------------------------------------------------------------------
|
||
17.12.2022
|
||
Получаем данные о товаре
|
||
---------------------------------------------------------------------- */
|
||
if ($_SERVER['HTTP_HOST'] == 'install.yurecnt.ru' || $_SERVER['HTTP_HOST'] == 'install-asc.ru') {
|
||
$res = modClass::getTovar();
|
||
if ($res['err'] == '0') {
|
||
if (!$res['tovar']['id']) header("HTTP/1.1 404 Not Found");
|
||
$smarty->assign('tovar', $res['tovar']);
|
||
$smarty->assign('har', modClass::getTovarHars($res['tovar']['id']));
|
||
$smarty->assign('imgList', modClass::getTovarImg($res['tovar']['id']));
|
||
$smarty->assign('priceHars', modClass::getFromPrice_hars($res['tovar']['id']));
|
||
} else{
|
||
header("HTTP/1.1 404 Not Found");
|
||
$smarty->assign('err', $res['err']);
|
||
}
|
||
|
||
|
||
|
||
} else {
|
||
$tovar = \DB::getRow("SELECT * FROM `tovar` WHERE `id`=? OR `alias`=? LIMIT 1", array($_GET['id'], $_GET['id']));
|
||
$tovar_json = \json::from_j($tovar['json']);
|
||
$smarty->assign('tovar', $tovar);
|
||
$smarty->assign('tovar_json', $tovar_json);
|
||
|
||
|
||
|
||
$page = \DB::getAll("SELECT * FROM `tovar` WHERE `id`=? OR `alias`=? LIMIT 1", array($_GET['id'], $_GET['id']));
|
||
}
|
||
//if ($page[0]['alias'])
|
||
|
||
$page[0]['date'] = date('d.m.Y', @$page[0]['t']);
|
||
|
||
$triDnya = time() - $page[0]['cena_d'];
|
||
if ($_SERVER['SERVER_NAME'] == 'tk-ligat.ru') {
|
||
if ($page[0]['partner'] == 'samson') {
|
||
require_once 'api/modules/tovar_show/get_price_samson.php';
|
||
$page[0]['cena'] = ($triDnya > 259200) ? getCenaApiSamson($page[0]['id'], $page[0]['code']) : $page[0]['cena'];
|
||
//sortTovar($page[0]['id'], $page[0]['code']);
|
||
}
|
||
if ($page[0]['partner'] == 'leopak') {
|
||
require_once 'api/modules/tovar_show/get_price_leopak.php';
|
||
|
||
|
||
}
|
||
if ($page[0]['partner'] == 'deznet') {
|
||
require_once 'api/modules/tovar_show/get_price_deznet.php';
|
||
$page[0]['cena'] = ($triDnya > 259200) ? getCenaLeopak($page[0]['donor'], $page[0]['id']) : $page[0]['cena'];
|
||
}
|
||
|
||
|
||
if ($tovar['partner'] == 'leader' && $tovar['status'] == 1) {
|
||
require_once 'api/modules/tovar_show/get_leader.php';
|
||
|
||
|
||
}
|
||
|
||
}
|
||
|
||
/* ----------------------------------------------------------------------
|
||
08.07.2023
|
||
Штрихкод
|
||
---------------------------------------------------------------------- */
|
||
$page[0]['barcode'] = \DB::getValue("SELECT `barcode` FROM `tovar_barcode` WHERE `tovar_id`=?", $_GET['id']);
|
||
|
||
/* ----------------------------------------------------------------------
|
||
03.01.2023
|
||
Хлебные крошки
|
||
---------------------------------------------------------------------- */
|
||
|
||
$smarty->assign('Breadcrumb', \core::getBreadcrumb('tovar_category', $page[0]['category']));
|
||
|
||
/* ----------------------------------------------------------------------
|
||
03.01.2023
|
||
Получаем картинку категории
|
||
---------------------------------------------------------------------- */
|
||
|
||
$smarty->assign('catImg', \DB::getValue("SELECT `filename` FROM `tovar_category_img` WHERE `tovar_category_id`=?", $page[0]['category']));
|
||
|
||
$smarty->assign('page', $page);
|
||
//rint_r($page);
|
||
if ($page[0]['id'])
|
||
$smarty->assign('imgList', modClass::getTovarImg($page[0]['id']));
|
||
|
||
/* ----------------------------------------------------------------------
|
||
17.12.2022
|
||
Получаем картинки - скоро канет в прошлое
|
||
---------------------------------------------------------------------- */
|
||
$imagesTovar = \DB::getAll("SELECT * FROM `tovar_img` WHERE `tovar_id`=?", $page[0]['id']);
|
||
if (!$imagesTovar && $page[0]['partner'] == "deznet") {
|
||
$filename = \core::genpassword(30);
|
||
exec("wget " . $page[0]['linkimg'] . " -O /home/cloud/core/img/tk-ligat.ru/tovar/" . $filename . ".jpg");
|
||
DB::add("INSERT INTO `tovar_img` (`filename`, `tovar_id`) VALUES (?, ?)", array($filename, $page[0]['id']));
|
||
$imagesTovar = \DB::getAll("SELECT * FROM `tovar_img` WHERE `tovar_id`=?", $page[0]['id']);
|
||
}
|
||
|
||
$smarty->assign('imagesTovar', $imagesTovar);
|
||
$countImg = count($imagesTovar);
|
||
\DB::set("UPDATE `tovar` SET `countImg`=? WHERE `id`=?", array($countImg, $page[0]['id']));
|
||
|
||
/* ----------------------------------------------------------------------
|
||
17.12.2022
|
||
Получаем характеристики из БД
|
||
Устарело, когда избавися от page, тогда и уберем
|
||
---------------------------------------------------------------------- */
|
||
if ($page[0]['id'])
|
||
$smarty->assign('har', modClass::getTovarHars($page[0]['id']));
|
||
|
||
/* ----------------------------------------------------------------------
|
||
17.12.2022
|
||
Пишем историю
|
||
---------------------------------------------------------------------- */
|
||
|
||
unset($id);
|
||
if ($tovar['status'] == 1) {
|
||
$id = \DB::getValue("SELECT `id` FROM `tovar_history` WHERE `tovar_id`=? AND `session_id`=?", array($page[0]['id'], $me));
|
||
if (!$id)
|
||
\DB::add("INSERT INTO `tovar_history` (`tovar_id`, `session_id`, `t`) VALUES (?, ?, ?)", array($page[0]['id'], $me, time()));
|
||
}
|
||
/* ----------------------------------------------------------------------
|
||
05.02.2023
|
||
ищем похожие товары - этой же категории, но рандомно
|
||
---------------------------------------------------------------------- */
|
||
|
||
if (DB_TYPE == 'mysql')
|
||
$rndTovar = \DB::getAll("SELECT * FROM `tovar` WHERE `category`=? ORDER BY RAND() LIMIT 10", $page[0]['category']);
|
||
else
|
||
$rndTovar = \DB::getAll("SELECT * FROM `tovar` WHERE `category`=? ORDER BY RANDOM() LIMIT 10", $page[0]['category']);
|
||
for ($i = 0; $i < count($rndTovar); $i++)
|
||
$rndTovar[$i]['img_id'] = \DB::getValue('SELECT `id` FROM `tovar_img` WHERE `tovar_id`=? LIMIT 1', $rndTovar[$i]['id']);
|
||
|
||
//$rndTovar[$i]['cena'] = \DB::getValue('SELECT `cena` FROM `tovar_price_history` WHERE `status`=1 AND `tovar_id`=? ORDER BY `id` DESC LIMIT 1', $rndTovar[$i]['id']);
|
||
$smarty->assign('rndTovar', $rndTovar);
|
||
|
||
|
||
|
||
if ($_SERVER['SERVER_NAME'] == 'tk-ligat.ru') {
|
||
/* ----------------------------------------------------------------------
|
||
15.10.2023
|
||
Пишем статистику просмотров
|
||
---------------------------------------------------------------------- */
|
||
$see = \DB::getAll("SELECT COUNT(*) FROM `likes` WHERE `tip`='see' AND `content_id`=? AND `content_type`=?", array($_GET['id'], $_GET['mod']))[0]['COUNT(*)'];
|
||
\DB::set("UPDATE `tovar` SET `see`=? WHERE `id`=?", array($see, $_GET['id']));
|
||
}
|
||
//print_r($res);
|
||
/*
|
||
Переезжалка
|
||
*/
|
||
include ('../s.php');
|
||
//DBmig::add("INSERT INTO `zametka` (`user_id`, `txt`) VALUES(?,?)", array($_SESSION['user_id'],'test'));
|
||
unset($c);
|
||
$c = \DB::getRow("SELECT * FROM `tovar` WHERE `id`=? LIMIT 1", $_GET['id']);
|
||
|
||
//Ищем категорию, где должен быть товар:
|
||
$catID=DBmig::getValue("SELECT `id` FROM `content_category` WHERE `original`=? LIMIT 1", $c['category']);
|
||
|
||
|
||
|
||
|
||
unset($massiv);
|
||
if ($c['status']==1 && $catID){
|
||
$massiv['artikul']=$c['artikul'];
|
||
$massiv['code']=$c['code'];
|
||
$massiv['partner']=$c['partner'];
|
||
$massiv['linkimg']=$c['linkimg'];
|
||
$massiv['old_cena']=$c['old_cena'];
|
||
$massiv['link']=$c['link'];
|
||
$massiv['sezon']=$c['sezon'];
|
||
$massiv['description']="На нашем сайте вы можете приобрести " . $c['title'] . " по выгодной цене с доставкой по Свердловской области!";
|
||
$massiv['keywords']="купить " . $c['title'] . " в нижнем тагиле";
|
||
$massiv['find']=$c['find'];
|
||
$massiv['upprice']=$c['upprice'];
|
||
$massiv['support']=$c['support'];
|
||
$massiv['find']=$c['title'] . ' ' . mb_strtolower(ekr($res['tovar']['title']));
|
||
$massiv['old_json']=\core::j($c['json']);
|
||
//Проверяем существование....
|
||
$contentID=DBmig::getValue("SELECT `id` FROM `content` WHERE `original`=? AND `site`=? LIMIT 1", array($c['id'], $_SERVER['SERVER_NAME']));
|
||
if (!$contentID){
|
||
DBmig::add("INSERT INTO `content` (`title`, `txt`, `status`, `category`, `site`, `json`, `content_type`, `time`, `user_id`, `donor`, `cena`, `original`) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)", array(
|
||
$c['title'], $c['txt'], $c['status'], $catID, $_SERVER['SERVER_NAME'], \core::j($massiv), 'tovar', time(), 1, $c['donor'], $c['cena'], $c['id']
|
||
));
|
||
}else{
|
||
DBmig::set("UPDATE `content` SET `title`=?, `txt`=?, `status`=?, `category`=?, `site`=?, `json`=?, `content_type`=?, `time`=?, `user_id`=?, `donor`=?, `cena`=?, `original`=? WHERE `id`=?", array(
|
||
$c['title'], $c['txt'], $c['status'], $catID, $_SERVER['SERVER_NAME'], \core::j($massiv), 'tovar', time(), 1, $c['donor'], $c['cena'], $c['id'], $contentID
|
||
));
|
||
}
|
||
|
||
|
||
|
||
|
||
}
|
||
|
||
|
||
|
||
/* Мигратор картинок */
|
||
unset($img);
|
||
$img=\DB::getAll("SELECT `filename` FROM `tovar_img` WHERE `tovar_id`=?", modClass::$tovar_id);
|
||
|
||
$count=count($img);
|
||
for ($i=0;$i<$count; $i++){
|
||
unset($fm);
|
||
$fm=\DB::getValue("SELECT `filename` FROM `img` WHERE `filename`=? AND `content_type`=? AND `site`=? AND `content_id`=? LIMIT 1", array(
|
||
$img[$i]['filename'], 'tovar', $_SERVER['SERVER_NAME'], modClass::$tovar_id
|
||
));
|
||
if (!$fm){
|
||
\DB::add("INSERT INTO `img` (`filename`, `content_type`, `site`, `content_id`) VALUES (?,?,?,?)", array($img[$i]['filename'], 'tovar', $_SERVER['SERVER_NAME'], modClass::$tovar_id));
|
||
\DB::set("DELETE FROM `tovar_img` WHERE `filename`=? LIMIT 1", $img[$i]['filename']);
|
||
}
|
||
}
|
||
//print_r($img);
|
||
|
||
|
||
?>
|