Esempio n. 1
0
 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();
 }
Esempio n. 2
0
 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();
 }
Esempio n. 3
0
 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();
 }