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


PHP Model_Base类代码示例

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


在下文中一共展示了Model_Base类的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: getCart

 public function getCart($userId)
 {
     $result = DB::select()->from($this->tableName)->where('user', '=', $userId)->group_by('mid')->execute()->as_array();
     $material = new Model_Material('groups');
     $category = new Model_Category('tree');
     $base = new Model_Base();
     $arr = array();
     foreach ($result as $item) {
         //var_dump($item);
         //название модели
         $materialData = $material->getMaterial($item['mid']);
         $arr[$item['mid']]['name'] = $materialData['name'];
         $arr[$item['mid']]['mid'] = $item['mid'];
         //url модели
         $categoryName = $category->getNode($material->getTreeIdByMid($item['mid']));
         $categoryName = $base->str2url($categoryName['name']);
         $arr[$item['mid']]['url'] = $categoryName . '/' . $materialData['url'] . '.html';
         //Изображение
         $fields = $material->getFields($item['mid'], true);
         $arr[$item['mid']]['img'] = $fields['Photos'][0];
         //количество
         $arr[$item['mid']]['count'] = $this->getCartCount($userId, $item['mid']);
         //сумма
         $arr[$item['mid']]['sum'] = $this->getCartPrice($userId, $item['mid']);
         //размер
         $arr[$item['mid']]['size'] = $item['size'];
         //цвет
         $arr[$item['mid']]['color'] = $item['color'];
     }
     return $arr;
 }
开发者ID:chernogolov,项目名称:blank,代码行数:31,代码来源:Cart.php

示例3: action_index

 public function action_index()
 {
     $base = new Model_Base();
     $pageNum = 0;
     $param = $this->request->param('id');
     $filters = $base->safeArrAssoc($_GET);
     $params = explode('/', $param);
     $gid = $params[0];
     foreach ($params as $paramName) {
         if (preg_match("/page(\\d)/", $paramName)) {
             $pageNum = str_replace('page', '', $paramName);
         }
     }
     $marker = array_pop($params);
     $catalog = new Model_Material('groups');
     //смотрим шаблон для виджета
     $widget = new Model_Widget();
     $template = $widget->getTempalte('catalog2', $gid);
     if ($template) {
         $this->template = View::factory('widgets/' . $template);
     }
     // $categoryName = $catalog->getCategoryNameByCatalog();
     //получить содержимое папки
     // $count = $catalog->getCountMaterials($param);
     $count = $catalog->getCountMaterials($gid);
     $pagination = Pagination::factory(array('total_items' => $count));
     $pagination->current_page = $pageNum;
     $data = $catalog->getFullMaterials($gid);
     $this->template->data = $data;
     $this->template->pagination = $pagination;
 }
开发者ID:chernogolov,项目名称:blank,代码行数:31,代码来源:Catalog2.php

示例4: _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

示例5: 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

