[ Index ] |
PHP Cross Reference of DokuWiki |
[Summary view] [Print] [Text view]
1 <?php 2 3 namespace dokuwiki\Action\Exception; 4 5 /** 6 * Class ActionException 7 * 8 * This exception and its subclasses signal that the current action should be 9 * aborted and a different action should be used instead. The new action can 10 * be given as parameter in the constructor. Defaults to 'show' 11 * 12 * The message will NOT be shown to the enduser 13 * 14 * @package dokuwiki\Action\Exception 15 */ 16 class ActionException extends \Exception { 17 18 /** @var string the new action */ 19 protected $newaction; 20 21 /** @var bool should the exception's message be shown to the user? */ 22 protected $displayToUser = false; 23 24 /** 25 * ActionException constructor. 26 * 27 * When no new action is given 'show' is assumed. For requests that originated in a POST, 28 * a 'redirect' is used which will cause a redirect to the 'show' action. 29 * 30 * @param string|null $newaction the action that should be used next 31 * @param string $message optional message, will not be shown except for some dub classes 32 */ 33 public function __construct($newaction = null, $message = '') { 34 global $INPUT; 35 parent::__construct($message); 36 if(is_null($newaction)) { 37 if(strtolower($INPUT->server->str('REQUEST_METHOD')) == 'post') { 38 $newaction = 'redirect'; 39 } else { 40 $newaction = 'show'; 41 } 42 } 43 44 $this->newaction = $newaction; 45 } 46 47 /** 48 * Returns the action to use next 49 * 50 * @return string 51 */ 52 public function getNewAction() { 53 return $this->newaction; 54 } 55 56 /** 57 * Should this Exception's message be shown to the user? 58 * 59 * @param null|bool $set when null is given, the current setting is not changed 60 * @return bool 61 */ 62 public function displayToUser($set = null) { 63 if(!is_null($set)) $this->displayToUser = $set; 64 return $set; 65 } 66 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body