isAdmin) { $param['order'] = 'id DESC'; $param['where'] = '`moderate` = 0'; $points = Point::model()->getAll($param); $categories = Category::model()->getAll(array('order' => 'ord ASC')); foreach ($points as $point) { $id = $point->id; $result[$id]['id'] = $point->id; $result[$id]['name'] = $point->name; $result[$id]['lat'] = $point->lat; $result[$id]['lng'] = $point->lng; $result[$id]['author'] = $point->authorUser->nick; $result[$id]['categoryId'] = $point->categoryId; $result[$id]['categoryIcon'] = $categories[$point->categoryId]->icon; } $notModeratedPoints = $result; } // ------------------------------------------ $param = array(); $param['where'] = '`moderate` = 1'; $pointsCount = Point::model()->getCount($param); $pagesCount = intval(ceil($pointsCount/self::elementsByPage)); $page = isset($_GET['page']) ? abs((int)$_GET['page']) : $pagesCount; $pages = array(); for ($index = $pagesCount; $index > $pagesCount-3; $index--) { $pages[$index] = 1; } for ($index = 3; $index > 0; $index--) { $pages[$index] = 1; } if ($page > $pagesCount) { $page = $pagesCount; } else if ($page < 1) { $page = 1; } $topIndex = ($page+2 > $pagesCount) ? $pagesCount : $page+2; $bottomIndex = ($page-3 < 1) ? 1 : $page-3; for ($index = $topIndex; $index > $bottomIndex; $index--) { $pages[$index] = 1; } krsort($pages); $param = array(); $param['order'] = '`ord` DESC'; if (App::getParam('category')) { $param['where'] = 'categoryId = ' . (int) App::getParam('category') . ' AND `moderate` = 1'; } else if (App::getParam('user')) { $param['where'] = '`author` = ' . (int) App::getParam('user') . ' AND `moderate` = 1'; } else { $param['where'] = '`moderate` = 1'; $param['limit'] = self::elementsByPage; if($page) { $param['offset'] = self::elementsByPage * ($pagesCount - $page); } } $points = Point::model()->getAll($param); $categories = Category::model()->getAll(array('order' => 'ord ASC')); $result = array(); foreach ($points as $point) { $id = $point->id; $result[$id]['id'] = $point->id; $result[$id]['name'] = $point->name; $result[$id]['lat'] = $point->lat; $result[$id]['lng'] = $point->lng; $result[$id]['img'] = $point->getImg('middle'); $result[$id]['author'] = $point->authorUser->nick; $result[$id]['categoryId'] = $point->categoryId; $result[$id]['categoryIcon'] = $categories[$point->categoryId]->icon; } App::setConfig('title', App::$defaultTitle); self::render('pointsTemplate.php', array( 'categories' => $categories, 'points' => $result, 'pointsCount' => $pointsCount, 'page' => $page, 'pagesCount' => $pagesCount, 'pages' => $pages, 'notModeratedPoints' => $notModeratedPoints, 'randomPoint' => Point::model()->getRandom(), )); } static function actionPoint() { $pointId = (int) App::getParam('id'); if ($pointId) { App::redirect('/point/'.$pointId, 301); } else { App::error404(); } } static function actionArticle() { $articleId = (int) App::getParam('id'); if ($articleId) { App::redirect('/article/'.$articleId, 301); } else { App::error404(); } } static function actionMyprofile() { $userId = App::$user ? App::$user->id : 0; die($userId); } // static function actionProfile() // { // $userId = (int) App::getParam('user'); // // } static function actionVkpoint() { $pointId = (int) App::getParam('id'); if (App::$user && App::$user->isAdmin == 1 && $pointId) { $point = Point::model()->getByPK($pointId); if ($point->id == NULL) { App::error404(); } $point->descriptionHtml = nl2br($point->description); $point->name = htmlspecialchars($point->name); $categories = Category::model()->getAll(array('order' => 'ord ASC', 'asArray' => true)); $point->description = Helper::replaceLinks($point->description); self::renderPartial('vkPoint.php', array( 'point' => $point, 'photos' => $point->photos, )); } else { App::error404(); } } static function action404($message) { self::$layout = 'layouts/page.php'; self::addStyle('/css/style.css?ver=' . App::getConfig('version')); self::addStyle('/css/pageStyle.css?ver=' . App::getConfig('version')); self::addStyle('/css/bootstrap.min.css'); self::addScript('/js/jquery-2.1.0.min.js'); self::addScript('/js/bootstrap.min.js'); App::setConfig('title', App::$defaultTitle); self::render('error404.php', array( 'randomPoint' => Point::model()->getRandom(), )); } }