当前位置: 首页>>代码示例>>PHP>>正文


PHP Model_Base::getOptions方法代码示例

本文整理汇总了PHP中Model_Base::getOptions方法的典型用法代码示例。如果您正苦于以下问题:PHP Model_Base::getOptions方法的具体用法?PHP Model_Base::getOptions怎么用?PHP Model_Base::getOptions使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Model_Base的用法示例。


在下文中一共展示了Model_Base::getOptions方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: addUser

    public function addUser($data)
    {
        $vData = $data;
        $validation = Validation::factory($vData);
        $validation->rule('username', 'not_empty');
        $validation->rule('username', 'email');
        if (!$validation->check()) {
            $this->errors = $validation->errors('userErrors');
            return FALSE;
        }
        $pass = Arr::get($data, 'pass');
        $username = addslashes(Arr::get($data, 'username'));
        $myuser = ORM::factory('Myuser');
        $auth = Auth::instance();
        $pass = $auth->hash($pass);
        //Создаем пользователя
        $myuser->username = $username;
        $myuser->email = $username;
        $myuser->password = $pass;
        $myuser->name = addslashes(Arr::get($data, 'name'));
        $myuser->phone = addslashes(Arr::get($data, 'phone'));
        try {
            $myuser->save();
            //Узнаем id пользователя
            $add_user_id = ORM::factory("user", array("username" => $username))->id;
            $token = substr($auth->hash($add_user_id . $username), 0, 20);
            //добавляем роль пользователя
            $model_addrole = new Model_Addrole();
            $model_addrole->user_id = $add_user_id;
            $model_addrole->role_id = Arr::get($data, "role");
            $model_addrole->save();
            //добавляем запись для активации
            $model_addtoken = new Model_Addtoken();
            $model_addtoken->user_id = $add_user_id;
            $model_addtoken->token = $token;
            $model_addtoken->save();
            //отправляем пользователю сообщение для авторизации
            $config = Kohana::$config->load('email');
            $mbase = new Model_Base();
            $options = $mbase->getOptions();
            Email::connect($config);
            $to = $username;
            $subject = 'Добро пожаловать на сайт ' . $options['sitename'];
            $from = $config['options']['username'];
            $message = '<b>Отправитель</b>: ' . Kohana::$base_url . '<br>';
            $message .= 'Для работы с заказами на сайте Вам необходимо активировать учетную запись. <br>
                        <br>
                        Ваш логин:  ' . $username . '<br>
                        Ваш пароль: ' . Arr::get($data, 'pass') . '<br><br>

                        Для активации перейдите по <a href="' . Kohana::$base_url . 'registration?token=' . $token . '&user=' . $username . '">этой ссылке</a>
                        <hr>
                        Спасибо за то, что пользуетесь услугами нашего сайта. По всем вопросам обращайтесь в техподдержку: ' . $config['options']['username'];
            $res = Email::send($to, $from, $subject, $message, $html = TRUE);
            return $add_user_id;
        } catch (ORM_Validation_Exception $e) {
            $this->errors = $e->errors('validation');
            return false;
        }
    }
开发者ID:chernogolov,项目名称:blank,代码行数:60,代码来源:User.php

示例2: uploads_dir

 protected function uploads_dir()
 {
     $base = new Model_Base();
     $options = $base->getOptions();
     if (isset($options['photos_base_path'])) {
         $this->baseDir = $this->baseDir . $options['photos_base_path'] . DIRECTORY_SEPARATOR;
     }
     return DOCROOT . $this->baseDir . DIRECTORY_SEPARATOR;
 }
开发者ID:chernogolov,项目名称:blank,代码行数:9,代码来源:Upload.php

示例3: _execute

 /**
  * Test action
  *
  * @param array $params
  * @return void
  */
 protected function _execute(array $params)
 {
     $base = new Model_Base();
     $options = $base->getOptions();
     $excel = new Model_Excel();
     $file = DOCROOT . '/upload/task/file.xlsx';
     $load = $excel->load_xls($file, 602, $options['xls_offset'], $options['xls_limit']);
     $new_offset = $options['xls_offset'] + $options['xls_limit'];
     $options = $base->saveOptions(array('xls_offset' => $new_offset));
 }
开发者ID:chernogolov,项目名称:blank,代码行数:16,代码来源:Mytask.php

