core/api/modules/tovar_show/index.php

259 lines
11 KiB
PHP
Raw 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('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 . "'"
);
// echo $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);
//print_r($res);
$words = array();
foreach ($res['data'] as $row) {
$words[] = $row['dimensions'][0]['name'];
}
//print_r($words);
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'] = \DB::getValue("SELECT `filename` 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'];
}
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']));
//print_r($page[0]['cena']);
/*
//Загружаем правильные картинки
if ($page[0]['check_img']!=1){
$images=$result2['data'][0]['photo_list'];//array
$old_img=\DB::getAll("SELECT * FROM `tovar_img` WHERE `tovar_id`=?", $_GET['id']);
for ($i=0; $i<count($old_img); $i++) unlink( 'img/' . $_SERVER['SERVER_NAME'] . '/tovar/' . $old_img[$i]['filename'] . '.jpg');
if ($images)\DB::set("DELETE FROM `tovar_img` WHERE `tovar_id`=?", $_GET['id']);
$count_img=count($images);
for ($i=0; $i<$count_img; $i++){
$rndname=\core::genpassword(30);
exec ("wget " . foolImg($images[$i]) . " -O img/" . $_SERVER['SERVER_NAME'] . "/tovar/" . $rndname . ".jpg");
\DB::add("INSERT INTO `tovar_img` (`filename`, `tovar_id`) VALUES (?, ?)", array( $rndname, $_GET['id'] ) );
\DB::set("UPDATE `tovar` SET `check_img`=1 WHERE `id`=?", $_GET['id']);
}
}
$hars_list=$result2['data'][0]['facet_list'];//array
//print_r($hars_list);
//}
*/
//$page[0]['cena'] = ($partner_cena) ? $partner_cena : $cena[0]['cena'];
$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']);
}
//if ($_SERVER['SERVER_NAME']=='v.yurecnt.ru'){
// for ($i=0; $i<count($imagesTovar); $i++){
// if (!file_exists('img/' . $_SERVER['SERVER_NAME'] . '/tovar/square/' . $imagesTovar[$i]['filename'] . '.jpg')) \core::imgPreview('img/' . $_SERVER['SERVER_NAME'] . '/tovar/' . $imagesTovar[$i]['filename'] . '.jpg', 'img/' . $_SERVER['SERVER_NAME'] . '/tovar/square/' . $imagesTovar[$i]['filename'] . '.jpg');
// }
/*require_once('api/php/thumbs/thumbs.php');
for ($i=0; $i<count($imagesTovar); $i++){
//Проверяем сущетсование картинки.....
if (!file_exists('img/' . $_SERVER['SERVER_NAME'] . '/tovar/square/' . $imagesTovar[$i]['filename'] . '.jpg')) {
$image = new Thumbs('img/' . $_SERVER['SERVER_NAME'] . '/tovar/' . $imagesTovar[$i]['filename'] . '.jpg');
$image->thumb(600, 400);
//$image->save('img/' . $_SERVER['SERVER_NAME'] . '/tovar/square/' . $imagesTovar[$i]['filename'] . '.jpg');
unset ($image);
}
}*/
//}
$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']);
//print_r($rndTovar);
for ($i = 0; $i < count($rndTovar); $i++) {
$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']);
$rndTovar[$i]['img'] = \DB::getValue('SELECT `filename` FROM `tovar_img` WHERE `tovar_id`=? LIMIT 1', $rndTovar[$i]['id']);
}
$smarty->assign('rndTovar', $rndTovar);
//$smarty->assign('keywords', \core::getMeta( $_GET['mod'], $_GET['id'], 'keywords') );
//$smarty->assign('description', \core::getMeta( $_GET['mod'], $_GET['id'], 'description') );
?>