/**
  * Grabs the login form return url and sets it to all available cb login forms on the page
  *
  * @param JApplication $app
  */
 private function setReturnURL($app)
 {
     if (!$this->getUserIsGuest()) {
         return;
     }
     static $cache = 0;
     if (!$cache++) {
         if ($this->params->get('return_urls', 1)) {
             $redirect = $app->getUserState('users.login.form.return', null);
             if (!$redirect) {
                 $data = $app->getUserState('users.login.form.data', array());
                 $redirect = isset($data['return']) ? $data['return'] : null;
                 if ($redirect) {
                     $data['return'] = null;
                     $app->setUserState('users.login.form.data', $data);
                 }
             } else {
                 $app->setUserState('users.login.form.return', null);
             }
             if ($redirect) {
                 $document = JFactory::getDocument();
                 $js = "function cbLoginReturn() {" . "var pageForms = document.forms;" . "if ( pageForms ) for ( i = 0; i < pageForms.length; i++ ) {" . "if ( pageForms[i].id == 'login-form' ) {" . "pageForms[i].return.value = '" . addslashes('B:' . base64_encode($redirect)) . "';" . "}" . "}" . "}" . "if ( window.addEventListener ) {" . "window.addEventListener( 'load', cbLoginReturn, false );" . "} else if ( window.attachEvent ) {" . "window.attachEvent( 'onload', cbLoginReturn );" . "}";
                 $document->addScriptDeclaration($js);
             }
         }
     }
 }
Example #2
0
 /**
  * Gets a session-based user-state
  *
  * @param  string  $stateName  Unique name of state
  * @param  string  $default    First value if not initialized
  * @return string              State
  */
 function getUserState($stateName, $default = null)
 {
     return $this->_baseFramework->getUserState($stateName, $default);
 }
 function getUserState($stateName)
 {
     return $this->_baseFramework->getUserState($stateName);
 }