示例4: action_restore_pass

 public function action_restore_pass()
 {
     $model = array();
     $model["error"] = "";
     $model["success"] = "";
     if ($_POST) {
         $vData = $_POST;
         $validation = Validation::factory($vData);
         $validation->rule('email', 'not_empty');
         // валидация пройдена
         if ($validation->check()) {
             $email = $_POST["email"];
             $user = DB::select()->from('users')->where('email', '=', $email)->execute()->current();
             // Пользователь зарегистрирован
             if ($user) {
                 $model_user = new Model_User();
                 // Создаём новый пароль
                 $auth = Auth::instance();
                 $pass = $model_user->generate_pass();
                 $hash_pass = $auth->hash($pass);
                 DB::update("users")->set(array("password" => $hash_pass))->where("email", "=", $email)->execute();
                 //отправляем пользователю сообщение для восстановления пароля
                 $config = Kohana::$config->load('email');
                 $mbase = new Model_Base();
                 $options = $mbase->getOptions();
                 Email::connect($config);
                 $to = $email;
                 $subject = 'Восстановление пароля на ' . $options['sitename'];
                 $from = $config['options']['username'];
                 $message = '<h2>Мы создали вам новый пароль для входа на <a href="' . Kohana::$base_url . '">' . $options['sitename'] . '</a>!</h2><hr>';
                 $message .= '<h3>Ваши реквизиты для входа:<h3>';
                 $message .= '<p><small>Логин:&nbsp;&nbsp;<input type="text" value="' . $email . '"></small></p>';
                 $message .= '<p><small>Пароль:&nbsp;<input type="text" value="' . $pass . '"></small></p>';
                 $message .= '<hr>Спасибо за то, что пользуетесь услугами нашего портала. По всем вопросам обращайтесь в техподдержку: ' . $config['options']['username'];
                 Email::send($to, $from, $subject, $message, $html = true);
                 $model["success"] = '<div class="alert alert-success"><p>На ваш эл. ящик отправлены инструкции по восстановлению пароля.</p></div>';
                 // Пользователь не зарегистрирован
             } else {
                 $model["error"] .= '<div class="alert alert-danger"><p>Данный адрес эл. почты не зарегистрирован.</p></div>';
             }
             // Валидация не пройдена
         } else {
             $model["error"] .= '<div class="alert alert-danger"><p>Вы не ввели адрес эл. почты</p></div>';
         }
     }
     $this->title('Забыли пароль?');
     $this->page_title('Забыли пароль?');
     $this->keywords('Забыли пароль?');
     $this->description('Забыли пароль?');
     $this->render('user/cabinet/restore_pass.php', $model, "response");
 }
开发者ID:chernogolov,项目名称:blank,代码行数:51,代码来源:User.php

示例5: reg

 public function reg($name, $pass, $role)
 {
     PC::debug(array($name, $pass, $role), "reg");
     $myuser = new Model_Myuser();
     $auth = Auth::instance();
     $hash_pass = $auth->hash($pass);
     //Создаем пользователя
     $myuser->username = $name;
     $myuser->email = $name;
     $myuser->password = $hash_pass;
     try {
         $myuser->save();
         //Узнаем id пользователя
         //$usertmp = ORM::factory('user', array('username'=>$name));
         $adduserid = DB::select()->from('users')->where('username', '=', $name)->execute()->as_array()[0]["id"];
         $adduser = new Model_Addrole();
         $adduser->user_id = $adduserid;
         $adduser->role_id = $role;
         $adduser->save();
         //добавляем запись для активации
         $token = substr($auth->hash($adduserid . $name), 0, 20);
         $addtoken = new Model_Addtoken();
         $addtoken->user_id = $adduserid;
         $addtoken->token = $token;
         $addtoken->save();
         //отправляем пользователю сообщение для авторизации
         $config = Kohana::$config->load('email');
         $mbase = new Model_Base();
         $options = $mbase->getOptions();
         Email::connect($config);
         $to = $name;
         $subject = 'Добро пожаловать на сайт ' . $options['sitename'];
         $from = $config['options']['username'];
         $message = '<h2>Вы успешно зарегистрировались на сайте <a href="' . Kohana::$base_url . '">' . $options['sitename'] . '</a>!</h2><hr>';
         $message .= '<p>Перед входом пожалуйста подтвердите свою учётную запись, для этого перейдите по <a href="' . Kohana::$base_url . 'user/activate?token=' . $token . '&user=' . $name . '">этой ссылке</a>.</p><hr>';
         $message .= '<h3>Ваши реквизиты для входа:<h3>';
         $message .= '<p><small>Логин:&nbsp;&nbsp;<input type="text" value="' . $name . '"></small></p>';
         $message .= '<p><small>Пароль:&nbsp;<input type="text" value="' . $pass . '"></small></p>';
         $message .= '<hr>Спасибо за то, что пользуетесь услугами нашего портала. По всем вопросам обращайтесь в техподдержку: ' . $config['options']['username'];
         Email::send($to, $from, $subject, $message, $html = true);
         return true;
     } catch (ORM_Validation_Exception $e) {
         $this->errors = $e->errors('validation');
         return false;
     }
 }
开发者ID:chernogolov,项目名称:blank,代码行数:46,代码来源:Register.php

