public function action_index() { //すでにログイン済であればログイン後のページへリダイレクト Auth::check() and Response::redirect('members/top'); //エラーメッセージ用変数初期化 $error = null; //signup成功時のメッセージ $msg = null; //ログイン用のオブジェクト生成 $auth = Auth::instance(); $uname = Input::post('username', null); $pass = Input::post('password', null); if (isset($_POST['login'])) { // login処理 if ($auth->login(Input::post('username'), Input::post('password'))) { // ログイン成功時、ログイン後のページへリダイレクト Response::redirect('members/top'); } else { // ログイン失敗時、エラーメッセージ作成 $error = 'loginに失敗しました。ユーザ名かパスワードに誤りがあります'; } } elseif (isset($_POST['signup'])) { // signup処理 $new_uname = $_POST['new_uname']; $new_pass = $_POST['new_pass']; try { $icons = array("default1.jpg", "default2.jpg", "default3.jpg", "default4.jpg"); $count = count($icons); $random = rand(0, $count - 1); Auth::create_user($new_uname, $new_pass, $new_uname . "@tabi.com"); Model_Members_General2::setProfile($new_uname, $icons[$random]); $msg = "signupに成功しました。loginして下さい。"; } catch (Exception $e) { if ($new_uname != null && $new_pass != null) { // signup失敗時、エラーメッセージ作成 $error = "signupに失敗しました。nameは半角英数字のみで、重複できません。"; } else { // signup記入漏れ時、エラーメッセージ作成 $error = "signに失敗しました。入力が不十分です。"; } } } //ビューテンプレートを呼び出し $view = View::forge('loginsignup'); //エラーメッセージをビューにセット $view->set('error', $error); $view->set('msg', $msg); return $view; }
public function action_change() { $uid = $this->viewer_info['uid']; $uname = $this->viewer_info['name']; $data = array(); if (isset($_POST['ch_name'])) { //ユーザ名変更を試みる //Validationオブジェクト生成 $val = Validation::forge(); //フォームのルール設定 $val->add('uname', 'ユーザ名')->add_rule('valid_string', array('alpha', 'numeric', 'dashes', 'dots', 'punctuation', 'utf8')); //Validationチェック if ($val->run()) { $newname = Input::post('uname'); $data['newname'] = $newname; Model_Members_General2::setUname($uid, $newname); $uname = $newname; } //Validationオブジェクトをviewに渡す $data['val'] = $val; } if (isset($_POST['ch_image'])) { //アイコン画像変更を試みる if (Input::file('upload.name')) { //アップロードされてるか //アップロード用初期設定 $config = array('path' => DOCROOT . DS . '/assets/img/uimg', 'ext_whitelist' => array('img', 'jpg', 'jpeg', 'gif', 'png')); //アップロード基本プロセス Upload::process($config); //検証 if (Upload::is_valid()) { //設定を元に保存 Upload::save(); //保存されたファイル名を変数に入れる $getfile = Upload::get_files(); $upload_file = $getfile[0]['name']; } else { //ファイルがアップロードできなかったとき、 //エラーメッセージをセット $upload_err = 'ファイルが正しくアップできませんでした。'; $data['upload_err'] = $upload_err; $this->template = View::forge('members/userpg/userpg_myself_template'); $this->template->title = "旅ログ - " . $uname . "さんのユーザ情報変更"; $this->template->username = $uname; $this->template->icon = Model_Members_Userinfo::getIcon($uid); $this->template->uid = $uid; $this->template->pagename = $uname . "さんのユーザ情報変更"; $this->template->page_num = 5; $data['name'] = $uid; $data['pagename'] = $uname . "さんのユーザ情報変更"; $data['info'] = Model_Members_Userinfo::getInfo($uid); $this->template->content = View::forge('members/userpg/change', $data); return; //var_dump($upload_err); exit; } //データベースに保存 Model_Members_General2::setProfile($uname, $upload_file); } } $this->template = View::forge('members/userpg/userpg_myself_template'); $this->template->title = "旅ログ - " . $uname . "さんのユーザ情報変更"; $this->template->username = $uname; $this->template->icon = Model_Members_Userinfo::getIcon($uid); $this->template->uid = $uid; $this->template->pagename = $uname . "さんのユーザ情報変更"; $this->template->page_num = 5; $data['name'] = $uid; $data['pagename'] = $uname . "さんのユーザ情報変更"; $data['info'] = Model_Members_Userinfo::getInfo($uid); $this->template->content = View::forge('members/userpg/change', $data); }