core/api/modules/tovar_show/index.php

207 lines
10 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 = 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') );
?>