示例6: get_response

 public function get_response()
 {
     $this->template = View::factory('base');
     $config = Kohana::$config->load('main')->site;
     $base = new Model_Base();
     $options = $base->getOptions();
     $this->template->styles = $config['styles'];
     $this->template->styles[] = 'css/menu.css';
     $this->template->scripts = $config['scripts'];
     $this->template->scripts[] = 'js/errors.js';
     $this->template->title = 'Ошибка 404 - Страница не найдена';
     $this->template->description = $options['description'];
     $this->template->keywords = $options['keywords'];
     $this->template->page_title = null;
     $header = View::factory('header');
     $footer = View::factory('footer');
     $this->template->header = $header;
     $this->template->footer = $footer;
     $this->template->for_cart = null;
     $this->template->top_menu = array(Request::factory('widgets/menu/index/4')->execute());
     $this->template->left_menu = null;
     $this->template->block_left = null;
     $this->template->block_right = null;
     $this->template->pathway = null;
     $this->message = '<h1>Упс! Ошибка 404.</h1><br><p>Запрашиваемая страница не найдена. Скорее всего она была перемещена или удалена.</p>';
     // Remembering that `$this` is an instance of HTTP_Exception_404
     //проверка редиректов
     $gid = 34;
     $materials = new Model_Material('group');
     $redirects = $materials->getMaterials($gid, 1000, 0);
     $url = Request::detect_uri();
     foreach ($redirects as $redirect) {
         if ($redirect['name'] == Kohana::$base_url . substr($url, 1)) {
             $fields = $materials->getFields2($redirect['id'], TRUE);
             $this->redirect = $fields['to'];
         }
     }
     if (Kohana::$environment === Kohana::PRODUCTION) {
         $view = View::factory('errors/404')->set('message', $this->message)->set('redirect', $this->redirect)->render();
     } else {
         $view = View::factory('errors/404')->set('message', $this->message)->render();
     }
     $this->template->block_center = array($view);
     $response = Response::factory()->status(404)->body($this->template->render());
     return $response;
 }
开发者ID:chernogolov,项目名称:blank,代码行数:46,代码来源:404.php

示例7: mail_send

 public function mail_send($to, $from, $subject, $message)
 {
     $email_config = Kohana::$config->load("email");
     $res = Email::connect($email_config);
     if (!Email::send($to, $from, $subject, $message, $html = true)) {
         $model_base = new Model_Base();
         $options = $model_base->getOptions();
         $to = $options['admin_email'];
         $subject = 'Ошибки на сайте ' . $options['sitename'];
         $from = $email_config['options']['username'];
         foreach ($this->errors as $error) {
             $message = '<h2>Ошибка</h2>';
             $message .= $error;
             $message .= ' <em>Отправлено: ' . date("G:i:s M j Y") . '</em>';
         }
         Email::send($to, $from, $subject, $message, $html = true);
     }
 }
开发者ID:chernogolov,项目名称:blank,代码行数:18,代码来源:Pushes.class.php

示例8: before

 public function before()
 {
     $session = Session::instance();
     $session->set('auth_redirect', $_SERVER['REQUEST_URI']);
     $auth = Auth::instance();
     if ($auth->logged_in('admin') == 0) {
         Controller::redirect('auth');
     }
     // Выполняем функцию родительского класса
     parent::before();
     $myuser = new Model_Myuser();
     $config = Kohana::$config->load('main')->admin;
     $base = new Model_Base();
     $options = $base->getOptions();
     $this->template->styles = $config['styles'];
     $this->template->scripts = $config['scripts'];
     $this->user = $auth->get_user()->as_array();
     $this->user['role'] = $myuser->get_role($this->user['id']);
     $this->template->sitename = $options['sitename'];
     $this->template->user = $this->user;
     $this->template->title = 'Панель управления';
 }
开发者ID:chernogolov,项目名称:blank,代码行数:22,代码来源:Admin.php

示例9: action_index


