本文整理汇总了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;
}
}
示例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;
}
示例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;
}
示例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));
}
示例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>Логин: <input type="text" value="' . $email . '"></small></p>';
$message .= '<p><small>Пароль: <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");
}
示例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>';
}
}
示例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;
}
示例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>Логин: <input type="text" value="' . $name . '"></small></p>';
$message .= '<p><small>Пароль: <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;
}
}
示例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);
}
}
示例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');
}
示例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 = 'Панель управления';
}
示例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);
}
示例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();
}
示例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;
}
示例15: __construct
public function __construct()
{
parent::__construct();
$user = Model_User::create();
$udata = (object) $user->getAuth();
$this->userId = $udata->user_id;
$this->userRole = $udata->role;
}