public function action_index() { try { $helper = new FacebookRedirectLoginHelper(Config::get('login_url')); $session = $helper->getSessionFromRedirect(); } catch (FacebookRequestException $ex) { // When Facebook returns an error } catch (\Exception $ex) { // When validation fails or other local issues } if (isset($session)) { //login succes $long_lived_session = $session->getLongLivedSession(); $access_token = $long_lived_session->getToken(); //*** Call api to get user info $user_info = $this->facebook->get_user_information($access_token); //*** Check if user has existed $user = Model_Users::find('first', array('where' => array('fb_id' => $user_info->getId()))); if (empty($user)) { // Register user if (Model_Users::register_user($user_info, $access_token)) { //Success } } //*** Set session for user Fuel\Core\Session::set('user_token', $long_lived_session->getToken()); Fuel\Core\Session::set('user_id', $user_info->getId()); //*** Redirect to home \Fuel\Core\Response::redirect('fanpage/index'); } else { // login fail $this->template->login_url = $helper->getLoginUrl(); } }
public static function add_new_post($data) { $user = Model_Users::find('first', array('where' => array('fb_id' => $data['author']))); $page = Model_Pages::find($data['page_id']); $post = Model_Posts::forge($data); $post->author = $user->id; $post->modifier = $user->id; $post->page_id = $page->id; if (!$post->save()) { return false; } return true; }
public function action_update($username = '******') { //バリデーション定義 $val = Validation::forge(); //ニックネームは必須で、最大文字数は50文字以内 $val->add('name', '「ニックネーム」')->add_rule('required')->add_rule('max_length', 50); //メールアドレスは必須で、入力内容がメールの形式に沿っているか $val->add('email', '「メールアドレス」')->add_rule('required')->add_rule('valid_email'); $class = Auth::get('classID'); //ログイン中の学生のレコードを取得する $user = Model_Users::find($username); //各カラムに更新情報を格納する $user->fullname = Input::post('name'); $user->email = Input::post('email'); //アップロードファイルがバリデーション通りなら投稿内容保存 if (Upload::is_valid()) { //設定を元に保存をする Upload::save(); foreach (Upload::get_files() as $file) { $user->icon = $file['saved_as']; } } if ($val->run()) { $user->save(); //更新後のレコードを取得する $this->data['users'] = Model_Users::query()->where('username', '=', $username)->get(); $this->data['classname'] = Model_Class::query()->where('classID', '=', $class)->get(); $this->action_categorise(); //ビューオブジェクトの作成 $view = View::forge('changeregistration/ChangeRegistration', $this->data); //ビューのmessage変数に更新成功時のメッセージを定義 $this->message = '登録内容を変更しました。'; //ビューに渡す変数をセットメソッドで定義する $view->set_global('message', $this->message, false); $view->set_global('error', $this->error, false); } else { //現在のレコードを取得する $this->data['users'] = Model_Users::query()->where('username', '=', $username)->get(); $this->data['classname'] = Model_Class::query()->where('classID', '=', $class)->get(); $this->action_categorise(); //バリデーションからエラーメッセージを取得する $this->error = $val->error(); //ビューオブジェクト生成 $view = View::forge('changeregistration/ChangeRegistration', $this->data); //ビューに渡す変数をセットメソッドで定義する $view->set_global('message', $this->message, false); $view->set_global('error', $this->error, false); } //ビューを返す return $view; }
public static function get_user_name($user_id) { $user = Model_Users::find($user_id); return $user->fullname; }
<?php $out = array('route' => 4, 'items' => array()); foreach ($notes as $note) { $d = Model_Users::find($note['meta_update_user']); $n = array('id' => $note['id'], 'txt' => $note['txt'], 'user' => $d->username, 'time' => $note['meta_update_time']); array_push($out['items'], $n); } echo json_encode($out);