//.........这里部分代码省略.........
             //сохраняем данные виджета
             $data['errors'] = $widgets->saveWidget($_POST);
         }
         $data['widget'] = $widgets->getWidget($widgetId);
         $data['widgetTypes'] = $widgets->getWidgetTypes();
         if ($data['widget']['template'] && $data['widget']['template'] != '') {
             $template = $data['widget']['template'];
         } else {
             $template = $data['widget']['def_template'];
         }
         $lessfile = DOCROOT . 'css/' . $data['widget']['name'] . '.less';
         $jsfile = DOCROOT . 'js/' . $data['widget']['name'] . '.js';
         if ($template) {
             $filename = DOCROOT . 'application/views/widgets/' . $template . '.php';
             if (is_file($filename) && is_readable($filename) && filesize($filename) > 0) {
                 $fh = fopen($filename, "r");
                 $file = fread($fh, filesize($filename));
                 $data['file'] = $file;
                 fclose($fh);
             }
         }
         if (is_file($lessfile) && is_readable($lessfile) && filesize($lessfile) > 0) {
             $fh = fopen($lessfile, "r");
             $file = fread($fh, filesize($lessfile));
             $data['less'] = $file;
             fclose($fh);
         }
         if (is_file($jsfile) && is_readable($jsfile) && filesize($jsfile) > 0) {
             $fh = fopen($jsfile, "r");
             $file = fread($fh, filesize($jsfile));
             $data['js'] = $file;
             fclose($fh);
         }
         $num_backups = 10;
         $template .= '.php';
         $lname = $data['widget']['name'] . '.less';
         $jname = $data['widget']['name'] . '.js';
         for ($n = 1; $n <= $num_backups; ++$n) {
             $name1 = str_replace($template, str_replace(".", "_" . $n . ".", $template), $template);
             $res = str_replace($template, 'backups/' . $name1, $filename);
             if (is_file($res)) {
                 $data['template_backups'][$n]['file'] = $res;
                 $data['template_backups'][$n]['name'] = $name1;
             }
             $namel = str_replace($lname, str_replace(".", "_" . $n . ".", $lname), $lname);
             $namej = str_replace($jname, str_replace(".", "_" . $n . ".", $jname), $jname);
             $lres = str_replace($lname, 'backups/' . $namel, $lessfile);
             if (is_file($lres)) {
                 $data['less_backups'][$n]['file'] = $lres;
                 $data['less_backups'][$n]['name'] = $namel;
             }
             $jres = str_replace($jname, 'backups/' . $namej, $jsfile);
             if (is_file($jres)) {
                 $data['js_backups'][$n]['file'] = $jres;
                 $data['js_backups'][$n]['name'] = $namej;
             }
         }
     }
     if (isset($_POST['imgUpload'])) {
         //get uploadDir
         $uploadDir = DOCROOT . 'img/user/menu';
         $name = $_POST['filename'];
         //перебираем массив файлов
         for ($i = 0; $i < count($_FILES['file']['name']); ++$i) {
             if ($_FILES['file']['size'][$i] > 11100000) {
                 echo 'Файл не должен быть больше 10 Мб';
             } else {
                 $ext = explode('.', $_FILES['file']['name'][$i]);
                 $extension = array_pop($ext);
                 $base = new Model_Base();
                 $extarr = explode('.', $_FILES['file']['name'][$i]);
                 $ext = array_pop($extarr);
                 $filename = $name . '.' . $ext;
                 //$filename = substr(md5(microtime() * time()),0,rand(20,10)).'.'.$extension;
                 if (copy($_FILES['file']['tmp_name'][$i], $uploadDir . "/" . $filename)) {
                     $base = new Model_Base();
                     $options = $base->getOptions();
                     $size = explode(',', Arr::get($options, 'structure_photos_size'));
                     //изменяем картинку
                     //открываем изображение
                     $image = Image::factory($uploadDir . "/" . $filename);
                     //начинаем работу с нужной картинкой. Путь указан от корня приложения
                     //меняем размер картинки
                     if (count($size) == 2) {
                         $image->resize($size[0], $size[1]);
                     }
                     //сохраняем новое изображение
                     $image->save(NULL, 90);
                     //первый параметр - путь, имя и формат изображения. Второй - качество изображения
                     unset($image);
                 }
             }
         }
     }
     //Получаем группу пользователя
     $auth = Auth::instance();
     $user = $auth->get_user();
     //  echo '<pre>';
     $this->template->content = View::factory('admin/admIndex', array('data' => $data, 'user' => $this->user, 'request' => $this->request, 'response' => $this->response));
 }
开发者ID:chernogolov,项目名称:blank,代码行数:101,代码来源:Index.php

