/** * The method to test UriHelper::base64 in encoding cases. * * @param string $expected * @param string $url * * @return void * * @dataProvider encodedUrlDataProvider * @covers Windwalker\Helper\UriHelper::base64 * @group base64 */ public function testBase64Encode($expected, $url) { // Encode $this->assertSame($expected, UriHelper::base64('encode', $url)); // Decode $this->assertNotSame($expected, UriHelper::base64('decode', $url)); // Other actions $this->assertSame($url, UriHelper::base64('pardon?', $url)); }
/** * Set a URL for browser redirection. * * @param string $url URL to redirect to. * @param string $message Message to display on redirect. Optional, defaults to value set internally by controller, if any. * @param string $type Message type. Optional, defaults to 'message' or the type set by a previous call to setMessage. * * @return void */ public function redirect($url = null, $message = null, $type = Message::MESSAGE_GREEN) { if ($this->input->get('hmvc') || !$this->input->get('redirect', true)) { return; } if ($this->input->get('return') && $this->allowReturn) { $url = UriHelper::base64('decode', $this->input->get('return')); } if (!$url && ($redirect = $this->getRedirect(true))) { list($url, $message, $type) = $redirect; } if ($url) { $this->addMessage($message, $type); $this->app->redirect($url); } }
/** * Set a URL for browser redirection. * * @param string $url URL to redirect to. * @param string $msg Message to display on redirect. Optional, defaults to value set internally by controller, if any. * @param string $type Message type. Optional, defaults to 'message' or the type set by a previous call to setMessage. * * @return void */ public function redirect($url, $msg = null, $type = 'message') { $this->setMessage($msg, $type); if ($this->input->get('hmvc') || !$this->input->get('redirect', true)) { return; } if ($this->input->get('return') && $this->allowReturn) { $url = UriHelper::base64('decode', $this->input->get('return')); } $this->app->redirect($url); }