Esempio n. 1
0
 public function action_log()
 {
     $config = array('pagination_url' => 'user/' . $this->username, 'total_items' => $this->log_count, 'uri_segment' => 3);
     Pagination::set_config($config);
     $data['posts'] = Model_Post::find('all', array('where' => array_merge(array(array('user_id', $this->user->id)), $this->status_where), 'order_by' => array(array('serial_dive_no', 'desc')), 'limit' => Pagination::$per_page, 'offset' => Pagination::$offset));
     $data['pager'] = Pagination::create_links();
     $this->template->content->content = View::forge('user/log', $data, false);
     return $this->template;
 }
Esempio n. 2
0
 public function action_view($slug)
 {
     //$post = Model_Post::find_by_slug($slug);
     //$post = Model_Post::find_by_slug($slug, array('related' => array('user')));
     //$post = Model_Post::find()->where('slug', $slug)->related('user')->get_one();
     $post = Model_Post::find()->where('slug', $slug)->related('user')->related('comments')->get_one();
     $this->template->title = $post->title;
     $this->template->content = View::forge('blog/view', array('post' => $post));
 }
Esempio n. 3
0
 public function action_delete($id = null)
 {
     if ($post = Model_Post::find($id)) {
         $post->delete();
         Session::set_flash('success', e('Deleted post #' . $id));
     } else {
         Session::set_flash('error', e('Could not delete post #' . $id));
     }
     Response::redirect('admin/post');
 }
Esempio n. 4
0
 public function action_view($id = null)
 {
     is_null($id) and Response::redirect('post');
     if (!($data['post'] = Model_Post::find($id))) {
         Session::set_flash('error', 'お求めの記事はありません [# ' . $id . ' ]');
         Response::redirect('post');
     }
     $this->template->title = "ブログ";
     $this->template->content = View::forge('post/view', $data);
 }
Esempio n. 5
0
 public function action_delete($id = null)
 {
     $post = Model_Post::find($id);
     if ($post->delete()) {
         // Delete cache
         \Cache::delete('sidebar');
         \Messages::success(__('backend.post.deleted'));
     } else {
         \Messages::error(__('error'));
     }
     \Response::redirect_back(\Router::get('admin_post'));
 }
Esempio n. 6
0
 public function action_update($Pid = 0)
 {
     $username = Auth::get_screen_name();
     $this->data['token_key'] = Config::get('security.csrf_token_key');
     $this->data['token'] = Security::fetch_token();
     if (Security::check_token()) {
         $val = Model_Post::validate();
         if ($val->run()) {
             $post = Model_Post::find($Pid);
             $post->class = Input::post('cla');
             $post->Title = Input::post('title');
             $post->Pcontent = Input::post('Pcontent');
             $post->Kid = Input::post('category');
             Upload::process();
             if (Upload::is_valid()) {
                 //設定を元に保存をする
                 Upload::save();
                 foreach (Upload::get_files() as $file) {
                     $post->image = $file['saved_as'];
                 }
             }
             $post->save();
             $this->action_categorize();
             $this->data['users'] = Model_Users::query()->where('username', '=', $username)->get();
             $this->data['posts'] = Model_Post::query()->where('username', '=', $username)->order_by('Ptime', 'desc')->get();
             $message = '投稿内容を変更しました。';
             $view = View::forge('mypage/mypage', $this->data);
             $view->username = $username;
             $view->set_global('message', $message, false);
             $view->set_global('error', $this->error, false);
             //バリデーションエラー
         } else {
             $this->action_categorize();
             $Pid and $this->data['posts'] = DB::select()->from('Post')->where('Pid', '=', $Pid)->execute();
             $view = View::forge('post/PostEdit', $this->data);
             $this->error = $val->error();
             $view->username = $username;
             $view->set_global('error', $this->error, false);
         }
     } else {
         Profiler::mark('CSRFだー!');
     }
     return $view;
 }
Esempio n. 7
0
 public function action_delete($id = null)
 {
     is_null($id) and Response::redirect('post');
     if (!($post = Model_Post::find($id))) {
         Session::set_flash('error', '投稿が見つかりませんでした。');
         Response::redirect('post');
     }
     if (Input::method() == 'POST') {
         if ($post->check(Input::post('delete_password'))) {
             $post->delete();
             Session::set_flash('削除が完了しました。');
             Response::redirect('post');
         } else {
             Session::set_flash('error', 'パスワードが違います。');
         }
     }
     $data['post'] = $post;
     $data['title'] = 'SAMPLE BBS';
     $this->template->title = 'SAMPLE BBS';
     $this->template->content = View::forge('post/delete', $data);
 }
Esempio n. 8
0
 public function action_test1()
 {
     $data['posts'] = Model_Post::find('all');
     return Response::forge(View::forge('welcome/test1.smarty', $data, false));
 }
Esempio n. 9
0
 public function action_SerchResultUser()
 {
     if (Input::get('keywords2')) {
         $search = Input::get('keywords2');
         //検索文字を空白(全角又は半角)で区切って配列に代入
         $keywords = preg_split('/ |\\s/', $search);
         foreach ($keywords as $key => $keyword) {
             $keywords[$key] = ' (Title LIKE "%' . $keyword . '%"';
             $keywords[$key] .= 'OR Pcontent LIKE "%' . $keyword . '%")';
         }
         $where = implode('OR', $keywords);
         $sql = sprintf("SELECT * FROM Post JOIN users ON Post.username = users.username WHERE %s ORDER BY `Pid` DESC", $where);
         $data['posts'] = DB::query($sql)->execute()->as_array();
         if (empty($data['posts'])) {
             //該当する投稿がなかった時
             $error = '該当する投稿はありませんでした。';
             $data['categorize'] = Model_Category::query()->where('df', '=', '0')->get();
             $view = View::forge('search/SearchResultUser', $data);
             $view->set_global('error', $error, false);
         } else {
             //該当する投稿があった時
             $error = '';
             $data['categorize'] = Model_Category::query()->where('df', '=', '0')->get();
             $data['coment'] = Model_Post::find('all');
             $view = View::forge('search/SearchResultUser', $data);
             $view->set_global('error', $error, false);
         }
     } else {
         //検索バーに値が入力されていなかった時
         $error = '検索する値が入力されていません。';
         $data['categorize'] = Model_Category::query()->where('df', '=', '0')->get();
         $view = View::forge('search/SearchResultUser', $data);
         $view->set_global('error', $error, false);
     }
     return $view;
 }
Esempio n. 10
0
 public function action_delete($id = null)
 {
     if ($this->current_user == null) {
         Response::redirect('welcome/404', 'location', 404);
     }
     if ($post = Model_Post::find($id, array('where' => array('user_id' => $this->current_user->id)))) {
         $post->delete();
         Session::set_flash('success', e('Deleted log #' . $id));
     } else {
         Session::set_flash('error', e('Could not delete log #' . $id));
     }
     $this->template->set_global('noindex', true);
     Response::redirect('user/' . $this->current_user->username);
 }
Esempio n. 11
0
 public function action_delete($id = null)
 {
     if ($post = Model_Post::find($id, array('where' => array('user_id' => $this->current_user->id)))) {
         $post->delete();
         Session::set_flash('success', e('Deleted post #' . $id));
     } else {
         Session::set_flash('error', e('Could not delete post #' . $id));
     }
     Response::redirect('admin/posts');
 }