public function NewsAction() { $newsModel = new NewsModel(); $request = Project::getRequest(); $user = Project::getUser()->getDbUser(); if (!$user->id) { $user->id = 0; } $isAdmin = $user->user_type_id == 1 ? true : false; $isPartner = $user->user_type_id == 4 ? true : false; $isTabsSnow = false; // if !$isTabsSnow you can show tabs // view type and filters switch ($request->view) { // View type case 'full': // full news list $_SESSION['newsViewType'] = 'full'; break; case 'report': // report news list $_SESSION['newsViewType'] = 'report'; break; case 'news_all': // no filter, all news $_SESSION['newsViewFilter'] = 'news_all'; break; case 'news_subscribe': // filter, only subscribe news $_SESSION['newsViewFilter'] = 'news_subscribe'; break; case 'news_stared': // filter, only news star $_SESSION['newsViewFilter'] = 'news_stared'; break; } $_SESSION['newsViewType'] = $_SESSION['newsViewType'] ? $_SESSION['newsViewType'] : 'report'; $_SESSION['newsViewFilter'] = $_SESSION['newsViewFilter'] ? $_SESSION['newsViewFilter'] : 'news_subscribe'; switch ($_SESSION['newsViewType']) { // View type case 'full': // full news list $viewCheckedClass = array('viewCheckedClass', ''); break; case 'report': // report news list $viewCheckedClass = array('', 'viewCheckedClass'); break; } switch ($_SESSION['newsViewFilter']) { // View filter case 'news_all': // no filter, all news $newsViewFilter = array('viewCheckedClass', '', ''); $isOnlyFavoriteNews = false; $isOnlySubscribeNewsTree = false; break; case 'news_subscribe': // filter, only subscribe news $newsViewFilter = array('', 'viewCheckedClass', ''); $isOnlyFavoriteNews = false; $isOnlySubscribeNewsTree = true; break; case 'news_stared': // filter, only news star $newsViewFilter = array('', '', 'viewCheckedClass'); $isOnlyFavoriteNews = true; $isOnlySubscribeNewsTree = false; break; } if (!$user->id) { // if NOT REGISTRED USER $this->_view->assign('newsViewFilter', 'news_all'); $isOnlyFavoriteNews = false; $isOnlySubscribeNewsTree = false; } else { $this->_view->assign('newsViewFilter', $_SESSION['newsViewFilter']); } if ($request->shownow == 'allnews') { // if click on "(все новости [15])" $this->_view->assign('newsViewType', 'full'); $this->_view->assign('nShowRows', 0); // Show all news records if (!$isTabsSnow) { $newsViewModel = new NewsView(); if ($request->filterNewsTreeFeeds) { $breadCrumb = $newsViewModel->ShowNewsTreeBreadCrumbByNewsTreeFeedsId($request->filterNewsTreeFeeds, false); } else { $breadCrumb = $newsViewModel->ShowNewsTreeBreadCrumbByNewsTreeId($request->filterNewsTree, false); } $this->_view->assign('tab_list', TabController::getNewsTabs($user->id, $isAdmin, false, false, false, false, false, array(), true, $breadCrumb)); // Show tabs $isTabsSnow = true; } } else { $this->_view->assign('newsViewType', $_SESSION['newsViewType']); $this->_view->assign('nShowRows', 4); // Show all news records } $this->_view->assign('shownow', $request->shownow); $this->_view->assign('viewCheckedClass', $viewCheckedClass); $this->_view->assign('viewFilterCheckedClass', $newsViewFilter); // END view type and filters $this->_view->assign('user_id', $user->id); $this->_view->assign('isAdmin', $isAdmin); $this->_view->assign('isPartner', $isPartner); $news_tree_id = $request->news_tree_id; if ($request->news_id) { if ($isAdmin) { $isNewsTreeActive = false; $isNewsBannersActive = false; } else { $isNewsTreeActive = true; $isNewsBannersActive = true; } $news = $newsModel->getNewsById($request->news_id, $user->id, $isNewsTreeActive, $isNewsBannersActive); if (!$news) { Project::getResponse()->redirect(Project::getRequest()->createUrl('News', 'News')); } $this->_view->assign('news', $news); $tabsNews = array("title" => $newsModel->getNWordsFromText($news['news_title'], 7), "id" => $request->news_id); if (!$isTabsSnow) { $this->_view->assign('tab_list', TabController::getNewsTabs($user->id, $isAdmin, false, false, false, false, true, $tabsNews)); // Show tabs $isTabsSnow = true; } $this->_view->assign('isShowOneNews', true); $newsModel->setNews_Views($request->news_id, 1); } else { if (!$isTabsSnow) { $this->_view->assign('tab_list', TabController::getNewsTabs($user->id, $isAdmin, true)); // Show tabs $isTabsSnow = true; } $this->_view->assign('isShowOneNews', false); } $aNewsTreeList = $newsModel->getAllNews(); $this->_view->assign('news_tree_list', $aNewsTreeList); // all News tree $this->_view->assign('filterNewsTree', $request->filterNewsTree); // filter by News tree ID $this->_view->assign('filterNewsTreeFeeds', $request->filterNewsTreeFeeds); // filter by News tree feeds ID // PAGER $news_per_page = $this->getParam("NEWS_PER_PAGE"); $pager_view = new SitePagerView(); if ($request->filterNewsTreeFeeds) { // pager for All news , filterNewsTreeFeeds $news_count = $newsModel->getNewsCountByNewsTreeFeedsId($request->filterNewsTreeFeeds, $user->id, $isOnlySubscribeNewsTree, $isOnlyFavoriteNews); $pages_number = $pager_view->getPagesNumber($news_count, $news_per_page); $current_page_number = $request->getKeyByNumber(2); $news_pager = $pager_view->show3('News', 'News', array("shownow" => "allnews", "filterNewsTreeFeeds" => $request->filterNewsTreeFeeds), $pages_number, $current_page_number); $this->_view->assign('news_tree_pager', $news_pager); $this->_view->assign('page_settings', array("record_per_page" => $news_per_page, "current_page_number" => $current_page_number + 1)); } elseif ($request->filterNewsTree) { // pager for All news , filterNewsTree $news_count = $newsModel->getNewsCountByNewsTreeId($request->filterNewsTree, $user->id, $isOnlySubscribeNewsTree, $isOnlyFavoriteNews); $pages_number = $pager_view->getPagesNumber($news_count, $news_per_page); $current_page_number = $request->getKeyByNumber(2); $news_pager = $pager_view->show3('News', 'News', array("shownow" => "allnews", "filterNewsTree" => $request->filterNewsTree), $pages_number, $current_page_number); $this->_view->assign('news_tree_pager', $news_pager); $this->_view->assign('page_settings', array("record_per_page" => $news_per_page, "current_page_number" => $current_page_number + 1)); } // END PAGER $aNewsSubscribe = $newsModel->getNewsSubscribeByUserId($user->id); $this->_view->assign('aNewsSubscribe', $aNewsSubscribe); // all NewsSubscribe switch ($request->view) { // View type /* case 'full': // full news list $_SESSION['newsViewType'] = 'full'; break; case 'report': // report news list $_SESSION['newsViewType'] = 'report'; break; */ case 'news_all': // no filter, all news $this->_view->assign('tab_list', TabController::getNewsTabs($user->id, $isAdmin, true, false, false, false, false, $tabsNews)); // Show tabs break; case 'news_subscribe': // filter, only subscribe news $this->_view->assign('tab_list', TabController::getNewsTabs($user->id, $isAdmin, false, false, true, false, false, $tabsNews)); // Show tabs break; case 'news_stared': // filter, only news star $this->_view->assign('tab_list', TabController::getNewsTabs($user->id, $isAdmin, false, false, false, false, false, $tabsNews, false, false, false, false, false, true)); // Show tabs break; } $this->_view->NewsPage(); $this->_view->parse(); }
public function DebateHistoryAction() { $debateModel = new DebateModel(); $request = Project::getRequest(); $user = Project::getUser()->getDbUser(); if (!$user->id) { $user->id = 0; } $isAdmin = $user->user_type_id == 1 ? true : false; $this->_view->assign('isAdmin', $isAdmin); // PAGER $record_per_page = $this->getParam("HISTORY_PER_PAGE"); $pager_view = new SitePagerView(); $record_count = $debateModel->getDebateHistoryCount(); $pages_number = $pager_view->getPagesNumber($record_count, $record_per_page); $current_page_number = $request->getKeyByNumber(0); $debate_pager = $pager_view->show3('Debate', 'DebateHistory', array(), $pages_number, $current_page_number); $this->_view->assign('debate_pager', $debate_pager); $page_settings = array("record_per_page" => $record_per_page, "current_page_number" => $current_page_number + 1); // END PAGER $aDebateHistory = $debateModel->getDebateHistory($page_settings, "start_time DESC"); $this->_view->assign('aDebateHistory', $aDebateHistory); if ($user->id) { $this->_view->assign('tab_list', TabController::getDebateTabs($isAdmin, false, false, true)); // Show tabs } $this->_view->HistoryPage(); $this->_view->parse(); }