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_index()
 {
     $this->template->title = '旅ログ';
     $this->template->viewer_name = $this->viewer_info['name'];
     $data = array();
     $itta_ret = Model_Members_General2::takeIttaTop3();
     $ikitai_ret = Model_Members_General2::takeIkitaiTop3();
     $j = 1;
     foreach ($itta_ret as $oneset) {
         $data['itta']["{$j}"] = array();
         $data['itta']["{$j}"]['post'] = Model_Members_General2::getRankingTop($oneset['pid']);
         $data['itta']["{$j}"]['count'] = $oneset['count'];
         $j++;
     }
     $j = 1;
     foreach ($ikitai_ret as $oneset) {
         $data['ikitai']["{$j}"] = array();
         $data['ikitai']["{$j}"]['post'] = Model_Members_General2::getRankingTop($oneset['pid']);
         $data['ikitai']["{$j}"]['count'] = $oneset['count'];
         $j++;
     }
     $this->template->content = View::forge('members/index', $data);
 }
Beispiel #3
0
 private function make_option()
 {
     $data = array();
     $prefectures = Model_Members_General2::findall_pref();
     $pref_op = array();
     $pref_op[''] = "-----";
     //未選択の場合の値
     foreach ($prefectures as $pref) {
         $pref_op[$pref['id']] = $pref['name'];
     }
     $data['prefs'] = $pref_op;
     $categories = Model_Members_General2::findall_cate();
     $cate_op = array();
     $cate_op[''] = "-----";
     //未選択の場合の値
     foreach ($categories as $cate) {
         $cate_op[$cate['id']] = $cate['name'];
     }
     $data['cates'] = $cate_op;
     $tags = Model_Members_General2::findall_tag();
     $tag_op = array();
     $tag_op[''] = "-----";
     //未選択の場合の値
     foreach ($tags as $tag) {
         $tag_op[$tag['id']] = $tag['name'];
     }
     $data['tags'] = $tag_op;
     $users = Model_Members_General2::findall_users();
     $user_op = array();
     $user_op[''] = "-----";
     //未選択の場合の値
     foreach ($users as $user) {
         $user_op[$user['id']] = $user['name'];
     }
     $data['users'] = $user_op;
     return $data;
 }
Beispiel #4
0
 private function changeitta($pid)
 {
     $uid = $this->viewer_info['uid'];
     $uname = Model_Members_Userinfo::getUsername($uid);
     $result = Model_Members_General2::checkitta($uid, $pid);
     if (count($result) == 0) {
         Model_Members_General2::setitta($uid, $pid);
         $this->msg = $uname . "さんが行きました。";
     } else {
         $this->msg = "削除しました";
         Model_Members_General2::deleteitta($uid, $pid);
     }
 }
