public function action_create() { $val = Model_User::validate('create'); if (Input::method() == 'POST') { if ($val->run()) { $user = Model_User::forge(array('username' => \Fuel\Core\Input::post('username'), 'email' => \Fuel\Core\Input::post('email'), 'group' => \Fuel\Core\Input::post('group'), 'password' => \Fuel\Core\Input::post('password'), 'first_name' => \Fuel\Core\Input::post('first_name'), 'last_name' => \Fuel\Core\Input::post('last_name'), 'target_billable' => \Fuel\Core\Input::post('target_billable'), 'target_unbillable' => \Fuel\Core\Input::post('target_unbillable'))); try { if ($user and Auth\Auth::create_user($user->username, $user->password, $user->email, $user->group, array('fullname' => ''))) { Session::set_flash('success', e('Added user #' . $user->id . '.')); Response::redirect('admin/users'); } else { Session::set_flash('error', e('Could not save user.')); } } catch (\SimpleUserUpdateException $ex) { // duplicate email address if ($ex->getCode() == 2) { Fuel\Core\Session::set_flash('error', 'Email already exists.'); } elseif ($ex->getCode() == 3) { Fuel\Core\Session::set_flash('error', 'Username already exists.'); } else { Fuel\Core\Session::set_flash('error', $ex->getMessage()); } } } else { Session::set_flash('error', $val->error()); } } $this->template->set_global('user', new Model_User(array('id' => 0)), false); $this->template->set_global('val', $val, false); $this->template->set_global('groups', $this->get_groups_list()); $this->template->title = "Users"; $this->template->content = View::forge('admin/users/create'); }
public function action_create() { if (Input::method() == 'POST') { $val = Model_User::validate('create'); $val->add_field('password', 'Password', 'required|min_length[8]|max_length[20]'); $val->add_field('password_re', 'Re-type Password', 'required|min_length[8]|max_length[20]'); if ($val->run()) { if (Input::post('password') != Input::post('password_re')) { Session::set_flash('error', 'Password is not matched.'); } else { $user = Model_User::forge(array('username' => Input::post('username'), 'password' => Auth::instance()->hash_password(Input::post('password')), 'group' => Input::post('group'), 'email' => Input::post('email'), 'profile_fields' => Input::post('profile_fields'), 'last_login' => Input::post('last_login'), 'login_hash' => Input::post('login_hash'))); if ($user and $user->save()) { Session::set_flash('success', 'Added user #' . $user->id . '.'); Response::redirect('user'); } else { Session::set_flash('error', 'Could not save user.'); } } } else { $msg = '<ul>'; foreach ($val->error() as $field => $error) { $msg .= '<li>' . $error->get_message() . '</li>'; } $msg .= '</ul>'; Session::set_flash('error', $msg); } } $this->theme->set_template('edit'); $this->theme->get_template()->set_global('current_menu', "Users", false); $this->theme->get_template()->set_global('current_menu_desc', "จัดการผู้ใช้งาน CMS ทั้งหมดในระบบ", false); $this->theme->get_template()->set('breadcrumb', array(array('title' => "Home", 'icon' => "fa-home", 'link' => Uri::create('home'), 'active' => false), array('title' => "Users", 'icon' => "fa-users", 'link' => Uri::create('user/index'), 'active' => false), array('title' => "Create", 'icon' => "", 'link' => "", 'active' => true))); $this->theme->get_template()->set_global('menu', "create", false); $this->theme->set_partial('sidebar', 'common/sidebar'); $this->theme->set_partial('left', 'user/create'); }
public function post_login() { $errors = []; if (!Input::post('email')) { $errors[] = 'Please include email'; } if (!Input::post('password')) { $errors[] = 'Please include password'; } if (count($errors)) { return $this->error($errors); } $val = Validation::forge(); $val->add('email', 'Email or Username')->add_rule('required'); $val->add('password', 'Password')->add_rule('required'); if ($val->run()) { if ($user = Auth::validate_user(Input::post('email'), Input::post('password'))) { $user = Model_User::forge($user); if ($user->isDeactivated()) { return $this->error(['User is deactivated.']); } else { if (!$user->isApproved()) { return $this->error(['User is not yet approved, please contact admin to set year/course for student.']); } } return $this->response(['success' => true, 'data' => $user]); } else { return $this->error(['Invalid username or password']); } } }
/** * Check if the user is logged in and fetches their information * if not then assign the guest info and pass it to the views. */ private function _get_user() { if (Cookie::get('_sess') and $user = Model_User::find('first', array('where' => array('login_hash' => Crypt::decode(Cookie::get('_sess')))))) { $this->current_user = $user; $this->current_user->_set_logged_in(true); } else { $this->current_user = Model_User::forge(array('username' => 'Guest', 'group_id' => 5)); $this->current_user->_set_logged_in(false); } $this->template->set_global('current_user', $this->current_user); }
public static function insert($data) { try { $props = ['username' => $data['username'], 'email' => strtolower($data['email']), 'password' => Model_Service_Util::hash_password($data['password']), 'created_at' => date('Y-m-d H:i:s', Date::forge()->get_timestamp())]; $new = Model_User::forge($props); $new->save(); return $new->id; } catch (Exception $e) { Log::write('ERROR', $e->getMessage()); return false; } }
public function action_register() { $this->title('Register'); $this->view = $this->theme->view('users/register'); $user = Model_User::forge(); $this->view->set('user', $user); if (Input::param() != array()) { $user->values(array('name' => Input::param('name'), 'username' => Input::param('username'), 'password' => Input::param('password'), 'email' => Input::param('email'))); if ($user->is_valid()) { $user->save(); Response::redirect('login'); } else { $this->view->errors = $user->errors(); } } }
public function action_create() { if (Input::method() == 'POST') { $val = Model_User::validate('create'); if ($val->run()) { $user = Model_User::forge(array('username' => Input::post('username'), 'password' => Input::post('password'), 'group_id' => Input::post('group_id'), 'email' => Input::post('email'), 'last_login' => Input::post('last_login'), 'previous_login' => Input::post('previous_login'), 'login_hash' => Input::post('login_hash'), 'user_id' => Input::post('user_id'))); if ($user and $user->save()) { Session::set_flash('success', 'Added user #' . $user->id . '.'); Response::redirect('user'); } else { Session::set_flash('error', 'Could not save user.'); } } else { Session::set_flash('error', $val->error()); } } $this->template->title = "Users"; $this->template->content = View::forge('user/create'); }
public function action_create() { if (Input::method() == 'POST') { $val = Model_User::validate('create'); if ($val->run()) { $user = Model_User::forge(array('id' => Input::post('id'), 'password' => sha1(Input::post('password')), 'name' => Input::post('name'), 'sex' => Input::post('sex'), 'birth_station_id' => Input::post('birth_station_id'))); if ($user and $user->save()) { Session::set_flash('success', 'Added user #' . $user->id . '.'); Response::redirect('user'); } else { Session::set_flash('error', 'Could not save user.'); } } else { Session::set_flash('error', $val->error()); } } $this->template->title = "Users"; $this->template->content = View::forge('user/create'); }
public static function install() { //\Migrate::latest(); // Insert the default settings and user groups echo "\nInserting defaults..."; \DB::insert('settings')->columns(array('setting', 'value'))->values(array('title', 'LitePress'))->execute(); \DB::insert('settings')->columns(array('setting', 'value'))->values(array('theme', 'default'))->execute(); \DB::insert('settings')->columns(array('setting', 'value'))->values(array('validate_users', '0'))->execute(); $groups = array(array('Admin', 1, 1, 1, 1, 1), array('Author', 0, 1, 1, 1, 1), array('Reader', 0, 0, 0, 0, 0), array('Validating', 0, 0, 0, 0, 0), array('Guest', 0, 0, 0, 0, 0)); foreach ($groups as $group) { $row = \Model_Group::forge(array('name' => $group[0], 'is_admin' => $group[1], 'is_author' => $group[2], 'create_articles' => $group[3], 'edit_articles' => $group[4], 'delete_articles' => $group[5])); $row->save(); } // Create an admin account echo "\nCreating admin account..."; $admin_password = strtolower(substr(sha1(time() . rand(1, 100)), 0, 5)); $admin = \Model_User::forge(array('name' => 'Admin', 'username' => 'Admin', 'password' => $admin_password, 'email' => '*****@*****.**', 'group_id' => 1)); $admin->save(); echo "\nAdmin account created,", "\nUsername: Admin\n", "Password: " . $admin_password; }
public function action_create() { parent::has_access("add_user"); if (Input::method() == 'POST') { $val = Model_User::validate('create'); if ($val->run()) { $user = Model_User::forge(array('name' => Input::post('username'), 'password' => md5(Input::post('password')), 'access_level' => Input::post('access_level'))); if ($user and $user->save()) { Session::set_flash('success', 'Added user #' . $user->id . '.'); Response::redirect('users'); } else { Session::set_flash('error', 'Could not save user.'); } } else { Session::set_flash('error', $val->error()); } } $this->template->title = "Users"; $this->template->content = View::forge('users/create'); }
public function action_register() { if (Input::method() == 'POST') { $val = Model_User::validate('create'); if ($val->run()) { $user = Model_User::forge(array('username' => Input::post('username'), 'password' => Auth::instance()->hash_password(Input::post('password')), 'group' => 1, 'email' => Input::post('email'), 'fname' => Input::post('fname'), 'mname' => Input::post('mname'), 'lname' => Input::post('lname'), 'contact_num' => Input::post('contact_num'), 'address' => Input::post('address'), 'profile_pic' => Input::post('profile_pic'), 'last_login' => Input::post('last_login'), 'login_hash' => Input::post('login_hash'), 'profile_fields' => Input::post('profile_fields'))); Upload::process(Config::get('upload_profile_picture')); $user->profile = Model_Student::forge(['year_level' => 0, 'course_id' => 0]); if (Upload::is_valid()) { Upload::save(); $value = Upload::get_files(); foreach ($value as $files) { $user->profile_pic = $value[0]['saved_as']; } if ($user and $user->save()) { Session::set_flash('success', e('Succesfully Added user #' . $user->id . '.')); Response::redirect('site/login'); } else { Session::set_flash('error', e('Could not save user.')); } } else { Session::set_flash('error', e('Uploaded photo is invalid.')); } // if ($user and $user->save()) // { // Session::set_flash('success', e('Succesfully Added user #'.$user->id.'.')); // Response::redirect('site/login'); // } // else // { // Session::set_flash('error', e('Could not save user.')); // } } else { Session::set_flash('error', $val->error()); } } // $this->template->title = "Users"; // $this->template->content = View::forge('admin/users/create'); $this->template->title = 'Register'; $this->template->content = View::forge('site/register'); }
public function action_create() { if (Input::method() == 'POST') { $val = Model_User::validate('create'); if ($val->run()) { $user = Model_User::forge(array('username' => Input::post('username'), 'email' => Input::post('email'), 'group' => Input::post('group'), 'description' => Input::post('description'), 'id_number' => Input::post('id_number'), 'employee_number' => Input::post('employee_number'), 'date_of_birth' => Input::post('date_of_birth'), 'user_type_id' => Input::post('user_type_id'), 'access_options' => Input::post('access_options'), 'phone' => Input::post('phone'))); if ($user and $user->save()) { Session::set_flash('success', e('Added user #' . $user->id . '.')); Response::redirect('admin/users'); } else { Session::set_flash('error', e('Could not save user.')); } } else { Session::set_flash('error', $val->error()); } } $this->template->set_global('user_types', Model_User_Type::find('all', array('order_by' => array(array('name', 'asc'))))); $this->template->set_global('groups', $this->get_groups()); $this->template->title = "Users"; $this->template->content = View::forge('admin/users/create'); }
public function action_create() { if (Input::method() == 'POST') { $val = Model_User::validate('create'); if ($val->run()) { $user = Model_User::forge(array('username' => Input::post('username'), 'password' => Auth::instance()->hash_password(Input::post('password')), 'group' => 50, 'email' => Input::post('email'), 'fname' => Input::post('fname'), 'mname' => Input::post('mname'), 'lname' => Input::post('lname'), 'contact_num' => Input::post('contact_num'), 'address' => Input::post('address'), 'profile_pic' => Input::post('profile_pic'), 'last_login' => Input::post('last_login'), 'login_hash' => Input::post('login_hash'), 'profile_fields' => Input::post('profile_fields'))); if ($user and $user->save()) { Session::set_flash('success', e('Added user #' . $user->id . '.')); Response::redirect('site/users'); } else { Session::set_flash('error', e('Could not save user.')); } } else { Session::set_flash('error', $val->error()); } } // Global variables $teachers = Model_User::get_list_of_teachers(); $this->template->set_global('teachers', $teachers, false); $this->template->title = "Users"; $this->template->content = View::forge('site/users/create'); }
<?php use Model_User; $seeds = array(array('email' => '*****@*****.**', 'password' => \Auth::hash_password('*****@*****.**'), 'last_name' => '新間', 'last_name_kana' => 'シンマ', 'first_name' => '楽市', 'first_name_kana' => 'ラクイチ', 'nick_name' => 'てすと', 'gender' => 1, 'prefecture_id' => 40, 'zip' => '160-0001', 'tel' => '03-1212-1212', 'address' => '東京都渋谷区道玄坂1-14-6 ヒューマックス渋谷ビル6階', 'mm_flag' => 1, 'register_status' => \REGISTER_STATUS_ACTIVATED), array('email' => '*****@*****.**', 'password' => \Auth::hash_password('*****@*****.**'), 'last_name' => '小林', 'last_name_kana' => 'コバヤシ', 'first_name' => '楽市', 'first_name_kana' => 'ラクイチ', 'nick_name' => 'テスト', 'prefecture_id' => 13, 'zip' => '144-1121', 'tel' => '03-1369-2480', 'gender' => 2, 'address' => '東京都渋谷区道玄坂1-14-6 ヒューマックス渋谷ビル6階', 'mm_flag' => 1, 'register_status' => \REGISTER_STATUS_ACTIVATED), array('email' => '*****@*****.**', 'password' => \Auth::hash_password('*****@*****.**'), 'last_name' => '井田', 'last_name_kana' => 'イダ', 'first_name' => '楽市', 'first_name_kana' => 'ラクイチ', 'nick_name' => 'テスト', 'prefecture_id' => 31, 'zip' => '160-0001', 'tel' => '03-1212-1212', 'gender' => 2, 'address' => '東京都渋谷区道玄坂1-14-6 ヒューマックス渋谷ビル6階', 'mm_flag' => 1, 'register_status' => \REGISTER_STATUS_ACTIVATED), array('email' => '*****@*****.**', 'password' => \Auth::hash_password('*****@*****.**'), 'last_name' => '市場', 'last_name_kana' => 'イチバ', 'first_name' => '楽市', 'first_name_kana' => 'ラクイチ', 'nick_name' => 'テスト', 'prefecture_id' => 31, 'zip' => '160-0001', 'tel' => '03-1212-1212', 'gender' => 2, 'address' => '東京都渋谷区道玄坂1-14-6 ヒューマックス渋谷ビル6階', 'mm_flag' => 1, 'register_status' => \REGISTER_STATUS_ACTIVATED)); foreach ($seeds as $line) { \Model_User::forge($line)->save(); }
/** * ユーザ情報の登録 * * @access private * @param * @return object * @author kobayashi * @author ida */ private function registerUser() { $data = $this->getUserData(); if (!$data) { throw new Exception(\Model_Error::ER00402); } $user_id = \Input::post('user_id'); if (!empty($user_id)) { $user = \Model_User::find(\Input::post('user_id')); } else { $user = \Model_User::forge(); } $administrator_id = $this->administrator->administrator_id; if (!empty($user_id)) { $data['updated_user'] = $administrator_id; unset($data['password']); unset($data['created_at']); unset($data['created_user']); } else { $data['created_user'] = $administrator_id; $data['password'] = \Auth::hash_password($data['password']); } unset($data['mm_device']); unset($data['mm_error_flag']); unset($data['mobile_carrier']); unset($data['mobile_uid']); unset($data['last_login']); $user->set($data)->save(); return $user; }
public function action_add() { $id = Input::get("id", 0); $user = Model_User::find($id); //add or edit if (Input::post("firstname", null) != null and Security::check_token()) { if ($user == null) { $email = Input::post("email", null); $password = Input::post("password", null); try { Auth::create_user($email, $password, $email, 1); $user = Model_User::find("first", ["where" => [["email" => $email]]]); } catch (Exception $e) { $data["error"] = "This email is already in use."; } } else { $email = Input::post("email", null); if ($email != $user->email) { $check_user = Model_User::find("first", ["where" => [["email" => $email]]]); if ($check_user == null) { $user->email = $email; } else { $data["error"] = "This email is already in use."; } } } $config = ["path" => DOCROOT . "assets/img/pictures/", 'randomize' => true, 'auto_rename' => true, 'ext_whitelist' => array('img', 'jpg', 'jpeg', 'gif', 'png')]; Upload::process($config); if (Upload::is_valid()) { Upload::save(); $saved_result = Upload::get_files(); $file_name = $saved_result[0]['saved_as']; $image = Image::load($config["path"] . $file_name); $image->crop_resize(200, 200)->save($config["path"] . "m_" . $file_name); $image->crop_resize(86, 86)->save($config["path"] . "s_" . $file_name); $user->img_path = $file_name; } else { $error = Upload::get_errors(); } if (!isset($data["error"])) { $user->firstname = Input::post("firstname", ""); $user->middlename = Input::post("middlename", ""); $user->lastname = Input::post("lastname", ""); $user->google_account = Input::post("google_account", ""); $user->sex = Input::post("sex", 0); $user->need_reservation_email = Input::post("need_reservation_email", 1); $user->need_news_email = Input::post("need_news_email", 1); $user->birthday = Input::post("year", 0) . "-" . Input::post("month", 0) . "-" . Input::post("day", 0); $user->timezone = Input::post("timezone", ""); $user->place = Input::post("place", ""); $user->save(); Response::redirect("/admin/students"); } } if ($user == null) { $user = Model_User::forge(); } $data["user"] = $user; $view = View::forge("admin/students/add", $data); $this->template->content = $view; }
public function get_user() { return !is_null($this->user) ? $this->user : Model_User::forge(array('id' => 0)); }
public function action_create() { try { if (Input::method() == 'POST') { $val = Model_Employer::validate('edit'); $val->add_field('password', 'Password', 'required|min_length[8]|max_length[20]'); $val->add_field('password_re', 'Re-type Password', 'required|min_length[8]|max_length[20]'); $file = Input::file('employer_photo_file'); $error = false; if ($val->run()) { $employer_photo = ""; if ($file['size'] > 0) { $allowList = array(".gif", ".jpeg", ".jpg", ".png"); $ext = substr($file['name'], strrpos($file['name'], ".")); if (!in_array($ext, $allowList)) { Session::set_flash('error', 'ชนิดของไฟล์ภาพไม่ถูกต้อง'); $error = true; } $path = realpath(DOCROOT . "/../../uploads/profile_photo/employer/") . DS; $filename = md5($file['name']) . $ext; if (strlen(Input::post('employer_photo_file'))) { @unlink($path . Input::post('employer_photo_file')); } if (@copy($file['tmp_name'], $path . $filename)) { $employer_photo = $filename; } } if (strlen(Input::post('password')) && Input::post('password') != Input::post('password_re')) { Session::set_flash('error', 'กรุณากรอก Password ทั้งสองช่องให้ตรงกัน'); $error = true; } if (!$error) { $user = Model_User::get_user_by_email(Input::post('username')); if (!$user) { $user = Model_User::forge(array('username' => Input::post('username'), 'password' => Auth::instance()->hash_password(Input::post('password')), 'email' => Input::post('username'), 'group' => 1, 'profile_fields' => "", 'last_login' => 0, 'login_hash' => "", 'created_at' => time())); $user->save(); } $employer = Model_Employer::forge(array('user_id' => $user->id, 'employer_name' => Input::post('employer_name'), 'employer_desc' => Input::post('employer_desc'), 'employer_addr' => Input::post('employer_addr'), 'province_id' => Input::post('province_id'), 'employer_tel' => Input::post('employer_tel'), 'employer_fax' => Input::post('employer_fax'), 'employer_email' => Input::post('employer_email'), 'employer_website' => Input::post('employer_website'), 'employer_photo' => $employer_photo, 'employer_is_active' => 1, 'created_at' => time())); if ($employer->save()) { Session::set_flash('success', 'Updated employer #' . $employer->id); Response::redirect('employer'); } else { Session::set_flash('error', 'Could not update employer #' . $employer->id); } } } else { /*$employer->username = $val->validated('username'); $employer->employer_name = $val->validated('employer_name'); $employer->employer_desc = $val->validated('employer_desc'); $employer->employer_addr = $val->validated('employer_addr'); $employer->employer_tel = $val->validated('employer_tel'); $employer->employer_fax = $val->validated('employer_fax'); $employer->employer_email = $val->validated('employer_email'); $employer->employer_website = $val->validated('employer_website');*/ $msg = '<ul>'; foreach ($val->error() as $field => $error) { $msg .= '<li>' . $error->get_message() . '</li>'; } $msg .= '</ul>'; Session::set_flash('error', $msg); } } $this->theme->set_template('edit'); $this->theme->get_template()->set('current_menu', "Employers"); $this->theme->get_template()->set('current_menu_desc', "จัดการผู้ใช้งานที่เป็นผู้ว่าจ้างทั้งหมดในระบบ"); $this->theme->get_template()->set('breadcrumb', array(array('title' => "Home", 'icon' => "fa-home", 'link' => Uri::create('home'), 'active' => false), array('title' => "Employers", 'icon' => "fa-building-o", 'link' => Uri::create('employer/index'), 'active' => false), array('title' => "Create", 'icon' => "", 'link' => "", 'active' => true))); $this->theme->get_template()->set_global('menu', "create", false); $this->theme->set_partial('sidebar', 'common/sidebar'); $this->theme->set_partial('left', 'employer/create'); $this->theme->get_template()->set_global('provinces', Model_Province::get_provinces("th"), false); } catch (Exception $e) { die($e->getMessage()); } }
public function action_addUser() { $validator = $this->addModifyValidator(); $message = ""; $name = trim(Input::post('name')); $email = trim(Input::post('email')); $password = trim(Input::post('password')); $is_admin = false; $password_confirm = trim(Input::post('password_confirm')); $doit = Input::post('doit'); $user = Model_User::forge(); if (!is_null($doit)) { try { if (!$validator->run(Input::post())) { throw new Exception(); } if (strcmp($password, $password_confirm) != 0) { Session::set_flash('message', 'passwords do not match'); return Response::redirect('/home/addUser'); } $user = Model_User::find('first', ['where' => array("name" => $name)]); if (!is_null($user)) { Session::set_flash('name', $name); Session::set_flash('message', 'invalid user'); return Response::redirect('/home/addUser'); } $valid = (object) $validator->validated(); $user = Model_User::forge(); $user->name = $valid->name; $user->email = $valid->email; $user->is_admin = $is_admin; $user->password = $valid->password; $user->password = hash('sha256', $user->password); $user->save(); return Response::redirect('/'); } catch (Exception $ex) { $message = $ex->getMessage(); Session::set_flash('message', $message); } } $data = ['user' => $user, 'message' => Session::get_flash('message')]; $view = View::forge('home/addUser.tpl', $data); $view->set('validator', $validator, false); return Response::forge($view); }
public function action_entry() { // 登録時 if (Input::method() == 'POST') { // バリデーション $val = Model_Twitteruser::validate('create'); $input = array('uid' => Session::get('uid'), 'token' => Session::get('token'), 'secret' => Session::get('secret')); if ($val->run($input)) { // バリデーション成功時 $user = Model_User::forge(array('name' => Session::get('nickname'), 'password' => substr(str_shuffle('1234567890abcdefghijklmnopqrstuvwxyz'), 0, 10), 'sex' => Input::post('sex'), 'birth_station_id' => Input::post('birth_station_id'))); $twitter_user = Model_TwitterUser::forge($input); if ($user and $twitter_user) { // ユーザー生成成功 try { \DB::start_transaction(); if ($user->save() === false) { // User保存失敗 throw new \Exception('user save failed.'); } $twitter_user->user_id = $user->id; if ($twitter_user->save() === false) { // TwitterUser保存失敗 throw new \Exception('twitter_user save failed.'); } //その他Userに付随する情報を作成 //user_state $state = Model_Userstate::forge(array('id' => $user->id, 'ride_state' => '0', 'now_station_id' => $user->birth_station_id)); if ($state->save() === false) { // user_state保存失敗 throw new \Exception('user_state save failed.'); } //user_fortune //ポイントは動的にできるように。。。 $fortune = Model_Userfortune::forge(array('id' => $user->id, 'points' => 10000, 'domination1' => ' ', 'domination2' => ' ', 'domination3' => ' ')); if ($fortune->save() == false) { // user_state保存失敗 throw new \Exception('user_fortune save failed.'); } // 保存成功 \DB::commit_transaction(); //サインアップ成功なのでいらないSessionは消す Session::delete('uid'); Session::delete('token'); Session::delete('secret'); Session::delete('nickname'); Model_User::login_twitter($user->id); Response::redirect('portal'); } catch (\Exception $e) { \DB::rollback_transaction(); Response::redirect('portal'); } } else { // ユーザー生成失敗 Response::redirect('portal'); } } else { // バリデーション失敗時 Response::redirect('portal'); } // 登録できたら ポータルに戻る. } // Viewに受け渡す用 $exp = ['name' => Session::get('nickname'), 'stations' => Model_Traininfo::get_birth_train_summary()]; $this->template->title = '新規アカウント登録'; $this->template->content = View_Twig::forge('portal/entry', $exp); }
public function action_create() { try { if (Input::method() == 'POST') { $val = Model_Employee::validate('edit'); $val->add_field('password', 'Password', 'required|min_length[8]|max_length[20]'); $val->add_field('password_re', 'Re-type Password', 'required|min_length[8]|max_length[20]'); $file = Input::file('employee_photo_file'); $error = false; if ($val->run()) { $employee_photo = ""; if ($file['size'] > 0) { $allowList = array(".jpg", ".png"); $ext = substr($file['name'], strrpos($file['name'], ".")); if (!in_array($ext, $allowList)) { Session::set_flash('error', 'ชนิดของไฟล์ภาพไม่ถูกต้อง'); $error = true; } $path = realpath(DOCROOT . "/../../uploads/profile_photo/employee/") . DS; $filename = md5($file['name']); if (@copy($file['tmp_name'], $path . $filename . "-o" . $ext)) { $employee_photo = $filename . $ext; /* cropped, default, and retina images */ if ($ext === ".jpg") { $image = imagecreatefromjpeg($path . $filename . "-o" . $ext); } else { if ($ext === ".png") { $image = imagecreatefrompng($path . $filename . "-o" . $ext); } } $width = imagesx($image); $height = imagesy($image); $photo_width = Input::post('photo_width') ? Input::post('photo_width') : $width; $photo_height = Input::post('photo_height') ? Input::post('photo_height') : $height; $default_image = imagecreatetruecolor(360, 360); $black = imagecolorallocate($default_image, 0, 0, 0); imagecolortransparent($default_image, $black); imagecopyresized($default_image, $image, 0, 0, 0, 0, 360, 360, $photo_width, $photo_height); if ($ext === ".jpg") { imagejpeg($default_image, $path . $filename . $ext); } else { if ($ext === ".png") { imagepng($default_image, $path . $filename . $ext); } } $retina_image = imagecreatetruecolor(720, 720); $black = imagecolorallocate($retina_image, 0, 0, 0); imagecolortransparent($retina_image, $black); imagecopyresized($retina_image, $image, 0, 0, 0, 0, 720, 720, $photo_width, $photo_height); if ($ext === ".jpg") { imagejpeg($retina_image, $path . $filename . "@2x" . $ext); } else { if ($ext === ".png") { imagepng($retina_image, $path . $filename . "@2x" . $ext); } } } } if (strlen(Input::post('password')) && Input::post('password') != Input::post('password_re')) { Session::set_flash('error', 'กรุณากรอก Password ทั้งสองช่องให้ตรงกัน'); $error = true; } if (!$error) { $user = Model_User::get_user_by_email(Input::post('username')); if (!$user) { $user = Model_User::forge(array('username' => Input::post('username'), 'password' => Auth::instance()->hash_password(Input::post('password')), 'email' => Input::post('username'), 'group' => 1, 'profile_fields' => "", 'last_login' => 0, 'login_hash' => "", 'created_at' => time())); $user->save(); } $employee = Model_Employee::forge(array('user_id' => $user->id, 'employee_title' => "", 'employee_other_title' => "", 'employee_firstname' => Input::post('employee_firstname'), 'employee_lastname' => Input::post('employee_lastname'), 'employee_nickname' => Input::post('employee_nickname'), 'employee_display_name' => Input::post('employee_display_name'), 'employee_display_position' => Input::post('employee_display_position'), 'employee_gender' => Input::post('employee_gender'), 'employee_nationality' => "", 'employee_other_nationality' => "", 'employee_bdate' => Input::post('employee_bdate'), 'employee_addr' => Input::post('employee_addr'), 'province_id' => Input::post('province_id'), 'employee_zipcode' => "", 'employee_country' => "", 'employee_phone' => Input::post('employee_phone'), 'employee_email' => Input::post('employee_email'), 'employee_website' => Input::post('employee_website'), 'employee_facebook' => Input::post('employee_facebook'), 'employee_twitter' => Input::post('employee_twitter'), 'employee_gplus' => Input::post('employee_gplus'), 'employee_weight' => Input::post('employee_weight'), 'employee_height' => Input::post('employee_height'), 'employee_prefer' => Input::post('employee_prefer'), 'employee_about' => Input::post('employee_about'), 'employee_skills' => "", 'employee_photo' => $employee_photo, 'employee_is_featured' => 0, 'employee_is_active' => 1, 'created_at' => time())); if ($employee->save()) { $custom = Model_EmployeeCustom::forge(array('employee_id' => $employee->id, 'layout' => "default", 'theme' => "default", 'display_name_font' => "Philosopher", 'display_name_font_size' => 26, 'display_name_font_color' => "rgba(255,255,255,0.8)", 'display_position_font' => "Philosopher", 'display_position_font_color' => "rgba(255,255,255,0.8)", 'social_link_badges_color' => "rgba(255,255,255,0.8)", 'wallpaper' => "", 'working_status' => 0, 'resume_published' => 1, 'portfolio_published' => 1, 'created_at' => time())); $custom->save(); Session::set_flash('success', 'Updated employee #' . $employee->id); Response::redirect('employee'); } else { Session::set_flash('error', 'Could not update employee #' . $employee->id); } } } else { $msg = '<ul>'; foreach ($val->error() as $field => $error) { $msg .= '<li>' . $error->get_message() . '</li>'; } $msg .= '</ul>'; Session::set_flash('error', $msg); } } $this->theme->set_template('edit'); $this->theme->get_template()->set('current_menu', "Employees"); $this->theme->get_template()->set('current_menu_desc', "จัดการผู้ใช้งานที่เป็นผู้หางานทั้งหมดในระบบ"); $this->theme->get_template()->set('breadcrumb', array(array('title' => "Home", 'icon' => "fa-home", 'link' => Uri::create('home'), 'active' => false), array('title' => "Employees", 'icon' => "fa-users", 'link' => Uri::create('employee/index'), 'active' => false), array('title' => "Create", 'icon' => "", 'link' => "", 'active' => true))); $this->theme->get_template()->set_global('menu', "create", false); $this->theme->set_partial('sidebar', 'common/sidebar'); $this->theme->set_partial('left', 'employee/create'); $this->theme->get_template()->set_global('provinces', Model_Province::get_provinces("th"), false); } catch (Exception $e) { die($e->getMessage()); } }
public function action_index() { $data = array(); // user clicked login and POSTed back to this form... if (Input::post()) { // if the user is "fblogin" (aka, a Facebook login) if (Input::post('username') == 'fblogin') { // load the Facebook SDK require '../fbsdk/facebook.php'; // initialize it $fb = new Facebook(array('appId' => '184227598396934', 'secret' => '2bca41f166b2c9541ae04e7d78b64e6c')); // get the user ID of the currently logged in FB user, if there is one // if the user signed into FB using the JavaScript SDK, the JS will have attached // a cookie to this request, and the PHP SDK will automatically detect that cookie // and the user will automatically be logged in on the server as well as the client $fbUid = $fb->getUser(); // if there was a user ID if ($fbUid) { // look up the user with this ID $user = Model_User::find('first', array('where' => array('username' => 'fbuser_' . $fbUid))); // if there was a result if ($user) { // store the user's ID in the session $_SESSION['user_id'] = $user->id; // and redirect to the entry page Response::redirect('entry'); // otherwise } else { // create a new user record for the user $user = Model_User::forge(array('username' => 'fbuser_' . $fbUid, 'password' => '')); // if we're able to create the user if ($user && $user->save()) { // save the new ID in the session $_SESSION['user_id'] = $user->id; // and redirect to the entry page Response::redirect('entry'); // otherwise } else { // show an error $data['login_error'] = 'Uh oh! We couldn\'t create a user account for you. Try again!?'; } } // otherwise, show an error } else { $data['login_error'] = 'Sorry, we seem to be having some trouble communicating with Facebook.'; } // otherwise, if the user didn't provide a password, don't even try to login // this is because we're going to store Facebook user accounts in the database // without a password, so you don't want someone to be able to enter "fbuser_1238483" as a username // with no password, and have it actually log them in } else { if (!strlen(Input::post('password'))) { $data['login_error'] = 'Please enter your password.'; } else { // look up the user $user = Model_User::find('first', array('where' => array('username' => Input::post('username')))); // if the user was found if ($user) { // make sure the password matches if ($user->password == Input::post('password')) { // save the user's ID in the session $_SESSION['user_id'] = $user->id; // and redirect to entry Response::redirect('entry'); } else { // add an error message to the data to be sent back to the view $data['login_error'] = 'Wrong password!'; } } else { // create a new user record for the user $user = Model_User::forge(array('username' => Input::post('username'), 'password' => Input::post('password'))); // if we're able to create the user if ($user && $user->save()) { // save the new ID in the session $_SESSION['user_id'] = $user->id; // and redirect to the entry page Response::redirect('entry'); // otherwise } else { // show an error $data['login_error'] = 'Uh oh! We couldn\'t create a user account for you. Try again!?'; } } } } } $this->template->title = "Log in"; $this->template->content = View::forge('login', $data); }
/** * createNewUser * * @param mixed $email * @param mixed $password * @param mixed $properties * @static * @access public * @return void * @author shimma * * @todo 日本語で書かれているExceptionを分かるように記述を変更 */ public static function createNewUser($email, $password, $properties) { $password = trim($password); $email = filter_var(trim($email), FILTER_VALIDATE_EMAIL); try { $new_user = Model_User::forge($properties); $new_user->email = $email; $new_user->setPassword(trim($password)); return $new_user; } catch (Exception $e) { throw new SystemException(\Model_Error::ER00304); } }
public static function add_user() { $user_props = ['username' => 'wjshop', 'email' => '*****@*****.**', 'password' => Model_Service_Util::hash_password('11111111'), 'group' => 100, 'customer_name' => 'wjshop', 'created_at' => date('Y-m-d H:i:s', Date::forge()->get_timestamp())]; $user = Model_User::forge($user_props); $user->save(); }