示例#1
0
 public function beforeFilter()
 {
     SlConfigure::setCollections();
     if (isset($this->data[$this->modelClass]['id'])) {
         $this->id = $this->data[$this->modelClass]['id'];
     } elseif (isset($this->params['pass'][0])) {
         $this->id = $this->params['pass'][0];
     }
     if (!empty($this->params['named']['ref'])) {
         SlSession::write('Routing.ref', base64_decode($this->params['named']['ref']));
     }
     // Make AJAX errors and warnings readable
     if (class_exists('Debugger')) {
         if ($this->RequestHandler->isAjax()) {
             Debugger::output('base');
         }
     }
     // update current language
     if (!empty($this->params['named']['lang'])) {
         $this->params['lang'] =& $this->params['named']['lang'];
     }
     if (!empty($this->params['lang'])) {
         Sl::setLocale($this->params['lang'], true);
     }
     $languages = SlConfigure::read('I18n.languages');
     $currLang = SlConfigure::read('I18n.lang');
     $languageLinks = array();
     foreach ($languages as $lang => $language) {
         $languageLinks[$lang] = array('title' => $language, 'active' => $lang == $currLang, 'url' => am($this->passedArgs, array('action' => $this->action, 'lang' => $lang)));
     }
     SlConfigure::write('Navigation.languages', $languageLinks);
 }
示例#2
0
 /**
  *
  * @param string $username
  * @param string $password
  * @param array $options
  * @return mixed True = logged in, false = invalid password, null = not logged in
  */
 public static function login($username = null, $password = null, $options = array())
 {
     $options += array('remember' => true);
     $remember = SlConfigure::read('Auth.options.remember');
     if ($username) {
         // normal login
         $success = self::_login($username, $password);
         if ($success && $options['remember'] && $remember) {
             SlCookie::write('Auth.user', compact('username', 'password'), true, $remember);
         }
         return $success;
     } else {
         // autologin
         $user = SlCookie::read('Auth.user');
         if ($user) {
             if (self::_login($user['username'], $user['password'])) {
                 SlConfigure::setCollections();
                 return true;
             }
         }
     }
     self::logout();
 }