core/api/modules/my-order/class.php

99 lines
5.5 KiB
PHP
Raw Permalink Normal View History

2022-12-11 13:55:49 +05:00
<?php
class main{ // extends MySQL
var $db;
var $id;
var $folder;
function __construct($smarty, $settings){
if( $settings['cachePage'] > 0 ){
$smarty -> caching = false;
$smarty -> cache_lifetime = $settings['cachePage'];
}
}
/* ------------------------------------------------------------------------------------------------------------------------- */
function install(){ // Инсталлятор
@mkdir(MYDIR .'/img/my', 0700);
$id = $this -> db -> get_user_id();
@mkdir(MYDIR .'/img/my/' . $id, 0700);
$this -> folder = MYDIR .'/img/my/' . $id;
$this -> db -> to_log ( 'Создали пользователю папку - ' . $this -> folder );
}
/* ------------------------------------------------------------------------------------------------------------------------- */
function get_itog($user_id){ // Узнаем сколько денег нам должны
//Считаем итоговую сумму фоток в корзине
$a['status']=0;
$a['user_id']=$user_id;
$massiv = $this -> db -> get_massiv ('cart', $a);
$num = count( $massiv );
$itog = 0;
for ( $i = 0; $i < $num; $i++ ){
if ( $massiv[$i]['id'] ) $itog = $itog+$massiv[$i]['cena'];
}
//Делаем скидку
if ( $_SESSION['user_id'] && $itog>=400 ) $itog = $itog - 200;
return $itog;
}
/* ------------------------------------------------------------------------------------------------------------------------- */
function check_oplata($itog, $inv_id){ // проверяем наличие оплаты
$itog = $itog . ".000000";
$result = 0;
$this -> db -> to_log ( 'Результат проверки ' . $result );
$b['inv_id']=$inv_id;
$summa = $this -> db -> get_val ( 'oplata', $b, 'summa' ); //проверяем - есть ли хоть какая-то оплата
if ( !$summa ) return false; //Нет оплаты
if ( $summa == $itog ) return true; //оплата совпадает с ожидаемой суммой
}
/* ------------------------------------------------------------------------------------------------------------------------- */
function zip_foto($folder){
chdir ($folder);
unlink('foto.zip');
exec("zip foto.zip * 9");
chdir ($_SERVER['DOCUMENT_ROOT']);
}
/* ------------------------------------------------------------------------------------------------------------------------- */
function send_to_user( $folder ){//шлем юзеру ссылку на архив
$link = 'https://h-appycenter.ru/img/my/' . $this -> db -> get_user_id() .'/foto.zip';
if ( $_SESSION['user_id'] ){
$a['id'] = $_SESSION['user_id'];
$email = $this -> db -> get_val( 'users', $a, 'email' );
}else{
$a['session_id'] = session_id();
$email = $this -> db -> get_val( 'tmp_users', $a, 'email' );
}
$txt = 'Вы можете скачать архив с фотографиями по этой <a href="' . $link . '">ссылке</a>';
$this -> db -> send_to_admin( 'Ссылка на скачивание фотографий', $txt, $email );
}
/* ------------------------------------------------------------------------------------------------------------------------- */
function acrh_foto(){ // копируем фотки в папкую покупателя
$a['user_id'] = $this -> db -> get_user_id();
$a['status'] = 0;
$massiv_from_cart = $this -> db -> get_massiv( 'cart', $a );
$num = count ( $massiv_from_cart );
for ( $i = 0; $i < $num; $i++ ){
if ( $massiv_from_cart[$i]['id'] ){
//узнаем оригинальный путь к файлу
unset ( $c );
unset ( $massiv_from_foto );
$c['id'] = $massiv_from_cart[$i]['foto_id'];
$massiv_from_foto = $this -> db -> get_massiv( 'foto_img', $c, '', 1 );
$src = MYDIR . '/img/albums/' . $massiv_from_foto[0]['user_id'] . '/' . $massiv_from_foto[0]['album_id'] . '/original/' . $massiv_from_foto[0]['img'] . '.jpg';
$this -> db -> to_log( 'Оригинальный файл: ' . $src );
$folder = $this -> folder;
$dst = $folder . '/' . $massiv_from_foto[0]['original_name'] . '.jpg';
$this -> db->to_log('Целевой файл: ' . $dst);
copy ($src, $dst);
$list[$i]=$massiv_from_foto[0]['original_name'];
}
}
$this->zip_foto($folder);//Архивируем
$this -> db->send_to_admin('Список заказанных фото', $this -> db->to_j($list), 'v_batin@mail.ru');
$this -> db->send_to_admin('Список заказанных фото', $this -> db->to_j($list), '1@yurecnt.ru');
$this->send_to_user($folder);
$this -> db->free_sql("UPDATE `cart` SET `status` = '1' WHERE `user_id` = '" . $a['user_id'] . "' AND `status`=0;");
}
/* ------------------------------------------------------------------------------------------------------------------------- */
function my_files(){
require_once MYDIR . '/api/php/list_file.php';
return list_file( $this -> folder );
}
}
?>