core/api/modules/tovar_show/index.php

162 lines
7.6 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 );
$smarty -> caching = false;
$smarty -> cache_lifetime = 86400;
/* ----------------------------------------------------------------------
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.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'] ) );
//if ( strlen( $page[0]['txt'] ) <5 ) exec ( "php /home/cloud/core/parcer/getopis.php " . $page[0]['artikul'] );
/* ----------------------------------------------------------------------
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'){
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') );
?>