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); -    } -} - -?>  | 