示例10: newParam

 public function newParam($mid, $pid, $value, $files = array())
 {
     $index = 'image_' . $pid;
     $materials = new Model_Material('group');
     $material = $materials->getMaterial($mid);
     if ($files[$index]['size'] > 0) {
         foreach ($files as $file_key => $file) {
             $file_param = explode('_', $file_key);
             if ($file_param[0] == 'image') {
                 //загружаем изображение
                 if ($file['size'] < 5000000 && $file['size'] > 0) {
                     $ext = explode('.', $file['name']);
                     $extension = array_pop($ext);
                     //генерируем имя изображения
                     $base = new Model_Base();
                     $extarr = explode('.', $file['name']);
                     $ext = array_pop($extarr);
                     $filename = $material['url'] . '_' . substr(md5(microtime() * time()), 0, rand(20, 10)) . '.' . $ext;
                     if (copy($file['tmp_name'], DOCROOT . $this->dir . $filename)) {
                         $base = new Model_Base();
                         $options = $base->getOptions();
                         $size = explode(',', $options['upload_size']);
                         //изменяем картинку
                         //открываем изображение
                         $image = Image::factory(DOCROOT . $this->dir . $filename);
                         //начинаем работу с нужной картинкой. Путь указан от корня приложения
                         //                            if(count($size)==2)
                         //                            {
                         //                                $size = explode(',', $options['upload_size']);
                         //                                $image->resize($size[0], $size[1]);
                         //                            }
                         //сохраняем новое изображение
                         $image->save(NULL, $options['image_quality']);
                         //первый параметр - путь, имя и формат изображения. Второй - качество изображения
                         $value = DIRECTORY_SEPARATOR . $this->dir . $filename;
                     }
                 }
             }
         }
     } else {
         $server_name = Request::parseUrl($value);
         if ($server_name != Kohana::$base_url && $server_name != '') {
             $ext = explode('.', $value);
             $extension = array_pop($ext);
             //генерируем имя изображения
             $base = new Model_Base();
             $extarr = explode('.', $value);
             $ext = array_pop($extarr);
             $filename = $material['url'] . '_' . substr(md5(microtime() * time()), 0, rand(20, 10)) . '.' . $ext;
             if (copy($value, DOCROOT . $this->dir . $filename)) {
                 //загружаем их к себе
                 //открываем изображение
                 $image = Image::factory(DOCROOT . $this->dir . $filename);
                 //начинаем работу с нужной картинкой. Путь указан от корня приложения
                 //меняем размер картинки
                 $image->resize(800, 1000);
                 //изменение размера по короткой стороне
                 //сохраняем новое изображение
                 $image->save();
                 //первый параметр - путь, имя и формат изображения. Второй - качество изображения
                 unset($image);
                 $value = DIRECTORY_SEPARATOR . $this->dir . $filename;
             }
         } else {
             $value = str_replace($server_name, DIRECTORY_SEPARATOR, $value);
         }
     }
     //сохраняем картинку
     $insert = DB::insert('images', array('id', 'value'))->values(array('', $value));
     $result = $insert->execute();
     $insertId = $result[0];
     //Добавляем связь материала с папкой
     $insert = DB::insert('group_param_values', array('id', 'pid', 'mid', 'value'))->values(array('', $pid, $mid, $insertId))->execute();
     if ($insert != NULL) {
         return TRUE;
     } else {
         return FALSE;
     }
 }
开发者ID:chernogolov,项目名称:blank,代码行数:79,代码来源:Images.php

示例11: action_new

 public function action_new()
 {
     $fieldset = array();
     $folders = $this->getFolders();
     $group = new Model_Material('groups');
     $data['groups'] = $group->getTree();
     $gid = $this->request->param('id');
     if ($gid != NULL) {
         $fields = $group->getParams($gid);
         foreach ($fields as $field) {
             //генерируем код для каждого поля
             //если поле - список выбора
             if ($field['type'] == 'select') {
                 $values = $group->getSelectValues($field['id']);
                 $field['myValues'] = $values;
             }
             if ($field['type'] == 'photoalbum') {
                 $base = new Model_Base();
                 $options = $base->getOptions();
                 $field['photos_base_path'] = $options['photos_base_path'];
             }
             if ($field['type'] == 'files') {
                 $base = new Model_Base();
                 $options = $base->getOptions();
                 $field['files_base_path'] = $options['files_base_path'];
             }
             $fieldset[] = View::factory('admin/fields/' . $field['type'])->bind('data', $field)->bind('folders', $folders)->bind('multiselect', $field['multiselect'])->bind('user', $this->user)->render();
         }
         $data['fieldset'] = $fieldset;
     }
     if (isset($_POST['new_material'])) {
         //PC::debug($_POST);
         //var_dump($_POST);
         $res = $group->newMaterial($_POST, $gid, $_FILES);
         if ($res) {
             Controller::redirect('admin/materials/' . $gid);
         } else {
             $data['errors'] = $group->getErrors();
         }
     }
     if (isset($_POST['save_selects'])) {
         $selects = new Model_Params_Selects();
         $values = $_POST;
         unset($values['save_selects']);
         $selects->saveSelectsValues($values, $_POST['save_selects']);
     }
     if (isset($_POST['save_param'])) {
         $selects = new Model_Selects();
         $values = $_POST;
         unset($values['save_param']);
         $selects->saveSelectsParam($values, $_POST['save_param'], $_FILES);
     }
     $wpm['status'] = Cookie::get('wpm', FALSE);
     $wpm['folder'] = Cookie::get('wpm_folder', '');
     $pictures = $this->action_pictures($wpm['folder']);
     $this->template->content = View::factory('admin/admMaterials', array('data' => $data, 'folders' => $folders, 'pictures' => $pictures, 'wpm' => $wpm, 'user' => $this->user));
 }