示例6: action_index

 public function action_index()
 {
     if ($_FILES['upload']) {
         if ($_FILES['upload'] == "none" or empty($_FILES['upload']['name'])) {
             $message = "Вы не выбрали файл";
         } else {
             if ($_FILES['upload']["size"] == 0 or $_FILES['upload']["size"] > 12050000) {
                 $message = "Размер файла не соответствует нормам";
             } else {
                 if ($_FILES['upload']["type"] != "image/jpeg" and $_FILES['upload']["type"] != "image/jpeg" and $_FILES['upload']["type"] != "image/png") {
                     $message = "Допускается загрузка только картинок JPG и PNG.";
                 } else {
                     if (!is_uploaded_file($_FILES['upload']["tmp_name"])) {
                         $message = "Что-то пошло не так. Попытайтесь загрузить файл ещё раз.";
                     } else {
                         $message = '';
                         $uploadDir = $this->uploads_dir();
                         $ext = explode('.', $_FILES['upload']['name']);
                         $extension = array_pop($ext);
                         $base = new Model_Base();
                         $extarr = explode('.', $_FILES['upload']['name']);
                         $ext = array_pop($extarr);
                         $name = implode('', $extarr);
                         $name = substr(md5(microtime() * time()), 0, rand(20, 10));
                         //$name =rand(1, 1000).'-'.md5($_FILES['upload']['name']).'.'.$ext;
                         $filename = $base->str2url($name) . '.' . $ext;
                         //$filename = substr(md5(microtime() * time()),0,rand(20,10)).'.'.$extension;
                         if (copy($_FILES['upload']['tmp_name'], $uploadDir . "/" . $filename)) {
                             $message = "Файл " . $name . " загружен";
                         }
                         //                $name =rand(1, 1000).'-'.md5($_FILES['upload']['name']).'.'.$this->getex($_FILES['upload']['name']);
                         //                move_uploaded_file($_FILES['upload']['tmp_name'], "/img/user/".$name);
                         //                $full_path = 'http://sp-salon.ru/img/user/'.$name;
                         //                $message = "Файл ".$_FILES['upload']['name']." загружен";
                         //                $size=@getimagesize('/img/user/'.$name);
                         //                if($size[0]<50 OR $size[1]<50){
                         //                    unlink('/img/user/'.$name);
                         //                    $message = "Файл не является допустимым изображением";
                         //                    $full_path="";
                         //                }
                     }
                 }
             }
         }
         $callback = $_REQUEST['CKEditorFuncNum'];
         echo '<script type="text/javascript">window.parent.CKEDITOR.tools.callFunction("' . $callback . '", "' . DIRECTORY_SEPARATOR . $this->baseDir . $filename . '", "' . $message . '" );</script>';
     }
 }
开发者ID:chernogolov,项目名称:blank,代码行数:48,代码来源:Upload.php

示例7: 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

示例8: 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

示例9: 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

示例10: action_list

 public function action_list()
 {
     $page = $this->get_query('page', 1);
     $filter = array('pid' => $this->get_query('pid'), 'author_id' => $this->get_query('uid'));
     $filter = Model_Base::clean_data($filter);
     $topic_list = Model_Topic::page($filter, $page, OJ::per_page);
     $total = Model_Topic::count($filter);
     $this->template_data['topic_list'] = $topic_list;
     $this->template_data['total'] = ceil($total / OJ::per_page);
     $this->template_data['title'] = __('discuss.list.discuss');
 }
开发者ID:creat2012,项目名称:hustoj_official,代码行数:11,代码来源:Discuss.php

示例11: 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

示例12: action_talk

 public function action_talk()
 {
     $cid = $this->get_query('cid');
     $contest = Model_Contest::find_by_id($cid);
     $this->check_permission($contest);
     $page = $this->get_query('page', 1);
     $filter = array('cid' => $cid);
     $filter = Model_Base::clean_data($filter);
     $topic_list = Model_Topic::page($filter, $page, OJ::per_page);
     $total = Model_Topic::count($filter);
     $this->view = 'discuss/list';
     $this->template_data['contest'] = $contest;
     $this->template_data['cid'] = $cid;
     $this->template_data['topic_list'] = $topic_list;
     $this->template_data['total'] = ceil($total / OJ::per_page);
     $this->template_data['title'] = sprintf('%s - Discuss', $contest->title);
 }
开发者ID:creat2012,项目名称:hustoj_official,代码行数:17,代码来源:Contest.php

示例13: __construct

 public function __construct($table = NULL, $db_zone_name = NULL)
 {
     parent::__construct();
     $this->_table = $table;
     $this->_db_zone_name = $db_zone_name;
     $this->_sql_maker = Lib_PDOSqlMaker::getInstance();
 }
开发者ID:godruoyi,项目名称:portal,代码行数:7,代码来源:Db.class.php

示例14:

 function __construct($message = '', $is_success = false, $model = null, $models = null)
 {
     parent::__construct();
     $this->Message = $message;
     $this->IsSuccess = $is_success;
     $this->Model = $model;
     $this->Models = $models;
 }
开发者ID:konzuk,项目名称:BIS_Web_School_Version1,代码行数:8,代码来源:message_result.php

示例15: __construct

 public function __construct()
 {
     parent::__construct();
     $user = Model_User::create();
     $udata = (object) $user->getAuth();
     $this->userId = $udata->user_id;
     $this->userRole = $udata->role;
 }
开发者ID:vyrus,项目名称:remote-edu,代码行数:8,代码来源:Messages.php


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