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(); }
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 GetFolderMessagesAction() { $messagesModel = new MessagesModel(); $user = Project::getUser()->getDbUser(); $request = Project::getRequest(); // PAGER $record_per_page = $this->getParam("NUM_MESSAGES_ON_PAGE"); $pager_view = new SitePagerView(); $record_count = $messagesModel->getCountMessagesToUser($user->id, $request->groupId, 1, -1); $pages_number = $pager_view->getPagesNumber($record_count, $record_per_page); $current_page_number = $request->current_page; // current page $current_page_number = $current_page_number >= $pages_number ? $pages_number - 1 : $current_page_number; $debate_pager = $pager_view->show_ajax('Messages', 'GetFolderMessages', array("groupName" => $request->groupName, "groupId" => $request->groupId), $pages_number, $current_page_number); $message['myMessagePager'] = $debate_pager; $page_settings = array("record_per_page" => $record_per_page, "current_page_number" => $current_page_number + 1); // END PAGER $aMessages = $messagesModel->getAllMessagesToUser($page_settings, $user->id, $request->groupId, 1, -1); //print_r($aMessages); $message['aMessages'] = $aMessages; $message['groupId'] = (int) $request->groupId; $message['groupName'] = $request->groupName; $message['current_page'] = $request->current_page; $message['messageCountAll']['new'] = $messagesModel->getCountMessagesToUser($user->id, -1, 1, 0); $message['messageCountAll']['read'] = $messagesModel->getCountMessagesToUser($user->id, -1, 1, 1); $message['messageCountGroup']['new'] = $messagesModel->getCountMessagesToUser($user->id, $request->groupId, 1, 0); $message['messageCountGroup']['read'] = $messagesModel->getCountMessagesToUser($user->id, $request->groupId, 1, 1); foreach ($aMessages as $userMessage) { $messagesModel->changeOneValue('messages', $userMessage['messages_id'], 'is_read', 1); } $this->_view->returnFolderMessages($message); $this->_view->ajax(); }