开发者ID:chernogolov,项目名称:blank,代码行数:57,代码来源:Materials.php

示例12: newParam

 public function newParam($mid, $pid, $value, $files = array(), $export = FALSE)
 {
     $materials = new Model_Material('group');
     $material = $materials->getMaterial($mid);
     /*ONLY FOR EXPORT OPTION!*/
     if ($export == TRUE) {
         foreach ($value as $val) {
             $server_name = Request::parseUrl($val);
             if ($server_name != Kohana::$base_url && $server_name != '') {
                 $info = getimagesize($val);
                 $ext = image_type_to_extension($info[2]);
                 //смотрим сколько файлов в текущей папке файтов
                 //генерируем имя изображения
                 //                    $base = new Model_Base();
                 //                    $extarr = explode('.', $val);
                 //                    $ext = array_pop($extarr);
                 $filename = $material['url'] . '_' . substr(md5(microtime() * time()), 0, rand(20, 10)) . $ext;
                 //                    if(exec("cp ".$val." ".DOCROOT . $this->dir . $filename))
                 if (copy($val, DOCROOT . $this->dir . $filename)) {
                     //загружаем их к себе
                     //открываем изображение
                     $image = Image::factory(DOCROOT . $this->dir . $filename);
                     //начинаем работу с нужной картинкой. Путь указан от корня приложения
                     //меняем размер картинки
                     //   $image->resize(800, 1000); //изменение размера по короткой стороне
                     //сохраняем новое изображение
                     $image->save(NULL, 90);
                     //первый параметр - путь, имя и формат изображения. Второй - качество изображения
                     unset($image);
                     $val = DIRECTORY_SEPARATOR . $this->dir . $filename;
                 }
             }
             $insert = DB::insert('photoalbum', array('id', 'value'))->values(array('', $val));
             $result = $insert->execute();
             $paramId = $result[0];
             $insert = DB::insert('group_param_values', array('id', 'pid', 'mid', 'value'))->values(array('', $pid, $mid, $paramId))->execute();
         }
     } else {
         for ($i = 0; $i < count($files['photos']['name']); ++$i) {
             if ($files['photos']['size'][$i] < 15000000 && $files['photos']['size'][$i] > 100) {
                 //расширение файла
                 $ext = explode('.', $files['photos']['name'][$i]);
                 $extension = array_pop($ext);
                 //генерируем имя изображения
                 $base = new Model_Base();
                 $extarr = explode('.', $files['photos']['name'][$i]);
                 $ext = array_pop($extarr);
                 $filename = $material['url'] . '_' . substr(md5(microtime() * time()), 0, rand(20, 10)) . '.' . $ext;
                 if (copy($files['photos']['tmp_name'][$i], DOCROOT . $this->dir . $filename)) {
                     $base = new Model_Base();
                     $options = $base->getOptions();
                     //изменяем картинку
                     //открываем изображение
                     $image = Image::factory(DOCROOT . $this->dir . $filename);
                     //начинаем работу с нужной картинкой. Путь указан от корня приложения
                     //меняем размер картинки
                     $size = explode(',', $options['upload_size']);
                     if (count($size) == 2) {
                         $size = explode(',', $options['upload_size']);
                         $image->resize($size[0], $size[1]);
                     }
                     $crop = explode(',', $options['upload_crop']);
                     if (count($crop) == 2) {
                         $crop = explode(',', $options['upload_crop']);
                         $image->crop($crop[0], $crop[1]);
                     }
                     //изменение размера по короткой стороне
                     //                    $watermark=Image::factory(DOCROOT . '/img/watermark.png'); //берем изображение для водяного знака
                     //
                     //                    $offset_x = $image->width - $watermark->width - 10;
                     //                    $offset_y = $image->height - $watermark->height - 10;
                     //
                     //                    $image->watermark($watermark, $offset_x, $offset_y, $opacity = 70);
                     //                        var_dump($image);
                     //сохраняем новое изображение
                     $image->save(NULL, $options['image_quality']);
                     //первый параметр - путь, имя и формат изображения. Второй - качество изображения
                     $insert = DB::insert('photoalbum', array('id', 'value'))->values(array('', DIRECTORY_SEPARATOR . $this->dir . $filename));
                     $result = $insert->execute();
                     $paramId = $result[0];
                     $insert = DB::insert('group_param_values', array('id', 'pid', 'mid', 'value'))->values(array('', $pid, $mid, $paramId))->execute();
                 }
             }
         }
     }
 }
开发者ID:chernogolov,项目名称:blank,代码行数:86,代码来源:Photoalbum.php

