summaryrefslogtreecommitdiffstats
path: root/app/controller
diff options
context:
space:
mode:
Diffstat (limited to 'app/controller')
-rw-r--r--app/controller/auth.control.php67
-rw-r--r--app/controller/dashboard.control.php41
-rw-r--r--app/controller/deauth.control.php40
-rw-r--r--app/controller/deleteacct.control.php58
-rw-r--r--app/controller/except.control.php41
-rw-r--r--app/controller/obj.control.php49
-rw-r--r--app/controller/root.control.php145
-rw-r--r--app/controller/sysconf.control.php57
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);
- }
-}
-
-?>