core/api/modules/tovar_show/index.php

166 lines
7.9 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 );
$smarty -> caching = true;
$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']);
/*
//Из t вычитаем три дня
$d = time() - $cena[0]['t'];
if ( $d > 129600 && $page[0]['partner']=='samson'){ //Берем цену с сайта партнера
//Используем апи
$curl = curl_init('https://api.samsonopt.ru/v1/sku/' . $page[0]['artikul'] . '/price/?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');
$result = curl_exec($curl);
curl_close($curl);
$cena_p = \json :: from_j ( $result );
$partner_cena = round ( $cena_p['data'][0]['value'] * 1.5 );
if ( $partner_cena != $cena[0]['cena'] ){
//Создаем документ+пишем в регистр
$massiv[0]['tovar_id']=$_GET['id'];
$massiv[0]['cena']=$partner_cena;
$json=\json::to_j($massiv);
$insert_id = \DB::add( "INSERT INTO `docs` (`t`, `tip`, `json`, `user_id`, `status`, `comment`) VALUES('" . time() . "', 'pereocenka', ?, ?, 1, 'Документ создан из публичной карточки товара')", array($json, $_SESSION['user_id']) );
if ($insert_id) \DB::add( "INSERT INTO `tovar_price_history` (`t`, `tovar_id`, `status`, `cena`, `docs_id`) VALUES(?, ?, ?, ?, ?)", array( time(), $_GET['id'], '1', $partner_cena, $insert_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'] );
$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 `sp_har` 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() ) );
/* ----------------------------------------------------------------------
28.12.2022
Получаем теги
---------------------------------------------------------------------- */
//$smarty->assign('keywords', \core::getMeta( $_GET['mod'], $_GET['id'], 'keywords') );
//$smarty->assign('description', \core::getMeta( $_GET['mod'], $_GET['id'], 'description') );
?>