Example #1
0
 /**
  * Список новостей
  */
 public function index()
 {
     $total = News::count();
     $page = App::paginate(Setting::get('news_per_page'), $total);
     $news_list = News::all(['offset' => $page['offset'], 'limit' => $page['limit'], 'order' => 'created_at desc', 'include' => ['user']]);
     App::view('news.index', compact('news_list', 'page'));
 }
Example #2
0
 /**
  * Список пользователей
  */
 public function index()
 {
     $list = Request::input('list', 'all');
     $login = Request::input('login');
     if (Request::isMethod('post')) {
         $users = User::all(array('select' => 'login', 'order' => 'point DESC, login ASC'));
         foreach ($users as $key => $val) {
             if (strtolower($login) == strtolower($val->login)) {
                 $position = $key + 1;
             }
         }
         if (isset($position)) {
             $page = ceil($position / Setting::get('users_per_page'));
             App::setFlash('success', 'Позиция в рейтинге: ' . $position);
             App::redirect("/users?page={$page}&login={$login}");
         } else {
             App::setFlash('danger', 'Пользователь с данным логином не найден!');
         }
     }
     $count['users'] = $total = User::count();
     $count['admins'] = User::count(['conditions' => ['level in (?)', ['moder', 'admin']]]);
     $condition = [];
     if ($list == 'admins') {
         $total = $count['admins'];
         $condition = ['level IN(?)', ['moder', 'admin']];
     }
     $page = App::paginate(Setting::get('users_per_page'), $total);
     $users = User::all(array('conditions' => $condition, 'offset' => $page['offset'], 'limit' => $page['limit'], 'order' => 'point DESC, login ASC'));
     App::view('users.index', compact('users', 'page', 'count', 'list', 'login'));
 }
Example #3
0
 public function view()
 {
     if (FALSE === ($user_thanks = $this->thanks->get_user($this->uid))) {
         message(App::$lang_common['Bad request']);
     }
     App::$forum_page['form_action'] = forum_link(App::$forum_url['thanks_delete'], $this->uid);
     View::$instance = View::factory($this->view . 'view', array('heading' => sprintf(App::$lang['User thanks'], forum_htmlencode($user_thanks['username'])) . '&nbsp;&nbsp;<strong>' . $user_thanks['thanks'] . '</strong>'));
     $count = $this->thanks->count_by_user_id($this->uid);
     if ($count > 0) {
         App::paginate($count, App::$forum_user['disp_topics'], App::$forum_url['thanks_view'], array($this->uid));
         if (App::$forum_user['g_id'] == FORUM_ADMIN) {
             /*
              * Fix table layout described on: http://punbb.ru/post31786.html#p31786
              */
             App::$forum_loader->add_css('#brd-thanks table{table-layout:inherit;}', array('type' => 'inline'));
             $template = 'view_admin';
         } else {
             $template = 'view_user';
         }
         View::$instance->content = View::factory($this->view . $template, array('records' => $this->thanks->get_info($this->uid, App::$forum_user['g_id'], App::$forum_page['start_from'], App::$forum_page['finish_at'])));
     } else {
         View::$instance->content = View::factory($this->view . 'view_empty', array('lang' => App::$lang));
     }
     App::$forum_page['crumbs'][] = array(sprintf(App::$lang['User thanks'], forum_htmlencode($user_thanks['username'])), forum_link(App::$forum_url['thanks_view'], $this->uid));
 }
