wikipoints/ground/controllers/IndexController.php

80 lines
2.0 KiB
PHP

<?php
class IndexController extends Controller
{
/**
* Действие по умолчанию
*/
static function actionIndex()
{
self::addScript('/js/jquery-2.1.0.min.js');
self::addScript('http://api-maps.yandex.ru/2.0-stable/?load=package.full&lang=ru-RU&mode=release');
self::addScript('/js/main.js?ver='.App::getConfig('version'));
self::addScript('/js/bootstrap.min.js');
self::addStyle('/css/style.css?ver='.App::getConfig('version'));
self::addStyle('/css/bootstrap.min.css');
self::addStyle('/css/bootstrap-theme.min.css');
if (!App::$user )
self::addScript('//ulogin.ru/js/ulogin.js');
$category = new Category();
$res = App::$DB->query("SELECT COUNT(`id`) pointsCount FROM `points`")->fetch(PDO::FETCH_ASSOC);
App::setConfig('title', $res['pointsCount'].' или даже больше поводов не сидеть дома');
self::render('indexTemplate.php', array(
'categories' => $category->getAll('', 'ord'),
'user' => App::$user,
));
}
static function actionUser()
{
print $_SERVER['HTTP_HOST'];
var_dump(App::$user->id, App::$user->nick, App::$user->name, App::$user->network);
}
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 = new User();
$user->getByUID($uLoginUser['identity']);
if( !$user->id )
{
$res = $user->add(array(
'uid' => $uLoginUser['identity'],
'nick' => $uLoginUser['nickname'],
'name' => $uLoginUser['first_name'],
'profile' => $uLoginUser['profile'],
'network' => $uLoginUser['network']
));
if ($res)
{
$user = new User();
$user = $user->getByPK($res);
}
else
{
return false;
}
}
App::userLogin($user);
App::redirect('/');
}
}