diff options
Diffstat (limited to 'app/controller')
-rw-r--r-- | app/controller/auth.control.php | 67 | ||||
-rw-r--r-- | app/controller/dashboard.control.php | 41 | ||||
-rw-r--r-- | app/controller/deauth.control.php | 40 | ||||
-rw-r--r-- | app/controller/deleteacct.control.php | 58 | ||||
-rw-r--r-- | app/controller/except.control.php | 41 | ||||
-rw-r--r-- | app/controller/obj.control.php | 49 | ||||
-rw-r--r-- | app/controller/root.control.php | 145 | ||||
-rw-r--r-- | app/controller/sysconf.control.php | 57 |
8 files changed, 0 insertions, 498 deletions
diff --git a/app/controller/auth.control.php b/app/controller/auth.control.php deleted file mode 100644 index 5be1e4b..0000000 --- a/app/controller/auth.control.php +++ /dev/null @@ -1,67 +0,0 @@ -<?php - -/* - * SCROTT Copyright (C) 2016 Malf Furious - * - * Scrott is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published - * by the Free Software Foundation, either version 3 of the License, - * or (at your option) any later version. - * - * Scrott is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - * License for more details. - */ - -require_once "class/controller.class.php"; -require_once "model/auth.mod.php"; - -/* - * Auth is used to login or register new user accounts - */ -class Auth extends Controller -{ - /* - * Controller implementation - */ - function handle($argv) - { - $mod = new AuthModel(); - - switch ($_REQUEST['input']['action']) - { - case "signup": - $this->action_signup($mod); - break; - - case "login": - $this->action_login($mod); - break; - - default: - $this->action_default($mod); - break; - } - } - - function action_default($mod) - { - $mod->deflt(); - include "view/auth/default.view.php"; - } - - function action_signup($mod) - { - $mod->signup($_REQUEST['input']); - $this->action_default($mod); - } - - function action_login($mod) - { - $mod->login($_REQUEST['input']); - $this->action_default($mod); - } -} - -?> diff --git a/app/controller/dashboard.control.php b/app/controller/dashboard.control.php deleted file mode 100644 index 40d3678..0000000 --- a/app/controller/dashboard.control.php +++ /dev/null @@ -1,41 +0,0 @@ -<?php - -/* - * SCROTT Copyright (C) 2016 Malf Furious - * - * Scrott is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published - * by the Free Software Foundation, either version 3 of the License, - * or (at your option) any later version. - * - * Scrott is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - * License for more details. - */ - -require_once "class/controller.class.php"; -require_once "model/dashboard.mod.php"; - -/* - * Main page, Dashboard -- Overview information for user, groups, and pads - */ -class Dashboard extends Controller -{ - /* - * Controller implementation - */ - function handle($argv) - { - $mod = new DashboardModel(); - $this->action_default($mod); - } - - function action_default($mod) - { - $mod->deflt(); - include "view/dashboard/default.view.php"; - } -} - -?> diff --git a/app/controller/deauth.control.php b/app/controller/deauth.control.php deleted file mode 100644 index 5867168..0000000 --- a/app/controller/deauth.control.php +++ /dev/null @@ -1,40 +0,0 @@ -<?php - -/* - * SCROTT Copyright (C) 2016 Malf Furious - * - * Scrott is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published - * by the Free Software Foundation, either version 3 of the License, - * or (at your option) any later version. - * - * Scrott is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - * License for more details. - */ - -require_once "class/controller.class.php"; -require_once "model/deauth.mod.php"; - -/* - * Deauth is used to terminate the current session (logout) - */ -class Deauth extends Controller -{ - /* - * Controller implementation - */ - function handle($argv) - { - $mod = new DeauthModel(); - $this->action_default($mod); - } - - function action_default($mod) - { - $mod->deflt(); - } -} - -?> diff --git a/app/controller/deleteacct.control.php b/app/controller/deleteacct.control.php deleted file mode 100644 index 5dc91b5..0000000 --- a/app/controller/deleteacct.control.php +++ /dev/null @@ -1,58 +0,0 @@ -<?php - -/* - * SCROTT Copyright (C) 2016 Malf Furious - * - * Scrott is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published - * by the Free Software Foundation, either version 3 of the License, - * or (at your option) any later version. - * - * Scrott is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - * License for more details. - */ - -require_once "class/controller.class.php"; -require_once "model/deleteacct.mod.php"; - -/* - * Deleteacct is used to delete user accounts, requiring all requests to - * correctly enter the user's password - */ -class Deleteacct extends Controller -{ - /* - * Controller implementation - */ - function handle($argv) - { - $mod = new DeleteacctModel(); - - switch ($_REQUEST['input']['action']) - { - case "delete": - $this->action_delete($mod); - break; - - default: - $this->action_default($mod); - break; - } - } - - function action_default($mod) - { - $mod->deflt(); - include "view/deleteacct/default.view.php"; - } - - function action_delete($mod) - { - $mod->del($_REQUEST['input']); - $this->action_default($mod); - } -} - -?> diff --git a/app/controller/except.control.php b/app/controller/except.control.php deleted file mode 100644 index 8b5e1b5..0000000 --- a/app/controller/except.control.php +++ /dev/null @@ -1,41 +0,0 @@ -<?php - -/* - * SCROTT Copyright (C) 2016 Malf Furious - * - * Scrott is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published - * by the Free Software Foundation, either version 3 of the License, - * or (at your option) any later version. - * - * Scrott is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - * License for more details. - */ - -require_once "class/controller.class.php"; -require_once "model/except.mod.php"; - -/* - * Display application Exceptions - */ -class Except extends Controller -{ - /* - * Controller implementation - */ - function handle($message) - { - $mod = new ExceptModel(); - $this->action_default($mod, $message); - } - - function action_default($mod, $message) - { - $mod->deflt($message); - include "view/except/default.view.php"; - } -} - -?> diff --git a/app/controller/obj.control.php b/app/controller/obj.control.php deleted file mode 100644 index 2154d16..0000000 --- a/app/controller/obj.control.php +++ /dev/null @@ -1,49 +0,0 @@ -<?php - -/* - * SCROTT Copyright (C) 2016 Malf Furious - * - * Scrott is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published - * by the Free Software Foundation, either version 3 of the License, - * or (at your option) any later version. - * - * Scrott is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - * License for more details. - */ - -require_once "class/controller.class.php"; -require_once "model/obj.mod.php"; - -/* - * Object viewer, Used to view groups, pads, and more! - */ -class Obj extends Controller -{ - /* - * Controller implementation - */ - function handle($argv) - { - $mod = new ObjModel($argv[0]); - - if (!$mod->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/app/controller/root.control.php b/app/controller/root.control.php deleted file mode 100644 index 7e4d1ab..0000000 --- a/app/controller/root.control.php +++ /dev/null @@ -1,145 +0,0 @@ -<?php - -/* - * SCROTT Copyright (C) 2016 Malf Furious - * - * Scrott is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published - * by the Free Software Foundation, either version 3 of the License, - * or (at your option) any later version. - * - * Scrott is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - * License for more details. - */ - -require_once "class/controller.class.php"; -require_once "class/object.class.php"; -require_once "class/setting.class.php"; -require_once "controller/sysconf.control.php"; -require_once "controller/except.control.php"; -require_once "controller/auth.control.php"; -require_once "controller/deauth.control.php"; -require_once "controller/dashboard.control.php"; -require_once "controller/obj.control.php"; -require_once "controller/deleteacct.control.php"; - -/* - * Root-level controller for Scrott app. This object will delegate the page request to the - * appropriate controller or handle it with an error message page. - */ -class Root extends Controller -{ - /* - * Controller implementation - */ - function handle($argv) - { - global $_SCROTT; - $argv = $this->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/app/controller/sysconf.control.php b/app/controller/sysconf.control.php deleted file mode 100644 index 6379d42..0000000 --- a/app/controller/sysconf.control.php +++ /dev/null @@ -1,57 +0,0 @@ -<?php - -/* - * SCROTT Copyright (C) 2016 Malf Furious - * - * Scrott is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published - * by the Free Software Foundation, either version 3 of the License, - * or (at your option) any later version. - * - * Scrott is distributed in the hope that it will be useful, but - * WITHOUT ANY WARRANTY; even the implied warranty of MERCHANTABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - * License for more details. - */ - -require_once "class/controller.class.php"; -require_once "model/sysconf.mod.php"; - -/* - * SysConf is the interface for creating an install's "scrott.conf.php" file if it doesn't exist - */ -class Sysconf extends Controller -{ - /* - * Controller implementation - */ - function handle($argv) - { - $mod = new SysconfModel(); - - switch ($_REQUEST['input']['action']) - { - case "save": - $this->action_save($mod); - break; - - default: - $this->action_default($mod); - break; - } - } - - function action_default($mod) - { - $mod->deflt(); - include "view/sysconf/default.view.php"; - } - - function action_save($mod) - { - $mod->save($_REQUEST['input']); - $this->action_default($mod); - } -} - -?> |