示例13: saveSelectsValues

 public function saveSelectsValues($values, $pid)
 {
     $ord_arr = array();
     $o = 0;
     foreach ($values as $key => $name) {
         ++$o;
         $ord_arr[$o] = $key;
     }
     //сначала находим старые значения
     $old_vals = DB::select()->from('select_values')->where('pid', '=', $pid)->execute()->as_array();
     $old_values = array();
     foreach ($old_vals as $key => $value) {
         $old_values[$value['id']] = $value['id'];
         $old_values2[$value['id']] = $value['value'];
     }
     //удаляем только те значения, которые не пришли
     $del_arr = array_diff($old_values, $ord_arr);
     $new_arr = array_diff($ord_arr, $old_values);
     $upd_arr = array_diff($ord_arr, $del_arr);
     $upd_arr = array_diff($upd_arr, $new_arr);
     //добавляем если есть значения
     if (!empty($new_arr)) {
         foreach ($new_arr as $ord => $value) {
             //добавляем новое значение
             $insert = DB::insert('select_values', array('id', 'pid', 'value', 'multiselect', 'count', 'ordering'))->values(array('', $pid, $values[$value], '1', '', $ord))->execute();
         }
     }
     //        //сохраняем новый порядок для фоток
     foreach ($upd_arr as $ord => $value) {
         $selects = ORM::factory('SelectsValues', array('id' => $value));
         $selects->value = $values[$value];
         $selects->ordering = $ord;
         $selects->save();
         unset($selects);
     }
     $base = new Model_Base();
     $options = $base->getOptions();
     foreach ($del_arr as $id => $value) {
         //находим все связи в рамках данного параметра
         $q = 'SELECT a.* FROM group_param_values a, `select` b WHERE a.pid = ' . $pid . ' AND a.value = b.id AND b.value = \'' . $old_values2[$id] . '\'';
         $result = DB::query(Database::SELECT, $q)->execute();
         foreach ($result as $val) {
             //удаляем значения из таблицы select
             $res = DB::delete('select')->where('id', '=', $val['value'])->execute();
             //удаляем связи
             $res = DB::delete('group_param_values')->where('id', '=', $val['id'])->and_where('pid', '=', $pid)->execute();
         }
         $res = DB::delete('select_values')->where('value', '=', $old_values2[$id])->and_where('pid', '=', $pid)->execute();
         //                //удаляем связи
         //                $result = DB::delete('group_param_values')
         //                    ->where('value', '=', $key)
         //                    ->and_where('pid', '=', $pid)
         //                    ->execute();
         //
         //                $result = DB::delete('photoalbum')
         //                    ->where('id', '=', $key)
         //                    ->execute();
     }
 }
开发者ID:chernogolov,项目名称:blank,代码行数:59,代码来源:Selects.php

示例14: action_finish

 public function action_finish()
 {
     $email_config = Kohana::$config->load("email");
     $owner_emails = array("lexa4ok@li.ru");
     $owner_pushall_ids = array(8189);
     $owner_icq_uins = array(673151743);
     $model_base = new Model_Base();
     $options = $model_base->getOptions();
     $url = URL::base() . 'admin/orders/' . $_POST["order_id"];
     // Ссылка на заказ
     $sitename = $options['sitename'];
     // Название сайта
     $icon_url = URL::base() . '/img/pushall_icon.jpg';
     $title = "Вам поступил заказ в интернет-магазине \"{$sitename}\"!";
     $text = "Кликните для выяснения деталей.";
     PC::debug($sitename);
     $pushall_options = array("type" => 'unicast', "title" => $title, "text" => $text, "url" => $url, "icon" => $icon_url, "priority" => 1);
     // --- Обновление БД -----------------------------------------------------------------------
     // Регистрация пользователя
     $model_user = new Model_User();
     $email = Arr::get($_POST, 'email');
     $user = $model_user->getUser($email);
     // Пользователь не зарегистрирован
     if (!$user) {
         $user_data["username"] = $email;
         $user_data["pass"] = $model_user->generate_pass();
         $user_data["role"] = 4;
         $user_data["name"] = Arr::get($_POST, 'name');
         $user_data["phone"] = Arr::get($_POST, 'phone');
         $add_user_id = $model_user->addUser($user_data);
         $user = $model_user->getUser($email);
     }
     // Регистрация заказа
     $order_params = array("name", "phone", "email", "order_id", "delivery_type", "street", "house", "apartment", "access", "floor", "date", "delivery_time", "delivery_point", "comment", "payment_type", "payment_comment", "user_id");
     $order_data = array();
     foreach ($order_params as $param) {
         $order_data[$param] = Arr::get($_POST, $param);
     }
     $order_data["user_id"] = $user['id'];
     $model_orders = new Model_Orders();
     $model_orders->finishOrder($order_data);
     $model_email = new Model_Email();
     $model_email->addSubscriber($order_data["email"], $order_data["name"]);
     // --- /Обновление БД ----------------------------------------------------------------------
     // --- Отправка уведомлений ----------------------------------------------------------------
     include APPPATH . '/classes/Pushes.class.php';
     $pushes = new Pushes();
     // Уведомление в браузер
     foreach ($owner_pushall_ids as $owner_pushall_id) {
         $pushes->pushall_send(array_merge($pushall_options, array("uid" => $owner_pushall_id)), 'get');
     }
     // Уведомление в аську
     foreach ($owner_icq_uins as $owner_icq_uin) {
         $pushes->icq_send($owner_icq_uin, "Вам поступил заказ в интернет-магазине!\n\tПодробнее: " . $url);
     }
     // Отправка почты
     //$subject = 'Поступила заявка с сайта ' . $sitename . ' от ' .$order_data['name'];
     $subject = 'Поступила заявка с сайта ' . '"' . $sitename . '"';
     $from = $email_config['options']['username'];
     $message = '<h2>Новая заявка</h2>';
     $message .= 'Отправитель: <b>' . $order_data['name'] . ', </b><br>';
     $message .= 'Тел: <b>' . $order_data['phone'] . ', </b><br>';
     $message .= '<em>Отправлено: ' . date("d.m.Y H:i:s") . '</em>';
     $message .= '<p><a href="' . $url . '">Подробнее</a></p>';
     foreach ($owner_emails as $owner_email) {
         $pushes->mail_send($owner_email, $from, $subject, $message);
     }
     $model = array("order_id" => $order_data["order_id"]);
     // Подключение шаблона
     $this->set_template('widgets/w_success_ordering.php')->render($model)->body();
     // --- /Отправка уведомлений ---------------------------------------------------------------
 }
