protected function moduleList2($data) { $pages = $data['pages']; $mpage_id = ModulesInPages::model()->getLink($data['doc_id_last'], 'list2'); $records_on_page = 0; // количество публикаций на странице $type = explode($pages->make_url($data['doc_id_last']), '/' . Yii::app()->request->pathInfo); $type = explode('/', $type[1]); $type = $type[0]; if (substr($type, 0, 5) == 'show_') { // конкретная публикация $lenta = new ModuleList2(); $item_id = floor(substr($type, 5)); if ($lenta->existsItem($mpage_id, $item_id, 1)) { $data['item_id'] = $item_id; $data['item'] = $lenta->getItem($item_id, $mpage_id); $data['other_lenta'] = $lenta->getOtherList($mpage_id, $item_id, 4, 1); if (count($data['item']) == 0) { $this->redirect($pages->make_url($data['doc_id_last'])); } else { $data['title_original'] = $data['title']; $data['title'] = $data['item']['title'] . ' — ' . $data['title']; $this->render('list2_show', $data); } } else { // публикация не найдена $this->redirect($pages->make_url($data['doc_id_last'])); } } elseif (substr($type, 0, 5) == 'page_' || empty($type)) { // выбор страницы $page = 1; $lenta = new ModuleList2(); if (!empty($type)) { $page = floor(substr($type, 5)); } if ($page < 1) { $page = 1; } if ($records_on_page > 0) { $data['pagination'] = $this->pagination($pages->make_url($data['doc_id_last']) . 'page_', $lenta->getCount($mpage_id, 1), $page, $records_on_page); } $offset = ($page - 1) * $records_on_page; $limit = $records_on_page; $data['lenta'] = ModuleList2::model()->getList($mpage_id, $offset, $limit, 1); $data['url_for_menu'] = substr(substr($data['pages']->make_url($data['doc_id_last']), 0, -1), 1); $this->render('list2', $data); } else { // неизвестный тип отображения ПУБЛИКАЦИЙ $this->redirect($pages->make_url($data['doc_id_last'])); } }