/**
  * Авторизует пользователя рамблера
  *
  * Страница рамблера передаёт в единственном аргументе зашифрованный
  * ассоциативный массив данных о пользователе например:
  * {
  *     "date":        "Sun, 12 Sep 2010 20:16:21 +0400",
  *     "id":          "ef-user-dsdsdsd-122121212",
  *     "name":        "Ivan",
  *     "email":       "*****@*****.**",
  *     "redirectUrl": "/my/wikiwrapper/tiki-view_blog.php?blogId=1"
  * }
  * @param $args
  */
 public function rambler($args)
 {
     $ramblerString = $args[0];
     $cipher = MCRYPT_RIJNDAEL_128;
     $key = 'X9Kls8DR72DqEFKLCMN02DdOQWdfLP2a';
     $iv = 'dOQWdfLP2aCZM12D';
     $decoded = urlsafe_b64decode($ramblerString);
     $json = mcrypt_cbc($cipher, $key, $decoded, MCRYPT_DECRYPT, $iv);
     $data = json_decode(trim($json), true);
     $default = array('id' => null, 'email' => null, 'name' => 'Рамблер', 'redirectUrl' => '/info/');
     $data = array_merge($default, (array) $data);
     $ramblerLogin = $data['id'] ? "rambler_{$data['id']}" : null;
     $user = Core::getInstance()->user;
     $user->destroy();
     // Пытаемся инициализировать пользователя
     $user->initUser($ramblerLogin, sha1($ramblerLogin));
     // Создаём нового пользователя
     if (!$user->getId() && $data['id']) {
         Login_Model::generateUserByRamblerLogin($ramblerLogin, $data['email'], $data['name']);
         $data['redirectUrl'] = '/my/review/';
         $user->initUser($ramblerLogin, sha1($ramblerLogin));
         setCookie("guide", "uyjsdhf", 0, COOKIE_PATH, COOKIE_DOMEN, false);
     }
     if ($user->getId()) {
         $this->model->login($ramblerLogin, sha1($ramblerLogin), true);
         header(sprintf('Location: %s', $data['redirectUrl']));
     } else {
         header('Location: /login/');
     }
     die;
 }
 /**
  * Авторизовать пользователя
  */
 protected function _authenticateUser($login, $password)
 {
     $login_Model = new Login_Model();
     $login_Model->login($login, $password);
 }