Beispiel #1
0
 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;
 }
Beispiel #2
0
 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);
 }