В ближайших и похожих точках выводятся только отмодерированные точки

This commit is contained in:
Krivchikov Dmitry 2015-08-08 23:56:31 +03:00
parent 1d67daa932
commit c70d82c57d
2 changed files with 28 additions and 34 deletions

View File

@ -8,18 +8,18 @@ class PageController extends Controller
self::$layout = 'layoutPage.php'; self::$layout = 'layoutPage.php';
self::addStyle('/css/style.css?ver=' . App::getConfig('version')); self::addStyle('/css/style.css?ver=' . App::getConfig('version'));
self::addStyle('/css/pageStyle.css?ver=' . App::getConfig('version')); self::addStyle('/css/pageStyle.css?ver=' . App::getConfig('version'));
self::addScript('/js/jquery-2.1.0.min.js'); self::addScript('/js/jquery-2.1.0.min.js');
self::addScript('/js/jquery-ui-1.10.4.custom.min.js'); self::addScript('/js/jquery-ui-1.10.4.custom.min.js');
self::addScript('/js/bootstrap.min.js'); self::addScript('/js/bootstrap.min.js');
self::addStyle('/css/bootstrap.min.css'); self::addStyle('/css/bootstrap.min.css');
self::addStyle('/css/bootstrap-theme.min.css'); self::addStyle('/css/bootstrap-theme.min.css');
$notModeratedPoints = $result = array(); $notModeratedPoints = $result = array();
// On moderation // On moderation
if (App::$user && App::$user->isAdmin) { if (App::$user && App::$user->isAdmin) {
$param['order']='id DESC'; $param['order'] = 'id DESC';
$param['where']= '`moderate` = 0'; $param['where'] = '`moderate` = 0';
$points = Point::model()->getAll($param); $points = Point::model()->getAll($param);
$categories = Category::model()->getAll(array('order' => 'ord ASC')); $categories = Category::model()->getAll(array('order' => 'ord ASC'));
@ -38,9 +38,9 @@ class PageController extends Controller
// ------------------------------------------ // ------------------------------------------
$param = array(); $param = array();
$param['order']='id DESC'; $param['order'] = 'id DESC';
if (App::getParam('category')) { if (App::getParam('category')) {
$param['where'] = 'categoryId = '.(int)App::getParam('category').' AND `moderate` = 1'; $param['where'] = 'categoryId = ' . (int) App::getParam('category') . ' AND `moderate` = 1';
} else { } else {
$param['where'] = '`moderate` = 1'; $param['where'] = '`moderate` = 1';
if (!(App::$user && App::$user->isAdmin)) { if (!(App::$user && App::$user->isAdmin)) {
@ -48,11 +48,11 @@ class PageController extends Controller
} }
} }
$points = Point::model()->getAll($param); $points = Point::model()->getAll($param);
$categories = Category::model()->getAll(array('order' => 'ord ASC')); $categories = Category::model()->getAll(array('order' => 'ord ASC'));
$result = array(); $result = array();
foreach ($points as $point) { foreach ($points as $point) {
$id = $point->id; $id = $point->id;
$result[$id]['id'] = $point->id; $result[$id]['id'] = $point->id;
$result[$id]['name'] = $point->name; $result[$id]['name'] = $point->name;
@ -61,7 +61,7 @@ class PageController extends Controller
$result[$id]['author'] = $point->authorUser->nick; $result[$id]['author'] = $point->authorUser->nick;
$result[$id]['categoryId'] = $point->categoryId; $result[$id]['categoryId'] = $point->categoryId;
$result[$id]['categoryIcon'] = $categories[$point->categoryId]->icon; $result[$id]['categoryIcon'] = $categories[$point->categoryId]->icon;
} }
$res = App::DB()->query("SELECT COUNT(`id`) pointsCount FROM `points`")->fetch(PDO::FETCH_ASSOC); $res = App::DB()->query("SELECT COUNT(`id`) pointsCount FROM `points`")->fetch(PDO::FETCH_ASSOC);
App::setConfig('title', $res['pointsCount'] . ' или даже больше поводов не сидеть дома'); App::setConfig('title', $res['pointsCount'] . ' или даже больше поводов не сидеть дома');
@ -80,8 +80,7 @@ class PageController extends Controller
self::$layout = 'layoutPage.php'; self::$layout = 'layoutPage.php';
$pointId = (int) App::getParam('id'); $pointId = (int) App::getParam('id');
if ($pointId) if ($pointId) {
{
self::addScript('/js/jquery-2.1.0.min.js'); self::addScript('/js/jquery-2.1.0.min.js');
self::addScript('/js/jquery-ui-1.10.4.custom.min.js'); self::addScript('/js/jquery-ui-1.10.4.custom.min.js');
self::addScript('/js/bootstrap.min.js'); self::addScript('/js/bootstrap.min.js');
@ -110,14 +109,13 @@ class PageController extends Controller
$point = Point::model()->getByPK($pointId); $point = Point::model()->getByPK($pointId);
if ($point->id == NULL) if ($point->id == NULL) {
{
App::error404(); App::error404();
} }
$point->descriptionHtml = nl2br($point->description); $point->descriptionHtml = nl2br($point->description);
$point->name = htmlspecialchars($point->name); $point->name = htmlspecialchars($point->name);
App::setConfig('title', $point->name. ' - wikipoints.ru'); App::setConfig('title', $point->name . ' - wikipoints.ru');
self::addVar('pointLat', $point->lat); self::addVar('pointLat', $point->lat);
self::addVar('pointLng', $point->lng); self::addVar('pointLng', $point->lng);
self::addVar('pointId', $point->id); self::addVar('pointId', $point->id);
@ -133,7 +131,7 @@ class PageController extends Controller
$point->iLike = Like::model()->checkIsMy($pointId); $point->iLike = Like::model()->checkIsMy($pointId);
$photoLinks = PhotoLinks::model()->getAll(array('where'=>'`pointId` = '.$pointId)); $photoLinks = PhotoLinks::model()->getAll(array('where' => '`pointId` = ' . $pointId));
$photoLinksRes = array(); $photoLinksRes = array();
if ($photoLinks) { if ($photoLinks) {
foreach ($photoLinks as $photoLink) { foreach ($photoLinks as $photoLink) {
@ -144,7 +142,7 @@ class PageController extends Controller
} }
$photoLinksRes = implode('; ', array_keys($photoLinksRes)); $photoLinksRes = implode('; ', array_keys($photoLinksRes));
$similarPoints = Point::model()->getAll(array('where' => 'categoryId = '.$point->categoryId.' AND `id` <> '.$point->id.' ORDER BY RAND() LIMIT 6;')); $similarPoints = Point::model()->getAll(array('where' => '`moderate` = 1 AND categoryId = ' . $point->categoryId . ' AND `id` <> ' . $point->id . ' ORDER BY RAND() LIMIT 6;'));
$closestPoints = Point::model()->getClosestPoints($pointId); $closestPoints = Point::model()->getClosestPoints($pointId);
$randomPoint = Point::model()->getRandom(); $randomPoint = Point::model()->getRandom();
$randomPoint->description = mb_substr($randomPoint->description, 0, 400, 'UTF-8'); $randomPoint->description = mb_substr($randomPoint->description, 0, 400, 'UTF-8');
@ -164,8 +162,7 @@ class PageController extends Controller
'user' => App::$user, 'user' => App::$user,
'photoLinks' => $photoLinksRes, 'photoLinks' => $photoLinksRes,
)); ));
} else } else {
{
App::error404(); App::error404();
} }
} }
@ -175,8 +172,7 @@ class PageController extends Controller
self::$layout = 'layoutPage.php'; self::$layout = 'layoutPage.php';
$articleId = (int) App::getParam('id'); $articleId = (int) App::getParam('id');
if ($articleId) if ($articleId) {
{
self::addScript('/js/jquery-2.1.0.min.js'); self::addScript('/js/jquery-2.1.0.min.js');
self::addScript('/js/jquery-ui-1.10.4.custom.min.js'); self::addScript('/js/jquery-ui-1.10.4.custom.min.js');
self::addScript('/js/bootstrap.min.js'); self::addScript('/js/bootstrap.min.js');
@ -192,12 +188,11 @@ class PageController extends Controller
$article = Article::model()->getByPK($articleId); $article = Article::model()->getByPK($articleId);
if ($article->id == NULL) if ($article->id == NULL) {
{
App::error404(); App::error404();
} }
App::setConfig('title', $article->title. ' - wikipoints.ru'); App::setConfig('title', $article->title . ' - wikipoints.ru');
self::render('article.php', array( self::render('article.php', array(
'article' => $article, 'article' => $article,
@ -205,8 +200,7 @@ class PageController extends Controller
// 'og' => Helper::buildOG($point), // 'og' => Helper::buildOG($point),
// 'user' => App::$user, // 'user' => App::$user,
)); ));
} else } else {
{
App::error404(); App::error404();
} }
} }
@ -214,12 +208,10 @@ class PageController extends Controller
static function actionVkpoint() static function actionVkpoint()
{ {
$pointId = (int) App::getParam('id'); $pointId = (int) App::getParam('id');
if (App::$user && App::$user->isAdmin == 1 && $pointId) if (App::$user && App::$user->isAdmin == 1 && $pointId) {
{
$point = Point::model()->getByPK($pointId); $point = Point::model()->getByPK($pointId);
if ($point->id == NULL) if ($point->id == NULL) {
{
App::error404(); App::error404();
} }
@ -234,8 +226,7 @@ class PageController extends Controller
'point' => $point, 'point' => $point,
'photos' => $point->photos, 'photos' => $point->photos,
)); ));
} else } else {
{
App::error404(); App::error404();
} }
} }
@ -246,4 +237,5 @@ class PageController extends Controller
'point' => Point::model()->getRandom(), 'point' => Point::model()->getRandom(),
)); ));
} }
} }

View File

@ -55,6 +55,8 @@ class Point extends Model
SQRT(POW(`lat`-:lat,2)+POW(`lng`-:lng,2)) SQRT(POW(`lat`-:lat,2)+POW(`lng`-:lng,2))
) AS `dist` FROM `' . $this->_tableName_ . '` ) AS `dist` FROM `' . $this->_tableName_ . '`
WHERE WHERE
`moderate` = 1
AND
`lat` BETWEEN :minLat AND :maxLat `lat` BETWEEN :minLat AND :maxLat
AND AND
`lng` BETWEEN :minLng AND :maxLng `lng` BETWEEN :minLng AND :maxLng