getAll(array('order' => 'ord ASC')); $routes = array(); if (App::$user && App::$user->id) { $routes = Route::model()->getByAuthor(App::$user->id); self::addVar('user', App::$user->id); } else { self::addVar('user', '0'); } $favorites = array(); if (App::$user && App::$user->id) { $favorites = Favorite::model()->getAllMy(); } self::addVar('isAdmin', (int) (App::$user && App::$user->isAdmin == 1)); $res = App::DB()->query("SELECT COUNT(`id`) pointsCount FROM `points`")->fetch(PDO::FETCH_ASSOC); App::setConfig('title', $res['pointsCount'] . ' или даже больше поводов не сидеть дома'); self::addVar('pointsCount', $res['pointsCount']); self::addVar('pointLat', 0); self::addVar('pointLng', 0); if (isset($_GET['point']) && $_GET['point'] && is_numeric($_GET['point'])) { $id = (int) $_GET['point']; $point = Point::model()->getByPK($id); $point->name = htmlspecialchars($point->name); $point->descriptionHtml = htmlspecialchars($point->description); $point->descriptionHtml .= ' Посмотреть на карте: http://wikipoints.ru/?point=' . $id; $point->descriptionHtml .= ' #wikipoints'; $og = Helper::buildOG($point); self::addVar('pointLat', $point->lat); self::addVar('pointLng', $point->lng); } else if (isset($_GET['point']) && $_GET['point'] && strtolower($_GET['point']) == 'random') { $og = array(); $og['title'] = 'Случайная точка на wikipoints.ru'; $og['description'] = 'Загляните сюда: http://vk.com/wikipoints Случайная точка на карте - лучший способ узнать что-то новое!'; $og['site_name'] = 'WikiPoints - ' . $res['pointsCount'] . ' или даже больше поводов не сидеть дома'; $og['type'] = 'article'; $og['url'] = 'http://wikipoints.ru/?point=random'; $og['image'] = 'http://wikipoints.ru/img/compas.jpg'; } self::render('indexTemplate.php', array( 'categories' => $category, 'user' => App::$user, 'routes' => $routes, 'favorites' => $favorites, 'og' => $og, )); } static function actionUser() { App::error404(); $routes = Route::model()->getByAuthor(App::$user->id); var_dump($routes); } static function actionLogout() { App::userLogout(); App::redirect('/'); } static function actionLogin() { $source = file_get_contents('http://ulogin.ru/token.php?token=' . $_POST['token'] . '&host=' . $_SERVER['HTTP_HOST']); $uLoginUser = json_decode($source, true); $uLoginUser['identity'] = md5($uLoginUser['uid'] . $uLoginUser['network'] . '=P'); $user = User::model()->getByUID($uLoginUser['identity']); if (!$user->id) { $user = $user->add(array( 'uid' => $uLoginUser['identity'], 'nick' => $uLoginUser['nickname'], 'name' => $uLoginUser['first_name'], 'profile' => $uLoginUser['profile'], 'network' => $uLoginUser['network'], 'photo' => $uLoginUser['photo_big'], )); if (!$user) { return false; } } App::userLogin($user); App::redirect(isset($_SERVER['HTTP_REFERER'])?$_SERVER['HTTP_REFERER']:'/'); } static function actionSitemap() { $xml = new SimpleXMLElement(''); $points = Point::model()->getAll(array('order' => 'ID DESC', 'asArray' => true)); foreach ($points as $point) { $url = $xml->addChild('url'); $url->addChild('loc', 'http://wikipoints.ru/page/point/id/' . $point['id']); $url->addChild('lastmod', date("Y-m-d", $point['date'])); $url->addChild('changefreq', "weekly"); $url->addChild('priority', "0.8"); } Header('Content-type: text/xml'); print($xml->asXML()); } static function actionTest() { var_dump(Favorite::model()->getAllMy()); } }