Beispiel #5
0
 public function action_search($lex)
 {
     $table = array('prefposts' => "都道府県", 'cate' => "カテゴリ", 't1' => "タグ", 't2' => "タグ", 'rate' => "評価値", 'ikitai' => "行きたい人数", 'itta' => "行った人数", 'usr' => "投稿ユーザ");
     $sentence = "";
     $jouken = "";
     $from = "";
     if (isset($lex['prefposts'])) {
         $jouken = $jouken . " and p.pref_num = " . $lex['prefposts'];
         $pref_name = Model_Members_General::getPrefname($lex['prefposts']);
         $sentence = $sentence . $table['prefposts'] . "「" . $pref_name . "」";
     }
     if (isset($lex['cate'])) {
         $jouken = $jouken . " and p.category = " . $lex['cate'];
         $cate_name = Model_Members_General::getCatename($lex['cate']);
         $sentence = $sentence . $table['cate'] . "「" . $cate_name . "」";
     }
     if (isset($lex['t1']) xor isset($lex['t2'])) {
         if (isset($lex['t1'])) {
             $jouken = $jouken . " and (p.tag1 = " . $lex['t1'] . " or p.tag2 = " . $lex['t1'] . ")";
             $tag_name = Model_Members_General::getTagname($lex['t1']);
             $sentence = $sentence . $table['t1'] . "「" . $tag_name . "」";
         } else {
             $jouken = $jouken . " and (p.tag1 = " . $lex['t2'] . " or p.tag2 = " . $lex['t2'] . ")";
             $tag_name = Model_Members_General::getTagname($lex['t2']);
             $sentence = $sentence . $table['t2'] . "「" . $tag_name . "」";
         }
     }
     if (isset($lex['t1']) && isset($lex['t2'])) {
         $tmp = " and ((p.tag1 = " . $lex['t1'] . " and p.tag2 = " . $lex['t2'] . ") or (p.tag2 = " . $lex['t1'] . " and p.tag1 = " . $lex['t2'] . "))";
         $jouken = $jouken . $tmp;
         $tag_name3 = Model_Members_General::getTagname($lex['t1']);
         $tag_name4 = Model_Members_General::getTagname($lex['t2']);
         $sentence = $sentence . $table['t1'] . "「" . $tag_name3 . "」「" . $tag_name4 . "」";
     }
     if (isset($lex['rate'])) {
         $jouken = $jouken . " and p.rating >= " . $lex['rate'];
         $sentence = $sentence . $table['rate'] . "「" . $lex['rate'] . "以上」";
     }
     if (isset($lex['ikitai'])) {
         $jouken = $jouken . " and (select count(*) from ikitai where p.pid = ikitai.pid) >=" . $lex['ikitai'];
         $sentence = $sentence . $table['ikitai'] . "「" . $lex['ikitai'] . "以上」";
     }
     if (isset($lex['itta'])) {
         $jouken = $jouken . " and (select count(*) from itta where p.pid = itta.pid) >=" . $lex['itta'];
         $sentence = $sentence . $table['itta'] . "「" . $lex['itta'] . "以上」";
     }
     if (isset($lex['usr'])) {
         $jouken = $jouken . " and p.uid = " . $lex['usr'];
         $sentence = $sentence . $table['usr'] . "「" . Model_Members_Userinfo::getUsername($lex['usr']) . "」";
     }
     $this->template = View::forge('members/result_template');
     $this->template->title = "旅ログ - 検索結果";
     $data = array();
     $data['sentence'] = $sentence;
     $data['count'] = 0;
     $data['posts'] = Model_Members_General2::getPostHeaderJoken($jouken);
     $this->template->jouken = $jouken;
     $ret = $this->make_option();
     $this->template->prefs = $ret['prefs'];
     $this->template->cates = $ret['cates'];
     $this->template->tags = $ret['tags'];
     $this->template->users = $ret['users'];
     $this->template->lex = $lex;
     $this->template->content = View::forge('members/result', $data);
 }
Beispiel #6
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);
 }
Beispiel #7
0
 public function action_index()
 {
     $data = array();
     $prefectures = Model_Members_General2::findall_pref();
     $pref_op = array();
     $pref_op[''] = "-----";
     //未選択の場合の値
     foreach ($prefectures as $pref) {
         $pref_op[$pref['id']] = $pref['name'];
     }
     $data['prefs'] = $pref_op;
     $categories = Model_Members_General2::findall_cate();
     $cate_op = array();
     $cate_op[''] = "-----";
     //未選択の場合の値
     foreach ($categories as $cate) {
         $cate_op[$cate['id']] = $cate['name'];
     }
     $data['cates'] = $cate_op;
     $tags = Model_Members_General2::findall_tag();
     $tag_op = array();
     $tag_op[''] = "-----";
     //未選択の場合の値
     foreach ($tags as $tag) {
         $tag_op[$tag['id']] = $tag['name'];
     }
     $data['tags'] = $tag_op;
     $users = Model_Members_General2::findall_users();
     $user_op = array();
     $user_op[''] = "-----";
     //未選択の場合の値
     foreach ($users as $user) {
         $user_op[$user['id']] = $user['name'];
     }
     $data['users'] = $user_op;
     $table = array(1 => 'prefposts', 2 => 'cate', 3 => 't1', 4 => 't2', 5 => 'ikitai', 6 => 'itta', 7 => 'rate', 8 => 'usr');
     // フォーム投稿がある場合
     if (isset($_POST['search'])) {
         $ret = array();
         $ret[1] = Input::post('pref');
         $ret[2] = Input::post('cate');
         $ret[3] = Input::post('t1');
         $ret[4] = Input::post('t2');
         $ret[5] = Input::post('ikitai');
         $ret[6] = Input::post('itta');
         $ret[7] = Input::post('rate');
         $ret[8] = Input::post('usr');
         $pass = "";
         for ($i = 1; $i <= 8; $i++) {
             if ($ret[$i] != null) {
                 $pass = $pass . '/' . $table[$i] . '/' . $ret[$i];
                 $data[$table[$i]] = $ret[$i];
             }
         }
         if (strlen($pass) != 0) {
             Response::redirect("members/giver" . $pass);
         } else {
             $data['error'] = "少なくとも一つ選択して下さい。";
             $this->template->title = "旅ログ - 旅先を検索する";
             $this->template->content = View::forge('members/search', $data);
         }
     } else {
         // フォーム投稿がない場合
         $this->template->title = "旅ログ - 旅先を検索する";
         $this->template->content = View::forge('members/search', $data);
     }
 }