Ablauf von TYPO3 bis zum Einsatz von eID

Ich habe Euch mal den Ablauf von TYPO3 4.3 beschrieben bis zu dem Punkt, wo die eID verarbeitet wird:

  1. index.php wird aufgerufen

    1. Errors: Alle Fehler außer die E_NOTICE sollen angezeigt werden

    2. Konstante: PATH_thisScript (z.B. /var/www/index.php)

    3. Konstante: PATH_site (z.B. /var/www/)

    4. Konstante: PATH_tslib (z.B. /var/www/typo3/sysext/cms/tslib/)

    5. Aufruf der index_ts.php in PATH_tslib

  2. index_ts.php

    1. Überprüfung der aktuellen PHP-Version

    2. Errors: Alle Fehler außer die E_NOTICE sollen angezeigt werden

    3. Variable: $TYPO3_MISC['microtime_start'] wird auf die aktuelle Uhrzeit in Microsekunden gesetzt.

    4. Konstante: TYPO_OS auf WIN setzen, wenn Betriebssystem=Windows

    5. Konstante: TYPO3_MODE wird auf FE gesetzt

    6. Konstante: PATH_thisScript (siehe index.php)

    7. Konstante: PATH_site (siehe index.php)

    8. Konstante: PATH_t3lib (z.B. /var/www/t3lib/)

    9. Konstante: TYPO3_mainDir (z.B. typo3/)

    10. Konstante: PATH_typo3 (/var/www/typo3/)

    11. Konstante: PATH_typo3conf (/var/www/typo3conf/)

    12. Konstante: PATH_tslib (siehe index.php)

    13. Scriptausgaben werden gepuffert (ob_start)

    14. Include: class.t3lib_timetrack[null].php

    15. TimeTracker starten, wenn ein BE-User angemeldet ist, sonst dummy-TT

    16. Include: class.t3lib_div.php

    17. Include: class.t3lib_extmgm.php

      1. Funktion: removeXSS include: contrib/RemoveXSS/RemoveXSS.php

      2. Funktion: minifyJavaScript include: contrib/jsmin/jsmin.php

    18. Include: config_default.php

      1. Konstante: FILE_DENY_PATTERN_DEFAULT (z.B. .php[3-6])

      2. Konstante: PHP_EXTENSIONS_DEFAULT [z.B. php, php3, php4, …]

      3. Variable: $TYPO3_CONF_VARS wird mit Defaultwerten gefüllt.

      4. Konstante: TYPO3_version (z.B. 4.3-dev)

      5. Konstante: TYPO3_branch (z.B. 4.3)

      6. Konstante: TYPO3_copyright_year (z.B. 1998-2009)

      7. Konstante: TYPO3_user_agent (z.B. User-Agent: TYPO3/4.3-dev)

      8. Konstante: TYPO3_languages (z.B. default|dk|de|...)

      9. Datenbankvariablen werden gelöscht (z.B. $typo_db_host)

      10. Datenbankvariablen und $TYPO3_CONF_VARS werden mit den Werten in der localconf.php ersetzt.

      11. Konstante: TYPO3_db

      12. Konstante: TYPO3_db_username

      13. Konstante: TYPO3_db_password

      14. Konstante: TYPO3_db_host

      15. Konstante: TYPO3_tables_script

      16. Konstante: TYPO3_extTableDef_script (z.B. extTables.php)

      17. Ab jetzt wird mit $GLOBALS auf die globalen Variablen referenziert.

      18. Abhängigkeiten in den Grafikeinstellungen (GFX) werden überprüft und gegebenfalls neu gesetzt.

      19. Aktivierung der debug()-Funktion. Aber nur, wenn eine IP-Adresse im Installtool angegeben wurde. Sofortige Ausgabe

      20. Aktivierung der debug()-Funktion. Aber nur, wenn eine IP-Adresse im Installtool angegeben wurde. Sofortige Ausgabe inkl. Eintrag in das error-log

      21. Errorhandling wird konfiguriert

      22. memory_limit wird gesetzt, wenn Wert über 16

      23. Konstante: TYPO3_REQUESTTYPE_FE = 1

      24. Konstante: TYPO3_REQUESTTYPE_BE= 2

      25. Konstante: TYPO3_REQUESTTYPE_CLI = 4

      26. Konstante: TYPO3_REQUESTTYPE_AJAX = 8

      27. Konstante: TYPO3_REQUESTTYPE (z.B. 1, 2, 4, 8)

      28. Erstellen bzw. Einlesen der gecacheten ext_localconf.php-Datei in typo3conf

        1. Include: extbase/Classes/Dispatcher.php

        2. Include: extbase/Classes/Utility/Extension.php

        3. Include: rtehtmlarea/ext_emconf.php

        4. Include: rtehtmlarea/hooks/clearrtecache/ext_localconf.php

        5. Include: dam/ext_emconf.php if loaded

        6. Include: static.../class.tx_static_info_tables_div.php

          1. Include: t3lib/class.t3lib_cs.php

            1. Hier werden Zeichensätze definiert

        7. Include: kb_md5fepw/pi1/class.tx_kbmd5fepw_newloginbox.php if loaded

        8. Include: adodb/class.tx_adodb_tceforms.php if loaded

      29. Variable: $TYPO3_LOADED_EXT (z.B. temp_CACHED_FE_ps8c03)

      30. Konstante: TYPO3_UseCachingFramework (bool)

      31. Konstante: TYPO3_DLOG (SYS:enable_DLOG)

      32. Löschen von Variablen: $PAGES_TYPES, $ICON_TYPES, $LANG_GENERAL_LABELS, $TCA, $TBE_MODULES, $TBE_STYLES, $FILEICONS

      33. Löschen von Variablen: $WEBMOUNTS, $FILEMOUNTS, $BE_USER

      34. Löschen von Variablen: $TBE_MODULES_EXT, $TCA_DESCR, $LOCAL_LANG, $TYPO3_AJAX

      35. Variable: $EXEC_TIME = aktuelle Uhrzeit time()

      36. Variable: $SIM_EXEC_TIME = aktuelle Uhrzeit time()

      37. Variable: $ACCESS_TIME = Berechnung von Minuten aus $EXEC_TIME

      38. Variable: $SIM_ACCESS_TIME = Siehe $ACCESS_TIME

    19. Überprüfung, ob config_default geladen wurde

    20. Überprüfung, ob Extension cms geladen ist.

    21. Überprüfung, ob PATH_tslib gesetzt ist

    22. Include: class.t3lib_autoloader.php

      1. Include: t3lib/core_autoload.php

        1. Include t3lib/class.gzip_encode.php

        2. Include t3lib/class.t3lib_admin.php

        3. Include t3lib/class.t3lib_ajax.php

        4. Include t3lib/class.t3lib_befunc.php

        5. Include t3lib/class.t3lib_cache.php

        6. Include t3lib/class.t3lib_cs.php

        7. Include t3lib/class.t3lib_db.php

        8. Include t3lib/class.t3lib_exec.php

        9. ...und über 100 weitere TYPO3-Klassen werden hier geladen.

    23. Errorhandling

    24. Variable: $TYPO3_DB Instance von t3lib_DB

    25. Variable: $CLIENT (z.B. net, msie, …)

    26. $GLOBALS per POST oder GET = Script wird beendet.

    27. Problem mit addslashes() lösen (get_magic_quotes_gpc())

    28. Hook für preprocessRequest

    29. Verarbeitung der extension ID (eID)

    30. Variable: $TSFE Instance tslib_fe