<?php /* * SCROTT IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. * * For more information, please refer to UNLICENSE */ require_once "class/database.class.php"; require_once "class/settings.class.php"; require_once "class/user.class.php"; /* * This file is the entry-point to the Scrott application. main() will * make a few assertions and figure out which content is being requested. */ function main(array $argv) : void { try { /* assert the database configuration is present */ if (!database::checkConfig()) { require "view/dbconfig.php"; return; } /* assert we are running over HTTPS (if enabled) */ if (settings::sslOnly()) require_https(); /* assert that a user is logged in */ if (!user::getCurrent()) { require "view/login.php"; return; } /* no arguments? display dashboard */ if (count($argv) == 0) { require "view/dashboard.php"; return; } switch ($argv[0]) { case "logout": /* logout user */ user::setCurrent(); location("/"); break; } /* TODO */ echo "logged in"; } catch (Exception $e) { require "view/except.php"; } } main(explode("/", $_SERVER['PATH_INFO'])); ?>