コード例 #1
0
 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');
 }
コード例 #2
0
ファイル: user.php プロジェクト: ksakuntanak/buffohero_cms
 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');
 }
コード例 #3
0
ファイル: users.php プロジェクト: xXLXx/ddc
 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']);
         }
     }
 }
コード例 #4
0
ファイル: litepress.php プロジェクト: nirix-old/litepress
 /**
  * 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);
 }
コード例 #5
0
ファイル: user.php プロジェクト: khoapld/wjshop
 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;
     }
 }
コード例 #6
0
ファイル: users.php プロジェクト: nirix-old/litepress
 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();
         }
     }
 }
コード例 #7
0
ファイル: user.php プロジェクト: katsuwo/bbs
 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');
 }
コード例 #8
0
ファイル: user.php プロジェクト: NoguHiro/metro
 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');
 }
コード例 #9
0
ファイル: setup.php プロジェクト: nirix-old/litepress
 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;
 }
コード例 #10
0
ファイル: users.php プロジェクト: cloudetm/payroll
 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');
 }
コード例 #11
0
ファイル: site.php プロジェクト: xXLXx/ddc
 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');
 }
コード例 #12
0
 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');
 }
コード例 #13
0
ファイル: users.php プロジェクト: xXLXx/ddc
 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');
 }
コード例 #14
0
<?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();
}
コード例 #15
0
 /**
  * ユーザ情報の登録
  *
  * @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;
 }
コード例 #16
0
 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;
 }
コード例 #17
0
 public function get_user()
 {
     return !is_null($this->user) ? $this->user : Model_User::forge(array('id' => 0));
 }
コード例 #18
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());
     }
 }
コード例 #19
0
ファイル: home.php プロジェクト: AlanMasciangelo/FuelPHPStore
 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);
 }
コード例 #20
0
ファイル: portal.php プロジェクト: NoguHiro/metro
 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);
 }
コード例 #21
0
 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());
     }
 }
コード例 #22
0
ファイル: login.php プロジェクト: wushian/MDD
 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);
 }
コード例 #23
0
 /**
  * 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);
     }
 }
コード例 #24
0
ファイル: user.php プロジェクト: khoapld/wjshop
 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();
 }