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_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); }
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; }
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); } }
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); }
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); }
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); } }