207 lines
10 KiB
PHP
207 lines
10 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 = false;
|
||
$smarty -> cache_lifetime = 86400;
|
||
|
||
/* ----------------------------------------------------------------------
|
||
01.03.2023
|
||
Получаем историю просмотров
|
||
---------------------------------------------------------------------- */
|
||
$tovarHistory=\DB::getAll( "SELECT `id`, `title`, `akccena` FROM `tovar` WHERE `id` IN ( SELECT `tovar_id` FROM `tovar_history` WHERE `session_id`=? ORDER BY RAND()) AND `status`=1 LIMIT 20", \core::checkMe() );
|
||
for ( $i=0; $i < count( $tovarHistory ); $i++ ){
|
||
$tovarHistory[$i]['cena'] = \DB::getValue ( "SELECT `cena` FROM `tovar_price_history` WHERE `status`=1 AND `tovar_id`=? ORDER BY `t` DESC", $tovarHistory[$i]['id'] );
|
||
$tovarHistory[$i]['img'] = \DB::getValue ( "SELECT `filename` FROM `tovar_img` WHERE `tovar_id`=? LIMIT 1", $tovarHistory[$i]['id']);
|
||
}
|
||
|
||
$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'] );
|
||
|
||
/* ----------------------------------------------------------------------
|
||
03.03.2023
|
||
Смотрим есть ли цена из таблицы товаров в регистре цен, если нет -
|
||
переносим данные туда и убираем из товара
|
||
---------------------------------------------------------------------- */
|
||
$tmpCena=\DB::getValue("SELECT `cena` FROM `tovar_price_history` WHERE `tovar_id`=? AND `status`=1 ORDER BY `t` DESC LIMIT 1", $_GET['id']);
|
||
if ($page[0]['cena']!=$tmpCena && $page[0]['cena']){
|
||
//Создаем документ
|
||
$jsonDoc[0]['tovar_id']=$_GET['id'];
|
||
$jsonDoc[0]['cena']=$page[0]['cena'];
|
||
|
||
|
||
$docID=\DB::add("INSERT INTO `docs` (`t`, `tip`, `json`, `status`, `comment`) VALUES(?, 'pereocenka', ?, 1, ?)", array( time(), \json::to_j($jsonDoc), 'Документ создан из публичной карточки товара' ));
|
||
|
||
\DB::add("INSERT INTO `tovar_price_history` (`status`, `tovar_id`, `cena`, `docs_id`, `t`) VALUES (1, ?, ?, ?, ?)", array( $_GET['id'], $page[0]['cena'], $docID, time() ));
|
||
|
||
\DB::set("UPDATE `tovar` SET `cena`=NULL WHERE `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
|
||
Получаем данные о последней цене на товар
|
||
---------------------------------------------------------------------- */
|
||
|
||
$cena=\DB::getAll ( "SELECT `cena`, `t` FROM `tovar_price_history` WHERE `status`=1 AND `tovar_id`=? ORDER BY `t` DESC", $_GET['id']);
|
||
|
||
|
||
|
||
|
||
|
||
if ( $page[0]['partner']=='samson'){ //Берем цену с сайта партнера
|
||
$curl = curl_init('https://api.samsonopt.ru/v1/sku/' . $page[0]['code'] . '/?api_key=4e2ef85d3ec9e27cc2a148c74a47d804');
|
||
$arHeaderList = array();
|
||
$arHeaderList[] = 'Accept: application/json';
|
||
$arHeaderList[] = 'User-Agent: 4e2ef85d3ec9e27cc2a148c74a47d804';
|
||
$arHeaderList[] = 'Accept-Encoding: gzip';
|
||
curl_setopt($curl, CURLOPT_HTTPHEADER, $arHeaderList);
|
||
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
|
||
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
|
||
curl_setopt($curl, CURLOPT_ENCODING, 'gzip');
|
||
$result2 = \json::from_j(curl_exec($curl));
|
||
curl_close($curl);
|
||
//\DB::set( "UPDATE `tovar` SET `json`=? WHERE `id`=?", array( $result2, $_GET['id'] ) );
|
||
//print_r($result2['data'][0]);
|
||
|
||
//Сохраняем штрих код
|
||
$barcode=$result2['data'][0]['barcode'];//str
|
||
if ($barcode){
|
||
$id_barcode=\DB::getValue("SELECT `id` FROM `tovar_barcode` WHERE `barcode`=? AND `tovar_id`=? LIMIT 1", array( $barcode, $_GET['id'] ) );
|
||
if (!$id_barcode)\DB::add("INSERT INTO `tovar_barcode` (`barcode`, `tovar_id`) VALUES (?, ?)", array( $barcode, $_GET['id'] ));
|
||
}
|
||
|
||
$brand=$result2['data'][0]['brand'];//str
|
||
if($brand){
|
||
$id_brand=\DB::getValue("SELECT `id` FROM `tovar_brand` WHERE `brand`=? AND `tovar_id`=? LIMIT 1", array( $brand, $_GET['id'] ) );
|
||
if (!$id_brand)\DB::add("INSERT INTO `tovar_brand` (`brand`, `tovar_id`) VALUES (?, ?)", array( $brand, $_GET['id'] ));
|
||
}
|
||
}
|
||
/*
|
||
//Загружаем правильные картинки
|
||
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 ($_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') );
|
||
|
||
?>
|