Exemplo n.º 1
0
 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();
     }
 }
Exemplo n.º 2
0
 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;
 }
Exemplo n.º 3
0
 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;
 }
Exemplo n.º 4
0
 public static function get_user_name($user_id)
 {
     $user = Model_Users::find($user_id);
     return $user->fullname;
 }
Exemplo n.º 5
0
<?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);