src/OwpFramework.inc.php
static public function build()
    {

        /*
            * Set the root path
         */
        self::$root_path = ROOT_PATH;

        /*
            * Set the current web root
        */
        self::$current_web_root = CURRENT_WEB_ROOT;

        /*
            * Generate $uuid based on OwpSupportMethods->uuid().
         */
        $_SESSION["uuid"] = OwpSupportMethods::uuid();
        self::$uuid = $_SESSION["uuid"];

        /*
            * Set the theme
         */
        self::$theme = $_ENV["THEME"];

        /*
            * Init the debugger
         */
        self::$debug = ((int) $_ENV["ISDEV"] ? true : false);

        /*
            * Init the database class
         */
        self::$ezSqlDB = new OwpDBMySQLi($_ENV["DB_USER"], $_ENV["DB_PASS"], $_ENV["DB_NAME"], $_ENV["DB_HOST"]);
        self::$ezSqlDB->use_disk_cache = false;
        self::$ezSqlDB->cache_queries  = false;
        self::$ezSqlDB->hide_errors();

        /*
            * Default Request Definition
         */
        self::$defaultAction = [
                                 "none"    => "home",
                                 "isUser"  => "home",
                                 "isAdmin" => "home",
                                ];

        /*
            * Default Action Definition
         */
        self::$actionsConfig = [
                                "404" => [
                                          "view"        => [
                                                            "app/themes/default/common/header.inc.php",
                                                            "app/themes/default/common/nav.inc.php",
                                                            "app/themes/default/pages/404.inc.php",
                                                            "app/themes/default/common/footer.inc.php",
                                                           ],
                                          "mod"         => [],
                                          "js"          => [],
                                          "css"         => [],
                                          "permissions" => [
                                                            "isUser"  => 0,
                                                            "isAdmin" => 0,
                                                           ],
                                         ],
                               ];

        /*
            * ActionsConfigFileLocation
         */
        $actionsConfig = null;
        $defaultAction = null;

        self::$defaultAction = json_decode(file_get_contents(ROOT_PATH."app/themes/" . self::$theme . "/config/defaultAction.json"), 1);
        self::$actionsConfig = json_decode(file_get_contents(ROOT_PATH."app/themes/" . self::$theme . "/config/actionsConfig.json"), 1);

        /*
            * Create the frameworkObject
        */
        self::$frameworkObject = array(
                                  "frameworkVariables" => array(
                                                           "theme"            => self::$theme,
                                                           "current_web_root" => (string) self::$current_web_root,
                                                           "root_path"        => (string) self::$root_path,
                                                           "requested_action" => (string) self::$requested_action,
                                                           "uuid"             => (string) self::$uuid,
                                                          ),
                                  "ezSqlDB"            => (object) self::$ezSqlDB,
                                  "mod_data"           => new OwpMod(),
                                 );

        /*
            * Load the user class
         */
        self::$userClass = new OwpUsers();
        self::$userClass->rememberMe();

        /*
            * Add it to the $frameworkObject array.
         */
        self::$frameworkObject["userClass"] = (object) self::$userClass;

        /*
            * Set the requested action
         */
        if(self::$userClass->isLoggedIn()) {
            if(self::$userClass->isAdmin()) {
                self::$default_action = self::$defaultAction["isAdmin"];
            } else {
                self::$default_action = self::$defaultAction["isUser"];
            }
        } else {
            self::$default_action = self::$defaultAction["none"];
        }

        self::$requested_action = (isset($_GET["_route_"]) ? OwpSupportMethods::filterAction($_GET["_route_"]) : self::$default_action);

        self::$frameworkObject["frameworkVariables"]["requested_action"] = (string) self::$requested_action;
        self::$frameworkObject["frameworkVariables"]["default_action"] = (string) self::$default_action;
        self::$frameworkObject["actionsConfig"] = (array) self::$actionsConfig;
        self::$frameworkObject["defaultAction"] = (array) self::$defaultAction;

        return self::$frameworkObject;

    }
