From 0ae8cbf5c0b1a198b963490985b7738392ebcb97 Mon Sep 17 00:00:00 2001 From: ahriman Date: Mon, 3 Dec 2018 19:22:25 -0500 Subject: installed dokuwiki, added to navbar, updated news --- wiki/inc/Action/AbstractAction.php | 88 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 wiki/inc/Action/AbstractAction.php (limited to 'wiki/inc/Action/AbstractAction.php') diff --git a/wiki/inc/Action/AbstractAction.php b/wiki/inc/Action/AbstractAction.php new file mode 100644 index 0000000..ea86238 --- /dev/null +++ b/wiki/inc/Action/AbstractAction.php @@ -0,0 +1,88 @@ +actionname = $actionname; + } else { + // http://stackoverflow.com/a/27457689/172068 + $this->actionname = strtolower(substr(strrchr(get_class($this), '\\'), 1)); + } + } + + /** + * Return the minimum permission needed + * + * This needs to return one of the AUTH_* constants. It will be checked against + * the current user and page after checkPermissions() ran through. If it fails, + * the user will be shown the Denied action. + * + * @return int + */ + abstract public function minimumPermission(); + + /** + * Check conditions are met to run this action + * + * @throws ActionException + * @return void + */ + public function checkPreconditions() { + } + + /** + * Process data + * + * This runs before any output is sent to the browser. + * + * Throw an Exception if a different action should be run after this step. + * + * @throws ActionException + * @return void + */ + public function preProcess() { + } + + /** + * Output whatever content is wanted within tpl_content(); + * + * @fixme we may want to return a Ui class here + */ + public function tplContent() { + throw new FatalException('No content for Action ' . $this->actionname); + } + + /** + * Returns the name of this action + * + * This is usually the lowercased class name, but may differ for some actions. + * eg. the export_ modes or for the Plugin action. + * + * @return string + */ + public function getActionName() { + return $this->actionname; + } +} -- cgit 1.4.1-2-gfad0