Bereitet den aktuellen HTTP-Request fuer dbXapp vor. More...
Public Member Functions | |
| get_base_url (string $uri) | |
| Ermittelt die Basis-URL des Servers und gibt sie zurück. | |
| create_new_cfg ($modul='dbx') | |
| Erstellt eine minimale Default-Konfiguration fuer ein Modul. | |
| check_uri () | |
| Zerlegt REQUEST_URI in Pfad und Query-Parameter. | |
| parse_route_url ($url) | |
| Parst Permalink- und Standard-URLs in Pfad + Query-Parameter. | |
| build_route_url ($permalink, $params=array(), $fragment='') | |
| Baut eine kanonische Route-URL aus Permalink, Query-Parametern und Fragment. | |
| append_route_params ($url, $params=array()) | |
| Haengt Parameter an eine vorhandene Route-URL an. | |
| action_scope_for_url ($url, $action, $bindings=array()) | |
| Baut den kanonischen Scope einer Link-Aktion. | |
| action_policy_for_url ($url) | |
| Liefert die Action-Policy einer URL. | |
| current_action_policy () | |
| Liefert die automatisch erkannte Policy des aktuellen Requests. | |
| current_action_request_is_valid (array $policy=array()) | |
| Prueft den Action-Token des aktuellen Requests ohne Modulcode auszufuehren. | |
| route_param_prefix ($url) | |
| Prefix fuer Template-Links wie {self}dbx_design=desktop. | |
| get_request_route_string ($baseUri='') | |
| Liefert den Routen-Teil des aktuellen Requests (Permalink + Query). | |
| strip_unwanted_route_params ($params, $unwanted='') | |
| Entfernt unerwuenschte Parameter aus einem Param-Array. | |
| get_self_url ($permalink, $unwanted) | |
| Baut die aktuelle Self-URL ohne unerwuenschte DBX-Steuerparameter. | |
| memory_switch_params () | |
| Liefert die Remember-/Memory-Schalter, die nicht in Permalinks haengen duerfen. | |
| normalize_self_url ($url) | |
| Bereinigt eine Self-/Menu-URL von Memory-Schaltern in Pfad und Query. | |
| peel_glued_params_from_path ($path, &$params=array()) | |
| Entfernt angeklebte Query-Parameter aus einem Permalink-Pfad. | |
| normalize_route_params ($params) | |
| Normalisiert Query-Parameter auf string-Werte. | |
| get_base_uri () | |
| Liefert das Basisverzeichnis des Entry Points als URI. | |
| get_permalink ($uri) | |
| Ermittelt den Permalink-Anteil hinter der Basis-URI. | |
| setRequestUriToGet () | |
| Spiegelt Query-Parameter aus REQUEST_URI nach $_GET. | |
| check_request () | |
| Normalisiert den aktuellen HTTP-Request fuer den Kernel. | |
| canonical_home_redirect_target () | |
| Ermittelt das 301-Ziel fuer den historischen Startseiten-Permalink. | |
| apply_canonical_home_redirect () | |
| Sendet den kanonischen Startseiten-Redirect, sofern er fuer den Request gilt. | |
| content_permalink_redirect_target () | |
| Liefert das Ziel einer sprachabhängigen Content-Weiterleitung. | |
| apply_content_permalink_redirect () | |
| Sendet eine konfigurierte permanente Content-Weiterleitung. | |
| get_is_resorce ($ext) | |
| Prueft, ob eine Dateiendung als direkt auslieferbare Ressource gilt. | |
| check_config () | |
| Stellt die zentrale dbx-Konfiguration sicher. | |
| check_missing () | |
| Behandelt fehlende statische Ressourcen. | |
| check_remember () | |
| Uebernimmt persistente UI-/Systemwerte aus Remember in den Request. | |
| check_perma () | |
| Loest Permalink, Home, Admin und explizite Modulrouten auf. | |
| check_modul () | |
| Prueft das aktive Modul und setzt bei fehlendem Modul dbxHome. | |
| check_design () | |
| Bestimmt das aktive Design fuer den Request. | |
| check_lng () | |
| Prueft und speichert die aktive Sprache. | |
| translate ($content, $lng='') | |
| Wendet die globale dbx/translate.php auf Inhalt an. | |
| del_add_css ($content) | |
| Ersetzt [dbx:add_css] durch im Request gesammelte CSS-Fragmente. | |
| del_add_js ($content) | |
| Ersetzt [dbx:add_js] durch im Request gesammelte JS-Fragmente. | |
| out_filter ($content) | |
| Fuehrt den zentralen Ausgabe-Filter aus. | |
| add_norep ($content) | |
| Setzt geschuetzte norep-Platzhalter am Ende wieder ein. | |
| get_session_rec ($fld, $default='') | |
| design_load ($modul_content) | |
| add_editor_files_data ($content) | |
| run () | |
Bereitet den aktuellen HTTP-Request fuer dbXapp vor.
Die Klasse ist kein Router im SPA-Sinn. Sie normalisiert den klassischen PHP-Request fuer den Single Entry Point index.php:
Beispiel aus dem Frontcontroller-Kontext:
Definition at line 26 of file dbxWebApp.class.php.
| dbxWebApp::action_policy_for_url | ( | $url | ) |
Liefert die Action-Policy einer URL.
Reine Navigation ergibt ein leeres Array und wird von dbxApi::action_url() unveraendert zurueckgegeben.
| string | $url | Zu pruefende URL. |
Definition at line 812 of file dbxWebApp.class.php.
References $url, and parse_route_url().
| dbxWebApp::action_scope_for_url | ( | $url, | |
| $action, | |||
| $bindings = array() ) |
Baut den kanonischen Scope einer Link-Aktion.
Der Scope bindet Modul, Run-Kontext, Aktionsname und deklarierte IDs. Transportparameter wie Ajax, Fensterziel oder das Token selbst sind absichtlich nicht enthalten. Dadurch funktioniert derselbe Link als normaler GET und als Ajax-POST innerhalb eines Reports.
| string | $url | Ziel-URL. |
| string | $action | Kanonischer Aktionsname. |
| array | $bindings | Parameterliste oder konkrete Binding-Werte. |
Definition at line 507 of file dbxWebApp.class.php.
References $url, and parse_route_url().
| dbxWebApp::add_editor_files_data | ( | $content | ) |
| dbxWebApp::add_norep | ( | $content | ) |
Setzt geschuetzte norep-Platzhalter am Ende wieder ein.
| string | $content | Ausgabeinhalt mit [norep_*]-Markern. |
Definition at line 2059 of file dbxWebApp.class.php.
| dbxWebApp::append_route_params | ( | $url, | |
| $params = array() ) |
Haengt Parameter an eine vorhandene Route-URL an.
Vorhandene Query-Parameter bleiben erhalten und werden mit den neuen Werten ueberschrieben, wenn derselbe Key erneut gesetzt wird.
Beispiel:
Ergebnis: kontakt?dbx_lng=de&dbx_edit=1
| string | $url | Vorhandene Route-URL. |
| array | $params | Zusaetzliche Query-Parameter. |
Definition at line 392 of file dbxWebApp.class.php.
References $url, $value, build_route_url(), and parse_route_url().
| dbxWebApp::apply_canonical_home_redirect | ( | ) |
Sendet den kanonischen Startseiten-Redirect, sofern er fuer den Request gilt.
Definition at line 1279 of file dbxWebApp.class.php.
References $target, and canonical_home_redirect_target().
| dbxWebApp::apply_content_permalink_redirect | ( | ) |
Sendet eine konfigurierte permanente Content-Weiterleitung.
Definition at line 1351 of file dbxWebApp.class.php.
References $target, and content_permalink_redirect_target().
| dbxWebApp::build_route_url | ( | $permalink, | |
| $params = array(), | |||
| $fragment = '' ) |
Baut eine kanonische Route-URL aus Permalink, Query-Parametern und Fragment.
Beispiel:
Ergebnis: kontakt?dbx_lng=de#form
| string | $permalink | Relativer Permalink ohne fuehrenden Slash. |
| array | $params | Query-Parameter als Key/Value-Array. |
| string | $fragment | Optionales Fragment inklusive #. |
Definition at line 355 of file dbxWebApp.class.php.
References normalize_route_params().
Referenced by append_route_params(), get_self_url(), normalize_self_url(), and route_param_prefix().
| dbxWebApp::canonical_home_redirect_target | ( | ) |
Ermittelt das 301-Ziel fuer den historischen Startseiten-Permalink.
home bleibt intern der Permalink des konfigurierten Content-Datensatzes, ist extern aber nur ein Alias der Basis-URL. Explizite Modul- und Aktionsrouten werden nicht umgedeutet.
Definition at line 1241 of file dbxWebApp.class.php.
References $_SERVER, and $method.
Referenced by apply_canonical_home_redirect().
| dbxWebApp::check_config | ( | ) |
Stellt die zentrale dbx-Konfiguration sicher.
Definition at line 1503 of file dbxWebApp.class.php.
References $config, $ok, and create_new_cfg().
| dbxWebApp::check_design | ( | ) |
Bestimmt das aktive Design fuer den Request.
Admin-Module duerfen ins Admin-Design wechseln, normale Benutzer bleiben im User-Design. Installations-/Intro-Zustaende koennen das Zielmodul und Design explizit umschalten.
Definition at line 1891 of file dbxWebApp.class.php.
References $admin, $ajax, $config, $design, $ok, $page, and is_design().
| dbxWebApp::check_lng | ( | ) |
Prueft und speichert die aktive Sprache.
Definition at line 1967 of file dbxWebApp.class.php.
References $config, $lng, $ok, and get_remember_var().
| dbxWebApp::check_missing | ( | ) |
Behandelt fehlende statische Ressourcen.
Existiert die Ressource doch im Projektpfad, wird sie direkt ausgeliefert. Andernfalls wird der Fehlzugriff in dbxMissing gezaehlt.
Definition at line 1535 of file dbxWebApp.class.php.
| dbxWebApp::check_modul | ( | ) |
Prueft das aktive Modul und setzt bei fehlendem Modul dbxHome.
Definition at line 1875 of file dbxWebApp.class.php.
References is_modul().
| dbxWebApp::check_perma | ( | ) |
Loest Permalink, Home, Admin und explizite Modulrouten auf.
Reihenfolge:
Definition at line 1716 of file dbxWebApp.class.php.
References $home, $lng, $resolved, dbx_accessible_lngs(), load_content_cache_classes(), and dbx\dbxContent\dbxContentPermalinkIndex\resolve().
| dbxWebApp::check_remember | ( | ) |
Uebernimmt persistente UI-/Systemwerte aus Remember in den Request.
Betroffen sind Design, Edit-Modus, Sprache und Farbschema.
Definition at line 1579 of file dbxWebApp.class.php.
| dbxWebApp::check_request | ( | ) |
Normalisiert den aktuellen HTTP-Request fuer den Kernel.
Diese Methode ist einer der ersten Frontcontroller-Schritte. Sie liest JSON-Body, klassische GET/POST-Parameter, DBX-Ajax-Hilfsfelder und Permalink-Kontext ein und schreibt daraus die zentralen Systemvariablen: dbx_permalink, dbx_self_url, dbx_base_url, dbx_base_uri, dbx_window, dbx_ajax und dbx_go.
Beispiel:
Definition at line 1139 of file dbxWebApp.class.php.
References $_GET, $_POST, $ajax, get_base_uri(), get_base_url(), get_permalink(), get_request_route_string(), get_self_url(), and parse_route_url().
| dbxWebApp::check_uri | ( | ) |
Zerlegt REQUEST_URI in Pfad und Query-Parameter.
Definition at line 254 of file dbxWebApp.class.php.
References $_GET, $_SERVER, $value, and parse_url().
| dbxWebApp::content_permalink_redirect_target | ( | ) |
Liefert das Ziel einer sprachabhängigen Content-Weiterleitung.
Die Weiterleitungen werden redaktionell im Modul dbxContent gepflegt. Erlaubt sind ausschließlich die Basis-URL oder gültige interne Flat-Permalinks. Explizite Modul- und Aktionsrouten bleiben unberührt.
Definition at line 1298 of file dbxWebApp.class.php.
References $_SERVER, and $method.
Referenced by apply_content_permalink_redirect().
| dbxWebApp::create_new_cfg | ( | $modul = 'dbx' | ) |
Erstellt eine minimale Default-Konfiguration fuer ein Modul.
| string | $modul | Modulname. |
Definition at line 223 of file dbxWebApp.class.php.
References $config.
Referenced by check_config().
| dbxWebApp::current_action_policy | ( | ) |
Liefert die automatisch erkannte Policy des aktuellen Requests.
Definition at line 843 of file dbxWebApp.class.php.
Referenced by current_action_request_is_valid(), and run().
| dbxWebApp::current_action_request_is_valid | ( | array | $policy = array() | ) |
Prueft den Action-Token des aktuellen Requests ohne Modulcode auszufuehren.
Requests ohne Action-Policy sind normale Navigation bzw. normale dbxForm-POSTs und gelten hier als gueltig. Deren eigener Formularschutz wird weiterhin ausschliesslich von dbxForm ausgewertet.
| array | $policy | Optional bereits ermittelte Policy. |
Definition at line 857 of file dbxWebApp.class.php.
References current_action_policy(), and if.
Referenced by run().
| dbxWebApp::del_add_css | ( | $content | ) |
| dbxWebApp::del_add_js | ( | $content | ) |
Ersetzt [dbx:add_js] durch im Request gesammelte JS-Fragmente.
| string | $content | Ausgabeinhalt. |
Definition at line 2027 of file dbxWebApp.class.php.
| dbxWebApp::design_load | ( | $modul_content | ) |
| dbxWebApp::get_base_uri | ( | ) |
Liefert das Basisverzeichnis des Entry Points als URI.
Definition at line 1067 of file dbxWebApp.class.php.
References $_SERVER, and parse_url().
Referenced by check_request(), get_request_route_string(), get_self_url(), and setRequestUriToGet().
| dbxWebApp::get_base_url | ( | string | $uri | ) |
Ermittelt die Basis-URL des Servers und gibt sie zurück.
Diese Funktion bestimmt das Protokoll, die Host-Adresse und den Port, um eine vollständige URL zu generieren. Falls der Port 4221 ist, wird die Basis-URL aus einer Konfigurationsdatei gelesen.
Die URL wird für Performance-Zwecke zwischengespeichert und kann über dbx_get_Remember aus dem Cache abgerufen werden.
| string | $uri | Der URI, der an die Basis-URL angehängt wird. |
Definition at line 152 of file dbxWebApp.class.php.
References $_SERVER, and get_remember_var().
| dbxWebApp::get_is_resorce | ( | $ext | ) |
Prueft, ob eine Dateiendung als direkt auslieferbare Ressource gilt.
| string | $ext | Dateiendung ohne Punkt. |
Definition at line 1368 of file dbxWebApp.class.php.
| dbxWebApp::get_permalink | ( | $uri | ) |
Ermittelt den Permalink-Anteil hinter der Basis-URI.
| string | $uri | Basis-URI. |
Definition at line 1100 of file dbxWebApp.class.php.
References get_request_route_string(), and parse_route_url().
Referenced by check_request().
| dbxWebApp::get_request_route_string | ( | $baseUri = '' | ) |
Liefert den Routen-Teil des aktuellen Requests (Permalink + Query).
| string | $baseUri |
Definition at line 903 of file dbxWebApp.class.php.
References $_SERVER, get_base_uri(), and parse_url().
Referenced by check_request(), get_permalink(), get_self_url(), and setRequestUriToGet().
| dbxWebApp::get_self_url | ( | $permalink, | |
| $unwanted ) |
Baut die aktuelle Self-URL ohne unerwuenschte DBX-Steuerparameter.
| string | $permalink | Aktueller Permalink/Pfad. |
| string | $unwanted | Kommagetrennte Zusatzparameter, die entfernt werden. |
Definition at line 969 of file dbxWebApp.class.php.
References build_route_url(), get_base_uri(), get_request_route_string(), parse_route_url(), and strip_unwanted_route_params().
| dbxWebApp::get_session_rec | ( | $fld, | |
| $default = '' ) |
Definition at line 2080 of file dbxWebApp.class.php.
| dbxWebApp::memory_switch_params | ( | ) |
Liefert die Remember-/Memory-Schalter, die nicht in Permalinks haengen duerfen.
Definition at line 985 of file dbxWebApp.class.php.
Referenced by strip_unwanted_route_params().
| dbxWebApp::normalize_route_params | ( | $params | ) |
Normalisiert Query-Parameter auf string-Werte.
| array | $params | Unnormalisierte Query-Parameter. |
Definition at line 1040 of file dbxWebApp.class.php.
References $normalized, and $value.
Referenced by build_route_url(), and parse_route_url().
| dbxWebApp::normalize_self_url | ( | $url | ) |
Bereinigt eine Self-/Menu-URL von Memory-Schaltern in Pfad und Query.
| string | $url |
Definition at line 995 of file dbxWebApp.class.php.
References $url, build_route_url(), parse_route_url(), and strip_unwanted_route_params().
| dbxWebApp::out_filter | ( | $content | ) |
Fuehrt den zentralen Ausgabe-Filter aus.
| string | $content | Ausgabeinhalt. |
Definition at line 2047 of file dbxWebApp.class.php.
References $content.
| dbxWebApp::parse_route_url | ( | $url | ) |
Parst Permalink- und Standard-URLs in Pfad + Query-Parameter.
Unterstuetzt:
| string | $url |
Definition at line 289 of file dbxWebApp.class.php.
References $url, normalize_route_params(), and peel_glued_params_from_path().
Referenced by action_policy_for_url(), action_scope_for_url(), append_route_params(), check_request(), get_permalink(), get_self_url(), normalize_self_url(), route_param_prefix(), and setRequestUriToGet().
| dbxWebApp::peel_glued_params_from_path | ( | $path, | |
| & | $params = array() ) |
Entfernt angeklebte Query-Parameter aus einem Permalink-Pfad.
| string | $path | Permalink-Pfad, der angeklebte Parameter enthalten kann. |
| array | $params | Zielarray, in das gefundene Parameter geschrieben werden. |
Definition at line 1008 of file dbxWebApp.class.php.
Referenced by parse_route_url().
| dbxWebApp::route_param_prefix | ( | $url | ) |
Prefix fuer Template-Links wie {self}dbx_design=desktop.
| string | $url |
Definition at line 882 of file dbxWebApp.class.php.
References $url, build_route_url(), and parse_route_url().
| dbxWebApp::run | ( | ) |
Definition at line 2308 of file dbxWebApp.class.php.
References $api, $content, $design, $lng, $page, $root, current_action_policy(), and current_action_request_is_valid().
| dbxWebApp::setRequestUriToGet | ( | ) |
Spiegelt Query-Parameter aus REQUEST_URI nach $_GET.
Sinnvoll fuer Permalink-/Rewrite-Situationen, in denen PHP die Parameter nicht bereits normal in $_GET bereitstellt.
Definition at line 1114 of file dbxWebApp.class.php.
References $_GET, get_base_uri(), get_request_route_string(), and parse_route_url().
| dbxWebApp::strip_unwanted_route_params | ( | $params, | |
| $unwanted = '' ) |
Entfernt unerwuenschte Parameter aus einem Param-Array.
| array | $params | Query-Parameter als Key/Value-Array. |
| string | $unwanted | Kommagetrennte Zusatzparameter, die entfernt werden. |
Definition at line 944 of file dbxWebApp.class.php.
References $remove, and memory_switch_params().
Referenced by get_self_url(), and normalize_self_url().
| dbxWebApp::translate | ( | $content, | |
| $lng = '' ) |
Wendet die globale dbx/translate.php auf Inhalt an.
| string | $content | Inhalt. |
| string | $lng | Sprache; leer nutzt aktive Sprache. |
Definition at line 1991 of file dbxWebApp.class.php.