<?php /* Include the Scrott system-level configuration file if it exists */ is_file("scrott.conf.php") && require_once "scrott.conf.php"; require_once "class/mysql.class.php"; /* * Global functions / operations and access to contextual or session-based information */ abstract class Framework { static $dbobj = null; /* * Check for the existence of Scrott's system-level config */ function scrottConfExists() { global $_SCROTT; return isset($_SCROTT['conf']); } /* * Get the absolute path on this server for the root of this app */ function ar() { return substr($_SERVER['PHP_SELF'], 0, -10); // 10 = length of "/index.php" } /* * Get the absolute path to the current page */ function ap() { return $this->ar() . $_REQUEST['path']; } /* * Redirect to the given URL and die */ function redirectTo($url) { header("Location: " . $url); exit; } /* * Get or create the app's database connection object (this is a singleton object and dependent on system-level config) */ static function getDbConnection() { global $_SCROTT; if (self::$dbobj != null) return self::$dbobj; switch ($_SCROTT['dbEngine']) { case "mysql": $host = $_SCROTT['dbAddress']; $username = $_SCROTT['dbUser']; $password = $_SCROTT['dbPass']; $dbName = $_SCROTT['dbName']; self::$dbobj = new Mysql($host, $username, $password, $dbName); break; default: throw new Exception("Problem with Scrott Configuration. Invalid database engine specified."); break; } return self::$dbobj; } } ?>