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

366 lines
15 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);
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);
?>