function parse($html = null, $blockName = 'document', $blockParams = null, $noCycle = false) { $messages = SlConfigure::read2('Message'); if ($messages) { SlSession::delete('Message'); } else { $messages = array(); } $this->vars['bufferedOutput'] = SlConfigure::read('View.bufferedOutput'); SlConfigure::delete('View.bufferedOutput'); if ($messages || $this->vars['bufferedOutput']) { $this->blocks["loop"]->params[0] = $messages; return parent::parse($html, $blockName); } }
public function login() { $this->helpers[] = 'JsValidate.Validation'; $this->AuthUser; $this->set('title', __t('Login')); if (!empty($this->data['AuthUser']['username'])) { if (SlAuth::login($this->data['AuthUser']['username'], $this->data['AuthUser']['password'], array('remember' => $this->data['AuthUser']['remember']))) { $key = empty($this->params['admin']) ? 'Auth.url.afterLogin' : 'Auth.url.afterAdminLogin'; $url = SlConfigure::read2($key); SlSession::delete($key); $this->redirect($url); } else { $this->Session->setFlash(__t('Login error. Check username and password')); } } }
/** * For compatibility with Cake */ function flash($key = 'flash') { $out = false; $flash = SlSession::read('Message.' . $key); if ($flash['element'] == 'default') { if (!empty($flash['params']['class'])) { $class = $flash['params']['class']; } else { $class = 'message'; } $out = '<div id="' . $key . 'Message" class="' . $class . '">' . $flash['message'] . '</div>'; } elseif ($flash['element'] == '' || $flash['element'] == null) { $out = $flash['message']; } else { $view =& ClassRegistry::getObject('view'); $tmpVars = $flash['params']; $tmpVars['message'] = $flash['message']; $out = $view->element($flash['element'], $tmpVars); } SlSession::delete('Message.' . $key); return $out; }
/** * Redirects to given $url, after turning off $this->autoRender. * Script execution is halted after the redirect. * * @param mixed $url A string or array-based URL pointing to another location within the app, or an absolute URL * @param integer $status Optional HTTP status code (eg: 404) * @access public * @link http://book.cakephp.org/view/425/redirect */ public function redirect($url, $status = null, $useReferer = true) { if ($useReferer) { $ref = SlSession::read('Routing.ref'); if ($ref) { SlSession::delete('Routing.ref'); if (Sl::url($ref) !== Sl::url()) { $url = $ref; } } } // cyclic check if (Sl::url($url) === Sl::url()) { die('Infinite redirection loop detected.'); } // code inspired from RequestHandlerComponent if ($this->RequestHandler->isAjax()) { foreach ($_POST as $key => $val) { unset($_POST[$key]); } echo Sl::requestAction($url, array('requested' => false)); $this->_stop(); } // show a human readable redirect message allowing debug output to be read if (headers_sent() || $this->output && Configure::read()) { $url = h(SL::url($url)); if (empty($status)) { $status = 'null'; } echo "<p style='background: #ff7; color: #000; padding: 1em;'>Redirect to <a href='{$url}'>{$url}</a> (code: {$status}) cancelled.</p>"; while (ob_get_level()) { ob_end_flush(); } $this->_stop(); } parent::redirect(Sl::url($url, true), $status); }
public function del($name) { return SlSession::delete($name); }