/**
  * Default action, will forward, or show start page
  */
 public function indexAction()
 {
     Zend_Layout::getMvcInstance()->setLayout("index");
     $categoriesModel = new Model_DbTable_PagesCategories();
     $pagesModel = new Model_DbTable_Pages();
     $category = $categoriesModel->fetchRow($categoriesModel->select()->where("name = ?", "Пресса")->where("parent_id IS NULL"));
     $categories = $category->findDependentRowset("Model_DbTable_PagesCategories");
     foreach ($categories as $category) {
         switch ($category->name) {
             case 'Новости':
                 $news = $category;
                 break;
             case 'Акции':
                 $stocks = $category;
                 break;
             case 'Статьи':
                 $posts = $category;
                 break;
         }
     }
     if (isset($posts)) {
         $this->view->post = $pagesModel->fetchRow($pagesModel->random()->where("category_id = ?", $posts->id));
     }
     if (isset($news)) {
         $this->view->news = $pagesModel->fetchRow($pagesModel->select()->where("category_id = ?", $news->id)->order("timestamp DESC"));
     }
     if (isset($stocks)) {
         $this->view->stocks = $pagesModel->fetchRow($pagesModel->select()->where("category_id = ?", $stocks->id)->order("timestamp DESC"));
     }
     $forumModel = new Model_DbTable_Forum();
     $this->view->forum = new StdClass();
     $this->view->forum->answer = $forumModel->fetchRow($forumModel->select()->order("timestamp DESC")->where("parent_id IS NOT NULL"));
     $this->view->forum->question = $this->view->forum->answer->findParentRow("Model_DbTable_Forum");
 }
 /**
  * The default action - show the home page
  */
 public function indexAction()
 {
     $forumModel = new Model_DbTable_Forum();
     $categories = array("faq" => "Вопросы и запросы", "reviews" => "Отзывы и предложения", "complaints" => "Книга жалоб", "all" => "all");
     $pages = array("Вопросы и запросы" => 1, "Отзывы и предложения" => 1, "Книга жалоб" => 1, "all" => 1);
     foreach ($categories as $key => $tab) {
         if (NULL != ($page = $this->getRequest()->getParam($key))) {
             $pages[$tab] = intval($page, 10);
         }
     }
     $questions = $forumModel->fetchAll($forumModel->select()->where("parent_id IS NULL")->order("timestamp DESC"));
     $db = $forumModel->getAdapter();
     $this->view->lasts = array("Вопросы и запросы" => $db->fetchOne("SELECT COUNT(*) FROM forum WHERE category='Вопросы и запросы' AND parent_id IS NULL") / $this::PAGE_NUM, "Отзывы и предложения" => $db->fetchOne("SELECT COUNT(*) FROM forum WHERE category='Отзывы и предложения' AND parent_id IS NULL") / $this::PAGE_NUM, "Книга жалоб" => $db->fetchOne("SELECT COUNT(*) FROM forum WHERE category='Книга жалоб' AND parent_id IS NULL") / $this::PAGE_NUM, "all" => count($questions) / $this::PAGE_NUM);
     $topics = array();
     $admin_topics = array();
     $i = array("all" => 0);
     foreach ($questions as $question) {
         $i[$question->category] = 0;
     }
     foreach ($questions as $question) {
         $answer = $question->findDependentRowset('Model_DbTable_Forum');
         if (count($answer) > 0) {
             if ($i["all"] >= ($pages["all"] - 1) * $this::PAGE_NUM && $i["all"] <= $pages["all"] * $this::PAGE_NUM - 1) {
                 $topics['all'][] = array('question' => $question, 'answers' => $answer);
             }
             if ($i[$question->category] >= ($pages[$question->category] - 1) * $this::PAGE_NUM && $i[$question->category] <= $pages[$question->category] * $this::PAGE_NUM - 1) {
                 $topics[$question->category][] = array('question' => $question, 'answers' => $answer);
             }
         } elseif (Zend_Auth::getInstance()->hasIdentity()) {
             if ($i["all"] >= ($pages["all"] - 1) * $this::PAGE_NUM && $i["all"] <= $pages["all"] * $this::PAGE_NUM - 1) {
                 $admin_topics['all'][] = $question;
             }
             if ($i[$question->category] >= ($pages[$question->category] - 1) * $this::PAGE_NUM && $i[$question->category] <= $pages[$question->category] * $this::PAGE_NUM - 1) {
                 $admin_topics[$question->category][] = $question;
             }
         }
         $i[$question->category] += 1;
         $i["all"] += 1;
     }
     $this->view->admin_topics = $admin_topics;
     $this->view->topics = $topics;
     $this->view->pages = $pages;
 }