Example #4
0
 public function index()
 {
     $count = $this->_fields->count_fields();
     View::$instance = View::factory(FORUM_ROOT . 'extensions/k_fields/view/field_form', array('lang' => App::$lang));
     App::paginate($count, App::$forum_user['disp_topics'], App::$forum_url['admin_fields']);
     if ($count > 0) {
         App::$forum_page['form_action'] = forum_link(App::$forum_url['admin_fields_del']);
         View::$instance->content = View::factory(FORUM_ROOT . 'extensions/k_fields/view/field_list', array('records' => $this->_fields->get_fields(App::$forum_page['start_from'], App::$forum_page['finish_at'])));
     } else {
         View::$instance->content = View::factory(FORUM_ROOT . 'extensions/k_fields/view/empty');
     }
 }
 public function view()
 {
     if (isset($this->id)) {
         if (FALSE === ($user_rep = $this->reputation->get_by_id($this->id))) {
             message(App::$lang_common['Bad request']);
         }
         // Fix notice for fancy_video
         global $smilies, $forum_user, $ext_info;
         if (!defined('FORUM_PARSER_LOADED')) {
             require FORUM_ROOT . 'include/parser.php';
         }
         $user_rep['reason'] = parse_message($user_rep['reason'], 0);
         App::send_json(array('message' => $user_rep['reason']));
     }
     if (FALSE === ($user_rep = $this->reputation->get_user($this->uid))) {
         message(App::$lang_common['Bad request']);
     }
     App::$forum_page['form_action'] = forum_link(App::$forum_url['reputation_delete'], $this->uid);
     View::$instance = View::factory($this->view . 'view', array('heading' => sprintf(App::$lang['User reputation'], forum_htmlencode($user_rep['username'])) . '&nbsp;&nbsp;<strong>[+' . $user_rep['count_rep_plus'] . ' / -' . $user_rep['count_rep_minus'] . '] &nbsp;</strong>'));
     $count = $this->reputation->count_by_user_id($this->uid);
     if ($count > 0) {
         // Fix notice for fancy_video
         global $smilies, $forum_user, $ext_info;
         if (!defined('FORUM_PARSER_LOADED')) {
             require FORUM_ROOT . 'include/parser.php';
         }
         App::paginate($count, App::$forum_user['disp_topics'], App::$forum_url['reputation_view'], array($this->uid));
         if (App::$forum_user['g_id'] == FORUM_ADMIN) {
             /*
              * Fix table layout described on: http://punbb.ru/post31786.html#p31786
              */
             App::$forum_loader->add_css('#brd-reputation table{table-layout:inherit;}', array('type' => 'inline'));
             $template = 'view_admin';
         } else {
             $template = 'view_user';
         }
         View::$instance->content = View::factory($this->view . $template, array('records' => $this->reputation->get_info($this->uid, App::$forum_user['g_id'], App::$forum_page['start_from'], App::$forum_page['finish_at'])));
     } else {
         View::$instance->content = View::factory($this->view . 'view_empty', array('lang' => App::$lang));
     }
     App::$forum_page['crumbs'][] = array(sprintf(App::$lang['User reputation'], forum_htmlencode($user_rep['username'])), forum_link(App::$forum_url['reputation_view'], $this->uid));
 }
Example #6
0
 /**
  * Список сообщений
  */
 public function topic($id)
 {
     if (!($topic = Topic::find_by_id($id))) {
         App::abort('default', 'Данной темы не существует!');
     }
     if (User::check()) {
         $bookmark = Bookmark::find_by_topic_id_and_user_id($id, User::get('id'));
         if ($bookmark && $topic->postCount() > $bookmark->posts) {
             $bookmark->posts = $topic->postCount();
             $bookmark->save();
         }
     }
     $total = Post::count(['conditions' => ['topic_id = ?', $id]]);
     $page = App::paginate(Setting::get('posts_per_page'), $total);
     $posts = Post::all(['conditions' => ['topic_id = ?', $id], 'offset' => $page['offset'], 'limit' => $page['limit'], 'order' => 'created_at', 'include' => ['user']]);
     $crumbs = ['/forum' => 'Форум', '/forum/' . $topic->forum()->id => $topic->forum()->title, $topic->title];
     if ($topic->forum()->parent_id) {
         $crumbs = ['/forum' => 'Форум', '/forum/' . $topic->forum()->parent_id => $topic->forum()->parent()->title, '/forum/' . $topic->forum()->id => $topic->forum()->title, $topic->title];
     }
     App::view('forums.topic', compact('topic', 'posts', 'page', 'crumbs'));
 }
Example #7
0
 /**
  * Гостевая книга
  */
 public function index()
 {
     $page = App::paginate(Setting::get('guestbook_per_page'), Guestbook::count());
     $posts = Guestbook::all(['offset' => $page['offset'], 'limit' => $page['limit'], 'order' => 'created_at desc', 'include' => ['user']]);
     App::view('guestbook.index', compact('posts', 'page'));
 }