171 lines
8.3 KiB
PHP
171 lines
8.3 KiB
PHP
<?php
|
||
ini_set('display_errors', 0);
|
||
@mkdir('img/' . $_SERVER['SERVER_NAME'] . '/cert', 0700);
|
||
@mkdir('img/' . $_SERVER['SERVER_NAME'] . '/tovar/square', 0700);
|
||
if (!$_SESSION['user_id']) $smarty->caching = true;
|
||
$smarty->cache_lifetime = 86400;
|
||
$me = \core::checkMe();
|
||
|
||
function setKeywords()
|
||
{
|
||
$token = 'y0_AgAAAAABiU4jAAn8iwAAAADkWpkSbFJu1kVDTGCi5DQIA4h6RaMwKpA';
|
||
$url = ((!empty($_SERVER['HTTPS'])) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; // . $_SERVER['REQUEST_URI']
|
||
$params = array(
|
||
'ids' => '88262601',
|
||
'metrics' => 'ym:s:visits',
|
||
'dimensions' => 'ym:s:searchPhrase',
|
||
'date1' => '365daysAgo',
|
||
'date2' => 'today',
|
||
'filters' => "ym:pv:URL=='" . $url . "'"
|
||
);
|
||
|
||
$ch = curl_init('https://api-metrika.yandex.net/stat/v1/data?' . urldecode(http_build_query($params)));
|
||
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: OAuth ' . $token));
|
||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
||
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
|
||
curl_setopt($ch, CURLOPT_HEADER, false);
|
||
$res = curl_exec($ch);
|
||
curl_close($ch);
|
||
|
||
$res = json_decode($res, true);
|
||
|
||
$words = array();
|
||
foreach ($res['data'] as $row) {
|
||
$words[] = $row['dimensions'][0]['name'];
|
||
}
|
||
|
||
for ($i = 0; $i < count($words); $i++) {
|
||
$id = \DB::getValue("SELECT `id` FROM `tovar_keywords` WHERE `tovar_id`=? AND `txt`=? LIMIT 1", array($_GET['id'], $words[$i]));
|
||
if (!$id) \DB::set("INSERT INTO `tovar_keywords` (`tovar_id`, `txt`) VALUES (?, ?)", array($_GET['id'], $words[$i]));
|
||
}
|
||
|
||
}
|
||
|
||
if (date("H:i") == '00:00') setKeywords();
|
||
|
||
|
||
|
||
|
||
/* ----------------------------------------------------------------------
|
||
01.03.2023
|
||
Получаем историю просмотров
|
||
---------------------------------------------------------------------- */
|
||
$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);
|
||
|
||
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
|
||
Получаем данные о товаре
|
||
---------------------------------------------------------------------- */
|
||
|
||
$page = \DB::getAll("SELECT * FROM `tovar` WHERE `id`=? LIMIT 1", $_GET['id']);
|
||
$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';
|
||
$page[0]['cena'] = ($triDnya > 259200) ? getCenaLeopak($page[0]['donor'], $page[0]['id']) : $page[0]['cena'];
|
||
|
||
}
|
||
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'];
|
||
}
|
||
}
|
||
|
||
/* ----------------------------------------------------------------------
|
||
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']));
|
||
|
||
/* ----------------------------------------------------------------------
|
||
17.12.2022
|
||
Получаем данные о последней цене на товар
|
||
---------------------------------------------------------------------- */
|
||
if (!$page[0]['cena'])
|
||
$page[0]['cena'] = \DB::getAll("SELECT `cena`, `t` FROM `tovar_price_history` WHERE `status`=1 AND `tovar_id`=? ORDER BY `t` DESC LIMIT 1", $_GET['id'])[0]['cena'];
|
||
\DB::set("UPDATE `tovar` SET `cena`=? WHERE `id`=? LIMIT 1", array($page[0]['cena'], $_GET['id']));
|
||
|
||
$smarty->assign('page', $page);
|
||
|
||
/* ----------------------------------------------------------------------
|
||
17.12.2022
|
||
Получаем картинки
|
||
---------------------------------------------------------------------- */
|
||
$imagesTovar = \DB::getAll("SELECT * FROM `tovar_img` WHERE `tovar_id`=?", $_GET['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, $_GET['id']));
|
||
$imagesTovar = \DB::getAll("SELECT * FROM `tovar_img` WHERE `tovar_id`=?", $_GET['id']);
|
||
}
|
||
|
||
$smarty->assign('imagesTovar', $imagesTovar);
|
||
$countImg = count($imagesTovar);
|
||
\DB::set("UPDATE `tovar` SET `countImg`=? WHERE `id`=?", array($countImg, $_GET['id']));
|
||
|
||
/* ----------------------------------------------------------------------
|
||
17.12.2022
|
||
Получаем характеристики из БД
|
||
---------------------------------------------------------------------- */
|
||
$har = \DB::getAll("SELECT * FROM `tovar_har` WHERE `tovar_id`=?", $_GET['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']);
|
||
$smarty->assign('har', $har);
|
||
|
||
/* ----------------------------------------------------------------------
|
||
17.12.2022
|
||
Пишем историю
|
||
---------------------------------------------------------------------- */
|
||
|
||
$session_id = ($_SESSION['user_id']) ? $_SESSION['user_id'] : session_id();
|
||
unset($id);
|
||
$id = \DB::getValue("SELECT `id` FROM `tovar_history` WHERE `tovar_id`=? AND `session_id`=?", array($_GET['id'], $session_id));
|
||
if (!$id) \DB::add("INSERT INTO `tovar_history` (`tovar_id`, `session_id`, `t`) VALUES (?, ?, ?)", array($_GET['id'], $session_id, time()));
|
||
|
||
/* ----------------------------------------------------------------------
|
||
05.02.2023
|
||
ищем похожие товары - этой же категории, но рандомно
|
||
---------------------------------------------------------------------- */
|
||
|
||
$rndTovar = \DB::getAll("SELECT * FROM `tovar` WHERE `category`=? ORDER BY RAND() 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);
|
||
?>
|