From 6dd131780490eb6ab13a4fccff134fe3c409d215 Mon Sep 17 00:00:00 2001 From: Malf Furious Date: Thu, 8 Feb 2018 00:43:49 -0500 Subject: Reorg examples/ directory --- examples/controller/obj.control.php | 49 ------------ examples/controller/root.control.php | 145 ----------------------------------- examples/obj.control.php | 49 ++++++++++++ examples/root.control.php | 145 +++++++++++++++++++++++++++++++++++ 4 files changed, 194 insertions(+), 194 deletions(-) delete mode 100644 examples/controller/obj.control.php delete mode 100644 examples/controller/root.control.php create mode 100644 examples/obj.control.php create mode 100644 examples/root.control.php (limited to 'examples') diff --git a/examples/controller/obj.control.php b/examples/controller/obj.control.php deleted file mode 100644 index 2154d16..0000000 --- a/examples/controller/obj.control.php +++ /dev/null @@ -1,49 +0,0 @@ -obj->canAccess($this->getCurrentUser())) - throw new Exception("You do not have permission to access this object"); - - switch ($mod->obj->type) - { - case "group": - $this->action_group($mod); - break; - } - } - - function action_group($mod) - { - include "view/obj/group.view.php"; - } -} - -?> diff --git a/examples/controller/root.control.php b/examples/controller/root.control.php deleted file mode 100644 index 7e4d1ab..0000000 --- a/examples/controller/root.control.php +++ /dev/null @@ -1,145 +0,0 @@ -normalizeArgv($argv); - - try - { - /* Assert that the system config file exists and has been included */ - if (!$this->scrottConfExists()) - { - $ctrl = new Sysconf(); - $ctrl->handle($argv); - return; - } - - /* Assert we are running over HTTP(S), whichever is desired */ - switch ($_SCROTT['settSSL']) - { - case "force": $this->sec_require_https(); break; - case "forbid": $this->sec_forbid_https(); break; - default: - switch (Setting::settSSL()) - { - case "force": $this->sec_require_https(); break; - case "forbid": $this->sec_forbid_https(); break; - } - } - - /* Assert session IP */ - $this->sec_verify_ip(); - - /* Assert that a user is logged in */ - if (!$this->getCurrentUser()) - { - $ctrl = new Auth(); - $ctrl->handle($argv); - return; - } - - /* Handle page request */ - if (count($argv) == 0) - $ctrl = new Dashboard(); - - else - { - switch ($argv[0]) - { - case "logout": $ctrl = new Deauth(); break; - case "deleteaccount": $ctrl = new Deleteacct(); break; - default: - /* Check if arg is an object guid */ - $obj = new DBObject(); - - if ($obj->isGUID($argv[0])) - { - $ctrl = new Obj(); - break; - } - - /* No page to show for requested path */ - throw new Exception("The requested path is not valid."); - break; - } - } - - $ctrl->handle($argv); - } - - catch (Exception $e) - { - $ctrl = new Except(); - $ctrl->handle($e->getMessage()); - } - } - - /* - * Get a useful path string by normalizeing the $argv array received from the main function. - * This will remove directory names that appear in the $this->ar() string and the initial - * and trailing (if present) empty strings - */ - function normalizeArgv($argv) - { - $argv = array_values(array_filter($argv)); - $ar = array_values(array_filter(explode("/", $this->ar()))); - $i = 0; - $trunc = true; - - if (count($ar) == 0) - return $argv; - - foreach ($ar as $elem) - { - if ($elem != $argv[$i]) - { - $trunc = false; - break; - } - - $i++; - } - - if (!$trunc) - return $argv; - - return array_values(array_slice($argv, count($ar))); - } -} - -?> diff --git a/examples/obj.control.php b/examples/obj.control.php new file mode 100644 index 0000000..2154d16 --- /dev/null +++ b/examples/obj.control.php @@ -0,0 +1,49 @@ +obj->canAccess($this->getCurrentUser())) + throw new Exception("You do not have permission to access this object"); + + switch ($mod->obj->type) + { + case "group": + $this->action_group($mod); + break; + } + } + + function action_group($mod) + { + include "view/obj/group.view.php"; + } +} + +?> diff --git a/examples/root.control.php b/examples/root.control.php new file mode 100644 index 0000000..7e4d1ab --- /dev/null +++ b/examples/root.control.php @@ -0,0 +1,145 @@ +normalizeArgv($argv); + + try + { + /* Assert that the system config file exists and has been included */ + if (!$this->scrottConfExists()) + { + $ctrl = new Sysconf(); + $ctrl->handle($argv); + return; + } + + /* Assert we are running over HTTP(S), whichever is desired */ + switch ($_SCROTT['settSSL']) + { + case "force": $this->sec_require_https(); break; + case "forbid": $this->sec_forbid_https(); break; + default: + switch (Setting::settSSL()) + { + case "force": $this->sec_require_https(); break; + case "forbid": $this->sec_forbid_https(); break; + } + } + + /* Assert session IP */ + $this->sec_verify_ip(); + + /* Assert that a user is logged in */ + if (!$this->getCurrentUser()) + { + $ctrl = new Auth(); + $ctrl->handle($argv); + return; + } + + /* Handle page request */ + if (count($argv) == 0) + $ctrl = new Dashboard(); + + else + { + switch ($argv[0]) + { + case "logout": $ctrl = new Deauth(); break; + case "deleteaccount": $ctrl = new Deleteacct(); break; + default: + /* Check if arg is an object guid */ + $obj = new DBObject(); + + if ($obj->isGUID($argv[0])) + { + $ctrl = new Obj(); + break; + } + + /* No page to show for requested path */ + throw new Exception("The requested path is not valid."); + break; + } + } + + $ctrl->handle($argv); + } + + catch (Exception $e) + { + $ctrl = new Except(); + $ctrl->handle($e->getMessage()); + } + } + + /* + * Get a useful path string by normalizeing the $argv array received from the main function. + * This will remove directory names that appear in the $this->ar() string and the initial + * and trailing (if present) empty strings + */ + function normalizeArgv($argv) + { + $argv = array_values(array_filter($argv)); + $ar = array_values(array_filter(explode("/", $this->ar()))); + $i = 0; + $trunc = true; + + if (count($ar) == 0) + return $argv; + + foreach ($ar as $elem) + { + if ($elem != $argv[$i]) + { + $trunc = false; + break; + } + + $i++; + } + + if (!$trunc) + return $argv; + + return array_values(array_slice($argv, count($ar))); + } +} + +?> -- cgit v1.2.3