static public function build()
    {

        /*
            * Set the root path
         */
        self::$root_path = ROOT_PATH;

        /*
            * Set the current web root
        */
        self::$current_web_root = CURRENT_WEB_ROOT;

        /*
            * Generate $uuid based on OwpSupportMethods->uuid().
         */
        $_SESSION["uuid"] = OwpSupportMethods::uuid();
        self::$uuid = $_SESSION["uuid"];

        /*
            * Set the theme
         */
        self::$theme = $_ENV["THEME"];

        /*
            * Init the debugger
         */
        self::$debug = ((int) $_ENV["ISDEV"] ? true : false);

        /*
            * Init the database class
         */
        self::$ezSqlDB = new OwpDBMySQLi($_ENV["DB_USER"], $_ENV["DB_PASS"], $_ENV["DB_NAME"], $_ENV["DB_HOST"]);
        self::$ezSqlDB->use_disk_cache = false;
        self::$ezSqlDB->cache_queries  = false;
        self::$ezSqlDB->hide_errors();

        /*
            * Default Request Definition
         */
        self::$defaultAction = [
                                 "none"    => "home",
                                 "isUser"  => "home",
                                 "isAdmin" => "home",
                                ];

        /*
            * Default Action Definition
         */
        self::$actionsConfig = [
                                "404" => [
                                          "view"        => [
                                                            "app/themes/default/common/header.inc.php",
                                                            "app/themes/default/common/nav.inc.php",
                                                            "app/themes/default/pages/404.inc.php",
                                                            "app/themes/default/common/footer.inc.php",
                                                           ],
                                          "mod"         => [],
                                          "js"          => [],
                                          "css"         => [],
                                          "permissions" => [
                                                            "isUser"  => 0,
                                                            "isAdmin" => 0,
                                                           ],
                                         ],
                               ];

        /*
            * ActionsConfigFileLocation
         */
        $actionsConfig = null;
        $defaultAction = null;

        self::$defaultAction = json_decode(file_get_contents(ROOT_PATH."app/themes/" . self::$theme . "/config/defaultAction.json"), 1);
        self::$actionsConfig = json_decode(file_get_contents(ROOT_PATH."app/themes/" . self::$theme . "/config/actionsConfig.json"), 1);

        /*
            * Create the frameworkObject
        */
        self::$frameworkObject = array(
                                  "frameworkVariables" => array(
                                                           "theme"            => self::$theme,
                                                           "current_web_root" => (string) self::$current_web_root,
                                                           "root_path"        => (string) self::$root_path,
                                                           "requested_action" => (string) self::$requested_action,
                                                           "uuid"             => (string) self::$uuid,
                                                          ),
                                  "ezSqlDB"            => (object) self::$ezSqlDB,
                                  "mod_data"           => new OwpMod(),
                                 );

        /*
            * Load the user class
         */
        self::$userClass = new OwpUsers();
        self::$userClass->rememberMe();

        /*
            * Add it to the $frameworkObject array.
         */
        self::$frameworkObject["userClass"] = (object) self::$userClass;

        /*
            * Set the requested action
         */
        if(self::$userClass->isLoggedIn()) {
            if(self::$userClass->isAdmin()) {
                self::$default_action = self::$defaultAction["isAdmin"];
            } else {
                self::$default_action = self::$defaultAction["isUser"];
            }
        } else {
            self::$default_action = self::$defaultAction["none"];
        }

        self::$requested_action = (isset($_GET["_route_"]) ? OwpSupportMethods::filterAction($_GET["_route_"]) : self::$default_action);

        self::$frameworkObject["frameworkVariables"]["requested_action"] = (string) self::$requested_action;
        self::$frameworkObject["frameworkVariables"]["default_action"] = (string) self::$default_action;
        self::$frameworkObject["actionsConfig"] = (array) self::$actionsConfig;
        self::$frameworkObject["defaultAction"] = (array) self::$defaultAction;

        return self::$frameworkObject;

    }
build

@method void build() Builds the framework objects
@return array|object
@throws Exception

@author  Brian Tafoya <btafoya@briantafoya.com>
@version 1.0