Example #1
0
 public static function add($name, $link, $type = 0)
 {
     // Check incoming data
     if (!$name or !$link) {
         return;
     }
     // Save log
     return DB::insert('log', array('name', 'link', 'type', 'ip', 'created_at'))->values(array($name, $link, $type, System::getRealIP(), time()))->execute();
 }
Example #2
0
 private function render()
 {
     if (Config::get('error')) {
         $this->_template = '404';
     }
     $this->_breadcrumbs = HTML::breadcrumbs($this->_breadcrumbs);
     $data = array();
     foreach ($this as $key => $value) {
         $data[$key] = $value;
     }
     echo View::tpl($data, $this->_template);
     echo System::global_massage();
 }
Example #3
0
<?php

if (version_compare(phpversion(), '5.5.0', '<') === true) {
    echo 'Magento supports PHP 5.5.0 or later. ';
    exit(1);
}
define('DIR_SYSTEM', dirname(__FILE__) . DIRECTORY_SEPARATOR . 'fframe');
//系统目录
define('DIR_APPLICATION', getcwd());
//应用目录
require_once DIR_SYSTEM . '/system.config.php';
require_once DIR_SYSTEM . '/core/core.php';
\Core\System::startUp();
Example #4
0
 private function render()
 {
     $this->_breadcrumbs = HTML::backendBreadcrumbs($this->_breadcrumbs);
     $data = array();
     foreach ($this as $key => $value) {
         $data[$key] = $value;
     }
     echo View::tpl($data, $this->_template);
     echo System::global_massage();
 }
Example #5
0
 public static function sendOrderMessageUser(array $data)
 {
     $ip = \Core\System::getRealIP();
     $mail = DB::select()->from('mail_templates')->where('status', '=', 1)->where('id', '=', 12)->find();
     if (count($mail) == 0) {
         return false;
     }
     $dataTpl = \Core\View::tpl(array('order' => $data['order'], 'order_text' => $data['order_text']), 'Orders/Email');
     $from = array('{{site}}', '{{order_number}}', '{{link_user}}', '{{data}}', '{{ip}}', '{{date}}', '{{event_name}}');
     $to = array(Arr::get($_SERVER, 'HTTP_HOST'), $data['id_order'], '<a href="http://' . Arr::get($_SERVER, 'HTTP_HOST') . '/payment/' . $data['id_order'] . '">Ссылка</a>', $dataTpl, $ip, date('d.m.Y H:i'), $data['order']['event_name']);
     $subject = str_replace($from, $to, $mail->subject);
     $text = str_replace($from, $to, $mail->text);
     Email::send($subject, $text, $data['order']['email']);
 }
Example #6
0
<?php

require "../../system.php";
/****** config.php ********
* route 
* db
* setting
* 
*
*
*
*
**/
\Core\System::run(include "./etc/app.config.php");
Example #7
0
 function sendAction()
 {
     $id = (int) Route::param('id');
     $user = Model::getRow($id);
     if (!$user) {
         Message::GetMessage(0, 'Пользователь не существуют!');
         HTTP::redirect('backend/admins/index');
     }
     if ($user->deleted || $user->status == 0) {
         Message::GetMessage(1, 'Пользователь удален или заблокирован!');
         HTTP::redirect('backend/admins/index');
     }
     if (!filter_var($user->email, FILTER_VALIDATE_EMAIL)) {
         Message::GetMessage(1, 'E-Mail пользователя некорректен!');
         HTTP::redirect('backend/admins/index');
     }
     // Generate new password for user and save it to his account
     $password = User::factory()->generate_random_password();
     User::factory()->update_password($user->id, $password);
     // Send E-Mail to user with instructions how recover password
     $mail = Common::factory('mail_templates')->getRow(5);
     if ($mail) {
         $from = array('{{site}}', '{{ip}}', '{{date}}', '{{password}}');
         $to = array(Arr::get($_SERVER, 'HTTP_HOST'), System::getRealIP(), date('d.m.Y H:i'), $password);
         $subject = str_replace($from, $to, $mail->subject);
         $text = str_replace($from, $to, $mail->text);
         Email::send($subject, $text, $user->email);
     }
     Message::GetMessage(1, 'Новый пароль отправлен на E-Mail пользователя!');
     HTTP::redirect('backend/admins/index');
 }
