Пример #1
0
 public static function apply()
 {
     Output\OUTPUT::set_static_file();
     if (self::has_attribute(self::get("primary_database")[0], "alias", true)) {
         CONFIG::$primarydatabase = self::get("primary_database")[0]["@attributes"]["alias"];
     }
     foreach (self::get("rewrite_rules") as $value) {
         REQUEST::translate($value);
     }
     foreach (self::get("links") as $value) {
         self::set_table_links($value);
     }
     if (REQUEST::$is_static == true && !empty(Output\OUTPUT::$static_file)) {
         Output\OUTPUT::static_file();
     }
     if (REQUEST::redirect()) {
         header("Location: " . REQUEST::root() . "/" . REQUEST::redirect_uri());
     }
     foreach (self::get("accounttypes") as $value) {
         ACCOUNT::translate($value);
     }
     foreach (self::get("database") as $value) {
         if (self::has_attribute($value, "alias", true)) {
             $alias = $value["@attributes"]["alias"];
             unset($value["@attributes"]["alias"]);
             $config = $value["@attributes"];
             unset($value["@attributes"]);
             if (!isset($config["tablelinks"]) && isset(self::$table_links[$alias])) {
                 $config["tablelinks"] = self::$table_links[$alias];
             }
             Database\DATABASE::register_database($alias, $config);
             foreach (self::get("table") as $subvalue) {
                 if (!self::find_previous_config("table:", $subvalue) && !empty($subvalue)) {
                     if (isset($value["@attributes"]["database_alias"]) && $value["@attributes"]["database_alias"] == $alias) {
                         self::configure_database($subvalue);
                     }
                 }
             }
         }
     }
     foreach (self::get("form") as $value) {
         if (self::has_attribute($value, "name", true)) {
             FORM::translate($value["@attributes"]["name"], $value);
         }
     }
     foreach (self::get("project") as $value) {
         foreach ($value as $subkey => $subvalue) {
             if (self::startswith(strtolower($subkey), "include:") && self::has_attribute($subvalue, "file", true)) {
                 $file = $subvalue["@attributes"]["file"];
                 if (file_exists(self::$projectdir . "/" . $file . ".php")) {
                     include self::$projectdir . "/" . $file . ".php";
                 }
             }
         }
     }
     ACCOUNT::set_database_config();
     REQUEST::init();
     ACCOUNT::access();
     if (ACCOUNT::redirect()) {
         header("Location: " . REQUEST::root() . "/" . REQUEST::redirect_uri());
     }
     REQUEST::access();
 }