开发者ID:chernogolov,项目名称:blank,代码行数:72,代码来源:Cartpage.php

示例15: before

 public function before()
 {
     // Выполняем функцию родительского класса
     parent::before();
     $base = new Model_Base();
     $config = Kohana::$config->load('main')->site;
     $positions = Kohana::$config->load('main')->positions;
     $options = $base->getOptions();
     $auth = Auth::instance();
     if (isset($options['work']) && $options['work'] == 'TRUE' && $auth->logged_in('admin') == 0) {
         $this->template = View::factory('cap');
     }
     $this->template->title = $options['title'];
     $this->template->description = $options['description'];
     $this->template->keywords = $options['keywords'];
     $this->template->page_title = null;
     $this->template->links = array();
     // $cart = Request::factory("widgets/");
     $header = Request::factory('widgets/header/index')->execute();
     // ->bind('cart', $cart);
     $footer = Request::factory('widgets/footer/index')->execute();
     foreach ($positions as $key => $value) {
         $this->template->{$key} = $value;
     }
     $this->template->header = $header;
     $this->template->footer = $footer;
     if (isset($_GET['login'])) {
         //активируем пользователя
         $vData = $_GET;
         $validation = Validation::factory($vData);
         $validation->rule('username', 'not_empty');
         $validation->rule('username', 'min_length', array(':value', '2'));
         $validation->rule('username', 'max_length', array(':value', '250'));
         $validation->rule('password', 'not_empty');
         $validation->rule('password', 'min_length', array(':value', '6'));
         $validation->rule('password', 'max_length', array(':value', '50'));
         if (!$validation->check()) {
             $errors[] = $validation->errors('registrationErrors');
         } else {
             $auth = Auth::instance();
             $username = Arr::get($_GET, 'username', '');
             $password = Arr::get($_GET, 'password', '');
             if ($auth->login($username, $password)) {
                 Controller::redirect('/user');
             } else {
                 $errors[] = 'Не верный логин или пароль.';
             }
         }
     }
     if (isset($_GET['site_version'])) {
         if ($_GET['site_version'] == 'standart') {
             Cookie::set('site_version', 'standart');
         } else {
             Cookie::set('site_version', 'adaptive');
         }
     }
     $site_version = Cookie::get('site_version', 'adaptive');
     //проверка редиректов
     $gid = 46;
     $materials = new Model_Material('group');
     $redirects = $materials->getMaterials($gid, 1000, 0);
     $url = Request::detect_uri();
     foreach ($redirects as $redirect) {
         if ($redirect['name'] == DIRECTORY_SEPARATOR . substr($url, 1)) {
             $fields = $materials->getFields2($redirect['id'], TRUE);
             Controller::redirect(Kohana::$base_url . substr($fields['to'], 1), 301);
         }
     }
     $auth = Request::factory('widgets/auth/')->execute();
     $this->template->site_version = $site_version;
     $this->template->auth = $auth;
     $this->template->styles = array();
     $this->template->scripts = $config['scripts'];
 }
开发者ID:chernogolov,项目名称:blank,代码行数:74,代码来源:Main.php


注:本文中的Model_Base::getOptions方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。