Example #8
0
 public function orderAction()
 {
     // Check incoming data
     $name = Text::xssClean(Arr::get($this->post, 'name'));
     if (!$name) {
         $this->error('Вы не указали имя!');
     }
     $email = Text::xssClean(Arr::get($this->post, 'email'));
     if (!$email or !filter_var($email, FILTER_VALIDATE_EMAIL)) {
         $this->error('Вы указали неверный e-mail!');
     }
     $phone = Text::xssClean(Arr::get($this->post, 'phone'));
     if (!$phone or !preg_match('/\\(\\d{3}\\)\\s\\d{3}-\\d{2}-\\d{2}/', $phone, $matches)) {
         $this->error('Вы указали неверный телефон!');
     }
     $places = Text::xssClean(Arr::get($this->post, 'seats'));
     $places = array_filter(explode(',', $places));
     if (!$places or !is_array($places)) {
         $this->error('Вы не выбрали места!');
     }
     $message = nl2br(Text::xssClean(Arr::get($this->post, 'message', null)));
     $afishaId = (int) Text::xssClean(Arr::get($this->post, 'id'));
     // Get prices by afisha ID
     $prices = DB::select('id')->from('prices')->where('afisha_id', '=', $afishaId)->find_all();
     if (count($prices) == 0) {
         $this->error('Ошибка создания заказа (выборка цен)');
     }
     $pricesIds = array();
     foreach ($prices as $price) {
         $pricesIds[] = $price->id;
     }
     // Generate seats id from places list
     $seats = DB::select('id')->from('seats')->where('view_key', 'IN', $places)->where('price_id', 'IN', $pricesIds)->and_where_open()->where('status', '=', 1)->or_where_open()->where('status', '=', 2)->where('reserved_at', '<', time() - 60 * 60 * 24 * conf::get('reserved_days'))->or_where_close()->and_where_close()->find_all();
     if (count($seats) == 0) {
         $this->error('Ошибка создания заказа (выборка мест)');
     }
     $seatsId = array();
     foreach ($seats as $seat) {
         $seatsId[] = $seat->id;
     }
     $data = array('afisha_id' => $afishaId, 'name' => $name, 'email' => $email, 'phone' => $phone, 'message' => $message, 'seats_keys' => implode(',', $places), 'created_at' => time(), 'first_created_at' => time(), 'updated_at' => time(), 'ip' => System::getRealIP());
     $res = \Core\Common::insert('afisha_orders', $data)->execute();
     if (!$res) {
         $this->error('ошибка создания заказа');
     }
     // Update status
     $res2 = DB::update('seats')->set(array('status' => 2, 'reserved_at' => time()))->where('id', 'IN', $seatsId)->execute();
     $afisha = DB::select()->from('afisha')->where('id', '=', $afishaId)->find();
     $data['event_name'] = $afisha->name;
     // Send email messages for adimn and user
     Afisha\Models\Afisha::sendOrderMessageAdmin(array('id_order' => $res[0], 'order' => $data, 'order_text' => Arr::get($this->post, 'order')));
     Afisha\Models\Afisha::sendOrderMessageUser(array('id_order' => $res[0], 'order' => $data, 'order_text' => Arr::get($this->post, 'order')));
     // Save log
     $qName = 'Новый заказ';
     $url = '/backend/afisha_orders/edit/' . $res[0];
     Log::add($qName, $url, 8);
     $response = array();
     // Redirect to payment system
     if (Arr::get($this->post, 'action') == 'payment') {
         $response['redirect'] = \Core\HTML::link('payment/' . $res[0]);
     } else {
         $response['reload'] = true;
     }
     $response['response'] = 'Ваш заказ отправлен';
     return $this->success($response);
 }