This commit was manufactured by cvs2svn to create tag TYPO3_3-6-0FINAL
authorAndreas Otto <andreas.otto@dkd.de>
Fri, 30 Apr 2004 18:08:57 +0000 (18:08 +0000)
committerAndreas Otto <andreas.otto@dkd.de>
Fri, 30 Apr 2004 18:08:57 +0000 (18:08 +0000)
'TYPO3_3-6-0FINAL'.

git-svn-id: https://svn.typo3.org/TYPO3v4/Core/tags/TYPO3_3-6-0FINAL@275 709f56b5-9817-0410-a4d7-c38de5d9e867

752 files changed:
CVSreadme.txt [new file with mode: 0644]
ChangeLog [new file with mode: 0755]
GPL.txt [new file with mode: 0755]
LICENSE.txt [new file with mode: 0755]
TODO.txt
changelog.txt [deleted file]
create_symlinks.sh [new file with mode: 0644]
misc/mod_rewrite.htaccess
misc/phpcheck/incfile.php
misc/phpcheck/reference.html [new file with mode: 0755]
misc/superadmin.php
t3lib/GPL.txt
t3lib/README.txt
t3lib/class.gzip_encode.php
t3lib/class.t3lib_admin.php
t3lib/class.t3lib_arraybrowser.php
t3lib/class.t3lib_basicfilefunc.php
t3lib/class.t3lib_bedisplaylog.php
t3lib/class.t3lib_befunc.php
t3lib/class.t3lib_beuserauth.php
t3lib/class.t3lib_browsetree.php
t3lib/class.t3lib_clipboard.php
t3lib/class.t3lib_cs.php
t3lib/class.t3lib_db.php [new file with mode: 0755]
t3lib/class.t3lib_diff.php
t3lib/class.t3lib_div.php
t3lib/class.t3lib_dmailer.php
t3lib/class.t3lib_exec.php
t3lib/class.t3lib_extfilefunc.php
t3lib/class.t3lib_extmgm.php
t3lib/class.t3lib_extobjbase.php
t3lib/class.t3lib_foldertree.php
t3lib/class.t3lib_formmail.php
t3lib/class.t3lib_fullsearch.php
t3lib/class.t3lib_htmlmail.php
t3lib/class.t3lib_iconworks.php
t3lib/class.t3lib_install.php
t3lib/class.t3lib_loaddbgroup.php
t3lib/class.t3lib_loadmodules.php
t3lib/class.t3lib_matchcondition.php
t3lib/class.t3lib_modsettings.php
t3lib/class.t3lib_page.php
t3lib/class.t3lib_pagetree.php
t3lib/class.t3lib_parsehtml.php
t3lib/class.t3lib_parsehtml_proc.php
t3lib/class.t3lib_positionmap.php
t3lib/class.t3lib_querygenerator.php
t3lib/class.t3lib_readmail.php
t3lib/class.t3lib_recordlist.php
t3lib/class.t3lib_rteapi.php [new file with mode: 0755]
t3lib/class.t3lib_scbase.php
t3lib/class.t3lib_sqlengine.php [new file with mode: 0755]
t3lib/class.t3lib_stdgraphic.php
t3lib/class.t3lib_superadmin.php
t3lib/class.t3lib_svbase.php
t3lib/class.t3lib_syntaxhl.php [new file with mode: 0644]
t3lib/class.t3lib_tceforms.php
t3lib/class.t3lib_tcemain.php
t3lib/class.t3lib_timetrack.php
t3lib/class.t3lib_transferdata.php
t3lib/class.t3lib_treeview.php
t3lib/class.t3lib_tsfebeuserauth.php
t3lib/class.t3lib_tsparser.php
t3lib/class.t3lib_tsparser_ext.php
t3lib/class.t3lib_tsstyleconfig.php
t3lib/class.t3lib_tstemplate.php
t3lib/class.t3lib_userauth.php
t3lib/class.t3lib_userauthgroup.php
t3lib/class.t3lib_xml.php
t3lib/config_default.php
t3lib/csconvtbl/iso-8859-10.tbl [new file with mode: 0644]
t3lib/csconvtbl/iso-8859-13.tbl [new file with mode: 0644]
t3lib/csconvtbl/iso-8859-14.tbl [new file with mode: 0644]
t3lib/csconvtbl/iso-8859-16.tbl [new file with mode: 0644]
t3lib/csconvtbl/koi8-r.tbl [new file with mode: 0644]
t3lib/csconvtbl/readme.txt
t3lib/csconvtbl/shift_jis.tbl [new file with mode: 0644]
t3lib/ext_php_api.dat [new file with mode: 0644]
t3lib/gfx/Thumbs.db [deleted file]
t3lib/gfx/c_wiz/Thumbs.db [deleted file]
t3lib/gfx/clear_all_cache.gif [new file with mode: 0755]
t3lib/gfx/clear_cache_files_in_typo3c.gif [new file with mode: 0755]
t3lib/gfx/clickmenu/Thumbs.db [deleted file]
t3lib/gfx/edit_fe.gif [new file with mode: 0755]
t3lib/gfx/emoticons/Thumbs.db [deleted file]
t3lib/gfx/faner/Thumbs.db [deleted file]
t3lib/gfx/fileicons/3ds.gif [new file with mode: 0755]
t3lib/gfx/fileicons/CREDITS.txt [new file with mode: 0755]
t3lib/gfx/fileicons/Thumbs.db [deleted file]
t3lib/gfx/fileicons/ai.gif
t3lib/gfx/fileicons/ani.gif [new file with mode: 0644]
t3lib/gfx/fileicons/au.gif
t3lib/gfx/fileicons/avi.gif
t3lib/gfx/fileicons/bmp.gif
t3lib/gfx/fileicons/cdr.gif [new file with mode: 0755]
t3lib/gfx/fileicons/css.gif [new file with mode: 0755]
t3lib/gfx/fileicons/csv.gif [new file with mode: 0755]
t3lib/gfx/fileicons/default.gif
t3lib/gfx/fileicons/doc.gif
t3lib/gfx/fileicons/dtd.gif [new file with mode: 0755]
t3lib/gfx/fileicons/eps.gif [new file with mode: 0755]
t3lib/gfx/fileicons/exe.gif
t3lib/gfx/fileicons/fh3.gif [new file with mode: 0755]
t3lib/gfx/fileicons/flash.gif
t3lib/gfx/fileicons/folder.gif
t3lib/gfx/fileicons/gif.gif
t3lib/gfx/fileicons/htm.gif [new file with mode: 0755]
t3lib/gfx/fileicons/html.gif [new file with mode: 0644]
t3lib/gfx/fileicons/html1.gif
t3lib/gfx/fileicons/html2.gif
t3lib/gfx/fileicons/html3.gif
t3lib/gfx/fileicons/ico.gif [new file with mode: 0644]
t3lib/gfx/fileicons/inc.gif [new file with mode: 0755]
t3lib/gfx/fileicons/java.gif
t3lib/gfx/fileicons/jpg.gif
t3lib/gfx/fileicons/js.gif [new file with mode: 0644]
t3lib/gfx/fileicons/max.gif [new file with mode: 0755]
t3lib/gfx/fileicons/mid.gif [new file with mode: 0755]
t3lib/gfx/fileicons/mov.gif
t3lib/gfx/fileicons/mpeg.gif
t3lib/gfx/fileicons/mpg.gif [new file with mode: 0755]
t3lib/gfx/fileicons/pcd.gif
t3lib/gfx/fileicons/pdf.gif
t3lib/gfx/fileicons/php3.gif
t3lib/gfx/fileicons/png.gif
t3lib/gfx/fileicons/ps.gif [new file with mode: 0755]
t3lib/gfx/fileicons/psd.gif [new file with mode: 0755]
t3lib/gfx/fileicons/rtf.gif [new file with mode: 0755]
t3lib/gfx/fileicons/sgml.gif [new file with mode: 0755]
t3lib/gfx/fileicons/swf.gif [new file with mode: 0755]
t3lib/gfx/fileicons/sxc.gif
t3lib/gfx/fileicons/sxw.gif
t3lib/gfx/fileicons/t3d.gif [new file with mode: 0644]
t3lib/gfx/fileicons/t3x.gif [new file with mode: 0644]
t3lib/gfx/fileicons/tga.gif
t3lib/gfx/fileicons/tif.gif
t3lib/gfx/fileicons/tmpl.gif [new file with mode: 0644]
t3lib/gfx/fileicons/ttf.gif
t3lib/gfx/fileicons/txt.gif
t3lib/gfx/fileicons/wav.gif
t3lib/gfx/fileicons/wrl.gif [new file with mode: 0755]
t3lib/gfx/fileicons/xls.gif
t3lib/gfx/fileicons/xml.gif [new file with mode: 0755]
t3lib/gfx/fileicons/xsl.gif [new file with mode: 0755]
t3lib/gfx/fileicons/zip.gif
t3lib/gfx/i/Thumbs.db [deleted file]
t3lib/gfx/i/_icon_ftp__h.gif [new file with mode: 0644]
t3lib/gfx/i/_icon_ftp__x.gif [new file with mode: 0644]
t3lib/gfx/i/be_groups__h.gif [new file with mode: 0644]
t3lib/gfx/i/be_groups__x.gif [new file with mode: 0644]
t3lib/gfx/i/be_groups_lists__h.gif [new file with mode: 0644]
t3lib/gfx/i/be_groups_lists__x.gif [new file with mode: 0644]
t3lib/gfx/i/be_users__f.gif [new file with mode: 0644]
t3lib/gfx/i/be_users__h.gif [new file with mode: 0644]
t3lib/gfx/i/be_users__ht.gif [new file with mode: 0644]
t3lib/gfx/i/be_users__t.gif [new file with mode: 0644]
t3lib/gfx/i/be_users__x.gif [new file with mode: 0644]
t3lib/gfx/i/be_users_admin__f.gif [new file with mode: 0644]
t3lib/gfx/i/be_users_admin__h.gif [new file with mode: 0644]
t3lib/gfx/i/be_users_admin__ht.gif [new file with mode: 0644]
t3lib/gfx/i/be_users_admin__t.gif [new file with mode: 0644]
t3lib/gfx/i/be_users_admin__x.gif [new file with mode: 0644]
t3lib/gfx/i/be_users_section__h.gif [new file with mode: 0644]
t3lib/gfx/i/be_users_section__t.gif [new file with mode: 0644]
t3lib/gfx/i/be_users_section__u.gif [new file with mode: 0644]
t3lib/gfx/i/be_users_section__x.gif [new file with mode: 0644]
t3lib/gfx/i/domain__h.gif [new file with mode: 0644]
t3lib/gfx/i/domain__x.gif [new file with mode: 0644]
t3lib/gfx/i/fe_groups__h.gif [new file with mode: 0644]
t3lib/gfx/i/fe_groups__x.gif [new file with mode: 0644]
t3lib/gfx/i/fe_users__f.gif [new file with mode: 0644]
t3lib/gfx/i/fe_users__h.gif [new file with mode: 0644]
t3lib/gfx/i/fe_users__ht.gif [new file with mode: 0644]
t3lib/gfx/i/fe_users__t.gif [new file with mode: 0644]
t3lib/gfx/i/fe_users__x.gif [new file with mode: 0644]
t3lib/gfx/i/modules_approvals__h.gif [new file with mode: 0644]
t3lib/gfx/i/modules_board__h.gif [new file with mode: 0644]
t3lib/gfx/i/modules_dmail__h.gif [new file with mode: 0644]
t3lib/gfx/i/modules_fe_users__h.gif [new file with mode: 0644]
t3lib/gfx/i/modules_news__h.gif [new file with mode: 0644]
t3lib/gfx/i/modules_shop__h.gif [new file with mode: 0644]
t3lib/gfx/i/no_icon_found.gif [new file with mode: 0755]
t3lib/gfx/i/pages__d.gif [new file with mode: 0644]
t3lib/gfx/i/pages__f.gif [new file with mode: 0644]
t3lib/gfx/i/pages__fp.gif [new file with mode: 0644]
t3lib/gfx/i/pages__fu.gif [new file with mode: 0644]
t3lib/gfx/i/pages__fup.gif [new file with mode: 0644]
t3lib/gfx/i/pages__h.gif [new file with mode: 0644]
t3lib/gfx/i/pages__hf.gif [new file with mode: 0644]
t3lib/gfx/i/pages__hfp.gif [new file with mode: 0644]
t3lib/gfx/i/pages__hfu.gif [new file with mode: 0644]
t3lib/gfx/i/pages__hfup.gif [new file with mode: 0644]
t3lib/gfx/i/pages__hp.gif [new file with mode: 0644]
t3lib/gfx/i/pages__ht.gif [new file with mode: 0644]
t3lib/gfx/i/pages__htf.gif [new file with mode: 0644]
t3lib/gfx/i/pages__htfp.gif [new file with mode: 0644]
t3lib/gfx/i/pages__htfu.gif [new file with mode: 0644]
t3lib/gfx/i/pages__htfup.gif [new file with mode: 0644]
t3lib/gfx/i/pages__htp.gif [new file with mode: 0644]
t3lib/gfx/i/pages__htu.gif [new file with mode: 0644]
t3lib/gfx/i/pages__htup.gif [new file with mode: 0644]
t3lib/gfx/i/pages__hu.gif [new file with mode: 0644]
t3lib/gfx/i/pages__hup.gif [new file with mode: 0644]
t3lib/gfx/i/pages__t.gif [new file with mode: 0644]
t3lib/gfx/i/pages__tf.gif [new file with mode: 0644]
t3lib/gfx/i/pages__tfp.gif [new file with mode: 0644]
t3lib/gfx/i/pages__tfu.gif [new file with mode: 0644]
t3lib/gfx/i/pages__tfup.gif [new file with mode: 0644]
t3lib/gfx/i/pages__tp.gif [new file with mode: 0644]
t3lib/gfx/i/pages__tu.gif [new file with mode: 0644]
t3lib/gfx/i/pages__tup.gif [new file with mode: 0644]
t3lib/gfx/i/pages__u.gif [new file with mode: 0644]
t3lib/gfx/i/pages__up.gif [new file with mode: 0644]
t3lib/gfx/i/pages__x.gif [new file with mode: 0644]
t3lib/gfx/i/pages_language_overlay__f.gif [new file with mode: 0644]
t3lib/gfx/i/pages_language_overlay__h.gif [new file with mode: 0644]
t3lib/gfx/i/pages_language_overlay__ht.gif [new file with mode: 0644]
t3lib/gfx/i/pages_language_overlay__t.gif [new file with mode: 0644]
t3lib/gfx/i/pages_language_overlay__x.gif [new file with mode: 0644]
t3lib/gfx/i/pages_link__h.gif [new file with mode: 0644]
t3lib/gfx/i/pages_link__t.gif [new file with mode: 0644]
t3lib/gfx/i/pages_link__u.gif [new file with mode: 0644]
t3lib/gfx/i/pages_link__x.gif [new file with mode: 0644]
t3lib/gfx/i/pages_mountpoint__h.gif [new file with mode: 0644]
t3lib/gfx/i/pages_mountpoint__t.gif [new file with mode: 0644]
t3lib/gfx/i/pages_mountpoint__u.gif [new file with mode: 0644]
t3lib/gfx/i/pages_mountpoint__x.gif [new file with mode: 0644]
t3lib/gfx/i/pages_notinmenu__h.gif [new file with mode: 0644]
t3lib/gfx/i/pages_notinmenu__t.gif [new file with mode: 0644]
t3lib/gfx/i/pages_notinmenu__u.gif [new file with mode: 0644]
t3lib/gfx/i/pages_notinmenu__x.gif [new file with mode: 0644]
t3lib/gfx/i/pages_shortcut__h.gif [new file with mode: 0644]
t3lib/gfx/i/pages_shortcut__t.gif [new file with mode: 0644]
t3lib/gfx/i/pages_shortcut__u.gif [new file with mode: 0644]
t3lib/gfx/i/pages_shortcut__x.gif [new file with mode: 0644]
t3lib/gfx/i/recycler__h.gif [new file with mode: 0644]
t3lib/gfx/i/recycler__t.gif [new file with mode: 0644]
t3lib/gfx/i/recycler__u.gif [new file with mode: 0644]
t3lib/gfx/i/recycler__x.gif [new file with mode: 0644]
t3lib/gfx/i/spacer_icon__h.gif [new file with mode: 0644]
t3lib/gfx/i/spacer_icon__t.gif [new file with mode: 0644]
t3lib/gfx/i/spacer_icon__u.gif [new file with mode: 0644]
t3lib/gfx/i/spacer_icon__x.gif [new file with mode: 0644]
t3lib/gfx/i/sys_language__h.gif [new file with mode: 0644]
t3lib/gfx/i/sys_language__x.gif [new file with mode: 0644]
t3lib/gfx/i/sysf__h.gif [new file with mode: 0644]
t3lib/gfx/i/sysf__t.gif [new file with mode: 0644]
t3lib/gfx/i/sysf__u.gif [new file with mode: 0644]
t3lib/gfx/i/sysf__x.gif [new file with mode: 0644]
t3lib/gfx/i/template__f.gif [new file with mode: 0644]
t3lib/gfx/i/template__h.gif [new file with mode: 0644]
t3lib/gfx/i/template__ht.gif [new file with mode: 0644]
t3lib/gfx/i/template__t.gif [new file with mode: 0644]
t3lib/gfx/i/template__x.gif [new file with mode: 0644]
t3lib/gfx/i/template_add__h.gif [new file with mode: 0644]
t3lib/gfx/i/template_add__ht.gif [new file with mode: 0644]
t3lib/gfx/i/template_add__t.gif [new file with mode: 0644]
t3lib/gfx/i/template_add__x.gif [new file with mode: 0644]
t3lib/gfx/i/tt_calender__h.gif [new file with mode: 0644]
t3lib/gfx/i/tt_calender__ht.gif [new file with mode: 0644]
t3lib/gfx/i/tt_calender__t.gif [new file with mode: 0644]
t3lib/gfx/i/tt_calender__x.gif [new file with mode: 0644]
t3lib/gfx/i/tt_calender_todo__h.gif [new file with mode: 0644]
t3lib/gfx/i/tt_calender_todo__ht.gif [new file with mode: 0644]
t3lib/gfx/i/tt_calender_todo__t.gif [new file with mode: 0644]
t3lib/gfx/i/tt_calender_todo__x.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content__f.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content__h.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content__ht.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content__hu.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content__t.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content__u.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content__x.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_bullets__f.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_bullets__h.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_bullets__ht.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_bullets__hu.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_bullets__t.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_bullets__u.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_bullets__x.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_div__f.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_div__h.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_div__ht.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_div__hu.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_div__t.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_div__u.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_div__x.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_form__f.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_form__h.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_form__ht.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_form__hu.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_form__t.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_form__u.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_form__x.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_header__f.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_header__h.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_header__ht.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_header__hu.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_header__t.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_header__u.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_header__x.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_html__f.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_html__h.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_html__ht.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_html__hu.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_html__t.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_html__u.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_html__x.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_image__f.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_image__h.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_image__ht.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_image__hu.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_image__t.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_image__u.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_image__x.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_list__f.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_list__h.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_list__ht.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_list__hu.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_list__t.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_list__u.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_list__x.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_login__f.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_login__h.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_login__ht.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_login__hu.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_login__t.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_login__u.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_login__x.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_menu__f.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_menu__h.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_menu__ht.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_menu__hu.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_menu__t.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_menu__u.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_menu__x.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_mm__f.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_mm__h.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_mm__ht.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_mm__hu.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_mm__t.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_mm__u.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_mm__x.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_news__f.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_news__h.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_news__ht.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_news__hu.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_news__t.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_news__u.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_news__x.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_script__f.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_script__h.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_script__ht.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_script__hu.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_script__t.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_script__u.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_script__x.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_search__f.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_search__h.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_search__ht.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_search__hu.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_search__t.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_search__u.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_search__x.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_shortcut__f.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_shortcut__h.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_shortcut__ht.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_shortcut__hu.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_shortcut__t.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_shortcut__u.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_shortcut__x.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_table__f.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_table__h.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_table__ht.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_table__hu.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_table__t.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_table__u.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_table__x.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_textpic__f.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_textpic__h.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_textpic__ht.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_textpic__hu.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_textpic__t.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_textpic__u.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_textpic__x.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_uploads__f.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_uploads__h.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_uploads__ht.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_uploads__hu.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_uploads__t.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_uploads__u.gif [new file with mode: 0644]
t3lib/gfx/i/tt_content_uploads__x.gif [new file with mode: 0644]
t3lib/gfx/i/tt_faq_board_root__h.gif [new file with mode: 0644]
t3lib/gfx/i/tt_news_article__h.gif [new file with mode: 0644]
t3lib/gfx/i/tt_news_article__ht.gif [new file with mode: 0644]
t3lib/gfx/i/tt_news_article__htu.gif [new file with mode: 0644]
t3lib/gfx/i/tt_news_article__hu.gif [new file with mode: 0644]
t3lib/gfx/i/tt_news_article__t.gif [new file with mode: 0644]
t3lib/gfx/i/tt_news_article__tu.gif [new file with mode: 0644]
t3lib/gfx/i/tt_news_article__u.gif [new file with mode: 0644]
t3lib/gfx/i/tt_news_article__x.gif [new file with mode: 0644]
t3lib/gfx/i/tt_news_exturl__h.gif [new file with mode: 0644]
t3lib/gfx/i/tt_news_exturl__ht.gif [new file with mode: 0644]
t3lib/gfx/i/tt_news_exturl__htu.gif [new file with mode: 0644]
t3lib/gfx/i/tt_news_exturl__hu.gif [new file with mode: 0644]
t3lib/gfx/i/tt_news_exturl__t.gif [new file with mode: 0644]
t3lib/gfx/i/tt_news_exturl__tu.gif [new file with mode: 0644]
t3lib/gfx/i/tt_news_exturl__u.gif [new file with mode: 0644]
t3lib/gfx/i/tt_news_exturl__x.gif [new file with mode: 0644]
t3lib/gfx/insert5.png [new file with mode: 0755]
t3lib/gfx/loginbox_image_360.jpg [new file with mode: 0755]
t3lib/gfx/loginbox_image_360rc1.jpg [new file with mode: 0755]
t3lib/gfx/loginbox_image_360rc2.jpg [new file with mode: 0755]
t3lib/gfx/ol/Thumbs.db [deleted file]
t3lib/gfx/overlay_no_icon_found.gif [new file with mode: 0755]
t3lib/gfx/rednumbers/Thumbs.db [deleted file]
t3lib/gfx/selicons/Thumbs.db [deleted file]
t3lib/gfx/typo3logo.gif
t3lib/jsfunc.evalfield.js
t3lib/jsfunc.menu.js
t3lib/jsfunc.updateform.js
t3lib/jsfunc.validateform.js
t3lib/stddb/load_ext_tables.php
t3lib/stddb/tables.php
t3lib/stddb/tables.sql
t3lib/stddb/tbl_be.php
t3lib/thumbs.php
t3lib/unidata/SpecialCasing.txt [new file with mode: 0644]
t3lib/unidata/UnicodeData.txt [new file with mode: 0644]
typo3/GPL.txt
typo3/LICENSE.txt
typo3/README.txt
typo3/alt_clickmenu.php
typo3/alt_db_navframe.php
typo3/alt_doc.php
typo3/alt_doc_nodoc.php
typo3/alt_file_navframe.php
typo3/alt_intro.php
typo3/alt_main.php
typo3/alt_menu.php
typo3/alt_menu_sel.php
typo3/alt_mod_frameset.php
typo3/alt_palette.php
typo3/alt_shortcut.php
typo3/alt_toplogo.php
typo3/alt_topmenu_dummy.php
typo3/border.html
typo3/browse_links.php
typo3/browser.php
typo3/class.alt_menu_functions.inc
typo3/class.db_layout.inc [deleted file]
typo3/class.db_list.inc
typo3/class.db_list_extra.inc
typo3/class.file_list.inc
typo3/class.show_rechis.inc
typo3/close.html
typo3/db_layout.php [deleted file]
typo3/db_list.php
typo3/db_new.php
typo3/db_new_content_el.php [deleted file]
typo3/default.htm
typo3/default.html
typo3/dev/dump_template_tables.php [deleted file]
typo3/dev/phpinfo.php [deleted file]
typo3/dummy.php
typo3/ext_php_api.dat [new file with mode: 0644]
typo3/file_edit.php
typo3/file_list.php
typo3/file_newfolder.php
typo3/file_rename.php
typo3/file_upload.php
typo3/icons/icon_00f8e0220e.gif [deleted file]
typo3/icons/icon_0245c46507.gif [deleted file]
typo3/icons/icon_04dc0210a1.gif [deleted file]
typo3/icons/icon_07eff13a15.gif [deleted file]
typo3/icons/icon_0a7d5ada1a.gif [deleted file]
typo3/icons/icon_127199e3f6.gif [deleted file]
typo3/icons/icon_13d4655e90.gif [deleted file]
typo3/icons/icon_16f038ead8.gif [deleted file]
typo3/icons/icon_1cc7ca5c9a.gif [deleted file]
typo3/icons/icon_260a676af9.gif [deleted file]
typo3/icons/icon_26b59c6813.gif [deleted file]
typo3/icons/icon_29c5185e41.gif [deleted file]
typo3/icons/icon_30b5fb3b75.gif [deleted file]
typo3/icons/icon_3c085f9ae6.gif [deleted file]
typo3/icons/icon_3e891f9158.gif [deleted file]
typo3/icons/icon_4316b35f1d.gif [deleted file]
typo3/icons/icon_4734dba256.gif [deleted file]
typo3/icons/icon_4a67de7e15.gif [deleted file]
typo3/icons/icon_50d6da96d8.gif [deleted file]
typo3/icons/icon_50e1a0ffb4.gif [deleted file]
typo3/icons/icon_518ce78fa3.gif [deleted file]
typo3/icons/icon_530a10f836.gif [deleted file]
typo3/icons/icon_56b8094482.gif [deleted file]
typo3/icons/icon_5a4ab240d4.gif [deleted file]
typo3/icons/icon_5b879dc41e.gif [deleted file]
typo3/icons/icon_5f6da6391c.gif [deleted file]
typo3/icons/icon_6154f071e0.gif [deleted file]
typo3/icons/icon_63cb79d14d.gif [deleted file]
typo3/icons/icon_64070a40db.gif [deleted file]
typo3/icons/icon_67df7e3935.gif [deleted file]
typo3/icons/icon_69907e62dd.gif [deleted file]
typo3/icons/icon_6a16f30d0e.gif [deleted file]
typo3/icons/icon_6b3c2e00c1.gif [deleted file]
typo3/icons/icon_700589ec0f.gif [deleted file]
typo3/icons/icon_739ec5f077.gif [deleted file]
typo3/icons/icon_74182517a9.gif [deleted file]
typo3/icons/icon_7d6dfd461b.gif [deleted file]
typo3/icons/icon_830746c89e.gif [deleted file]
typo3/icons/icon_8b972a62a6.gif [deleted file]
typo3/icons/icon_8cbf4a449d.gif [deleted file]
typo3/icons/icon_8d74b6967a.gif [deleted file]
typo3/icons/icon_8da21ac0fa.gif [deleted file]
typo3/icons/icon_8e353fff01.gif [deleted file]
typo3/icons/icon_958043c184.gif [deleted file]
typo3/icons/icon_97c063a92e.gif [deleted file]
typo3/icons/icon_99d46d095f.gif [deleted file]
typo3/icons/icon_9b42b72742.gif [deleted file]
typo3/icons/icon_9d43c58ced.gif [deleted file]
typo3/icons/icon_a0aaa70402.gif [deleted file]
typo3/icons/icon_a1e1b10b1f.gif [deleted file]
typo3/icons/icon_a43271d346.gif [deleted file]
typo3/icons/icon_a6a2089da0.gif [deleted file]
typo3/icons/icon_a76c6c1322.gif [deleted file]
typo3/icons/icon_a947fedc6a.gif [deleted file]
typo3/icons/icon_aa721fed1e.gif [deleted file]
typo3/icons/icon_ab336769b4.gif [deleted file]
typo3/icons/icon_b3556f0b1a.gif [deleted file]
typo3/icons/icon_b3f9f36168.gif [deleted file]
typo3/icons/icon_b602733078.gif [deleted file]
typo3/icons/icon_b860c23353.gif [deleted file]
typo3/icons/icon_ba2af37bbf.gif [deleted file]
typo3/icons/icon_bf9e00b5d2.gif [deleted file]
typo3/icons/icon_c049aba16f.gif [deleted file]
typo3/icons/icon_c1d4b999b7.gif [deleted file]
typo3/icons/icon_c33b0a6c13.gif [deleted file]
typo3/icons/icon_c82f0aeb4f.gif [deleted file]
typo3/icons/icon_cb5b0bd837.gif [deleted file]
typo3/icons/icon_cfe024394f.gif [deleted file]
typo3/icons/icon_cfe308933c.gif [deleted file]
typo3/icons/icon_d1eca7846f.gif [deleted file]
typo3/icons/icon_d5017d767b.gif [deleted file]
typo3/icons/icon_d5927ef6ff.gif [deleted file]
typo3/icons/icon_d5fccc038d.gif [deleted file]
typo3/icons/icon_d7a4e09dfd.gif [deleted file]
typo3/icons/icon_d8c67850bb.gif [deleted file]
typo3/icons/icon_dd4182dd57.gif [deleted file]
typo3/icons/icon_e00e15f594.gif [deleted file]
typo3/icons/icon_e18829a00a.gif [deleted file]
typo3/icons/icon_e359adb2d1.gif [deleted file]
typo3/icons/icon_e465305d37.gif [deleted file]
typo3/icons/icon_e4d98f3869.gif [deleted file]
typo3/icons/icon_e576aac06a.gif [deleted file]
typo3/icons/icon_e5fddbe851.gif [deleted file]
typo3/icons/icon_efb54f6c90.gif [deleted file]
typo3/icons/icon_f111090b94.gif [deleted file]
typo3/icons/icon_f1e2cfe815.gif [deleted file]
typo3/icons/icon_f535e98248.gif [deleted file]
typo3/icons/icon_f5e741a136.gif [deleted file]
typo3/icons/icon_f6cf4262ba.gif [deleted file]
typo3/icons/icon_f8ceb88480.gif [deleted file]
typo3/icons/icon_f9e38cab80.gif [deleted file]
typo3/icons/icon_f9fe320fc3.gif [deleted file]
typo3/icons/icon_fa972c9af0.gif [deleted file]
typo3/icons/icon_fbc2d25714.gif [deleted file]
typo3/index.htm
typo3/index.html
typo3/index.php
typo3/index_re.php
typo3/init.php
typo3/install/README.txt [new file with mode: 0755]
typo3/install/index.php
typo3/listframe_loader.php
typo3/login_frameset.php
typo3/logout.php
typo3/md5.js
typo3/mod/README.txt [new file with mode: 0755]
typo3/mod/doc/conf.php
typo3/mod/file/conf.php
typo3/mod/file/list/conf.php
typo3/mod/help/about/conf.php
typo3/mod/help/about/index.php
typo3/mod/help/conf.php
typo3/mod/tools/conf.php
typo3/mod/tools/em/class.kickstarter.php
typo3/mod/tools/em/conf.php
typo3/mod/tools/em/index.php
typo3/mod/tools/note.txt
typo3/mod/user/conf.php
typo3/mod/web/conf.php
typo3/mod/web/func/conf.php
typo3/mod/web/func/index.php
typo3/mod/web/info/index.php
typo3/mod/web/list/conf.php
typo3/mod/web/perm/conf.php
typo3/mod/web/perm/index.php
typo3/move_el.php
typo3/rte_cleaner.php [deleted file]
typo3/rte_select_image.php [deleted file]
typo3/rte_user.php [deleted file]
typo3/show_item.php
typo3/show_rechis.php
typo3/status_file.php [deleted file]
typo3/stylesheet.css
typo3/sysext/README.txt [new file with mode: 0755]
typo3/sysext/cms/doc/TODO.txt
typo3/sysext/cms/ext_emconf.php
typo3/sysext/cms/ext_localconf.php
typo3/sysext/cms/ext_php_api.dat
typo3/sysext/cms/ext_tables.php
typo3/sysext/cms/ext_tables.sql
typo3/sysext/cms/ext_tables_static+adt.sql
typo3/sysext/cms/layout/class.tx_cms_layout.php [new file with mode: 0755]
typo3/sysext/cms/layout/conf.php
typo3/sysext/cms/layout/db_layout.php [new file with mode: 0755]
typo3/sysext/cms/layout/db_new_content_el.php [new file with mode: 0644]
typo3/sysext/cms/layout/locallang.php
typo3/sysext/cms/layout/locallang_db_new_content_el.php [new file with mode: 0755]
typo3/sysext/cms/layout/locallang_mod.php
typo3/sysext/cms/locallang_csh_weblayout.php
typo3/sysext/cms/locallang_tca.php
typo3/sysext/cms/locallang_ttc.php
typo3/sysext/cms/tbl_cms.php
typo3/sysext/cms/tbl_tt_content.php
typo3/sysext/cms/tslib/GPL.txt
typo3/sysext/cms/tslib/README.txt
typo3/sysext/cms/tslib/class.tslib_content.php
typo3/sysext/cms/tslib/class.tslib_fe.php
typo3/sysext/cms/tslib/class.tslib_fetce.php
typo3/sysext/cms/tslib/class.tslib_feuserauth.php
typo3/sysext/cms/tslib/class.tslib_gifbuilder.php
typo3/sysext/cms/tslib/class.tslib_menu.php
typo3/sysext/cms/tslib/class.tslib_pagegen.php
typo3/sysext/cms/tslib/class.tslib_pibase.php
typo3/sysext/cms/tslib/class.tslib_search.php
typo3/sysext/cms/tslib/index_ts.php
typo3/sysext/cms/tslib/media/scripts/defaultstylesheet.css
typo3/sysext/cms/tslib/media/scripts/example_callfunction.php
typo3/sysext/cms/tslib/media/scripts/example_itemArrayProcFunc.php
typo3/sysext/cms/tslib/media/scripts/example_keepRollover.php
typo3/sysext/cms/tslib/media/scripts/example_languageMenu.php
typo3/sysext/cms/tslib/media/scripts/example_typolinkpop.php
typo3/sysext/cms/tslib/media/scripts/fe_adminLib.inc
typo3/sysext/cms/tslib/media/scripts/freesite_dummy_page_menu.php
typo3/sysext/cms/tslib/media/scripts/gmenu_foldout.php
typo3/sysext/cms/tslib/media/scripts/gmenu_layers.php
typo3/sysext/cms/tslib/media/scripts/jsfunc.foldout.js
typo3/sysext/cms/tslib/media/scripts/jsfunc.layermenu.js
typo3/sysext/cms/tslib/media/scripts/makeMenu_datedirectory.inc
typo3/sysext/cms/tslib/media/scripts/makeMenu_keywords_updated.inc [deleted file]
typo3/sysext/cms/tslib/media/scripts/plaintextLib.inc
typo3/sysext/cms/tslib/media/scripts/postit.inc
typo3/sysext/cms/tslib/media/scripts/testscript.inc
typo3/sysext/cms/tslib/media/scripts/testscript_EXT.php
typo3/sysext/cms/tslib/media/scripts/testscript_INT.php
typo3/sysext/cms/tslib/media/scripts/tmenu_layers.php
typo3/sysext/cms/tslib/media/scripts/wapversionLib.inc
typo3/sysext/cms/tslib/media/scripts/xmlversionLib.inc
typo3/sysext/cms/tslib/media/uploads/crcph/main.htm
typo3/sysext/cms/tslib/media/uploads/green/template.tmpl
typo3/sysext/cms/tslib/media/uploads/newsletter/template.html
typo3/sysext/cms/tslib/media/uploads/typo3logo.gif
typo3/sysext/cms/tslib/media/uploads/typo3power1.gif
typo3/sysext/cms/tslib/media/uploads/typo3power2.gif
typo3/sysext/cms/tslib/pagegen.php
typo3/sysext/cms/tslib/publish.php
typo3/sysext/cms/tslib/showpic.php
typo3/sysext/cms/web_info/class.tx_cms_webinfo.php
typo3/sysext/cms/web_info/locallang.php
typo3/sysext/lang/ext_emconf.php
typo3/sysext/lang/ext_php_api.dat [deleted file]
typo3/sysext/lang/lang.php
typo3/sysext/lang/locallang_alt_doc.php
typo3/sysext/lang/locallang_alt_intro.php
typo3/sysext/lang/locallang_browse_links.php
typo3/sysext/lang/locallang_core.ar.php [new file with mode: 0755]
typo3/sysext/lang/locallang_core.bg.php
typo3/sysext/lang/locallang_core.br.php
typo3/sysext/lang/locallang_core.ch.php
typo3/sysext/lang/locallang_core.cz.php
typo3/sysext/lang/locallang_core.de.php
typo3/sysext/lang/locallang_core.dk.php
typo3/sysext/lang/locallang_core.es.php
typo3/sysext/lang/locallang_core.et.php
typo3/sysext/lang/locallang_core.eu.php
typo3/sysext/lang/locallang_core.fi.php
typo3/sysext/lang/locallang_core.fr.php
typo3/sysext/lang/locallang_core.gl.php
typo3/sysext/lang/locallang_core.gr.php
typo3/sysext/lang/locallang_core.he.php [new file with mode: 0755]
typo3/sysext/lang/locallang_core.hk.php
typo3/sysext/lang/locallang_core.hr.php
typo3/sysext/lang/locallang_core.hu.php
typo3/sysext/lang/locallang_core.is.php
typo3/sysext/lang/locallang_core.it.php
typo3/sysext/lang/locallang_core.jp.php [new file with mode: 0644]
typo3/sysext/lang/locallang_core.lt.php
typo3/sysext/lang/locallang_core.lv.php [new file with mode: 0644]
typo3/sysext/lang/locallang_core.nl.php
typo3/sysext/lang/locallang_core.no.php
typo3/sysext/lang/locallang_core.php
typo3/sysext/lang/locallang_core.pl.php
typo3/sysext/lang/locallang_core.pt.php
typo3/sysext/lang/locallang_core.ro.php
typo3/sysext/lang/locallang_core.ru.php
typo3/sysext/lang/locallang_core.se.php
typo3/sysext/lang/locallang_core.si.php
typo3/sysext/lang/locallang_core.sk.php
typo3/sysext/lang/locallang_core.th.php
typo3/sysext/lang/locallang_core.tr.php
typo3/sysext/lang/locallang_core.ua.php [new file with mode: 0755]
typo3/sysext/lang/locallang_core.vn.php [new file with mode: 0644]
typo3/sysext/lang/locallang_csh_be_groups.php
typo3/sysext/lang/locallang_csh_be_users.php
typo3/sysext/lang/locallang_csh_em.php
typo3/sysext/lang/locallang_csh_pages.php
typo3/sysext/lang/locallang_csh_sysfilem.php
typo3/sysext/lang/locallang_db_new_content_el.php [deleted file]
typo3/sysext/lang/locallang_general.php
typo3/sysext/lang/locallang_misc.php
typo3/sysext/lang/locallang_mod_doc.php
typo3/sysext/lang/locallang_mod_file.php
typo3/sysext/lang/locallang_mod_file_list.php
typo3/sysext/lang/locallang_mod_help.php
typo3/sysext/lang/locallang_mod_help_about.php
typo3/sysext/lang/locallang_mod_tools.php
typo3/sysext/lang/locallang_mod_tools_em.php
typo3/sysext/lang/locallang_mod_user.php
typo3/sysext/lang/locallang_mod_web.php
typo3/sysext/lang/locallang_mod_web_func.php
typo3/sysext/lang/locallang_mod_web_info.php
typo3/sysext/lang/locallang_mod_web_list.php
typo3/sysext/lang/locallang_mod_web_perm.php
typo3/sysext/lang/locallang_rte_select_image.php [deleted file]
typo3/sysext/lang/locallang_rte_user.php [deleted file]
typo3/sysext/lang/locallang_show_rechis.php
typo3/sysext/lang/locallang_tca.php
typo3/sysext/lang/locallang_tsfe.php
typo3/sysext/lang/locallang_view_help.php
typo3/sysext/lang/locallang_wizards.php
typo3/tce_db.php
typo3/tce_file.php
typo3/template.php
typo3/view_help.php
typo3/wizard_add.php
typo3/wizard_colorpicker.php
typo3/wizard_edit.php
typo3/wizard_forms.php
typo3/wizard_list.php
typo3/wizard_rte.php
typo3/wizard_table.php
typo3/wizard_tsconfig.php

diff --git a/CVSreadme.txt b/CVSreadme.txt
new file mode 100644 (file)
index 0000000..a655a6b
--- /dev/null
@@ -0,0 +1,45 @@
+Post-CVS checkout instructions:
+
+If you check out the module "TYPO3core" from SourceForce CVS you will have to make a few symlinks in the
+checked out source before it will work for you. Follow these guidelines:
+
+
+- Go to the module directory (default is "TYPO3core")
+- Create symlink for tslib:
+       ln -s typo3/sysext/cms/tslib
+- Go to typo3/ folder:
+       cd typo3/
+- Create symlinks for t3lib/ and other things:
+       ln -s ../t3lib
+       ln -s ../t3lib/thumbs.php
+       ln -s ../t3lib/gfx
+- Finally, go to the t3lib/fonts/ dir:
+       cd t3lib/fonts/
+- Create two symlinks to fonts:
+       ln -s vera.ttf verdana.ttf
+       ln -s nimbus.ttf arial.ttf
+
+OR
+
+- Go to the module directory (default is "TYPO3core")
+- Run the create-symlinks.sh shell script.
+
+
+As the last operation you have to copy the global extensions into their position in the typo3/ folder!
+The global extensions are not found there in the TYPO3core module because they are technically not a part
+of the core although they are distributed along with it whenever you get hold of the tar files. So from
+the most recent tar package of TYPO3 source you can find that directory and copy in here.
+Notice that each global extension might infact have its own CVS project somewhere, like on
+SourceForge.net, project "TYPO3 Extension Development Platform".
+
+Thats all. This procedure is only needed when you check out the source for the first time ever.
+
+
+IMPORTANT POST-CHECKLIST:
+Follow this list IMMEDIATELY after updating sources from CVS (both core and extensions):
+- Update database: In the Install Tool, click "COMPARE" for "Update required tables" in "Database Analysis" section. You might dump the static tables as well, but less likely to be important
+- "Clear temp_CACHED"
+- "Clear All Cache"
+- Using PHP-accelerator or other PHP cache? If you fatal PHP-errors, always remove the cached files (eg. "/tmp/phpa_*"), restart Apache and try again.
+
+- kasper
\ No newline at end of file
diff --git a/ChangeLog b/ChangeLog
new file mode 100755 (executable)
index 0000000..e0b18d9
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,377 @@
+2004-04-30  Robert Lemke  <rl@robertlemke.de>
+
+       * Changed warning message for typo3/ext in the install tool for the directories. Now directories have the following requirements, where the values mean. See Changelog of t3lib_install.php for more details.
+
+2004-04-29  Robert Lemke  <rl@robertlemke.de>
+
+       * Resolved bug #0000031:
+       * Moved table definition for cache_imagesizes from sysext/cms/ext_tables.sql to stddb/tables.sql
+       * Removed Clear All Cache for cache_imagesizes in t3lib_tcemain::clear_cacheCmd
+       * Added new section "Clean up database" in the install tool. This is used for clearing the cached image sizes
+
+2004-04-26  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added possibility to prefix references to wizard scripts with "EXT:" for reference to wizard scripts in extension.
+
+2004-04-26  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added prefix to relative file reference in @import style sheet 
+
+2004-04-26  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Fixed bug where DB mounts for a user which has been deleted would still show up in the page tree.
+
+2004-04-26  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Fixed bug with pageNotFound handling.
+
+2004-04-26  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added a PAGE Tsconfig option to disable the automatic clearing of page cache when records are edited.
+
+2004-04-26  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Updated "cms" extension with most recent labels from TYPO3.org
+
+2004-04-26  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Updated "lang" extension with most recent labels from TYPO3.org
+
+2004-04-26  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added Latvian, Japanese and Vietnamese languages
+
+2004-04-24  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added to TypoScript object browser that the title text of the object links contains information about in which lines in the TypoScript body code that a certain object path is set, cleared, copied.
+
+2004-04-23  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added "removeBadHTML" option to stdWrap - this can help to avoid XSS dangerous HTML.
+
+2004-04-23  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added feature in TYpoScript data type "getText" to get values from GET arrays via "GPvar" key word. Now you can specify ".date = GPvar : tx_myext|mode|index" to get value of &tx_myext[mode][index]
+
+2004-04-23  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added option "$TYPO3_CONF_VARS["GFX"]["gdlib_2"] = 'no_imagecopyresized_fix';" to avoid using the imagecopyresized workaround in stdgraphic class which has failed for some. Whether the workaround is needed anymore is not certain. Some people say it works fine without.
+
+2004-04-23  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added TypoScript condition "hostname" for matching hostnames for IP addresses.
+
+2004-04-23  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added API for configuring extra tables/fields for listing in Web > Page
+
+2004-04-23  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added option "mod.web_list.clickTitleMode = edit/info/show" to determine alternative behaviours of title links in the Web > List module.
+
+2004-04-23  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added Page TSconfig option "mod.web_list.listOnlyInSingleTableView = 1" which makes the List module list only the table names by default. You have to click the table name to get the single-table view before records show up. This is useful for pages containing many records from many tables.
+
+2004-04-23  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added refresh button to taskcenter (not in core CVS)
+
+2004-04-23  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added "Login failure" message in backend login box
+
+2004-04-23  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added to user authentication that the HTTP_USER_AGENT is hashed and a part of the session lookup (in other words, if the HTTP_USER_AGENT stays constant the session stays as well). Also added possibility of configuring that the IP adresse used to lock down sessions is only part 1,2,3 or 4 (all) used. Mainly this is easily configurable for frontend users (which has had the "security level" set to "2" now instead of disabled totally!). For backend users I didn't make configuration options in TYPO3_CONF_VARS - just wanted to know if people needed it there first (not to bloat options....)
+
+2004-04-23  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added possibility of jumping directly to editing a page in the backend. You specify "alt_main.php?edit=[page id]" and you will be brought directly to the page edit module.
+
+2004-04-22  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added in RTE link box: Searched *into* Content ELements of type Text and Text w/Image after anchors (<a name="...">) and lists them as well with content elements to which an anchor link can be made.
+
+2004-04-22  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added configuration options for what level of pages cache is cleared when you edit a page header. You can not get children and grand-parents cleared as well. (TCEMAIN.clear..... in Page TSconfig)
+
+2004-04-21  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added "altText" and "titleText" attributes to the IMGMAP object (used for IMGMENU: Now you can add values to the alt and title attributes of image maps).
+       * Added "ATagTitle" attribute for TMENU / GMENU so the menu links can have a title attribute for accessible websites.
+       * Added "allStdWrap" attributes for TMENUITEM/GMENU item states. + some other properties requested.
+
+2004-04-21  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added features around "includeCSS" TypoScript property for PAGE objects: "import" and "alternate" attributes (booleans) are now supported.
+
+2004-04-20  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Changed a bunch of things, added a few new features to make TYPO3 accessible. One significant thing was the attributes "altText", "titleText" and "longdescURL" for IMAGE, IMGTEXT, FILE and ->filelink() in TypoScript.
+
+2004-04-20  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Completed changes for XHTML compliance requests from the Accessibility group. Mainly adding support for more XHTML types, adding attributes like xml:lang to <html> tag, support for "dir" attributes in HTML tags, support for writing inline styles and JavaScript to a temporary file to keep a clean HTML <head> section...
+
+2004-04-19  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * "minItems", "maxItems" and "begin" has been added as properties to MENU objects (like TMENU, GMENU, IMGMENU etc) so you can set these values for the individual menus (as they probably should have been in the first place...).
+
+2004-04-19  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added a checkbox to the page header in the "cms" extension called "Hide in menu". With this checkbox the page is excluded from menus on the totally same terms as doktype=5 ("Not in menu") does. The implementation is believed to be complete (although there might be some places overlooked). The checkbox renders the doktype 5 "Not in menu" obsolete; the idea is that the checkbox should be used in the future. Finally - if anyone read this far - I prophecise, that within two weeks from this moment someone will approach me and want to have a visual response to the "Hide in menu" checkbox in the icon; currently the page icon does NOT change it looks (and it would be very doubtful if we could justify making it change...).
+
+2004-04-19  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added new FORM cObject type, "label", which inserts a label instead of a field. Also fixed ordering problem when the "dataArray" attribute of FORM is used (now renders the form in the numerical order of the elements instead of order of appearance).
+
+2004-04-19  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Fixed incompatibility between Mount Points and property "overrideId" in menus.
+
+2004-04-19  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added support for JavaScript regular expression evaluation in FORM cObject. Means that fields in formmails can now be checked for a pattern and not only for "required".
+
+2004-04-19  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added possibility to copy database/file elements attached to records; You can now click the icon of these elements in the editing forms and get a (limited) context menu for these elements.
+       * Fixed some other bugs around.
+
+2004-04-16  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * fixed detection of schemes (http://, ftp:// etc) in "typolinks". Now email addresses are detected only if NOT prepended with a scheme. Also the presence of a scheme will make typolink function detect the input as a plain URL which should just be passed through untouched.
+
+2004-04-14  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Mount Points (Mount pages) reworking:
+Changelog:
+Fixed bugs in Mount Points / Status:
+- Added protection against forging the MP variable value; The exact number of MP var parts must exist, mountpoints cannot exist in rootline (must be resolved) etc.
+- Fixed false detection of CUR, ACT etc. states in HMENU (including x_LAYERS menus)
+- Added support for typolink linking to closest page in rootline (thus detecting Mounts)
+- Fixed support for correct MP-vars for any entryLevel number for HMENU
+- Added option to overlay the mount point with the mounted page; This means the mount point gets substituted with the mounted page and not only the subpages of the mounted page. This is called "Overlay" mode. Can be set on a per-mount level (checkbox in the pages record). Only doktypes < 200 can be mounted in overlay mode.
+- Checked consistency of exclude pages/hidden/starttime/endtime and found it to be ok.
+- HMENU special types supported:
+       rootline : full support
+       list,directory : Supported, but only if the ID values supplied are in the main rootline of the site. The pages in the menus are allowed to be mount points of course. If the supplied IDs are outside the rootline they will loose their connection to the rootline unless "config.MP_mapRootPoints" is configured to supply some mapping.
+       browse : Not supported: Didn't have time to do it, but should be possible to implement technically.
+       keyword/updated : Supported.
+- Support for chained mount points; A mount point can mount another mount point. "Substitute Mount Point (this page) with Mounted page:" (overlay mode) is evaluated based on the LAST mountpoint in chain. In overlay mode enableFields are evaluated for the Mounted page while in normal mode it is evaluated for the mount point.
+- Fixed problem with caching of the same page id with various MP vars; The page in the "cache_pageSection" table had to be identified by a combination of page id and MPvar.
+- No support for Page "shortcut" mode: You cannot successfully make a shortcut to a mounted page. Support is currently not planned.
+- Support added for search in mount pages; basically this is done since tslib_cObj::getTreeList() is now including MountPages as well! Since getTreeList() does not return any information about MPvars for an ID (its only a list of ids!) then you should enable "config.MP_mapRootPoints = root" or so - otherwise the mounted page ids will not obtain the necessary "MP" var.
+- links to mount points re-maps themselves to right title/uid
+
+
+2004-04-05  Robert Lemke  <rl@robertlemke.de>
+
+       * Modified typo3/sysext/cms/tslib/class.tslib_content.php:
+               * fixed bug: When providing an imgList for the IMGTEXT TLO, no spaces were accepted in the comma separated list. Now using t3lib_div::trimExplode for splitting.
+               * fixed bug: The alt and title parameters have not been set correctly when using IMGTEXT with the imgList property. Now everything works as expected: You may specify alt/title texts for the whole IMGTEXT, or for each imgObj independently
+
+       * Added support for automatically caching image dimensions instead of executing IM identify.  Original extension provided by Michael Stucki.
+               * Affected files: t3lib/class.t3lib_stdgraphic.php, typo3/sysext/cms/ext_tables.sql
+               * Tested by Ingmar, Michael and Robert
+
+2004-04-01  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Fixed problem with domain look-up when an extra "/" was added to eg. "typo3.com//" -> showing "typo3.org" instead
+
+2004-04-01  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Fixed some browser detection bugs in t3lib_matchcondition and t3lib_div. Not necessarily exhaustive! For instance a report on Netscape 7.2 being wrongly detected may not be resolved (need teh value of HTTP_USER_AGENT to solve it since I do not have netscape 7.2!)
+
+2004-04-01  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added full safety for the internal TYPO3 formmail; email addresses in the fields "recipient" and "recipient_copy" are encrypted in the transfer and the "formmail" interface is safe for spam-misuse (since a proper recipient address cannot be forged automatically).
+!!!If someone are using the "formmail" API from other renderers than the FORM cObject in TypoScript you will have to set the recipient address to the encrypted value by default OR alternatively disabled the check by TYPO3_CONF_VARS[FE][strictFormmail] = FALSE
+
+2004-04-01  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added Jens Ellerbrocks suggestion for "postUserFuncInt" in stdWrap.
+
+2004-04-01  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added some file icons from Ben and Emile
+
+2004-04-01  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added "General Plugin" to content elmeent wizard list.
+
+2004-04-01  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Fixed SSL problem and many other minor things
+
+2004-03-31  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Fixed spam-protection of email adresses inserted by "mailto:..." in text.
+
+2004-03-31  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Fixed another small bug in detection of simulateStaticDocuments.
+
+2004-03-31  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Fixed distinction between ' and " in EM.
+
+2004-03-31  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Removed "onblur" handler in "browser.php" - had no great significance apparently and bugged people on Mac.
+
+2004-03-31  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * In t3lib_div::linkThisUrl(), remove "?" if no parameters were found.
+
+2004-03-31  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added "config.doctype = none" support - omits any doctype in the frontend.
+
+2004-03-31  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Fixed an error for form wizard (and others...) where the return URL would be wrong if the wizard was activated right after having saved a new record (would like back to a new record again).
+       * Further, I added the option of xmlOutput from the table and form wizards. This option is configured in the wizard setup. There is NO frontend rendering supporting the XML format yet. But it might be very handy (and recommended) for other applications wanting to use the table and formwizards.
+
+2004-03-31  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Changed the way simulateStaticDocuments are resolved
+
+2004-03-28  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Changed "t3lib_div::calluserFunc" and t3lib_div::getUserObj to use "&" as token for persistent (global) objects rather than ">" - PLEASE UPDATE YOUR CODE if you happend to use these features already (less than a week old).
+
+2004-03-24  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added <span title=""> to path in backend modules in Web main module; you can now see the full path (non-truncated) as title text.
+
+2004-03-24  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added RTE API and changed the "rte" extension to use that.
+       * Added t3lib_div::getUserObj() which returns an OBJECT , instead of executing a method call like callUserFunc() does.
+
+2004-03-23  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Fixed problem in Extension Manager where files and directories was not written with correct permissions. I also added t3lib_div::mkdir() general function for creating directories.
+
+2004-03-23  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Fixed bug that page tree didn't unfold when entering page id in the shortcut frame.
+
+2004-03-23  Kasper Skårhøj,,,  <kasper@typo3.com>
+
+       * Added a checkbox for be-users to disable IP locking. This is useful if you have backend users complaining about being thrown off sessions.
+
+[RC2 note:
+As usual the changelog is not at all "complete" in terms of what has been changed. I regret this, but the tradeoff would be slower development if all details had to go in here which is why they don't.
+However all IMPORTANT changes that might break compatibility somewhere is always entered in the log with "!!!" prefixed.
+- kasper
+]
+
+- Modified how external URLs for pages are redirected to: In case the URL seems to be *relative* ("blabla/index.php", "?id=12..") the URL is prefixed with the site URL. Otherwise it won't work with "realurl" extension.
+- Added features in t3lib_div::callUserFunction(); You can not specify objects to be instantiated once and stored globally for reuse (simply change "->" to "->>") and you can additionally specify a class file to include as a prefix to the method/function reference.
+- Added a new constant "TYPO3_DLOG" which is tied to TYPO3_CONF_VARS[SYS][enable_DLOG] and t3lib_div::devLog function; the framework provides possibility of implementing logging calls all over the source code, both frontend and backend with a minimum loss of speed if no logging is asked for and with the possibility of better debugging/tracking for developers
+- Added some new options to array2xml to obtain XML creation from arrays which observes PHP data types and has options for better protection of tag names etc. Fixed a bug in the detection of binary data in arrays for base64 encoding as well.
+- Script "tslib/media/scripts/makeMenu_keywords_updated.inc has been removed since it was obsolete.
+- Fixed problem with references in FlexForms! Now all references gets correct when copying a page and images will also be copied.
+
+Generally:
+- Database Wrapper class "t3lib_DB" has been created, containing simple wrapper functions for MySQL and query building functions.
+
+!!! - tslib_content::getUpdateJS()             Is NEVER stripping off slashes now, please update your code in extensions if you rely on this (most unlikely)
+!!! - tslib_content::DBgetInsert() + tslib_content::DBgetUpdate()      Will ALWAYS apply slashes to values in queries now (for security). If you use these functions in your extensions, please update your code to the new situation! (These two functions now use their counterparts in t3lib_DB class)
+!!! - IP locking has been added to user sessions: For backend this is DEFAULT (which means that users might experience to be logged out if their IP changes dynamically during a session!) and for frontend users it is disabled by default (but can be enabled from TYPO3_CONF_VARS)
+!!! - t3lib_BEfunc::DBcompileInsert() and t3lib_BEfunc::DBcompileUpdate() has been modified so they ALWAYS add slashes to values inserted in queries. (Further they are depreciated now since they just call their counterparts in t3lib_DB class.)
+- Implemented t3lib_DB class as a first step towards database abstraction. For now it contains wrapper functions that ALL code should use in the future.
+!!! - tslib_cObj::DBcompileInsert has been removed since it was obsolete.
+
+25/2:
+!!!- Removed global extension "Extrep"
+
+2004-03-19  Robert Lemke  <rl@robertlemke.de>
+
+- Fixed SQL statement (missing quotes) in t3lib_dmailer, reported by Martin Erichsen.
+  See: http://typo3.org/1422+M55c87d9b3b8.0.html'
+
+2004-02-12  Robert Lemke  <rl@robertlemke.de>
+
+       *
+Made changes to class.tslib_content.php:
+- added function getAltParam () which acts as an abstraction method / API creating alt and title parameters for img tags
+- added a new TypoScript configuration property: "titleText" (string / stdWrp) similar to "altText". If only altText is specified, it will also be used for the "title" parameter
+- used getAltParam in IMGTEXT () for rendering the alt tag
+- used getAltParam in cImage () for rendering the alt tag
+- added title="" when neccessary, ie. all cleargifs havin an alt="" parameter now also have a title=""
+
+
+Kasper Skårhøj, 6/2:
+ - Added processing option to RTE, "proc.plainImageMode"
+ - Added options for select and group types in TCA to set the selector box style.
+ - Added $altPageId parameter to function linkTP*() in tslib_pibase + pi_list_linkSingle()
+ - Changed the order of <?xml> and <!DOCTYPE> in the frontend for XHTML around again. And added an option, "doctypeSwitch" which will reverse the order for those needing that. And finally the "doctype" option fed with a value that is not "xhtml_frames", "xhtml_trans" or "xhtml_strict" will be outputted AS the doctype!
+ - Implemented checkbox for show thumbnails in Element browser/file and RTE select image dialog.
+ - Implemented pop-up window size selector in link wizard
+
+
+Kasper Skårhøj
+       * Removed "mininews" from global extensions - that was an error in RC1
+       * Removed global extensions "beuser_tracking/ classic_welcome/ design_components/ tt_links/" from main distribtion. They are either obsolete or irrelevant and it has been considered responsible to remove them like this.
+
+2003-12-23  Robert Lemke  <rl@robertlemke.de>
+
+       * Added another TSconfig option for replacing the create new content wizard (-> templavoila). Only added a few lines.
+
+20/12: Change the backend icon processing: Not, by default icons are NOT processed with overlay of hidden, start/endtime icons; The icons are found preprocessed with the source icon. This can be disabled so the old behaviour will apply, see TYPO3_CONF_VARS[GFX] - however group-numbers on icons have been permanently disabled.
+
+Fixed all:
+- Click menu does not work in task-center/weblist
+- admin-only flag in TYPO3_CONF_VARS so only administrators can log in/be authenticated.
+- Click menu does not work in Opera.
+- BUG: Row-highlighting for both Page and Folder trees are not stable enough.
+- BUG: when editing records from Web>View the palette will not show properly in the topframe!
+- BUG: Email forms wizard: "Checked: " for checkboxes does not work!
+- BUG: File>List , list-frame: Click menu does NOT work in Mozilla! cannot find the bug!
+- Convert selecting of filemounts from GROUP selector to a selectorbox.
+- Option: Frameset modules without the "border" frame and therefore adjustable freely.
+Changed all usage of t3lib_div::GPvar('SET') to t3lib_div::GPvar('SET',1) (stripping slashes) where its used to set MOD_SETTINGS for backend modules.
+
+2003-12-16  Robert Lemke  <rl@robertlemke.de>
+
+       * Added and changed some features related to the replacement of default page module by a custom one (templavoila). See t3lib_positionmap, t3lib_tsfebeuserauth, alt_shortcut, alt_clickmenu
+
+2003-12-16  Kasper Skårhøj
+
+       * Added new languages labels for cms and lang extensions // increased version number to 3.6.0RC1
+
+2003-12-16  Kasper Skårhøj
+       * Changed order of DOCTYPE and XML declaration for XHTML support (for standards compliance mode detection in MSIE)
+2003-10-24  Kasper Skårhøj
+       * Moved changelog.txt to ChangeLog ("cvs compliant")
+TYPO3 3.6.0-dev
+PHP:
+!!! $LANG->php3Lang + ->mainLang has been cancelled and replaced with a local-lang call: Search/replace regex: search for '->php3Lang\["([^]]*)"\]\["([^]]*)"\]', replace with '->sL("LLL:EXT:lang/locallang_core.php:\1.\2")'. Same for ->mainLang.
+!!! The global var $AB has been removed (since the "alternative backend" is now THE backend and the classic is totally gone. If you use this var, you can safely expect $AB's value to be TRUE and therefore remove all code which would excute if it was FALSE.
+!!! Removed what looked like unused functions and variables in the backend frameset JavaScript.
+!!! Change db_list_frame and file_list_frame to just "list_frame".
+!!! Cleaned up a lot in the template-class.
+!!! dfw() and rfw() functions must be substituted with $GLOBALS["TBE_TEMPLATE"]->dfw() / ->rfw()
+!!! fw() is highly depreciated (and does NOT wrap strings anymore!)
+!!! if (top.theMenu) top.theMenu.recentuid
+!!! Constant "PATH_temp" has been cancelled - no scripts seemed to use it and the dir is depreciated.
+!!! typo3/temp/ has been cancelled. Changed to typo3/icons/ for STATIC icons and PATH_site.typo3temp/ is now used for the locally generated icons. So no more typo3/temp/ to be writable.
+!!! t3lib_BEfunc::loadTablesDescriptions() and t3lib_BEfunc::loadSingleTableDescription is removed. A function call like t3lib_BEfunc::loadSingleTableDescription("pages",$LANG->lang); is substituted with $LANG->loadSingleTableDescription("pages");
+!!! Function t3lib_BEfunc::pTypes() remove - nothing used it (apparently. prove me wrong... :-)
+!!! Function t3lib_div::extParseurl removed
+!!! Function t3lib_div::imagefinder, t3lib_div::linkfinder, t3lib_div::getStrippedURL, t3lib_div::getMimeType, t3lib_div::debug_white_space, t3lib_div::debug_code, t3lib_div::parsetime, t3lib_div::hardspace, t3lib_div::break_text, t3lib_div::unbreak_text removed
+!!! The font files "arial.ttf" and "verdana.ttf" has been removed from the folder t3lib/fonts/ and substituted with similar typefaces, "nimbus.ttf" and "vera.ttf" respectively.
+!!! The script "t3lib/formmail.php" has been removed. Was not used and didn't work anyways.
+!!! The classes t3lib_pagetree and t3lib_browsetree has been divided into four new classes (folder,page,browse + treeview) - and as a rule of thumb, the API has been modified so much that you should rather check all you applications using these classes in DETAIL! Consider it a reimplementation.
+!!! The three rte_*.php scripts in TYPO3 core has been moved TO the "rte" extension! This also means that any extension classes must have updated their XCLASS registration keys to the new file positions.
+!!! status_file.php is gone...
+!!! The typo3/ scripts db_new_content_el.php and db_layout.php has been moved into the sysext/cms/layout/ folder. Further, the classes have been remodelled a lot. If you link to these scripts or extend their classes in your applications, you should observe the compatibility!
+Charsets:
+- A new class "t3lib_cs" has been added. It contains homemade functions for conversion to and from a list of charsets (conversion tables found in t3lib/csconvtbl/). The conversion could be speeded up enourmously by using PHP functions but I simply didn't find any that could be used. By time we can substitute the PHP-processing with internal PHP functions if possible.
+- In TYPO3_CONF_VARS we can now set up a system charset. [BE][forceCharset] This is used a) for storage of information and b) for whole backend. Default is that charset of the current user (as always), but clearly recommended is "UTF-8"!!!
+       - The recommendation is that the forceCharset configuration is used for multilingual sites. In this way the SAME charset is ALWAYS used in the backend regardless of which language the current backend user has chosen. Thus all content in the sysmte is stored in the same charset.
diff --git a/GPL.txt b/GPL.txt
new file mode 100755 (executable)
index 0000000..b7d4b47
--- /dev/null
+++ b/GPL.txt
@@ -0,0 +1,341 @@
+
+                       GNU GENERAL PUBLIC LICENSE
+                      Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                           Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+.
+                   GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+.
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+.
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+.
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+                           NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+                    END OF TERMS AND CONDITIONS
+.
+           How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100755 (executable)
index 0000000..3cf0dad
--- /dev/null
@@ -0,0 +1,10 @@
+---------------------------------
+ The TYPO3 licensing conditions
+ 2003, Kasper Skårhøj (kasper@typo3.com)
+ Document version 2.00, 24-02-2003
+---------------------------------
+
+The TYPO3 project is free software under the terms of the GNU General Public License.
+The GNU/GPL license is found in the file GPL.txt
+
+For information about what this license means and how copyright law applies to a product like TYPO3, please refer to http://typo3.org/1310.0.html
index 9ea689b..3843b0d 100755 (executable)
--- a/TODO.txt
+++ b/TODO.txt
@@ -1,31 +1,15 @@
-*****************
+******************
 TODO LIST
 *****************
 
 General:
-- BUG: Row-highlighting for both Page and Folder trees are not stable enough.
-- BUG: when editing records from Web>View the palette will not show properly in the topframe!
-- BUG: Email forms wizard: "Checked: " for checkboxes does not work!
-- BUG: CSM disappears too fast in MSIE4 (does not register the width of layer?)
-- BUG: is_executable on windows does not exist/work/make sense.
-- BUG: "if (count($fieldArr)) -> t3lib_page.php, ln. 270"
-- BUG: File>List , list-frame: Click menu does NOT work in Mozilla! cannot find the bug!
-- BUG: (Not) using "rawurlencode" in links (breaks when spaces/special chars are in either dirname or filename):
-  - cImage... (see Rene Fritz report)
-  - RTE images break
-  - RTE drag'n'drop WORKS!
-  - RTE links break.
-  - thumbnails display break.
-  - attachment of records break.
-  - CHECK: header links in content elements?
 - CHECK: What is the number of supported page levels? 20 or 100?
 - CHECK: possible XSS problem with alt_mod_frameset.php taking parameters for scripts to display in frames.
-- Convert selecting of filemounts from GROUP selector to a selectorbox.
 - Option: Turn of "onBlur" in backend (Message-ID: <001801c2a28c$bb020c70$963afea9@bla8kdvxpl8glk>)
-- Option: Frameset modules without the "border" frame and therefore adjustable freely.
 - Feature: "admin" can click a button which wipes out all record-lockings. (Message-Id: <200301281752.23246.mundaun@gmx.ch>)
-- Feature: Controlling access to function menu modules as well (thus we could have a user-module inside \93Template\94 which could edit the constants field)
-- Feature: Web >plugins -> to be a main module where people can place cmodules for their extension.
+- Feature: Controlling access to function menu modules as well (thus we could have a user-module inside ?Template? which could edit the constants field)
+- Feature: Web >plugins -> to be a main module where people can place modules for their extension.
+
 
 TCEmain:
 - Commenting of the class.
@@ -38,60 +22,62 @@ TCEmain:
        - Implement field evaluation in TCEmain: Evaluate min/max? Checking references exists?
        - Implement a feature, "max_number_of_records_in_pid" which means the TCEmain will check if a number of records of a kind has been exceeded for the page.
        - "Pattern-control" for relation fields? (See "APPENDIX: PATTERN-control") Probably create an API by which you can do your own evaluating, return true/false, return an error message.
-       - pre and post processing by user functions of the data? (Message-ID: <C018FF617C61AB4588D15494126A5C0F23E431@Soulman.hanno-kirchhoff.de>) 
+       - pre and post processing by user functions of the data? (Message-ID: <C018FF617C61AB4588D15494126A5C0F23E431@Soulman.hanno-kirchhoff.de>)
        - "Tree-tables": Adding TCA-feature which can describe a field being a internal_pid for the table so tables can be listed as a tree in Web>List (and for TCEmain this means that copying an element). "parent" items. Rene needs this for "categories". See (Message-Id: <200212201257.24705.r.fritz@colorcube.de>)
-       - Support for "grouping": - eg. tt_content elements are grouped by "column" + "language". But copy/cut operations must understand this. And Web>List should reflect this as categorizing. 
+       - Support for "grouping": - eg. tt_content elements are grouped by "column" + "language". But copy/cut operations must understand this. And Web>List should reflect this as categorizing.
        - "child records" - records which MUST be related to another table - and will be moved along with the main record if moved.
        - Implement *real* record locking?
+               - Configure on a per-table basis
+                       - For instance, the TCEforms will render non-editable fields for ordinary users, while editable fields for "admin" users still
+                       - Should the check be done only in TCEforms - or also in TCEmain?
        - If an input value in the data array is NOT a string/integer but an array then just serialize this array and store (thus allowing customly build forms from PHP scripts to submit hierarchical information)
                - Could be solved by PRE-processing of content in user functions!
        - Implement "last_edited_by" field saving the BE-user UID just like tstamps are... (JH asked)
-       - Transformation API: Implement the possibility of custom to/from transformations for the "user" type (or any field?) 
+       - Transformation API: Implement the possibility of custom to/from transformations for the "user" type (or any field?)
                - Custom transformations for RTE fields/API?
-       - Selector box type: 
+       - Selector box type:
                - MM support for strings
        - Support for MM-records which does NOT get deleted, but is kept... and then support for having data in those!!
        - Support that the content of a single field can be stored in an external file instead.
        - Support that a list of fields can be stored in an external XML file instead.
 - VERSIONING:
        - Swapping API: A page can be copied for making modifications. Afterwards swapped with the original (page/tt_content uids preserved if possible). The original page is stored in archive of some kind.
-- LOGGING: 
+- LOGGING:
        - Finish the logging of TCEmain actions (delete/copy) + finally define the API to the "sys_log" table!
-- CLEAN_UP: 
+- CLEAN_UP:
        - Implement kill/restore of "deleted" records.
        - Remove references to records when deleting totally (or also deleted-to-recycler records? Maybe "deleted-to-recycler" references are important to remove in order to make sure "recycler" records are not selected!) (refs to MM for both tables/files)
-- PERMISSIONS: 
-       - Permission management on selector box/radio button values 
+- PERMISSIONS:
+       - Permission management on selector box/radio button values
                - so certain "CType" / "Insert plugin" / "FlexForm datatypes" values could be blocked
                - Could it be considered to implement some "access pool" where elements on any level (like here selectorboxes or for FlexForms elements/types there) could add their element by an API and then it would A) automatically be listed for groups access lists and B) automatically enforced.
-       - Permission management for translations?
+       - Permission management for translations? Users are allowed to edit certain languages? (Setup with general access list API?)
        - Permissions on record-level
        - CHECK: That permissions are properly evaluated (especially for moving content?)
        - Security in tcemain: Uploaded/Attached files are allowed to be in ONLY a relative path OR in the "lockDir"!
-- BUG: 
+- BUG:
        - if a file is uploaded (directly in the form) and there is an upper limit to the number of files which is then exceeded, the uploaded file is STILL copied to the upload folder and will thus be listed as "Files with no references at all (delete them!):"
        - TCEmain: If there is a comma in the filename supplied as an uploaded file it will confuse the handling of files because the comma is also used to split the filename from each other. (29/04/2003). This is a problem with Inter-Photo Netprint where files uploaded by FTP with comma in the name will not be attached as they should. I think the solution should be found in TCEmain so any filename can be supplied as uploaded.
        - CHECK: hideAtCopy - does it work??
        - CHECK: copyAfterDuplFields - check it (tt_content).
 - RELATED: DBint/admin, logging-display, TCEforms, Web>List
 - IDEA: check for potential dangerous php-extension
-- Multiple DBs:
-       - The ability to configure "any" table to be stored in another database. 
-       - Think DBAL into this and also notice that joins could ONLY be done if tables are in the same DB! (since other databases could also be from non-MySQL dbs when the DBAL comes)
-       - Affects: Basically anywhere records are selected -> requires a check of $TCA[ctrl] for the table first before the query is done!
-       - Maybe this feature should wait till DBAL is implemented anyways.
+- TCEforms/TCEmain available for frontend?
 
 
 TCEmain/TCEforms for FlexForms:
 - Affects: "lowlevel" ext/DBint , "impexp" extension. Must/Should be extended.
 - Permissions handled per-field in FlexForms?
-- What to do if data structure was not found? (Both TCEmain, TCEforms, templavoila_pi1, t3lib_transferdata) 
+- What to do if data structure was not found? (Both TCEmain, TCEforms, templavoila_pi1, t3lib_transferdata)
+- block the creation of FlexForm in FlexForm inside TCEforms.
+- ['pi_flexform']['config']['ds'] must be set to some default message making sense!
 - TCEmain features:
        - caching of references/files in meta data (for analysis tools)?
-       - mapping values to a plain-text search field(s)  
+       - mapping values to a plain-text search field(s)
        - Offering API functions for add/delete/move/copy
        - Cleaning the original data in field since this may have an invalid structure if the data structure has changed in the meantime.
-- TCEforms: 
+       - Possibility to write the XML data values into a table instead (see Marc Schlingers idea, stored on paper in my red organizer).
+- TCEforms:
        - Support for checkboxes which can expand/collapse sections/containers? fold-in, fold-out, passing a list of fields to show (with sub-levels for horizontal display).
        - Visual interface for forms, DHTML for sheets etc, various sheet modes, language menu form.
        - Fix the JavaScript in TCEform which keeps track of REG/CM images and required values etc. These things does not work for flex forms yet!
@@ -99,8 +85,12 @@ TCEmain/TCEforms for FlexForms:
        - NiceToHave: Attaching an image to the Data Structure. This image is a preview of what the data structure can create. When rolling over the image you can have the form fields highlighted which affects the area. (by a red border or so...)
                - visual: Table with condition in top header, condition value column + block column. Not user supplied. -> OR just a selector box deciding what is shown below!? (possibly "ALL")
        - Displaying partial branch of the data structure (and to a certain level)
-       
-               
+       - FlexForms cannot be possible if the record is not saved? No, should be ok, BUT a data source can of course not be referenced from another field since that fields value is NOT actually there! So only for fixed references to flex form definitions can this be done.
+       - If you have a multiple selector field (or checkbox array) an array of objects could be forced to reflect exactly the fieldnames there 1-1 thus giving us configuration option possibilities per field! For newloginbox extension: You set up a selector box with multiple choice where you can select fields from the fe_users table to display. In an array of elements in the DS you configure that the VALUE of that field is dictating that the same number of objects should be shown for configuration of each field. A "hidden" value would point each object to which value from the field it was for! The same would be very useful for M-M lists of records.
+       - Implement "<displayCond>EXT:templavoila:LOADED:true</displayCond>" for flexforms. (needed for mininews!!)
+       - Implement CSH for FF fields.
+
+
 TCEforms:
 - Support for other backend charsets / right-aligned charsets!?
 - FEATURES:
@@ -122,7 +112,8 @@ TCEforms:
                - making copies of select fields etc - check that remapped records are OK treated (with foreign/neg_foreign + free string values)
                - Letting one selectorbox set another hidden fields value apart from its own? [USE: When selecting a template, that also sets the DS value! (Thus a template is always selected!)]
                - Exclude field selection better, in a tree?
-               - set the width of the selector field.
+               - set the width of the selector field
+               - BUG: itemsArrayProcFunc only active IF there is an array! Shouldn't it be in any case?
        - GROUP type:
                - [file] allow the selection of files from the system to be added as REFERENCES, not copied! (Message-ID: <003f01c23503$8cdd69d0$55333bd4@comtech>, + notify "illuminatus")
                - In the thumbnail list add the Edit and view icons as in the good old days.
@@ -131,15 +122,15 @@ TCEforms:
                  - Group-fields of DB-type could be made to actually SHOW the records it contains in the very same form! Possibly with Add/Delete facilities.
                  - See JH mail: Message-ID: <C018FF617C61AB4588D15494126A5C0F23E410@Soulman.hanno-kirchhoff.de>
                - IFRAME alternative for Element Browser.
-               - Like in CB: Copy image/reference from a record to clipboard, then insert that file/reference in another record again (Element Browser change).
+               - set the width of the selector field(s)
        - INPUT type:
                - having a selectorbox from which a default value can be selected (which is just transferred to the input field). Of course the selectorbox can have its content added by a PHP script.
        - ? type:
-               - "Inverse relations"/"Foreign relations": A "Pseudo field", which lists records REFERING TO this record (foreign relations, eg. many small price-records belonging to ONE shop-article). Possibly this could also EDIT those references (attaching/adding new, removing old, no manual ordering though! - This is what RENE is doing (Message-Id: <E17LO4D-0002hj-00@cube.colorcube>) 
+               - "Inverse relations"/"Foreign relations": A "Pseudo field", which lists records REFERING TO this record (foreign relations, eg. many small price-records belonging to ONE shop-article). Possibly this could also EDIT those references (attaching/adding new, removing old, no manual ordering though! - This is what RENE is doing (Message-Id: <E17LO4D-0002hj-00@cube.colorcube>)
        - TRANSLATION:
                - Concept for translation of other language versions simultaneously? (Showing the default/any language side-by-side?)
                - Would require UTF-8 display in backend.
-               - Support for "original/translation" relationships: 
+               - Support for "original/translation" relationships:
                  - The idea is that a) one field from a record is configured in [ctrl] to hold the sys_language (0=default, x=translation of default) value AND b) another field is configured to keep a reference back to the original element (for the translated records)
                    - If the record is "default" then ALL fields are shown.
                    - If the record is "translated" then SOME fields are disabled for editing (as configured) BUT shown in the form for information (the value from the original).
@@ -154,7 +145,6 @@ TCEforms:
 - DONE?: Support for label for main palette: (Rene: Message-Id: <200210011646.10346.r.fritz@colorcube.de>)
 
 Charset:
-
 - checking (for XML) if there is "character data" in a string?
 
 TCEforms/RTE API:
@@ -178,27 +168,18 @@ Element Browser:
 Wizards:
 - Finish the colorpicker! Some other person can be in charge of this (See "APPENDIX: Colorpicker")
 - Add wizard icon to TSconfig and Setup/Constants fields for immediate syntax highlighting (in popup window)
-- wizard_add, _edit and _list can be used fantastic to lead the user through multiple 1:n relations but than he starts to be confused if the records he created apear somewhere else, tries to edit them directly there, relations get lost, phone rings. (Peter Kühn). 
+- Add wizard icon to see/clean up FlexForm data?
+- wizard_add, _edit and _list can be used fantastic to lead the user through multiple 1:n relations but than he starts to be confused if the records he created apear somewhere else, tries to edit them directly there, relations get lost, phone rings. (Peter K?hn).
+- forms and table wizards should be configurable for making XML structures alternatively to the currently formatting (programming wise ok, needs implementation)
 
 Interface:
-- Icons (see Bugs/Additions folder)
 - Showing in "frameset-modules" which submodule you are currently inside. And ability to change submodule in the rightmost frame anyways - maybe as a panel in top of the pages (must be cached so all submodules must not be loaded each time...)? (Message-ID: <3ADE655892793D499E2FBF623045AF4B54E9A4@dbwdfx2f.wdf.sap-ag.de>)
-- Make a "NavFrame adjustment bar" which allows people to click on an images under the navigation bar of "Frameset modules" and set the width of it (permanently). (Message-ID: <3ADE655892793D499E2FBF623045AF4B54EA0D@dbwdfx2f.wdf.sap-ag.de>)
-- Review the template/stylesheet interface. Document it -> Skinning API. (also how to substitute icons from gfx/ etc.)
 - Ability to create another Main/sub module structure in the backend (Daniel H: Message-ID: <BAB9A920.E95D%daniel@typo3.com>)
        - Change order, level, title, icon.
        - Use User TSconfig... and allow someone to create an extension to visually create a TSconfig output
        - See DHs mail: Message-ID: <mailman.1060763871.6396.typo3-metadev@lists.netfielders.de>
        - Links could be going directly to the function menus inside modules as well!
 
-Login:
-- admin-only flag in TYPO3_CONF_VARS so only administrators can log in/be authenticated.
-- New login form. (see mailbox)
-       
-Context Sensitive Menus (CSM):
-- Click menu does not work in task-center/weblist
-- Click menu does not work in Opera.
-
 Context Sensitive Help (CSH):
 - Add multimedia?
 
@@ -217,90 +198,54 @@ Web>List:
 - Support for "grouping": - eg. tt_content elements are grouped by "column" + "language". This should be reflected in the LISTING order (before ordered by the "sorting" column) OR maybe in a hierarchical display?
 - Support for tree-tables (that can be browsed).
 - Support for a "tree-group" -> a chain of tables which are displayed in a tree since each table has a config for a parent field in a former table. (Eg. DS: brand -> domain -> product).
-- BUG: no label when copying an item into the Web>List module...
-- FlexForm tree view / editing: 
+- Support for display of relations: Files, 1-M, M-M
+- FlexForm tree view / editing:
        - When a record contains a FlexForm the web>List module could display the fields inside in a nice tree structure which one could expand/collapse! Then by clicking "edit" for a brand you get an interface where you can edit *that branch* of the flexform! Brilliant way to manage large structures inside of flexforms!
                - Can you picture it? That would be like expanding an XML document by a node-tree and add/edit/delete/rearrange any of the internal informational pieces!
+- Fikse copy/paste så at list-module reloader (løser også problemet med paste fra sidetræet/foldertræet?)
 
-               
 File>List:
 - BUG: UNIX: "RW" flag looks only on the permissions for the USER - not the group. So even if PHP via the group of a file can delete it, it is reported that it cannot.
+- Adding possibility to show files recursively (more levels), filter on a file name, search file content
 
 History/Undo:
-- Must present a page/content element view, so a page with content elements can be restored as a whole 
-- Undo must be able to restore attached files as well 
+- Must present a page/content element view, so a page with content elements can be restored as a whole
+- Undo must be able to restore attached files as well
 - Should be possible to disable for certain tables (can it be done already with TSconfig?)
-- Delete saved states (and save whole record content). 
-- Need to implement the diff-feature for windows as well (that is set configuration)
-  
+- Delete saved states (and save whole record content).
+- Need to implement the diff-feature for windows as well (that is; set configuration)
+
 LDAP support:
 - See "APPENDIX: LDAP"
 
-DBAL:
-- Next step: Create PHP-test scripts which performs 98% of the SQL operations we need in TYPO3 and then let people try to implement this; We will then know about all the obstacles first-hand before we do any efforts to implement it.
-- See "APPENDIX: DBAL" for Kaspers internal notes on the subject.
-- "TCEmain/Multiple DBs" as well.
-- MySQL practice: "Maybe it's a good idea to quote all table and column names in later versions of typo3 to avoid further problems like this one." (Message-ID: <mailman.1052907363.19535.typo3-english@lists.netfielders.de>) Also good for DBAL? + create API functions for making INSERT/UPDATE query strings.
-
 EM:
-- Code commenting
-- Display: Adding "back" buttons a few places.
 - Display: review-flag + link to review - cannot be overridden?
-- Display: Link to Introduction + other sections (typo3.org-API-script), getting started manual in doc/index.html (See extension "tstemplate_styler" which has a prototype!), homepage link
 - Display: After import, link to Install/Details.
-- Display: Clean up the red errors: Major / Minor errors, and make sure it does not report non-errors.
-- Display: Warning for extension of same classes?
 - Display: Better filtering, quicker listing
-- Feature: Specify preferred order of certain extensions.
-- Feature: Change order of loaded extensions
-- Feature: Dependencies includes minimum/max-version (Typo3, PHP, PHP-extensions, T3extensions)
+- Feature: [suggested by robert] resolving of dependencies like in apt-get (Debian package manager). Necessary extensions can be downloaded and installed automatically (idea: create dummy extension which depends on several extensions and acts like a package of extensions)
 - Feature: EM suggest clear-cache af scripts?
-- Feature: New category, "templates"
-- Feature: New review state: security-screened (light review, not quality oriented)
 - Install: Select other repository URLS in selector box?
 - Install: Extensions which can point the import/export to a directory with import-files.
-- Install: Updates of plugin checks if there is a local manual.sxw file. If there is the manual is also downloaded. Maybe people can set a flag in the configuration that manuals should always be fetched. (Some of this is already implemented)
-- Install: Upgrade multiple extensions at a time.
-- Install: Upgrade single extension without getting full list from TER
-- Install: Import from online rep: search freetext, enter extension key etc...
 - Install: Getting from TER only already installed extensions.
 - Install: Flag: "Import ext"; "Show non-secure extensions" (show ALL ext., not only reviewed ones)
-- Install: Update button for an extension in the details view.
-- Install: After upload of extension then we should return to the "Information" view, not "Upload"
-- Install: At upgrade: That an extension can display the total changelog between the formerly installed version and the new one.
-- Install: Configuration for EM: Request most recent translations by default?
 - Upload: emconf.php should have the md5-part updated when upload to TER
-- CHECK: flag in [EXT] about if local/global extensions can be updated. (does it work?)
-- CHECK: Are single quotes accepted when writing the "conf.php" files?
 - CHECK: Better failure-tolerance when "fatal errors" occur in ext_localconf/ext_tables.php files!?
 - CHECK: Can Install Tool bypass including ext_localconf/ext_tables if there are errors in them?
-- BUG: EM-extMgm: caching af localconf + extTables configuration in ARRAY? Plus ændringer til API specs. (problem when those files includes classes etc... probably not possible)
-- BUG: Fix memory consumption problem.
-- BUG: backend shortcut links to EM pages does not carry the edit-file information. They should.
+- BUG: EM-extMgm: caching af localconf + extTables configuration in ARRAY? Plus ?ndringer til API specs. (problem when those files includes classes etc... probably not possible)
 - BUG: Clear cache files should remove ALL "temp_CACHED_*" files in typo3conf/ (not just the current two)
-- BUG: detection of single quotes in XCLASS and CONF.PHP file cases (and wherever a regex searches for code snippets!). 
-- BUG: MSIE4: Cannot make backup of extensions (and probably not export them either) because the header-mime-typen is not registered as it should be.
+- BUG: Download of extensions (compressed...) will sometimes NOT get the same MD5 key after being saved (with any browser it seems) as shown at the download link. Origin of error not know. Please help if you encounter the problem.
 - DOC: "Extension API" manual.sxw!
 - Check mailbox for more... ?
 - Related: The KickStarter Wizard, in particular a) cleaner code output, b) merging updates.
 
-
 The REGEX-{} problem:
 - BUG: Regexs; "Warning: Unmatched \{ in /home/sites/site14/typo3_src-3.5b3/typo3/mod/tools/em/index.php on line 1983" which is a ereg with { WITHOUT preceeding slash! (Message-ID: <003c01c275aa$c0c60c10$e3a1a33e@pentiumriv4v9a>, Message-ID: <20030729082437.79900.qmail@web11305.mail.yahoo.com>)
-  
+
 Install/Servers:
-- FIX: Check safe_mode? Check open_base_dir? (Message-ID: <B9B8E356.1CE0%typo3@ilveneto.net>)
-- FIX: To get PHP to handle PATH_INFO and PATH_TRANSLATED information correctly with this setup, the php parser should be compiled with the --enable-discard-path configure option. 
+- FIX: To get PHP to handle PATH_INFO and PATH_TRANSLATED information correctly with this setup, the php parser should be compiled with the --enable-discard-path configure option.
 - FIX: The "php_sapi_name()=="cgi"||php_sapi_name()=="isapi"" problems (Message-ID: <ADEEJCHPNMOFKAAOJJKKCEKMCAAA.martin.kokes@sitewell.cz>, Message-ID: <200304071146520757.0097D495@smtp.worldonline.dk>, Message-ID: <BACDA028.F428%daniel@typo3.com>)
-- CHECK: MD5 problem on Apache/Windows (Message-ID: <001901c26aeb$99db4c60$a9695651@NIGELJ>)
 - CHECK: Security: Can HTTP_SERVER_VARS be overridden from URL if global vars are enabled???
-- [Ask Michael Stucki for an overview of bugs...?]
 - TYPO3_PORT bug (Message-ID: <005f01c2df3f$4006db00$0100a8c0@knoell>)
-- BUG: open_base_dir problem with tempnam() (affects: tidy, diff, new resource textfiles created in Web>Template/Info, Indexer (using temp-name for input from pdftotext)
-       -> Renes t3lib_exec class useful here?
-
-BE Language:
-- There are a few mails in the Translations mail folder. These files contains some translations which must be integrated manually...
 
 Filepermissions of source:
 - Test that these permissions work OK:
@@ -328,13 +273,297 @@ NOTES
 
 
 
-  
+
+******************************************
+APPENDIX 1: CLEANING UP FOR TYPO3 3.6.0
+******************************************
+Cleaning for 3.6 involves:
+- XHTML transitional compliance
+- " to '
+- Commented functions
+
+1: Add comments
+ * NOTICE: This will also detect JavaScript functions, but if you place a comment line like "// ..." in the end of the function definition line they will not have the JavaDoc style comment added. Eg. "      function blabla()       {       //    "
+2: Write comments, organize them, add sections etc. (search [type])
+2a: Set "@access private"
+3: double to single quote (check for "\n")
+4: XHTML
+5: $Id$ CVS keyword expansion
+6: @package tags
+7: Function Index in scripts
+8: Depreciated use of t3lib_BEfunc::titleAttrib
+9: Generally, try to read all GPvars in init() functions and set them as internal variables - gives a nice, natural overview of what is used from the outsite
+
+
+Status 27/10 (TYPO3 Core + extensions "cms" and "lang" in sysext/ (but without global extensions in ext/ !)):
+- 2000 @param and @return tags in 800 functions still needs commenting (3800 tags in 1400 functions has already been done)
+- 50 scripts still needs cleaning for XHTML, comments and single-quotes
+
+Note on XHTML compliance:
+- We strive for XHTML transitional / frames
+- Certain incompatibilities has been allowed for practical reasons (for now). These include:
+       - align="absmiddle" for images
+       - width/height properties for input tags when images are used
+       - missing "cols" attribute for textarea tags.
+       - Some attributes for framesets.
+       [The reason for allowing this is probably that I do not know any workaround to achieve the same effect. The problem of non-allowed attributes/values also rate very low in my understanding of XHTML compliancy - it is far more important with nesting integrity, char case of tags/attributes, etc.]
+
+
+---------------------------------------------------------------
+NOTES ABOUT WHICH SCRIPTS HAS BEEN CLEANED AND WHICH REMAINS:
+---------------------------------------------------------------
+Finished (XHTML, quotes, comments, revised-note), XQCR:
+(Indented scripts are still missing clean-up)
+
+t3lib/________________________________________:
+XQCR: t3lib/class.t3lib_admin.php
+XQCR: t3lib/class.t3lib_arraybrowser.php
+-QCR: t3lib/class.t3lib_basicfilefunc.php
+XQCR: t3lib/class.t3lib_bedisplaylog.php
+XQCR: t3lib/class.t3lib_befunc.php
+XQCR: t3lib/class.t3lib_beuserauth.php
+XQCR: t3lib/class.t3lib_browsetree.php
+XQCR: t3lib/class.t3lib_clipboard.php
+-QC-: t3lib/class.t3lib_cs.php
+XQCR: t3lib/class.t3lib_diff.php
+XQCR: t3lib/class.t3lib_div.php
+               t3lib/class.t3lib_dmailer.php   [Pekue?]
+               t3lib/class.t3lib_exec.php              [Rene]
+               t3lib/class.t3lib_extfilefunc.php
+-QCR: t3lib/class.t3lib_extmgm.php
+-QCR: t3lib/class.t3lib_extobjbase.php
+XQCR: t3lib/class.t3lib_foldertree.php
+-QCR: t3lib/class.t3lib_formmail.php
+               t3lib/class.t3lib_fullsearch.php
+               t3lib/class.t3lib_htmlmail.php  [Pekue?]
+XQCR: t3lib/class.t3lib_iconworks.php
+               t3lib/class.t3lib_install.php
+-QCR: t3lib/class.t3lib_loaddbgroup.php
+-QCR: t3lib/class.t3lib_loadmodules.php
+-QCR: t3lib/class.t3lib_matchcondition.php
+               t3lib/class.t3lib_modsettings.php       [Rene]
+XQCR: t3lib/class.t3lib_page.php
+XQCR: t3lib/class.t3lib_pagetree.php
+XQCR: t3lib/class.t3lib_parsehtml.php
+XQCR: t3lib/class.t3lib_parsehtml_proc.php
+XQCR: t3lib/class.t3lib_positionmap.php
+               t3lib/class.t3lib_querygenerator.php
+-QCR: t3lib/class.t3lib_readmail.php
+XQCR: t3lib/class.t3lib_recordlist.php
+-QCR: t3lib/class.t3lib_scbase.php
+-QCR: t3lib/class.t3lib_stdgraphic.php
+XQCR: t3lib/class.t3lib_superadmin.php
+               t3lib/class.t3lib_svbase.php            [Rene]
+-QCR: t3lib/class.t3lib_tceforms.php
+               t3lib/class.t3lib_tcemain.php
+XQCR: t3lib/class.t3lib_timetrack.php
+-QCR: t3lib/class.t3lib_transferdata.php
+XQCR: t3lib/class.t3lib_treeview.php
+XQCR: t3lib/class.t3lib_tsfebeuserauth.php
+-QCR: t3lib/class.t3lib_tsparser.php
+               t3lib/class.t3lib_tsparser_ext.php
+               t3lib/class.t3lib_tsstyleconfig.php
+-QCR: t3lib/class.t3lib_tstemplate.php
+XQCR: t3lib/class.t3lib_userauth.php
+XQCR: t3lib/class.t3lib_userauthgroup.php
+-QCR: t3lib/class.t3lib_xml.php
+
+-QCR: t3lib/config_default.php
+-QCR: t3lib/thumbs.php
+XQCR: template.php
+-QCR: t3lib/stddb/load_ext_tables.php
+-QCR: t3lib/stddb/tables.php
+-QCR: t3lib/stddb/tbl_be.php
+
+
+sysext/lang/___________________________________________:
+XQCR: lang.php
+
+sysext/cms/___________________________________________:
+XQCR: tslib/class.tslib_content.php
+XQCR: tslib/class.tslib_fe.php
+-QCR: tslib/class.tslib_fetce.php
+-QCR: tslib/class.tslib_feuserauth.php
+-QCR: tslib/class.tslib_gifbuilder.php
+XQCR: tslib/class.tslib_menu.php
+XQCR: tslib/class.tslib_pagegen.php
+XQCR: tslib/class.tslib_pibase.php
+XQC-: tslib/class.tslib_search.php
+XQCR: tslib/media/scripts/example_callfunction.php
+XQCR: tslib/media/scripts/example_itemArrayProcFunc.php
+XQCR: tslib/media/scripts/example_keepRollover.php
+XQ-R: tslib/media/scripts/example_languageMenu.php
+XQCR: tslib/media/scripts/example_typolinkpop.php
+XQCR: tslib/media/scripts/fe_adminLib.inc
+XQ-R: tslib/media/scripts/freesite_dummy_page_menu.php
+XQCR: tslib/media/scripts/gmenu_foldout.php
+XQCR: tslib/media/scripts/gmenu_layers.php
+-QCR: tslib/media/scripts/makeMenu_datedirectory.inc
+-QCR: tslib/media/scripts/makeMenu_keywords_updated.inc
+XQCR: tslib/media/scripts/plaintextLib.inc
+XQCR: tslib/media/scripts/postit.inc
+----: tslib/media/scripts/testscript.inc
+----: tslib/media/scripts/testscript_EXT.php
+----: tslib/media/scripts/testscript_INT.php
+XQCR: tslib/media/scripts/tmenu_layers.php
+XQCR: tslib/media/scripts/wapversionLib.inc
+XQCR: tslib/media/scripts/xmlversionLib.inc
+-Q-R: tslib/index_ts.php
+-Q-R: tslib/pagegen.php
+-Q-.: tslib/publish.php
+.QCR: tslib/showpic.php
+XQCR: web_info/class.tx_cms_webinfo.php
+XQCR: layout/db_layout.php
+XQCR: layout/class.tx_cms_layout.php
+XQCR: layout/db_new_content_el.php
+
+typo3/___________________________________________:
+XQCR: alt_clickmenu.php
+XQCR: alt_db_navframe.php
+XQCR: alt_doc.php              TODO: Check "redirect" GPvar for XSS hole!?
+XQCR: alt_doc_nodoc.php
+XQCR: alt_file_navframe.php
+XQCR: alt_intro.php
+XQCR: alt_main.php
+XQCR: alt_menu.php
+XQCR: alt_menu_sel.php
+XQCR: alt_mod_frameset.php
+XQCR: alt_palette.php
+XQCR: alt_shortcut.php
+XQCR: alt_toplogo.php
+XQCR: alt_topmenu_dummy.php
+XQCR: browse_links.php
+XQCR: browser.php
+XQCR: class.alt_menu_functions.inc
+XQCR: class.db_list.inc
+XQCR: class.db_list_extra.inc
+XQCR: class.file_list.inc
+XQCR: class.show_rechis.inc
+XQCR: db_list.php
+XQCR: db_new.php
+XQCR: db_new_content_el.php
+default.htm
+default.html
+XQCR: dummy.php
+XQCR: file_edit.php
+XQCR: file_list.php
+XQCR: file_newfolder.php
+XQCR: file_rename.php
+XQCR: file_upload.php
+XQCR: index.php                TODO: Check "redirect" GPvar for XSS hole!?
+-QC-: index_re.php
+-Q-R: init.php
+XQCR: listframe_loader.php
+XQCR: login_frameset.php
+-QC-: logout.php               TODO: Check "redirect" GPvar for XSS hole!?
+XQCR: move_el.php
+               show_item.php                           [Peter Kuehn]
+XQCR: show_rechis.php
+-QCR: tce_db.php
+-QCR: tce_file.php
+XQCR: template.php
+XQCR: view_help.php
+XQCR: wizard_add.php
+               wizard_colorpicker.php          [Matthias]
+XQCR: wizard_edit.php
+XQCR: wizard_forms.php
+XQCR: wizard_list.php
+XQCR: wizard_rte.php
+XQCR: wizard_table.php
+XQCR: wizard_tsconfig.php
+
+XQCR: mod/help/about/index.php:                TODO: Modernize content
+XQCR: mod/tools/em/index.php
+XQCR: mod/web/info/index.php
+XQCR: mod/web/func/index.php
+XQCR: mod/web/perm/index.php
+
+
+typo3/ext/_____________________________________:
+OK             aboutmodules/
+               belog/          (2 / 500)
+               beuser/         (1 / 1300)
+               cms_plaintext_import/   (1/200)
+OK             conf_userts/
+OK             context_help/
+               css_styled_content/             (1/200)         [H]
+               direct_mail/            (3/2500)                [Peter Kuehn] + class.t3lib_htmlmail.php
+OK             direct_mail_subscription/
+XQCR:  extra_page_cm_options/
+               extrep_wizard/          (2/4500)                [H]
+               feuser_admin/                                           [testsite...] - XHTML
+               freesite/                       (2/1600)
+XQCR:  func_wizards/
+               imagelist/                      (1/250)
+               impexp/                         (2/2000)                [H]
+               indexed_search/         (4/3500)                [H] [testsite...]
+               info_pagetsconfig/      (1/200)
+OK             install/                                                        + class.t3lib_install.php / class.t3lib_superadmin.php
+               lowlevel/                       (2/800)                 [H]
+XQ-R:  metatags/
+               phpmyadmin/                     (1/130)
+               plugin_mgm/                     (1/300)         ->move? remove?
+               quickhelp/                      (1/80)
+               rte/                            (5/1900)                [H]
+OK             rte_conf/
+OK             setoldpluginlist/
+               setup/                          (1/400)
+OK             skin1/
+OK             static_file_edit/
+               sys_action/                     (1/400)
+               sys_messages/           (1/450)
+OK             sys_note/
+               sys_notepad/            (1/130)
+OK             sys_stat/
+               sys_todos/                      (1/1100)
+OK             sys_workflows/
+               taskcenter/                     (4/400)
+               taskcenter_modules/             (1/100)
+               taskcenter_recent/              (1/150)
+               taskcenter_rootlist/    (1/50)
+               tipafriend/                             (1/260)         [testsite...]
+OK             tsconfig_help/
+OK             ts_language_de/
+OK             ts_language_dk/
+OK             ts_language_fr/
+OK             ts_language_nl/
+OK             ts_language_no/
+               tstemplate/                             (1/450)         + class.t3lib_tsparser_ext.php (1700)
+               tstemplate_analyzer/    (1/250)
+               tstemplate_ceditor/             (1/250)
+               tstemplate_info/                (1/450)
+               tstemplate_objbrowser/  (1/500)
+               tstemplate_styler/              (1/1700)
+OK             tt_address/
+               tt_board/                               (3/1200)
+               tt_calender/                    (1/170)         [testsite...]
+               tt_guest/                               (2/350)         [testsite...]
+               tt_news/                                (1/750)         [testsite...]
+               tt_poll/                                (2/400)         [testsite...], [Rene F]
+               tt_products/                    (5/2000)        [testsite...], [? Peter Kuehn]
+               tt_rating/                              (3/550)         [testsite...], [Rene F]
+               viewpage/                               (2/200)
+XQRC:  wizard_crpages/
+XQRC:  wizard_sortpages/
+
+32,5 K Codes lines....
+
+For all extensions (even those approved):
+- Remember to add package tags to all classes!
+- Write documentation for each
+- Check HTML source / CSS usage / XHTML compliancy / That icons are skinnable (add to "skin360")
+- $LANG->getLL() are htmlspecialchars()'ed
+
+
+
+
+
 *******************
 APPENDIX 2: XHTML
 *******************
 Overview of implications before implementation:
 - UTF-8 encoding is in fact expected by XML! So the real charset must be set
-- Wellformedness: Nesting ok. All img tags must be ended with />
+- Wellformedness: Nesting ok. All img tags must be ended with /> (frame,base,meta,link,img,br,hr,area,input)
 - Lowercase for elements and attributes (and everything else...) + stylesheet element and attribute names.
 - All attributes in quotes
 - Minimized values not allowed: Must do this: selected="selected"
@@ -352,12 +581,93 @@ Practical steps for creating XHTML compliance:
 
 - lowercase: <(td|tr|p|div|table|b|i|u|a)
 - attributes in lowercase and ""; TYP: bgColor, border=0 cellspacing=0 cellpadding=0, valign=top, onClick, onChange, onSubmit, method="POST", type="Submit"
-- Ending tags: <br>, <hr>, <input>, <img>
+- Ending tags: <br>, <hr>, <input>, <img> (Longer list: frame,base,meta,link,img,br,hr,area,input)
 - shorthand: checked, selected, multiple, nowrap
 - href="", action="", src="", onclick= tags: htmlspecialchars() of URLS
-- <img -> ' alt="" />'    REGEX: <img[^>]*>
+- <img -> ' alt="" />'    REGEX: <img[^>]*[^-]>
 - FINDING attributes with no quotes:
 ([[:space:]]+)(class|face|hspace|vspace|rowspan|bgcolor|src|colspan|align|color|valign|border|width|height|cellpadding|cellspacing)=([^[:space:]>"']+)
+... and replace with: \1\2="\3"
+
+
+
+
+
+*******************
+APPENDIX 2: Debugging / varoius
+*******************
+
+Teststring for XSS bugs and SQL injection:
+       >><b><i>asdf</i></b>-\-\\-\"-\'-"-'-
+
+debug_backtrace() - nice function for debug-output.
+
+
+*****************
+APPENDIX: Versioning thoughts:
+Authors: Julle and Kasper.
+*****************
+- Versions can be done on page level or element level
+- In any case a pure copy of the element is produced
+- For pages only configured tables will be copied, eg:
+       - Page
+         - tt_content
+         - pages_lang_overlay
+
+- Versioning (for single elements including single "pages" record) is based on
+       - ONE element having an official position in the TYPO3 page tree, thus holding the official "uid" of the element! (If this element was deleted from the system, so are all versions of that element!)
+       - All versions of this one element being a) at pid "-1" and b) a field "real_id" pointing to the official UID
+       - Pages-versioning: For all elements belonging to a version of a page; They are just copied and has no official new version or binding back to whatever element they came from. They just came along. And in fact, they could even have their own version history for them selves!
+       - Backend user access to elements is based on the access restrictions for the official element. THis must be implemented on core level.
+- Tables supporting versioning will have these fields:
+  - real_id    - Pointing back to official in-tree version
+  - ver_id     - Incremental integer (version number)
+  - ver_label  - Version label, eg. "1.1.1" or "Christmas edition"
+  - editlock   - Flag (core support independant of versioning) which IF SET makes it impossible for anyone to edit the record. The flag must be unset before editing can occur. (Is a feature which can be used to write-protect a version)
+  - pid/uid should have "signed" attributes in MySQL (pid = -1, uid =-xxxx for swapping).
+
+- Preview in fronend
+  - At page level, done with a simple selector in the AdminPanel. Just like date/user/hidden is done.
+  - For other element, time will show.
+
+- Backend module for versioning:
+  - Diff-ing between versions.
+
+- Version-swapping log?
+
+- ID-swapping for versioned elements
+  - Version from archive (future/past) will get the uid of the "real_id", the official element with "real_id" will get the new versions old uid.
+  - For pages-records: We will have to swap the "pid" values of all (versioning-included) elements on the pages.
+  - Swapping three-step process:
+       uid             uid     real_id
+  PUB: 13      -->     -13     247
+       247     -->     13      -
+       -13     -->     247     13
+  - Pages-versioning and the impact of NOT swapping tt_content element uids:
+       - Loose anchor-points, manually made (could be hack-fixed by some intelligent copying tracking)
+       - TemplaVoila references to elements from other pages (will break, however bad practice to reference elements not in some sort of central library which will NEVER be page-versioned anyways)
+       - Insert-records could potentially do the same
+       - Impact assesment: Low.
+       - Clean-up module (in templavoila?) could also track such things
+       - Problems for non-templavoila sites would be low.
+  - Swapping might need to exclude fields like "sorting" etc. Others could be imagined.
+  - copies:
+    - What about a page alias?
+- Trunk/Branch:
+    - Create version of single page (as above)
+       - Create version of page branch (1-... levels)
+               - Either create version of EACH page individually (like tagging in CVS)
+               - Or create single-point-of-reference so that pages INSIDE can be swapped, deleted and created (just like content elements can)
+                       - Requirement: Intelligent swapping of "sub-element" ids that CAN be traced back to the original!
+
+- Backend:
+  - For single-editing of records we will show a version list from which to choose a version to edit (just like the delete button is also hidden at multi-edit)
+  - In list-module we might display a) an icon to a version selector (where diff-ing could be done, swapping performed etc.), b) show archive versions as children in the listing.
+  - In Page module + TemplaVoila page module: There will be a version selector implemented so users can switch around between versions.
+
+
+
+
 
 
 
@@ -380,8 +690,8 @@ Here are a few notes:
 ******************
 APPENDIX: LDAP
 ******************
-- hash of base-dn skal være cleaned op. Måske prefixe usernames med 10-char hash af base-dn.
-- Moduler som "User Admin" og andre steder, hvor "usergroups" feltet benyttes skal slå det op i LDAP uden authentication. -> Faktisk er det IKKE kun usergroups men ALLE felter, som kan mappes!!!
+- hash of base-dn skal v?re cleaned op. M?ske prefixe usernames med 10-char hash af base-dn.
+- Moduler som "User Admin" og andre steder, hvor "usergroups" feltet benyttes skal sl? det op i LDAP uden authentication. -> Faktisk er det IKKE kun usergroups men ALLE felter, som kan mappes!!!
 - Ved record creation: LDAP default group.
 
 ? Getting info like usergroups, email, name?
@@ -399,149 +709,111 @@ So we are looking at two scenarios:
 
 - Also have the possibility of local users: Thus 1) FIRST a lookup is done in LDAP, 2) THEN if this fails we look in the local mysql table. (Well, this solution is straight forward since a user must ALWAYS have a record in the local MySQL table...)
 
+- Make API so that other authentication solutions than LDAP can be used (eg. another MySQL table!)  [See Rene Fritz's prototype work with services...]
+
 
 Also see:
-- [Kasper] "LDAP" folder in Mailbox 
+- [Kasper] "LDAP" folder in Mailbox
 
 
 ********************
-APPENDIX: DBAL
+APPENDIX: DBAL (moved to TODO.txt of extension "dbal")
 ********************
-Issues:
-- Install tool, analysing SQL files, comparing, dumping etc. How? (MetaDatabase, MetaTables)
-- case-folding?
-- reserved words (uid!!) Which R-words?
-- LIMIT. selectLimit(x,x)
-- mysql_fetch_assoc substitute (seems to be there)
-- escaping chars with special function!!!
-- datatypes? Integer not there? LOB's a problem?
-- Internal functions: AVG, SUM, count
-- mysql_num_rows() = recordCount()
-- autoinc. of numbers with GenID()
-- how about joining?
-- ALTER TABLE syntax?
-
-Analysis:
-- SUPPORT: Core (+ 'cms') will support all DBs, extension MAY support a SUBSET of DBs only.
-- EM: MySQL will be the main supported database. sql-files for install tool follows MySQL syntax. Comparison can be done if ADOdb allows us to read table/field info (will need mapping of datatypes), updates may only be done if we support it. Not important. People CAN update manually with other DBs.
-- NAMING: Reserved words and case restrictions are a real problem. For now, lets call it unacceptable. Handling of this would include 1) conversion table in ADOdb for result set assoc. key mapping AND mapping of fields in the queries!
-- ESCAPING: Escaping characters will be very annoying because we'll have to pass an array first to stripslashes, then to add DB-specific slashes, then make Query. But we can for MySQL (and similar) bypass this...
-- LOBs: Working with LOBs seems to be extremely irritating, inserting them separately (In oracle)!! How are we knowing anyways that this is a LOB? Solution might be to bypass for MySQL and for problem DBs send the UPDATE/INSERT row (must be array then!!!) through a filter which returns new row plus a blob row for update afterwards.
-- AUTO-ID: Auto-incrementing is also a BIG irritation! Currently all inserts DO NOT set the id column!!! All insert statements must include the new, correct field (at least for the problem DB's like Oracle)
-- BTW: Escaping and BLOB handling seems to require the same for all INSERTs and UPDATEs: A field_array passed to function. Auto-id may relate to this (at least it will be required all places ...)
-- SQL: Will have to split up LIMIT selects. New escaping in SELECT queries. INSERT/UPDATE from field_arrays + processing, mysql_fetch_assoc() function "pandan"
-
-API:
-SELECT: 
-- Separate LIMIT from the rest. 
-- JOINS ? Functions like AVG, SUM?
-- Escaping of search strings
-
-UPDATE/INSERT:
-- Array passed to function if not MySQL
-  Function has: possible "autoincrement" field argument; If Oracle, auto-id is handled; If Oracle, BLOB-array is returned for separate insertion.
-
-
-ORACLE does not allow us to CHANGE existing fields into something else - only create new fields, otherwise we must export/import database.
-
-Other notes:
-- Datatypes to use for integers and others? Date/Time not a problem because typo3 uses integers.
-- AVG, SUM, COUNT - will they be there?
-- I'll need access to Oracle, MSSQL, PostGres - basically the databases we are going to connect to!!!
-- JOINS???
-- Having some lookup table (not TCA, because this is very individual from site to site) telling us which database (name+brand+server) a table is coming from, if not the default database. This also means that we will have an array of databases set up (one being default)!
-
-180303 / Oracle:
-- all fields/tablenames must be quoted
-- a quoted value cannot be inserted into an integerfield!!!
-
-
-insert... "kasper"
-
-Related issues: 
-- LPE: DB/DB sync.
-
-ORACLE / DB2:
-- u: db2admin
-- p: password
 
-Also see:
-- [Kasper] "DB Abstraction" folder in Mailbox 
 
 
 **********************
 APPENDIX: LPE
 *********************
-Syncronization:
+Also see:
+- [Kasper] "LPE" folder in Mailbox
+
+Syncronization (JH thoughts, general LPE):
 DB -> DB (1):
 - Production environment, which can dump configured set of tables to live server database and back. This is controlled from Production env.
 - Live server has two databases: One which accepts content from P (and is never written to) (P->L). One which ARE written to and is READ back by P (L->P).
 - The "P->L" database has a "backup" (db1, db2) where the "idle" database is the one being updated and after the update it's switched with the live db, which is now idle. The "L->P" database is not affected by this timing issue.
-- uploads/* dirs (and any files at all) might be syncronized by general rsync/ftp syncronization. Both ways? Primarily from P->L. Basically this sync. might take the whole sourcecode with it... 
+- uploads/* dirs (and any files at all) might be syncronized by general rsync/ftp syncronization. Both ways? Primarily from P->L. Basically this sync. might take the whole sourcecode with it...
 
 Req to T3:
 - That EACH table can be found in its own database (configurable). This means the TYPO3_db constant might have to be wasted? And not just another MySQL database - at another Database server or type (like Oracle). This is related to DBAL.
-- Q's: FTP-functions in php; How to syncronize? MySQL working across databases, connecting to more than one database? 
+- Q's: FTP-functions in php; How to syncronize? MySQL working across databases, connecting to more than one database?
 
 DB->HTML
 - Basically this is an rsync/ftp sync question which requires a set of static files.
 - Also a "mixed mode" concept where static files not found are server dynamically by TYPO3, but where the TYPO3 install does NOT allow backend access at all - only frontend delivery.
 
-Two situation:
+Two situations:
 - Publish static for local server, using mod_rewrite to direct requests transparently (static/dynamic). So all *.html requests WILL be found, static or dynamically! (Static/Dynamic blend)
 - Publish static for FTP server. All *.html requests MUST exist. (Purely static, limitations acceptable.)
 
-A HTML-filename which contains parameters__________:
- - Two solutions: using base64 or md5/db to encode/store parameters, adding md5/base64 to html-filename (either the real staticly written filename or the "fake" one)
- - Examples:
-&tt_board_uid=233&cHash=alkdfjlaskdf
-&tx_mininews_pi1[pointer]=0&tx_mininews_pi1[sword]=asdf&tx_mininews_pi1[mode]=asdf
-+1/3 length:
-This_is_my_page.123.1.64WAoaFRW9BXWTlzZ0ow53Dx8PEgASxh9namzMWxYIBDMdGnDx8PEgASxh9namzMWxYIBDMdGn.html
-
-This_is_my_page.123.1.m5abe83fd83e.html
-&tt_board_uid=233&blablabla=342&cHash=alkdfjlaskdf
-
-de dk
-This_is_my_page.123.1.m5abe83fd83e.html
-This_is_my_page.123.1.m5edf837afde.html
-
-Management__________________:
-- Clear-all-static-pages button; Staticly written filenames are retrieved from database table where those filenames are stored when ever they are written to disk (includes TTL time etc)
-- Clear-page-cache might also clear-page-static files.
-
----------------------------------------
-General config:        
-    For each page-id:
-        &lang=   (dk|de)
-        &cur=     (Euro/DKK)
-        &type=     (1)
-            2x2 = 4  (here we have some limit applied!)
-
-MAIN PAGE    &type=  (0|1|2|3)    4*4 = 16
-- Page 1    
-- Page 2    
-- Page 3    (Adresselist):    &tx_address_list[pointer]=    (0|1|2|3|4)    4*5 = 20 pages
-
-Various______________:
-- SearchEngine friendly / cachable URLs in board, products, tt_news
-- "Publish" funktionen brugte images_on_page. Genskab dette.
-
-THOUGHTS from Dassault work:
-# WriteToStatic function [Basically the static publishing system] (core feature: Kasper).
-  - writes static file IF simulateStaticDocument uses HTML *without* any parameters
-  - setting a "config.disableStaticCreation = 1" flag can disable it (for conditions situations)
-  - setting a value from PHP function (eg. if a search form needs to submit to the page) can disabled it
-  - registering the filename related to ID [and other parameters] so that "clear page cache" can also remove the file automatically.
-  - Also registeres: a) resources on the page (images/stylesheets), b) GET parameters from M5/B6 encryption.
-  - a browsing mechanism for creating static versions; could browse page, then show all links with checkboxes. Then checking of which links to follow and press button; browses the new pages. Then again checkboxes and so on. Which links were checked should be stored so that a process of publising could thus be followed automatically. This feature would include "clear files" function and also warn if a requested page was NOT written. (Problem; what if user-requests would generate the file? Possibly use a cookie or GET parameter or backend flag to request this.)
-  - includes an overview module showing all files and which pages they related to, possible "lost files" (those not registered in database) and "missing files" (in the database but not there).
-  - To create new versions doesn't have to REMOVE the existing! Just overwrite!
-
-Also see:
-- [Kasper] "LPE" folder in Mailbox 
-
-
+_____________________________________
+Server sync. extension, PLAN:
+Create an extension which syncronizes a set of tables to another database, using DBAL extension to determine handler for the remove tables
+- Use "tstamp" for update, "crdate" for inserts; does not dump full tables, only pushes updated content!
+- "Complete Sync": Feature for MD5 checking whole tables, thereby pushing content not based on timestamps but Md5 sum of content. This is if the timestamps are not getting updated correctly.
+
+_______________________________________
+General Crawler ("crawler"):
+- Crawls pages on TYPO3 site by URLs (using PHP fetching)
+       Config:
+       - Preload queue
+               - with previous crawler session log
+               - page tree pages / single top page?
+                       - For this; variable parameters, eg. "&lang=(dk|de)&cur=(Euro/DKK)&type=(0|1)" giving 3x2 combinations. Challenge; cHash?
+       - Set max-depth
+       - Adds GET parameter to identify operation (handler)?
+               - (re)index pages
+               - (re)cache pages
+               - Export as static HTML...
+       Session log:
+       - Identifies session by handler/id
+       - Can look up if a crawler has opened/closed/is-stalled etc.
+       - Multithreading crawlers (in IFRAMES or whatever)
+       - From session log we can read out the status-arrays of the threads and display in backend (handler shows as it likes.)
+       - Start / stop crawler session
+
+__________________________________________-
+CACHE MANAGEMENT EXTENSION
+
+- cache_pages -> API for adding key1/key2 custom content!
+- automatic clear-pages cache protection? (global flag)
+- Configuration: Configure "cache_" tables to clear when "Clear all cache"
+- "clear-cache" might not DELETE records but rather mark them "update-cache" or something like that... (would require the URL to be around...)
+- protect-flag which will disable the *automatic* clearing of page cache for a single page (in page header; expiry set to never -> setting flag in "cache_pages" table and records with that flag set cannot be flushed!)
+- "key1" and "key2" for granularity in caching!
+       -> used in manual clear-cache situations (cache mgm)
+       -> used in configurable clear-cache situations (clearing cache for a single document on TYPO3.org!)
+- "registerElement" per page for cache clearing (frontend scripts; function puts record reference in internal array and writes to disk only when cache table is written to! Flushes table with cache table also! Just like cache_pagessection)
+       -> For TV: ->registerElement('tt_content','uid'); when elements are NOT on the physical page
+       -> For 3dsplm: ->registerElement('bfs_brand','catia')
+       -> For 3dsplm: ->registerElement('bfs_skills','')       [saying that ANY bfs_skill changed will clear cache of front-page where all are shown.]
+
+cache-extension ("cachemgm")
+- in click menu, link to cache mgm
+- Web>Info "Cache overview":
+       - Overview of cached versions in tree (with stat like time, expiry, content size, parameter content, URL, key1/2) - standard categorizing, eg. [parameter1]:[param2]:[param3], page title!
+       - clear cache for page/section of page tree.
+- RE-generation of branches of this tree! (crawling the pages)
+- overview of cache_hash table.
+- overview of pages-section table.
+- tracking pages which are shown non-cached
+
+_____________________________________
+Static publishing ("staticpub" extension)
+- Writes static file (automatically) IF simulateStaticDocument uses HTML / Speaking URLs and allows caching of page
+       - root of the publishing dir MUST be hardcoded in TYPO3_CONF_VARS etc.; The extension has full power inside of this dir!
+       - Support for both speaking URLs (hierarchy of directories) and regular simulate static document types (flat dir)
+       - Using mod_rewrite to access static versions of documents.
+               - Checks existence of files
+               - Can bypass GET/QUERY string and POST requests!
+       - File location is tracked in a table tied to page-cache table uids - thus making a flush very easy
+       - File write should probably happen together with inserting cached version in database (system hook)
+- setting a "config.disableStaticCreation = 1" flag (in TS template) can disable it (for conditions situations)
+- Also registeres: a) resources on the page (images/stylesheets), b) GET parameters from M5/B6 encryption. (not used yet!)
+- Publishing can be done by remote-client requests (default) or using the general crawler (for re-caching pages)
+- Web>Info module "Static publishing": overview showing all files and which pages they are related to, possible "lost files" (those not registered in database) and "missing files" (in the database but not there).
+- To create new versions doesn't have to REMOVE the existing! Just overwrite!
 
 
 ******************************
@@ -558,7 +830,7 @@ To get rid of ImageMagick totally we need a GD with...:
 - masking
 - reduce colors / dithering
 - jpg quality control
-- 96 dpi / 72 dpi 
+- 96 dpi / 72 dpi
 - other effects?
 - Support for many file formats.
 This is currently implemented for GD2 by Kasper/Rene but the changes are not used. Just proof-of-concept. We are in contact with Pierre-Alain from the PHP-dev team about the issue and hope that his changes will make the future GDlib in PHP5 so powerful that ImageMagick is not needed anymore and most importantly: We can rely on a totally standard PHP installation available at any webhotel (in the future).
@@ -572,15 +844,15 @@ Notes:
 imagecopymerge
 
 jonny at sanriowasteland dot net
-29-Sep-2002 06:36 
+29-Sep-2002 06:36
+
 If you need to merge 2 png's (or  presumably 2 gifs) with different color palettes, I have found this is the function to use.  Just set pct to 99, and you are rocking.  With pct set to 100, or imagecopy for that matter, the palette seems to go wonky.  (It probably just uses the palette of the source image. but don't quote me on that).
+
+
 Also see:
-- [Kasper] "ImageManipulation" folder in Mailbox 
+- [Kasper] "ImageManipulation" folder in Mailbox
+
 
 ******************************
 APPENDIX: Idea about "Roles"
 ******************************
@@ -611,7 +883,16 @@ SITE-CRAWLER:
 BACKEND TOOLS:
 - Global search and replace of records (Rene F?)
 - Export the complete typo3 site/database, in a big file like mycompletesite.t3d
-  
+
+Repeated intervals extension:
+- Cron-job which alters the start/end times according to some schedule.
+- Configurable for any element of course
+
+New-Wizard:
+- An extension offering people to configure a wizard for creation of records. For instance you can configure to create a content element in three steps: First select type and header, then according to first choice, select more. Each screen has custom text/images/examples. Eventually the record is created. After creation there might be more options to set. In the end the wizard might fire up another application (like TemplaVoila) or a wizard or such.
+- Could be useful for: TemplaVoila Template Objects, Content Elements (like tables/forms/plugins), Pages of sorts.
+- Configuration could be in XML (since it needs a hierarchy)
+
 
 **************************************
 APPENDIX: PATTERN-control
@@ -624,26 +905,26 @@ APPENDIX: PATTERN-control
 
 
 **************************************
-Rapport of "deleted"-check in typoscripts (190500) 
+Rapport of "deleted"-check in typoscripts (190500)
 **************************************
-TYPO3: 
+TYPO3:
 - "deleted"-field must be set manually in userauth for user-tables!
-Hardcoding: 
-- "pages" in load_tree.php 
-- "sys_filemounts" in userauth_group 
-- "user-group tables" in userauth_groups 
-- "pages" in ti_inc.php 
-- "pages" in transferdata.php 
-
-TypoScript: 
-- sys_domain is NOT checked for deleted in "page.php" 
-- getForeignRecords() (page.php) does not check for deleted!!! (this is even not used any more!! 
-Hardcoding: 
-- "pages" in page.php 
-- "pages" in t_search.php 
-- "pages" in index_ts.php (caching) 
-- "sys_template" in t_template.php 
-- "fe_groups" in index_ts.php 
+Hardcoding:
+- "pages" in load_tree.php
+- "sys_filemounts" in userauth_group
+- "user-group tables" in userauth_groups
+- "pages" in ti_inc.php
+- "pages" in transferdata.php
+
+TypoScript:
+- sys_domain is NOT checked for deleted in "page.php"
+- getForeignRecords() (page.php) does not check for deleted!!! (this is even not used any more!!
+Hardcoding:
+- "pages" in page.php
+- "pages" in t_search.php
+- "pages" in index_ts.php (caching)
+- "sys_template" in t_template.php
+- "fe_groups" in index_ts.php
 
 
 **************************************
@@ -651,12 +932,12 @@ Bugs, considerations, notes
 **************************************
 - mail() hangs in 90 second (approx) if computer is not on the net! (deliver to mail-server)
 - REWRITE of files when they already exists? shortMD5 is guilty?
-- "Fields not properly updated:" - error: Varchar(xx) cannot included spaces AFTER the last character and therefore TYPO3 interface reports an error. Solve this error by setting "eval" to "trim" in $TCA for inputfields of the type VARCHAR. 
-- mysql_query() function should not be used I think as this queries the current database. mysql() should be used instead. 
-- JavaScript: escape() doesn't rawurlencode the "+"-character. This can be a problem, eg. when trying to rename files with a plus in the name. I have made an alternative escape-function. 
-- PDF-files over 600 k are not rendered by ImageMagick. Less than 270 is! How come and is this true. Number of pages? 
+- "Fields not properly updated:" - error: Varchar(xx) cannot included spaces AFTER the last character and therefore TYPO3 interface reports an error. Solve this error by setting "eval" to "trim" in $TCA for inputfields of the type VARCHAR.
+- mysql_query() function should not be used I think as this queries the current database. mysql() should be used instead.
+- JavaScript: escape() doesn't rawurlencode the "+"-character. This can be a problem, eg. when trying to rename files with a plus in the name. I have made an alternative escape-function.
+- PDF-files over 600 k are not rendered by ImageMagick. Less than 270 is! How come and is this true. Number of pages?
 - When GDlib is disabled it can be very confusing that record icons does not change their look according to hidden/starttime/endtime etc...
-
+- many files in typo3temp/ slows down processing. Eg. a image resize with 33.000 files in typo3temp/ took 3 seconds where it would take 40 ms when the folder is clean. (on linux)
 
 
 **************************************
@@ -666,3 +947,35 @@ Innovation, brainstorming for future
 - Drop tt_content for content rendering and let extensions be the sole source of new content element types?
 - Check sitecore ideas for adding new fields etc.
 - Backend for PDAs/Lynx
+
+
+************************************
+Translation of Extensions
+************************************
+
+These [global] extensions has priority when translating extensions:
+
+lang
+cms
+extra_page_cm_options
+rte
+imagelist
+aboutmodules
+lowlevel
+beuser
+setup
+taskcenter
+sys_action
+sys_messages
+sys_notepad
+taskcenter_recent
+taskcenter_rootlist
+sys_todos
+sys_workflows
+func_wizards
+wizard_crpages
+wizard_sortpages
+info_pagetsconfig
+indexed_search
+tt_guest
+mininews
diff --git a/changelog.txt b/changelog.txt
deleted file mode 100755 (executable)
index a038f6b..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-TYPO3 3.6.0-dev
-
-PHP:
-!!! $LANG->php3Lang + ->mainLang has been cancelled and replaced with a local-lang call: Search/replace regex: search for '->php3Lang\["([^]]*)"\]\["([^]]*)"\]', replace with '->sL("LLL:EXT:lang/locallang_core.php:\1.\2")'. Same for ->mainLang.
-!!! The global var $AB has been removed (since the "alternative backend" is now THE backend and the classic is totally gone. If you use this var, you can safely expect $AB's value to be TRUE and therefore remove all code which would excute if it was FALSE.
-!!! Removed what looked like unused functions and variables in the backend frameset JavaScript.
-!!! Change db_list_frame and file_list_frame to just "list_frame".
-!!! Cleaned up a lot in the template-class. 
-!!! dfw() and rfw() functions must be substituted with $GLOBALS["TBE_TEMPLATE"]->dfw() / ->rfw()
-!!! fw() is highly depreciated (and does NOT wrap strings anymore!)
-
-!!! if (top.theMenu) top.theMenu.recentuid
-!!! Constant "PATH_temp" has been cancelled - no scripts seemed to use it and the dir is depreciated.
-!!! typo3/temp/ has been cancelled. Changed to typo3/icons/ for STATIC icons and PATH_site.typo3temp/ is now used for the locally generated icons. So no more typo3/temp/ to be writable.
-!!! t3lib_BEfunc::loadTablesDescriptions() and t3lib_BEfunc::loadSingleTableDescription is removed. A function call like t3lib_BEfunc::loadSingleTableDescription("pages",$LANG->lang); is substituted with $LANG->loadSingleTableDescription("pages");
-!!! Function t3lib_BEfunc::pTypes() remove - nothing used it (apparently. prove me wrong... :-)
-!!! Function t3lib_div::extParseurl removed
-!!! Function t3lib_div::imagefinder, t3lib_div::linkfinder, t3lib_div::getStrippedURL, t3lib_div::getMimeType, t3lib_div::debug_white_space, t3lib_div::debug_code, t3lib_div::parsetime, t3lib_div::hardspace, t3lib_div::break_text, t3lib_div::unbreak_text removed
-
-!!! The font files "arial.ttf" and "verdana.ttf" has been removed from the folder t3lib/fonts/ and substituted with similar typefaces, "nimbus.ttf" and "vera.ttf" respectively.
-!!! The script "t3lib/formmail.php" has been removed. Was not used and didn't work anyways.
-
-
-Charsets:
-- A new class "t3lib_cs" has been added. It contains homemade functions for conversion to and from a list of charsets (conversion tables found in t3lib/csconvtbl/). The conversion could be speeded up enourmously by using PHP functions but I simply didn't find any that could be used. By time we can substitute the PHP-processing with internal PHP functions if possible.
-- In TYPO3_CONF_VARS we can now set up a system charset. [BE][forceCharset] This is used a) for storage of information and b) for whole backend. Default is that charset of the current user (as always), but clearly recommended is "UTF-8"!!!
-       - The recommendation is that the forceCharset configuration is used for multilingual sites. In this way the SAME charset is ALWAYS used in the backend regardless of which language the current backend user has chosen. Thus all content in the sysmte is stored in the same charset.
\ No newline at end of file
diff --git a/create_symlinks.sh b/create_symlinks.sh
new file mode 100644 (file)
index 0000000..13c5d9a
--- /dev/null
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+# This procedure is only needed when you check out the source for the first time ever.
+
+
+# Create symlink for tslib:
+ln -s typo3/sysext/cms/tslib
+
+# Go to typo3/ folder:
+cd typo3/
+
+# Create symlinks for t3lib/ and other things:
+ln -s ../t3lib
+ln -s ../t3lib/thumbs.php
+ln -s ../t3lib/gfx
+
+# Finally, go to the t3lib/fonts/ dir:
+cd t3lib/fonts/
+
+ #Create two symlinks to fonts:
+ln -s vera.ttf verdana.ttf
+ln -s nimbus.ttf arial.ttf
+
index 335e706..e6ab99b 100755 (executable)
@@ -1,2 +1,4 @@
 RewriteEngine On
-RewriteRule   ^[^/]*\.html$  index.php
+RewriteCond %{REQUEST_FILENAME} !-f
+RewriteRule   ^typo3$  typo3/index_re.php
+RewriteRule   ^[^/]*\.html$  index.php
\ No newline at end of file
index d441537..8e39c04 100755 (executable)
@@ -32,6 +32,11 @@ class t3lib_div {
        /**
         * Abstraction method which returns System Environment Variables regardless of server OS, CGI/MODULE version etc. Basically this is SERVER variables for most of them.
         * This should be used instead of getEnv() and HTTP_SERVER_VARS/ENV_VARS to get reliable values for all situations.
+        * 
+        * Usage: 226
+        * 
+        * @param       string          Name of the "environment variable"/"server variable" you wish to use. Valid values are SCRIPT_NAME, SCRIPT_FILENAME, REQUEST_URI, PATH_INFO, REMOTE_ADDR, REMOTE_HOST, HTTP_REFERER, HTTP_HOST, HTTP_USER_AGENT, HTTP_ACCEPT_LANGUAGE, QUERY_STRING, TYPO3_DOCUMENT_ROOT, TYPO3_HOST_ONLY, TYPO3_HOST_ONLY, TYPO3_REQUEST_HOST, TYPO3_REQUEST_URL, TYPO3_REQUEST_SCRIPT, TYPO3_REQUEST_DIR, TYPO3_SITE_URL, _ARRAY
+        * @return      string          Value based on the input key, independent of server/os environment.
         */
        function getIndpEnv($getEnvName)        {
                global $HTTP_SERVER_VARS;
@@ -59,7 +64,7 @@ class t3lib_div {
                        URI______:
                                REQUEST_URI             =       [path]?[query]          = /typo3/32/temp/phpcheck/index.php/arg1/arg2/arg3/?arg1,arg2,arg3&p1=parameter1&p2[key]=value
                                HTTP_HOST               =       [host][:[port]]         = 192.168.1.4:8080
-                               SCRIPT_NAME             =       [path_script]++         = /typo3/32/temp/phpcheck/index.php             // NOTICE THAT SCRIPT_NAME will return the php-script name ALSO. [path_script] may not do that (eg. "/somedir/" may result in SCRIPT_NAME "/somedir/index.php")!
+                               SCRIPT_NAME             =       [path_script]++         = /typo3/32/temp/phpcheck/index.php             // NOTICE THAT SCRIPT_NAME will return the php-script name ALSO. [path_script] may not do that (eg. '/somedir/' may result in SCRIPT_NAME '/somedir/index.php')!
                                PATH_INFO               =       [path_info]                     = /arg1/arg2/arg3/
                                QUERY_STRING    =       [query]                         = arg1,arg2,arg3&p1=parameter1&p2[key]=value
                                HTTP_REFERER    =       [scheme]://[host][:[port]][path]        = http://192.168.1.4:8080/typo3/32/temp/phpcheck/index.php/arg1/arg2/arg3/?arg1,arg2,arg3&p1=parameter1&p2[key]=value
@@ -72,16 +77,16 @@ class t3lib_div {
                                HTTP_ACCEPT_LANGUAGE    = (client accept language)
        
                        SERVER____:
-                               SCRIPT_FILENAME =       Absolute filename of script             (Differs between windows/unix). On windows "C:\\blabla\\blabl\\" will be converted to "C:/blabla/blabl/"
+                               SCRIPT_FILENAME =       Absolute filename of script             (Differs between windows/unix). On windows 'C:\\blabla\\blabl\\' will be converted to 'C:/blabla/blabl/'
                                
                        Special extras:
                                TYPO3_HOST_ONLY =               [host]                  = 192.168.1.4
                                TYPO3_PORT              =               [port]                  = 8080 (blank if 80, taken from host value)
                                TYPO3_REQUEST_HOST =    [scheme]://[host][:[port]]
-                               TYPO3_REQUEST_URL =             [scheme]://[host][:[port]][path]?[query]        (sheme will by default be "http" until we can detect if it's https - 
+                               TYPO3_REQUEST_URL =             [scheme]://[host][:[port]][path]?[query]        (sheme will by default be 'http' until we can detect if it's https - 
                                TYPO3_REQUEST_SCRIPT =  [scheme]://[host][:[port]][path_script]
                                TYPO3_REQUEST_DIR =             [scheme]://[host][:[port]][path_dir]
-                               TYPO3_SITE_URL =                [scheme]://[host][:[port]][path_dir] of the Typo3 website 
+                               TYPO3_SITE_URL =                [scheme]://[host][:[port]][path_dir] of the TYPO3 website 
                                TYPO3_DOCUMENT_ROOT     =       Absolute path of root of documents:     TYPO3_DOCUMENT_ROOT.SCRIPT_NAME = SCRIPT_FILENAME (typically)
                
                        Notice: [fragment] is apparently NEVER available to the script!
@@ -90,94 +95,95 @@ class t3lib_div {
                        Testing suggestions:
                        - Output all the values.
                        - In the script, make a link to the script it self, maybe add some parameters and click the link a few times so HTTP_REFERER is seen
-                       - ALSO TRY the script from the ROOT of a site (like "http://www.mytest.com/" and not "http://www.mytest.com/test/" !!)
+                       - ALSO TRY the script from the ROOT of a site (like 'http://www.mytest.com/' and not 'http://www.mytest.com/test/' !!)
                
                */
-
+               
+#              if ($getEnvName=='HTTP_REFERER')        return '';
                switch((string)$getEnvName)     {
-                       case "SCRIPT_NAME":
-                               return php_sapi_name()=="cgi" ? $HTTP_SERVER_VARS["PATH_INFO"] : $HTTP_SERVER_VARS["SCRIPT_NAME"];
+                       case 'SCRIPT_NAME':
+                               return php_sapi_name()=='cgi' ? $HTTP_SERVER_VARS['PATH_INFO'] : $HTTP_SERVER_VARS['SCRIPT_NAME'];
                        break;
-                       case "SCRIPT_FILENAME":
-                               return str_replace('//','/', str_replace('\\','/', php_sapi_name()=="cgi"||php_sapi_name()=="isapi" ? $HTTP_SERVER_VARS["PATH_TRANSLATED"]:$HTTP_SERVER_VARS["SCRIPT_FILENAME"]));
+                       case 'SCRIPT_FILENAME':
+                               return str_replace('//','/', str_replace('\\','/', php_sapi_name()=='cgi'||php_sapi_name()=='isapi' ? $HTTP_SERVER_VARS['PATH_TRANSLATED']:$HTTP_SERVER_VARS['SCRIPT_FILENAME']));
                        break;
-                       case "REQUEST_URI":
-                               // Typical application of REQUEST_URI is return urls, forms submitting to itselt etc. Eg:       returnUrl=".rawurlencode(t3lib_div::getIndpEnv("REQUEST_URI"))
-                               if (!$HTTP_SERVER_VARS["REQUEST_URI"])  {       // This is for ISS/CGI which does not have the REQUEST_URI available.
-                                       return "/".ereg_replace("^/","",t3lib_div::getIndpEnv("SCRIPT_NAME")).
-                                               ($HTTP_SERVER_VARS["QUERY_STRING"]?"?".$HTTP_SERVER_VARS["QUERY_STRING"]:"");
-                               } else return $HTTP_SERVER_VARS["REQUEST_URI"];
+                       case 'REQUEST_URI':
+                               // Typical application of REQUEST_URI is return urls, forms submitting to itselt etc. Eg:       returnUrl='.rawurlencode(t3lib_div::getIndpEnv('REQUEST_URI'))
+                               if (!$HTTP_SERVER_VARS['REQUEST_URI'])  {       // This is for ISS/CGI which does not have the REQUEST_URI available.
+                                       return '/'.ereg_replace('^/','',t3lib_div::getIndpEnv('SCRIPT_NAME')).
+                                               ($HTTP_SERVER_VARS['QUERY_STRING']?'?'.$HTTP_SERVER_VARS['QUERY_STRING']:'');
+                               } else return $HTTP_SERVER_VARS['REQUEST_URI'];
                        break;
-                       case "PATH_INFO":
-                                       // $HTTP_SERVER_VARS["PATH_INFO"]!=$HTTP_SERVER_VARS["SCRIPT_NAME"] is necessary because some servers (Windows/CGI) are seen to set PATH_INFO equal to script_name
-                                       // Further, there must be at least one "/" in the path - else the PATH_INFO value does not make sense.
-                                       // IF "PATH_INFO" never works for our purpose in Typo3 with CGI-servers, then 'php_sapi_name()=="cgi"' might be a better check. Right now strcmp($HTTP_SERVER_VARS["PATH_INFO"],t3lib_div::getIndpEnv("SCRIPT_NAME")) will always return false for CGI-versions, but that is only as long as SCRIPT_NAME is set equal to PATH_INFO because of php_sapi_name()=="cgi" (see above)
-//                             if (strcmp($HTTP_SERVER_VARS["PATH_INFO"],t3lib_div::getIndpEnv("SCRIPT_NAME")) && count(explode("/",$HTTP_SERVER_VARS["PATH_INFO"]))>1)        {
-                               if (php_sapi_name()!="cgi")     {
-                                       return $HTTP_SERVER_VARS["PATH_INFO"];
-                               } else return "";
+                       case 'PATH_INFO':
+                                       // $HTTP_SERVER_VARS['PATH_INFO']!=$HTTP_SERVER_VARS['SCRIPT_NAME'] is necessary because some servers (Windows/CGI) are seen to set PATH_INFO equal to script_name
+                                       // Further, there must be at least one '/' in the path - else the PATH_INFO value does not make sense.
+                                       // IF 'PATH_INFO' never works for our purpose in TYPO3 with CGI-servers, then 'php_sapi_name()=='cgi'' might be a better check. Right now strcmp($HTTP_SERVER_VARS['PATH_INFO'],t3lib_div::getIndpEnv('SCRIPT_NAME')) will always return false for CGI-versions, but that is only as long as SCRIPT_NAME is set equal to PATH_INFO because of php_sapi_name()=='cgi' (see above)
+//                             if (strcmp($HTTP_SERVER_VARS['PATH_INFO'],t3lib_div::getIndpEnv('SCRIPT_NAME')) && count(explode('/',$HTTP_SERVER_VARS['PATH_INFO']))>1)        {
+                               if (php_sapi_name()!='cgi')     {
+                                       return $HTTP_SERVER_VARS['PATH_INFO'];
+                               } else return '';
                        break;
                                // These are let through without modification
-                       case "REMOTE_ADDR":
-                       case "REMOTE_HOST":
-                       case "HTTP_REFERER":
-                       case "HTTP_HOST":
-                       case "HTTP_USER_AGENT":
-                       case "HTTP_ACCEPT_LANGUAGE":
-                       case "QUERY_STRING":
+                       case 'REMOTE_ADDR':
+                       case 'REMOTE_HOST':
+                       case 'HTTP_REFERER':
+                       case 'HTTP_HOST':
+                       case 'HTTP_USER_AGENT':
+                       case 'HTTP_ACCEPT_LANGUAGE':
+                       case 'QUERY_STRING':
                                return $HTTP_SERVER_VARS[$getEnvName];
                        break;
-                       case "TYPO3_DOCUMENT_ROOT":
-                               // Some CGI-versions (LA13CGI) and mod-rewrite rules on MODULE versions will deliver a "wrong" DOCUMENT_ROOT (according to our description). Further various aliases/mod_rewrite rules can disturb this as well.
+                       case 'TYPO3_DOCUMENT_ROOT':
+                               // Some CGI-versions (LA13CGI) and mod-rewrite rules on MODULE versions will deliver a 'wrong' DOCUMENT_ROOT (according to our description). Further various aliases/mod_rewrite rules can disturb this as well.
                                // Therefore the DOCUMENT_ROOT is now always calculated as the SCRIPT_FILENAME minus the end part shared with SCRIPT_NAME.
-                               $SFN = t3lib_div::getIndpEnv("SCRIPT_FILENAME");
-                               $SN_A = explode("/",strrev(t3lib_div::getIndpEnv("SCRIPT_NAME")));
-                               $SFN_A = explode("/",strrev($SFN));
+                               $SFN = t3lib_div::getIndpEnv('SCRIPT_FILENAME');
+                               $SN_A = explode('/',strrev(t3lib_div::getIndpEnv('SCRIPT_NAME')));
+                               $SFN_A = explode('/',strrev($SFN));
                                $acc=array();
                                while(list($kk,$vv)=each($SN_A))        {
                                        if (!strcmp($SFN_A[$kk],$vv))   {
                                                $acc[]=$vv;
                                        } else break;
                                }
-                               $commonEnd=strrev(implode("/",$acc));
-                               if (strcmp($commonEnd,""))              $DR = substr($SFN,0,-(strlen($commonEnd)+1));
+                               $commonEnd=strrev(implode('/',$acc));
+                               if (strcmp($commonEnd,''))              $DR = substr($SFN,0,-(strlen($commonEnd)+1));
                                return $DR;
                        break;
-                       case "TYPO3_HOST_ONLY":
-                               $p=explode(":",$HTTP_SERVER_VARS["HTTP_HOST"]);
+                       case 'TYPO3_HOST_ONLY':
+                               $p=explode(':',$HTTP_SERVER_VARS['HTTP_HOST']);
                                return $p[0];
                        break;
-                       case "TYPO3_PORT":
-                               $p=explode(":",$HTTP_SERVER_VARS["HTTP_HOST"]);
+                       case 'TYPO3_PORT':
+                               $p=explode(':',$HTTP_SERVER_VARS['HTTP_HOST']);
                                return $p[1];
                        break;
-                       case "TYPO3_REQUEST_HOST":
-                               return "http".($HTTP_SERVER_VARS["SSL_SESSION_ID"]?"s":"")."://".       // I hope this: ($HTTP_SERVER_VARS["SSL_SESSION_ID"]?"s":"") - is sufficient to detect https...
-                                       $HTTP_SERVER_VARS["HTTP_HOST"];
+                       case 'TYPO3_REQUEST_HOST':
+                               return 'http'.($HTTP_SERVER_VARS['SSL_SESSION_ID']?'s':'').'://'.       // I hope this: ($HTTP_SERVER_VARS['SSL_SESSION_ID']?'s':'') - is sufficient to detect https...
+                                       $HTTP_SERVER_VARS['HTTP_HOST'];
                        break;
-                       case "TYPO3_REQUEST_URL":
-                               return t3lib_div::getIndpEnv("TYPO3_REQUEST_HOST").t3lib_div::getIndpEnv("REQUEST_URI");
+                       case 'TYPO3_REQUEST_URL':
+                               return t3lib_div::getIndpEnv('TYPO3_REQUEST_HOST').t3lib_div::getIndpEnv('REQUEST_URI');
                        break;
-                       case "TYPO3_REQUEST_SCRIPT":
-                               return t3lib_div::getIndpEnv("TYPO3_REQUEST_HOST").t3lib_div::getIndpEnv("SCRIPT_NAME");
+                       case 'TYPO3_REQUEST_SCRIPT':
+                               return t3lib_div::getIndpEnv('TYPO3_REQUEST_HOST').t3lib_div::getIndpEnv('SCRIPT_NAME');
                        break;
-                       case "TYPO3_REQUEST_DIR":
-                               return t3lib_div::getIndpEnv("TYPO3_REQUEST_HOST").t3lib_div::dirname(t3lib_div::getIndpEnv("SCRIPT_NAME"))."/";
+                       case 'TYPO3_REQUEST_DIR':
+                               return t3lib_div::getIndpEnv('TYPO3_REQUEST_HOST').t3lib_div::dirname(t3lib_div::getIndpEnv('SCRIPT_NAME')).'/';
                        break;
-                       case "TYPO3_SITE_URL":
-                               if (defined("PATH_thisScript") && defined("PATH_site")) {
-                                       $lPath = substr(dirname(PATH_thisScript),strlen(PATH_site))."/";
-                                       $url = t3lib_div::getIndpEnv("TYPO3_REQUEST_DIR");
+                       case 'TYPO3_SITE_URL':
+                               if (defined('PATH_thisScript') && defined('PATH_site')) {
+                                       $lPath = substr(dirname(PATH_thisScript),strlen(PATH_site)).'/';
+                                       $url = t3lib_div::getIndpEnv('TYPO3_REQUEST_DIR');
                                        $siteUrl = substr($url,0,-strlen($lPath));
-                                       if (substr($siteUrl,-1)!="/")   $siteUrl.="/";
+                                       if (substr($siteUrl,-1)!='/')   $siteUrl.='/';
                                        return $siteUrl;
-                               } else return "";
+                               } else return '';
 
                        break;
-                       case "_ARRAY":
+                       case '_ARRAY':
                                $out=array();
                                        // Here, list ALL possible keys to this function for debug display.
-                               $envTestVars = t3lib_div::trimExplode(",","
+                               $envTestVars = t3lib_div::trimExplode(',','
                                        HTTP_HOST,
                                        TYPO3_HOST_ONLY,
                                        TYPO3_PORT,
@@ -196,7 +202,7 @@ class t3lib_div {
                                        REMOTE_ADDR,
                                        REMOTE_HOST,
                                        HTTP_USER_AGENT,
-                                       HTTP_ACCEPT_LANGUAGE",1);
+                                       HTTP_ACCEPT_LANGUAGE',1);
                                reset($envTestVars);
                                while(list(,$v)=each($envTestVars))     {
                                        $out[$v]=t3lib_div::getIndpEnv($v);
@@ -206,6 +212,7 @@ class t3lib_div {
                        break;
                }
        }
+
 }
        
        function view_array($array_in)  {
@@ -261,7 +268,7 @@ define("PATH_thisScript",
        */
 
 define("PATH_thisScript",str_replace('//','/', str_replace('\\','/', php_sapi_name()=="cgi"||php_sapi_name()=="isapi" ? $HTTP_SERVER_VARS["PATH_TRANSLATED"]:$HTTP_SERVER_VARS["SCRIPT_FILENAME"])));
-
+define('PATH_site', dirname(PATH_thisScript).'/');
 
 
 if (count($HTTP_GET_VARS) || $HTTP_SERVER_VARS["HTTP_REFERER"])        {
@@ -317,12 +324,11 @@ if (count($HTTP_GET_VARS) || $HTTP_SERVER_VARS["HTTP_REFERER"])   {
        echo "Cookie 'test_script_cookie': '<strong>".$HTTP_COOKIE_VARS["test_script_cookie"]."</strong>'<BR>";
        
        
-       
-
        echo '<HR><a name="link1"></a>';
        echo '<div style="border: 1px solid black; padding: 10px 10px 10px 10px;"><h3>What to do now?</h3>
                <p>1) Click this link above once more: <a href="index.php?arg1,arg2,arg3&p1=parameter1&p2[key]='.substr(md5(time()),0,4).'#link1">Go to this page again.</a><BR>
                2) Then save this HTML-page and send it to kasper@typo3.com with information about 1) which webserver (Apache/ISS), 2) Unix/Windows, 3) CGI or module (ISAPI)<br>
+               2a) You might help us find any differences in your values to this <a href="reference.html" target="_blank">reference example</a> by comparing the values before you send the result (thanks).
                <br>
                3) If you are really advanced you try and click the link below here. With CGI-versions of servers it will most likely give an error page. If it does not, please send the output to me as well (save HTML-page and send to kasper@typo3.com). If you do this PATH_INFO test, please let me know.<br><br>
                
diff --git a/misc/phpcheck/reference.html b/misc/phpcheck/reference.html
new file mode 100755 (executable)
index 0000000..6e2323c
--- /dev/null
@@ -0,0 +1,554 @@
+<H3>t3lib_div::getIndpEnv()</H3><p>These are 'system variables' returned from t3lib_div::getIndpEnv() and should be universal for any server configuration:</p><table border=1 cellpadding=1 cellspacing=0 bgcolor=white><tr><td><font face="Verdana,Arial" size="1">HTTP_HOST</font></td><td><font face="Verdana,Arial" size="1" color=red>192.168.230.3<BR></font></td></tr><tr><td><font face="Verdana,Arial" size="1">TYPO3_HOST_ONLY</font></td><td><font face="Verdana,Arial" size="1" color=red>192.168.230.3<BR></font></td></tr><tr><td><font face="Verdana,Arial" size="1">TYPO3_PORT</font></td><td><font face="Verdana,Arial" size="1" color=red><BR></font></td></tr><tr><td><font face="Verdana,Arial" size="1">PATH_INFO</font></td><td><font face="Verdana,Arial" size="1" color=red><BR></font></td></tr><tr><td><font face="Verdana,Arial" size="1">QUERY_STRING</font></td><td><font face="Verdana,Arial" size="1" color=red>arg1,arg2,arg3&amp;p1=parameter1&amp;p2[key]=0f03<BR></font></td></tr><tr><td><font face="Verdana,Arial" size="1">REQUEST_URI</font></td><td><font face="Verdana,Arial" size="1" color=red>/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php?arg1,arg2,arg3&amp;p1=parameter1&amp;p2[key]=0f03<BR></font></td></tr><tr><td><font face="Verdana,Arial" size="1">HTTP_REFERER</font></td><td><font face="Verdana,Arial" size="1" color=red>http://192.168.230.3/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/<BR></font></td></tr><tr><td><font face="Verdana,Arial" size="1">TYPO3_REQUEST_HOST</font></td><td><font face="Verdana,Arial" size="1" color=red>http://192.168.230.3<BR></font></td></tr><tr><td><font face="Verdana,Arial" size="1">TYPO3_REQUEST_URL</font></td><td><font face="Verdana,Arial" size="1" color=red>http://192.168.230.3/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php?arg1,arg2,arg3&amp;p1=parameter1&amp;p2[key]=0f03<BR></font></td></tr><tr><td><font face="Verdana,Arial" size="1">TYPO3_REQUEST_SCRIPT</font></td><td><font face="Verdana,Arial" size="1" color=red>http://192.168.230.3/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php<BR></font></td></tr><tr><td><font face="Verdana,Arial" size="1">TYPO3_REQUEST_DIR</font></td><td><font face="Verdana,Arial" size="1" color=red>http://192.168.230.3/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/<BR></font></td></tr><tr><td><font face="Verdana,Arial" size="1">TYPO3_SITE_URL</font></td><td><font face="Verdana,Arial" size="1" color=red>http://192.168.230.3/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/<BR></font></td></tr><tr><td><font face="Verdana,Arial" size="1">SCRIPT_NAME</font></td><td><font face="Verdana,Arial" size="1" color=red>/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php<BR></font></td></tr><tr><td><font face="Verdana,Arial" size="1">TYPO3_DOCUMENT_ROOT</font></td><td><font face="Verdana,Arial" size="1" color=red>/www/htdocs<BR></font></td></tr><tr><td><font face="Verdana,Arial" size="1">SCRIPT_FILENAME</font></td><td><font face="Verdana,Arial" size="1" color=red>/www/htdocs/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php<BR></font></td></tr><tr><td><font face="Verdana,Arial" size="1">REMOTE_ADDR</font></td><td><font face="Verdana,Arial" size="1" color=red>192.168.230.1<BR></font></td></tr><tr><td><font face="Verdana,Arial" size="1">REMOTE_HOST</font></td><td><font face="Verdana,Arial" size="1" color=red><BR></font></td></tr><tr><td><font face="Verdana,Arial" size="1">HTTP_USER_AGENT</font></td><td><font face="Verdana,Arial" size="1" color=red>Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)<BR></font></td></tr><tr><td><font face="Verdana,Arial" size="1">HTTP_ACCEPT_LANGUAGE</font></td><td><font face="Verdana,Arial" size="1" color=red>da<BR></font></td></tr></table><table border=1 cellpadding=1 cellspacing=0 bgcolor=white><tr><td><font face="Verdana,Arial" size="1">PHP_OS</font></td><td><font face="Verdana,Arial" size="1" color=red>Linux<BR></font></td></tr><tr><td><font face="Verdana,Arial" size="1">TYPO3_OS</font></td><td><font face="Verdana,Arial" size="1" color=red><BR></font></td></tr><tr><td><font face="Verdana,Arial" size="1">PATH_thisScript</font></td><td><font face="Verdana,Arial" size="1" color=red>/www/htdocs/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php<BR></font></td></tr><tr><td><font face="Verdana,Arial" size="1">php_sapi_name()</font></td><td><font face="Verdana,Arial" size="1" color=red>apache<BR></font></td></tr></table><H3>Raw values</H3><p>These are the raw 'system variables' returned from getenv(), HTTP_SERVER_VARS, HTTP_ENV_VARS etc. These are displayed here so we can find the right values via this testscript to map to with t3lib_div::getIndpEnv()</p><table border=1 style="font-family:verdana; font-size:10px;"><tr bgcolor="#eeeeee">
+                       <td>Key</td>
+                       <td nowrap>getenv()</td>
+                       <td nowrap>HTTP_SERVER_VARS</td>
+                       <td nowrap>_SERVER</td>
+                       <td nowrap>HTTP_ENV_VARS</td>
+                       <td nowrap>_ENV</td>
+               </tr><tr>
+                       <td bgcolor="#eeeeee">REQUEST_URI</td>
+                       <td nowrap>/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php?arg1,arg2,arg3&amp;p1=parameter1&amp;p2[key]=0f03&nbsp;</td>
+                       <td nowrap>/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php?arg1,arg2,arg3&amp;p1=parameter1&amp;p2[key]=0f03&nbsp;</td>
+                       <td nowrap>/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php?arg1,arg2,arg3&amp;p1=parameter1&amp;p2[key]=0f03&nbsp;</td>
+                       <td nowrap>&nbsp;</td>
+                       <td nowrap>&nbsp;</td>
+               </tr><tr>
+                       <td bgcolor="#eeeeee">REMOTE_ADDR</td>
+                       <td nowrap>192.168.230.1&nbsp;</td>
+                       <td nowrap>192.168.230.1&nbsp;</td>
+                       <td nowrap>192.168.230.1&nbsp;</td>
+                       <td nowrap>&nbsp;</td>
+                       <td nowrap>&nbsp;</td>
+               </tr><tr>
+                       <td bgcolor="#eeeeee">REMOTE_HOST</td>
+                       <td nowrap>&nbsp;</td>
+                       <td nowrap>&nbsp;</td>
+                       <td nowrap>&nbsp;</td>
+                       <td nowrap>&nbsp;</td>
+                       <td nowrap>&nbsp;</td>
+               </tr><tr>
+                       <td bgcolor="#eeeeee">PATH_INFO</td>
+                       <td nowrap>&nbsp;</td>
+                       <td nowrap>&nbsp;</td>
+                       <td nowrap>&nbsp;</td>
+                       <td nowrap>&nbsp;</td>
+                       <td nowrap>&nbsp;</td>
+               </tr><tr>
+                       <td bgcolor="#eeeeee">SCRIPT_NAME</td>
+                       <td nowrap>/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php&nbsp;</td>
+                       <td nowrap>/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php&nbsp;</td>
+                       <td nowrap>/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php&nbsp;</td>
+                       <td nowrap>&nbsp;</td>
+                       <td nowrap>&nbsp;</td>
+               </tr><tr>
+                       <td bgcolor="#eeeeee">SCRIPT_FILENAME</td>
+                       <td nowrap>/www/htdocs/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php&nbsp;</td>
+                       <td nowrap>/www/htdocs/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php&nbsp;</td>
+                       <td nowrap>/www/htdocs/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php&nbsp;</td>
+                       <td nowrap>&nbsp;</td>
+                       <td nowrap>&nbsp;</td>
+               </tr><tr>
+                       <td bgcolor="#eeeeee">HTTP_HOST</td>
+                       <td nowrap>192.168.230.3&nbsp;</td>
+                       <td nowrap>192.168.230.3&nbsp;</td>
+                       <td nowrap>192.168.230.3&nbsp;</td>
+                       <td nowrap>&nbsp;</td>
+                       <td nowrap>&nbsp;</td>
+               </tr><tr>
+                       <td bgcolor="#eeeeee">HTTP_USER_AGENT</td>
+                       <td nowrap>Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)&nbsp;</td>
+                       <td nowrap>Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)&nbsp;</td>
+                       <td nowrap>Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)&nbsp;</td>
+                       <td nowrap>&nbsp;</td>
+                       <td nowrap>&nbsp;</td>
+               </tr><tr>
+                       <td bgcolor="#eeeeee">HTTP_ACCEPT_ENCODING</td>
+                       <td nowrap>gzip, deflate&nbsp;</td>
+                       <td nowrap>gzip, deflate&nbsp;</td>
+                       <td nowrap>gzip, deflate&nbsp;</td>
+                       <td nowrap>&nbsp;</td>
+                       <td nowrap>&nbsp;</td>
+               </tr><tr>
+                       <td bgcolor="#eeeeee">HTTP_REFERER</td>
+                       <td nowrap>http://192.168.230.3/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/&nbsp;</td>
+                       <td nowrap>http://192.168.230.3/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/&nbsp;</td>
+                       <td nowrap>http://192.168.230.3/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/&nbsp;</td>
+                       <td nowrap>&nbsp;</td>
+                       <td nowrap>&nbsp;</td>
+               </tr><tr>
+                       <td bgcolor="#eeeeee">QUERY_STRING</td>
+                       <td nowrap>arg1,arg2,arg3&amp;p1=parameter1&amp;p2[key]=0f03&nbsp;</td>
+                       <td nowrap>arg1,arg2,arg3&amp;p1=parameter1&amp;p2[key]=0f03&nbsp;</td>
+                       <td nowrap>arg1,arg2,arg3&amp;p1=parameter1&amp;p2[key]=0f03&nbsp;</td>
+                       <td nowrap>&nbsp;</td>
+                       <td nowrap>&nbsp;</td>
+               </tr></table><table border=1 style="font-family:verdana; font-size:10px;">
+       <tr><td>$GLOBALS[&quot;HTTP_SERVER_VARS&quot;][&quot;DOCUMENT_ROOT&quot;]</td><td>/www/htdocs</td></tr>
+       <tr><td>$HTTP_SERVER_VARS[&quot;PATH_TRANSLATED&quot;]</td><td>/www/htdocs/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php</td></tr>
+       <tr><td>$GLOBALS[&quot;HTTP_SERVER_VARS&quot;][&quot;REDIRECT_URL&quot;]</td><td>/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php</td></tr>
+       <tr><td>$GLOBALS[&quot;HTTP_SERVER_VARS&quot;][&quot;REQUEST_URI&quot;]</td><td>/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php?arg1,arg2,arg3&amp;p1=parameter1&amp;p2[key]=0f03</td></tr>
+       </table>Cookie 'test_script_cookie': '<strong>Cookie Value!</strong>'<BR><HR><a name="link1"></a><div style="border: 1px solid black; padding: 10px 10px 10px 10px;"><h3>What to do now?</h3>
+               <p>1) Click this link above once more: <a href="index.php?arg1,arg2,arg3&p1=parameter1&p2[key]=e3f9#link1">Go to this page again.</a><BR>
+               2) Then save this HTML-page and send it to kasper@typo3.com with information about 1) which webserver (Apache/ISS), 2) Unix/Windows, 3) CGI or module (ISAPI)<br>
+               <br>
+               3) If you are really advanced you try and click the link below here. With CGI-versions of servers it will most likely give an error page. If it does not, please send the output to me as well (save HTML-page and send to kasper@typo3.com). If you do this PATH_INFO test, please let me know.<br><br>
+               
+               4) For the really, really advanced folks, it might be interesting to see the output if you could place this link in the root of a domain. That means the index.php script will be executed from eg. "http://www.blablabla.com/" and not "http://www.blablabla.com/kaspers_test/" - it can make a difference.<br>
+               <br>
+               <br>
+               I am operating with these categories of servers. <strong>Please identify your configuration and label your email with that "type":</strong><br><br>
+               
+               <table border=1>
+<tr bgcolor="#eeeeee">
+       <td><em>TYPE:</em></td>
+       <td><em>Description:</em></td>
+</tr>
+<tr>
+       <td>WA13CGI</td>
+       <td>Windows / Apache 1.3.x / CGI</td>
+</tr>
+<tr>
+       <td>WA2CGI</td>
+       <td>Windows / Apache 2.x / CGI</td>
+</tr>
+<tr>
+       <td>WA13ISAPI</td>
+       <td>Windows / Apache 1.3.x / ISAPI-module</td>
+</tr>
+<tr>
+       <td>WA2ISAPI</td>
+       <td>Windows / Apache 2.x / ISAPI-module</td>
+</tr>
+<tr>
+       <td>WISS_CGI</td>
+       <td>Windows / ISS / CGI</td>
+</tr>
+<tr>
+       <td>WISS_ISAPI</td>
+       <td>Windows / ISS / ISAPI-module</td>
+</tr>
+<tr>
+       <td>MA13MOD</td>
+       <td>Mac (Darwin) / Apache 1.3.x / Module</td>
+</tr>
+<tr>
+       <td>LA13CGI</td>
+       <td>Linux / Apache 1.3.x / CGI</td>
+</tr>
+<tr>
+       <td>LA2CGI</td>
+       <td>Linux / Apache 2.x / CGI</td>
+</tr>
+<tr>
+       <td>LA13MOD</td>
+       <td>Linux / Apache 1.3.x / Module</td>
+</tr>
+<tr>
+       <td>LA2MOD</td>
+       <td>Linux / Apache 2.x / Module</td>
+</tr>
+</table>
+
+               
+               </p></div><a href="index.php/arg1/arg2/arg3/#link2" name="link2">Go to this page again (PATH_INFO).</a><BR><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head><style type="text/css"><!--
+a { text-decoration: none; }
+a:hover { text-decoration: underline; }
+h1 { font-family: arial, helvetica, sans-serif; font-size: 18pt; font-weight: bold;}
+h2 { font-family: arial, helvetica, sans-serif; font-size: 14pt; font-weight: bold;}
+body, td { font-family: arial, helvetica, sans-serif; font-size: 10pt; }
+th { font-family: arial, helvetica, sans-serif; font-size: 11pt; font-weight: bold; }
+//--></style>
+<title>phpinfo()</title></head><body><table border="0" cellpadding="3" cellspacing="1" width="600" bgcolor="#000000" align="center">
+<tr valign="middle" bgcolor="#9999cc"><td align="left">
+<a href="http://www.php.net/"><img src="/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42" border=0 align="right" alt="PHP Logo"></a><h1>PHP Version 4.2.3</h1>
+</td></tr>
+</table><br />
+<table border="0" cellpadding="3" cellspacing="1" width="600" bgcolor="#000000" align="center">
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>System</b></td><td align="left">Linux T3dev 2.4.19-16mdk #1 Fri Sep 20 18:15:05 CEST 2002 i686 unknown unknown GNU/Linux</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Build Date</b></td><td align="left">Jan 19 2003 16:34:24</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Configure Command</b></td><td align="left"> './configure' '--with-gd=../gd-1.8.3' '--with-ttf=../freetype-1.3.1' '--with-zlib' '--with-pdflib' '--with-t1lib=../T1-1.1.1' '--with-xml' '--with-mysql' '--with-apache=../apache_1.3.27' '--enable-track-vars'</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Server API</b></td><td align="left">Apache</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Virtual Directory Support</b></td><td align="left">disabled</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Configuration File (php.ini) Path</b></td><td align="left">/usr/local/Zend/etc/php.ini</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Debug Build</b></td><td align="left">no</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Thread Safety</b></td><td align="left">disabled</td></tr>
+</table><br />
+<table border="0" cellpadding="3" cellspacing="1" width="600" bgcolor="#000000" align="center">
+<tr valign="top" bgcolor="#cccccc"><td align="left">
+<a href="http://www.zend.com/"><img src="/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php?=PHPE9568F35-D428-11d2-A769-00AA001ACF42" border="0" align="right" alt="Zend logo"></a>
+This program makes use of the Zend Scripting Language Engine:<br />Zend Engine v1.2.0, Copyright (c) 1998-2002 Zend Technologies<br />    with the ionCube PHP Accelerator v1.3.3r1, Copyright (c) 2001-2002, by Nick Lindridge<br /></td></tr>
+</table><br />
+<hr noshade size="1" width="600">
+<h1 align="center"><a href="/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000">PHP 4 Credits</a></h1>
+<hr noshade size="1" width="600">
+<h1 align="center">Configuration</h1>
+<h2 align="center">PHP Core
+</h2>
+<table border="0" cellpadding="3" cellspacing="1" width="600" bgcolor="#000000" align="center">
+<tr valign="middle" bgcolor="#9999cc"><th>Directive</th><th>Local Value</th><th>Master Value</th></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>allow_call_time_pass_reference</b><br /></td><td align="center">Off</td><td align="center">Off</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>allow_url_fopen</b><br /></td><td align="center">1</td><td align="center">1</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>always_populate_raw_post_data</b><br /></td><td align="center">0</td><td align="center">0</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>arg_separator.input</b><br /></td><td align="center">&amp;</td><td align="center">&amp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>arg_separator.output</b><br /></td><td align="center">&amp;</td><td align="center">&amp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>asp_tags</b><br /></td><td align="center">Off</td><td align="center">Off</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>auto_append_file</b><br /></td><td align="center"><i>no value</i></td><td align="center"><i>no value</i></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>auto_prepend_file</b><br /></td><td align="center"><i>no value</i></td><td align="center"><i>no value</i></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>browscap</b><br /></td><td align="center"><i>no value</i></td><td align="center"><i>no value</i></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>default_charset</b><br /></td><td align="center"><i>no value</i></td><td align="center"><i>no value</i></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>default_mimetype</b><br /></td><td align="center">text/html</td><td align="center">text/html</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>define_syslog_variables</b><br /></td><td align="center">Off</td><td align="center">Off</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>disable_functions</b><br /></td><td align="center"><i>no value</i></td><td align="center"><i>no value</i></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>display_errors</b><br /></td><td align="center">On</td><td align="center">On</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>display_startup_errors</b><br /></td><td align="center">Off</td><td align="center">Off</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>doc_root</b><br /></td><td align="center"><i>no value</i></td><td align="center"><i>no value</i></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>enable_dl</b><br /></td><td align="center">On</td><td align="center">On</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>error_append_string</b><br /></td><td align="center"><i>no value</i></td><td align="center"><i>no value</i></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>error_log</b><br /></td><td align="center"><i>no value</i></td><td align="center"><i>no value</i></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>error_prepend_string</b><br /></td><td align="center"><i>no value</i></td><td align="center"><i>no value</i></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>error_reporting</b><br /></td><td align="center">2047</td><td align="center">2047</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>expose_php</b><br /></td><td align="center">On</td><td align="center">On</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>extension_dir</b><br /></td><td align="center">./</td><td align="center">./</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>file_uploads</b><br /></td><td align="center">1</td><td align="center">1</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>gpc_order</b><br /></td><td align="center">GPC</td><td align="center">GPC</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>highlight.bg</b><br /></td><td align="center"><font color="#FFFFFF">#FFFFFF</font></td><td align="center"><font color="#FFFFFF">#FFFFFF</font></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>highlight.comment</b><br /></td><td align="center"><font color="#FF8000">#FF8000</font></td><td align="center"><font color="#FF8000">#FF8000</font></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>highlight.default</b><br /></td><td align="center"><font color="#0000BB">#0000BB</font></td><td align="center"><font color="#0000BB">#0000BB</font></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>highlight.html</b><br /></td><td align="center"><font color="#000000">#000000</font></td><td align="center"><font color="#000000">#000000</font></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>highlight.keyword</b><br /></td><td align="center"><font color="#007700">#007700</font></td><td align="center"><font color="#007700">#007700</font></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>highlight.string</b><br /></td><td align="center"><font color="#DD0000">#DD0000</font></td><td align="center"><font color="#DD0000">#DD0000</font></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>html_errors</b><br /></td><td align="center">On</td><td align="center">On</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>ignore_user_abort</b><br /></td><td align="center">Off</td><td align="center">Off</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>implicit_flush</b><br /></td><td align="center">Off</td><td align="center">Off</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>include_path</b><br /></td><td align="center">.:/usr/local/lib/php</td><td align="center">.:/usr/local/lib/php</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>log_errors</b><br /></td><td align="center">On</td><td align="center">On</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>magic_quotes_gpc</b><br /></td><td align="center">Off</td><td align="center">Off</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>magic_quotes_runtime</b><br /></td><td align="center">Off</td><td align="center">Off</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>magic_quotes_sybase</b><br /></td><td align="center">Off</td><td align="center">Off</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>max_execution_time</b><br /></td><td align="center">60</td><td align="center">60</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>open_basedir</b><br /></td><td align="center">/www/htdocs/typo3/32/</td><td align="center">/www/htdocs/typo3/32/</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>output_buffering</b><br /></td><td align="center">4096</td><td align="center">4096</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>output_handler</b><br /></td><td align="center"><i>no value</i></td><td align="center"><i>no value</i></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>phpa</b><br /></td><td align="center">1</td><td align="center">1</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>phpa.cache_dir</b><br /></td><td align="center">/tmp</td><td align="center">/tmp</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>phpa.cache_file_prune_period</b><br /></td><td align="center">1h</td><td align="center">1h</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>phpa.cache_file_ttl</b><br /></td><td align="center">1d</td><td align="center">1d</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>phpa.enable_php_memory_bug_workaround</b><br /></td><td align="center">0</td><td align="center">0</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>phpa.file_perms</b><br /></td><td align="center">400</td><td align="center">400</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>phpa.ignore_dirs</b><br /></td><td align="center"><i>no value</i></td><td align="center"><i>no value</i></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>phpa.ignore_files</b><br /></td><td align="center"><i>no value</i></td><td align="center"><i>no value</i></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>phpa.lock_threshold0</b><br /></td><td align="center">10</td><td align="center">10</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>phpa.lock_threshold1</b><br /></td><td align="center">10</td><td align="center">10</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>phpa.shm_group</b><br /></td><td align="center"><i>no value</i></td><td align="center"><i>no value</i></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>phpa.shm_ignore_dirs</b><br /></td><td align="center"><i>no value</i></td><td align="center"><i>no value</i></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>phpa.shm_ignore_files</b><br /></td><td align="center"><i>no value</i></td><td align="center"><i>no value</i></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>phpa.shm_key</b><br /></td><td align="center">0x0C0DEB00</td><td align="center">0x0C0DEB00</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>phpa.shm_max_processes</b><br /></td><td align="center">512</td><td align="center">512</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>phpa.shm_perms</b><br /></td><td align="center">666</td><td align="center">666</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>phpa.shm_release_at_exit</b><br /></td><td align="center">1</td><td align="center">1</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>phpa.shm_size</b><br /></td><td align="center">32</td><td align="center">32</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>phpa.shm_stats_check_period</b><br /></td><td align="center">5m</td><td align="center">5m</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>phpa.shm_ttl</b><br /></td><td align="center">12h</td><td align="center">12h</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>phpa.shm_user</b><br /></td><td align="center"><i>no value</i></td><td align="center"><i>no value</i></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>phpa.tweaks</b><br /></td><td align="center">1</td><td align="center">1</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>post_max_size</b><br /></td><td align="center">8M</td><td align="center">8M</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>precision</b><br /></td><td align="center">14</td><td align="center">14</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>register_argc_argv</b><br /></td><td align="center">Off</td><td align="center">Off</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>register_globals</b><br /></td><td align="center">Off</td><td align="center">Off</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>safe_mode</b><br /></td><td align="center">On</td><td align="center">On</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>safe_mode_exec_dir</b><br /></td><td align="center">/www/htdocs/smexec/</td><td align="center">/www/htdocs/smexec/</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>safe_mode_gid</b><br /></td><td align="center">Off</td><td align="center">Off</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>safe_mode_include_dir</b><br /></td><td align="center"><i>no value</i></td><td align="center"><i>no value</i></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>sendmail_from</b><br /></td><td align="center">me@localhost.com</td><td align="center">me@localhost.com</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>sendmail_path</b><br /></td><td align="center">/usr/sbin/sendmail -t -i </td><td align="center">/usr/sbin/sendmail -t -i </td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>short_open_tag</b><br /></td><td align="center">Off</td><td align="center">Off</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>SMTP</b><br /></td><td align="center">localhost</td><td align="center">localhost</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>sql.safe_mode</b><br /></td><td align="center">Off</td><td align="center">Off</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>track_errors</b><br /></td><td align="center">Off</td><td align="center">Off</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>unserialize_callback_func</b><br /></td><td align="center"><i>no value</i></td><td align="center"><i>no value</i></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>upload_max_filesize</b><br /></td><td align="center">2M</td><td align="center">2M</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>upload_tmp_dir</b><br /></td><td align="center"><i>no value</i></td><td align="center"><i>no value</i></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>user_dir</b><br /></td><td align="center"><i>no value</i></td><td align="center"><i>no value</i></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>variables_order</b><br /></td><td align="center">GPCS</td><td align="center">GPCS</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>xmlrpc_error_number</b><br /></td><td align="center">0</td><td align="center">0</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>xmlrpc_errors</b><br /></td><td align="center">Off</td><td align="center">Off</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>y2k_compliance</b><br /></td><td align="center">On</td><td align="center">On</td></tr>
+</table><br />
+<h2 align="center"><a name="module_xml">xml</a></h2>
+<table border="0" cellpadding="3" cellspacing="1" width="600" bgcolor="#000000" align="center">
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>XML Support</b></td><td align="left">active</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>XML Namespace Support</b></td><td align="left">active</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>EXPAT Version</b></td><td align="left">1.95.2</td></tr>
+</table><br />
+<h2 align="center"><a name="module_wddx">wddx</a></h2>
+<table border="0" cellpadding="3" cellspacing="1" width="600" bgcolor="#000000" align="center">
+<tr valign="middle" bgcolor="#9999cc"><th>WDDX Support</th><th>enabled</th></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>WDDX Session Serializer</b></td><td align="left">enabled</td></tr>
+</table><br />
+<h2 align="center"><a name="module_standard">standard</a></h2>
+<table border="0" cellpadding="3" cellspacing="1" width="600" bgcolor="#000000" align="center">
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Regex Library</b></td><td align="left">Bundled library enabled</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Dynamic Library Support</b></td><td align="left">enabled</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Path to sendmail</b></td><td align="left">/usr/sbin/sendmail -t -i </td></tr>
+</table><br />
+<table border="0" cellpadding="3" cellspacing="1" width="600" bgcolor="#000000" align="center">
+<tr valign="middle" bgcolor="#9999cc"><th>Directive</th><th>Local Value</th><th>Master Value</th></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>assert.active</b><br /></td><td align="center">1</td><td align="center">1</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>assert.bail</b><br /></td><td align="center">0</td><td align="center">0</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>assert.callback</b><br /></td><td align="center"><i>no value</i></td><td align="center"><i>no value</i></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>assert.quiet_eval</b><br /></td><td align="center">0</td><td align="center">0</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>assert.warning</b><br /></td><td align="center">1</td><td align="center">1</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>safe_mode_allowed_env_vars</b><br /></td><td align="center">PHP_</td><td align="center">PHP_</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>safe_mode_protected_env_vars</b><br /></td><td align="center">LD_LIBRARY_PATH</td><td align="center">LD_LIBRARY_PATH</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>url_rewriter.tags</b><br /></td><td align="center">a=href,area=href,frame=src,input=src,form=fakeentry</td><td align="center">a=href,area=href,frame=src,input=src,form=fakeentry</td></tr>
+</table><br />
+<h2 align="center"><a name="module_session">session</a></h2>
+<table border="0" cellpadding="3" cellspacing="1" width="600" bgcolor="#000000" align="center">
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Session Support</b></td><td align="left">enabled</td></tr>
+</table><br />
+<table border="0" cellpadding="3" cellspacing="1" width="600" bgcolor="#000000" align="center">
+<tr valign="middle" bgcolor="#9999cc"><th>Directive</th><th>Local Value</th><th>Master Value</th></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>session.auto_start</b><br /></td><td align="center">Off</td><td align="center">Off</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>session.cache_expire</b><br /></td><td align="center">180</td><td align="center">180</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>session.cache_limiter</b><br /></td><td align="center">nocache</td><td align="center">nocache</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>session.cookie_domain</b><br /></td><td align="center"><i>no value</i></td><td align="center"><i>no value</i></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>session.cookie_lifetime</b><br /></td><td align="center">0</td><td align="center">0</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>session.cookie_path</b><br /></td><td align="center">/</td><td align="center">/</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>session.cookie_secure</b><br /></td><td align="center">Off</td><td align="center">Off</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>session.entropy_file</b><br /></td><td align="center"><i>no value</i></td><td align="center"><i>no value</i></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>session.entropy_length</b><br /></td><td align="center">0</td><td align="center">0</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>session.gc_maxlifetime</b><br /></td><td align="center">1440</td><td align="center">1440</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>session.gc_probability</b><br /></td><td align="center">1</td><td align="center">1</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>session.name</b><br /></td><td align="center">PHPSESSID</td><td align="center">PHPSESSID</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>session.referer_check</b><br /></td><td align="center"><i>no value</i></td><td align="center"><i>no value</i></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>session.save_handler</b><br /></td><td align="center">files</td><td align="center">files</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>session.save_path</b><br /></td><td align="center">/tmp</td><td align="center">/tmp</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>session.serialize_handler</b><br /></td><td align="center">php</td><td align="center">php</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>session.use_cookies</b><br /></td><td align="center">On</td><td align="center">On</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>session.use_trans_sid</b><br /></td><td align="center">0</td><td align="center">0</td></tr>
+</table><br />
+<h2 align="center"><a name="module_posix">posix</a></h2>
+<table border="0" cellpadding="3" cellspacing="1" width="600" bgcolor="#000000" align="center">
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Revision</b></td><td align="left">$Revision$</td></tr>
+</table><br />
+<h2 align="center"><a name="module_pdf">pdf</a></h2>
+<table border="0" cellpadding="3" cellspacing="1" width="600" bgcolor="#000000" align="center">
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>PDF Support</b></td><td align="left">enabled</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>PDFlib GmbH Version</b></td><td align="left">4.0.1</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Revision</b></td><td align="left">$Revision$</td></tr>
+</table><br />
+<h2 align="center"><a name="module_pcre">pcre</a></h2>
+<table border="0" cellpadding="3" cellspacing="1" width="600" bgcolor="#000000" align="center">
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>PCRE (Perl Compatible Regular Expressions) Support</b></td><td align="left">enabled</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>PCRE Library Version</b></td><td align="left">3.4 22-Aug-2000</td></tr>
+</table><br />
+<h2 align="center"><a name="module_mysql">mysql</a></h2>
+<table border="0" cellpadding="3" cellspacing="1" width="600" bgcolor="#000000" align="center">
+<tr valign="middle" bgcolor="#9999cc"><th>MySQL Support</th><th>enabled</th></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Active Persistent Links</b></td><td align="left">0</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Active Links</b></td><td align="left">0</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Client API version</b></td><td align="left">3.23.39</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>MYSQL_MODULE_TYPE</b></td><td align="left">builtin</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>MYSQL_SOCKET</b></td><td align="left">/tmp/mysql.sock</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>MYSQL_INCLUDE</b></td><td align="left">&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>MYSQL_LIBS</b></td><td align="left">&nbsp;</td></tr>
+</table><br />
+<table border="0" cellpadding="3" cellspacing="1" width="600" bgcolor="#000000" align="center">
+<tr valign="middle" bgcolor="#9999cc"><th>Directive</th><th>Local Value</th><th>Master Value</th></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>mysql.allow_persistent</b><br /></td><td align="center">On</td><td align="center">On</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>mysql.default_host</b><br /></td><td align="center"><i>no value</i></td><td align="center"><i>no value</i></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>mysql.default_password</b><br /></td><td align="center"><i>no value</i></td><td align="center"><i>no value</i></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>mysql.default_port</b><br /></td><td align="center"><i>no value</i></td><td align="center"><i>no value</i></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>mysql.default_socket</b><br /></td><td align="center"><i>no value</i></td><td align="center"><i>no value</i></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>mysql.default_user</b><br /></td><td align="center"><i>no value</i></td><td align="center"><i>no value</i></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>mysql.max_links</b><br /></td><td align="center">Unlimited</td><td align="center">Unlimited</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>mysql.max_persistent</b><br /></td><td align="center">Unlimited</td><td align="center">Unlimited</td></tr>
+</table><br />
+<h2 align="center"><a name="module_gd">gd</a></h2>
+<table border="0" cellpadding="3" cellspacing="1" width="600" bgcolor="#000000" align="center">
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>GD Support</b></td><td align="left">enabled</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>GD Version</b></td><td align="left">1.6.2 or higher</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>FreeType Support</b></td><td align="left">enabled</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>FreeType Linkage</b></td><td align="left">with TTF library</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>T1Lib Support</b></td><td align="left">enabled</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>GIF Read Support</b></td><td align="left">enabled</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>GIF Create Support</b></td><td align="left">enabled</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>WBMP Support</b></td><td align="left">enabled</td></tr>
+</table><br />
+<h2 align="center"><a name="module_ctype">ctype</a></h2>
+<table border="0" cellpadding="3" cellspacing="1" width="600" bgcolor="#000000" align="center">
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>ctype functions</b></td><td align="left">enabled (experimental)</td></tr>
+</table><br />
+<h2 align="center"><a name="module_zlib">zlib</a></h2>
+<table border="0" cellpadding="3" cellspacing="1" width="600" bgcolor="#000000" align="center">
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>ZLib Support</b></td><td align="left">enabled</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>'zlib:' fopen wrapper</b></td><td align="left">enabled</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Compiled Version</b></td><td align="left">1.1.4</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Linked Version</b></td><td align="left">1.1.4</td></tr>
+</table><br />
+<table border="0" cellpadding="3" cellspacing="1" width="600" bgcolor="#000000" align="center">
+<tr valign="middle" bgcolor="#9999cc"><th>Directive</th><th>Local Value</th><th>Master Value</th></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>zlib.output_compression</b><br /></td><td align="center">Off</td><td align="center">Off</td></tr>
+</table><br />
+<h2 align="center"><a name="module_apache">apache</a></h2>
+<table border="0" cellpadding="3" cellspacing="1" width="600" bgcolor="#000000" align="center">
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>APACHE_INCLUDE</b></td><td align="left">&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>APACHE_TARGET</b></td><td align="left">&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Apache Version</b></td><td align="left">Apache/1.3.27</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Apache Release</b></td><td align="left">10327100</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Apache API Version</b></td><td align="left">19990320</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Hostname:Port</b></td><td align="left">192.168.58.3:80</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>User/Group</b></td><td align="left">httpd(502)/502</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Max Requests</b></td><td align="left">Per Child: 0 - Keep Alive: on - Max Per Connection: 100</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Timeouts</b></td><td align="left">Connection: 300 - Keep-Alive: 15</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Server Root</b></td><td align="left">/www</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Loaded Modules</b></td><td align="left">mod_gzip, mod_php4, mod_setenvif, mod_so, mod_auth, mod_access, mod_rewrite, mod_alias, mod_userdir, mod_actions, mod_imap, mod_asis, mod_cgi, mod_dir, mod_autoindex, mod_include, mod_status, mod_negotiation, mod_mime, mod_log_config, mod_env, http_core</td></tr>
+</table><br />
+<table border="0" cellpadding="3" cellspacing="1" width="600" bgcolor="#000000" align="center">
+<tr valign="middle" bgcolor="#9999cc"><th>Directive</th><th>Local Value</th><th>Master Value</th></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>child_terminate</b><br /></td><td align="center">0</td><td align="center">0</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>engine</b><br /></td><td align="center">1</td><td align="center">1</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>last_modified</b><br /></td><td align="center">0</td><td align="center">0</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>xbithack</b><br /></td><td align="center">0</td><td align="center">0</td></tr>
+</table><br />
+<H2 align="center">Apache Environment</H2>
+<table border="0" cellpadding="3" cellspacing="1" width="600" bgcolor="#000000" align="center">
+<tr valign="middle" bgcolor="#9999cc"><th>Variable</th><th>Value</th></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>DOCUMENT_ROOT</b></td><td align="left">/www/htdocs</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>HTTP_ACCEPT</b></td><td align="left">*/*</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>HTTP_ACCEPT_ENCODING</b></td><td align="left">gzip, deflate</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>HTTP_ACCEPT_LANGUAGE</b></td><td align="left">da</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>HTTP_CONNECTION</b></td><td align="left">Keep-Alive</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>HTTP_COOKIE</b></td><td align="left">test_script_cookie=Cookie+Value%21</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>HTTP_HOST</b></td><td align="left">192.168.230.3</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>HTTP_REFERER</b></td><td align="left">http://192.168.230.3/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>HTTP_USER_AGENT</b></td><td align="left">Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>PATH</b></td><td align="left">/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>REDIRECT_QUERY_STRING</b></td><td align="left">arg1,arg2,arg3&amp;p1=parameter1&amp;p2[key]=0f03</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>REDIRECT_STATUS</b></td><td align="left">200</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>REDIRECT_URL</b></td><td align="left">/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>REMOTE_ADDR</b></td><td align="left">192.168.230.1</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>REMOTE_PORT</b></td><td align="left">3054</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>SCRIPT_FILENAME</b></td><td align="left">/www/htdocs/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>SERVER_ADDR</b></td><td align="left">192.168.230.3</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>SERVER_ADMIN</b></td><td align="left">root@T3dev</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>SERVER_NAME</b></td><td align="left">192.168.58.3</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>SERVER_PORT</b></td><td align="left">80</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>SERVER_SIGNATURE</b></td><td align="left">&lt;ADDRESS&gt;Apache/1.3.27 Server at 192.168.58.3 Port 80&lt;/ADDRESS&gt;<br /></td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>SERVER_SOFTWARE</b></td><td align="left">Apache/1.3.27 (Unix) mod_gzip/1.3.19.1a PHP/4.2.3</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>GATEWAY_INTERFACE</b></td><td align="left">CGI/1.1</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>SERVER_PROTOCOL</b></td><td align="left">HTTP/1.1</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>REQUEST_METHOD</b></td><td align="left">GET</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>QUERY_STRING</b></td><td align="left">arg1,arg2,arg3&amp;p1=parameter1&amp;p2[key]=0f03</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>REQUEST_URI</b></td><td align="left">/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php?arg1,arg2,arg3&amp;p1=parameter1&amp;p2[key]=0f03</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>SCRIPT_NAME</b></td><td align="left">/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php</td></tr>
+</table><br />
+<H2 align="center">HTTP Headers Information</H2>
+<table border="0" cellpadding="3" cellspacing="1" width="600" bgcolor="#000000" align="center">
+<tr bgcolor="#9999cc"><th colspan="2">HTTP Request Headers</th></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>HTTP Request</b></td><td align="left">GET /typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php?arg1,arg2,arg3&amp;p1=parameter1&amp;p2[key]=0f03 HTTP/1.1</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Accept</b></td><td align="left">*/*</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Accept-Encoding</b></td><td align="left">gzip, deflate</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Accept-Language</b></td><td align="left">da</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Connection</b></td><td align="left">Keep-Alive</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Cookie</b></td><td align="left">test_script_cookie=Cookie+Value%21</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Host</b></td><td align="left">192.168.230.3</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Referer</b></td><td align="left">http://192.168.230.3/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>User-Agent</b></td><td align="left">Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)</td></tr>
+<tr bgcolor="#9999cc"><th colspan="2">HTTP Response Headers</th></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>X-Powered-By</b></td><td align="left">PHP/4.2.3</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>X-Accelerated-By</b></td><td align="left">PHPA/1.3.3r1</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Set-Cookie</b></td><td align="left">test_script_cookie=Cookie+Value%21; path=/</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Keep-Alive</b></td><td align="left">timeout=15, max=98</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Connection</b></td><td align="left">Keep-Alive</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Transfer-Encoding</b></td><td align="left">chunked</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>Content-Type</b></td><td align="left">text/html</td></tr>
+</table><br />
+<h2 align="center">Additional Modules</h2>
+<table border="0" cellpadding="3" cellspacing="1" width="600" bgcolor="#000000" align="center">
+</table><br />
+<h2 align="center">Environment</h2>
+<table border="0" cellpadding="3" cellspacing="1" width="600" bgcolor="#000000" align="center">
+<tr valign="middle" bgcolor="#9999cc"><th>Variable</th><th>Value</th></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>service</b></td><td align="left">52</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>CONSOLE</b></td><td align="left">/dev/console</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>TERM</b></td><td align="left">linux</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>LOCPATH</b></td><td align="left">/etc/locale</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>INIT_VERSION</b></td><td align="left">sysvinit-2.83</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>AUTOBOOT</b></td><td align="left">YES</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>res</b></td><td align="left">&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>PATH</b></td><td align="left">/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>runlevel</b></td><td align="left">3</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>RUNLEVEL</b></td><td align="left">3</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>devfs</b></td><td align="left">mount</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>PWD</b></td><td align="left">/</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>LANG</b></td><td align="left">en_US</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>previous</b></td><td align="left">N</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>PREVLEVEL</b></td><td align="left">N</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>out</b></td><td align="left">/dev/vc/</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>SHLVL</b></td><td align="left">3</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>HOME</b></td><td align="left">/</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>BOOT_IMAGE</b></td><td align="left">linux</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>splash</b></td><td align="left">yes</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>nbservices</b></td><td align="left">53</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>LOGO_CONSOLE</b></td><td align="left">no</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>TEXTDOMAINDIR</b></td><td align="left">/etc/locale</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff" ><b>_</b></td><td align="left">/www/bin/httpd</td></tr>
+</table><br />
+<h2 align="center">PHP Variables</h2>
+<table border="0" cellpadding="3" cellspacing="1" width="600" bgcolor="#000000" align="center">
+<tr valign="middle" bgcolor="#9999cc"><th>Variable</th><th>Value</th></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_GET["arg1,arg2,arg3"]</b></td><td>&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_GET["p1"]</b></td><td>parameter1&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_GET["p2"]</b></td><td><pre>Array
+(
+    [key] => 0f03
+)
+</pre>&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_COOKIE["test_script_cookie"]</b></td><td>Cookie Value!&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_SERVER["DOCUMENT_ROOT"]</b></td><td>/www/htdocs&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_SERVER["HTTP_ACCEPT"]</b></td><td>*/*&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_SERVER["HTTP_ACCEPT_ENCODING"]</b></td><td>gzip, deflate&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_SERVER["HTTP_ACCEPT_LANGUAGE"]</b></td><td>da&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_SERVER["HTTP_CONNECTION"]</b></td><td>Keep-Alive&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_SERVER["HTTP_COOKIE"]</b></td><td>test_script_cookie=Cookie+Value%21&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_SERVER["HTTP_HOST"]</b></td><td>192.168.230.3&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_SERVER["HTTP_REFERER"]</b></td><td>http://192.168.230.3/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_SERVER["HTTP_USER_AGENT"]</b></td><td>Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_SERVER["PATH"]</b></td><td>/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_SERVER["REDIRECT_QUERY_STRING"]</b></td><td>arg1,arg2,arg3&amp;p1=parameter1&amp;p2[key]=0f03&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_SERVER["REDIRECT_STATUS"]</b></td><td>200&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_SERVER["REDIRECT_URL"]</b></td><td>/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_SERVER["REMOTE_ADDR"]</b></td><td>192.168.230.1&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_SERVER["REMOTE_PORT"]</b></td><td>3054&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_SERVER["SCRIPT_FILENAME"]</b></td><td>/www/htdocs/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_SERVER["SERVER_ADDR"]</b></td><td>192.168.230.3&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_SERVER["SERVER_ADMIN"]</b></td><td>root@T3dev&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_SERVER["SERVER_NAME"]</b></td><td>192.168.58.3&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_SERVER["SERVER_PORT"]</b></td><td>80&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_SERVER["SERVER_SIGNATURE"]</b></td><td>&lt;ADDRESS&gt;Apache/1.3.27 Server at 192.168.58.3 Port 80&lt;/ADDRESS&gt;<br />&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_SERVER["SERVER_SOFTWARE"]</b></td><td>Apache/1.3.27 (Unix) mod_gzip/1.3.19.1a PHP/4.2.3&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_SERVER["GATEWAY_INTERFACE"]</b></td><td>CGI/1.1&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_SERVER["SERVER_PROTOCOL"]</b></td><td>HTTP/1.1&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_SERVER["REQUEST_METHOD"]</b></td><td>GET&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_SERVER["QUERY_STRING"]</b></td><td>arg1,arg2,arg3&amp;p1=parameter1&amp;p2[key]=0f03&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_SERVER["REQUEST_URI"]</b></td><td>/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php?arg1,arg2,arg3&amp;p1=parameter1&amp;p2[key]=0f03&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_SERVER["SCRIPT_NAME"]</b></td><td>/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_SERVER["PATH_TRANSLATED"]</b></td><td>/www/htdocs/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php&nbsp;</td></tr>
+<tr valign="baseline" bgcolor="#cccccc"><td bgcolor="#ccccff"><b>_SERVER["PHP_SELF"]</b></td><td>/typo3/32/typo3_src-3.6.0RC1/misc/phpcheck/index.php&nbsp;</td></tr>
+</table><br />
+<h2 align="center">PHP License</h2>
+<table border="0" cellpadding="3" cellspacing="1" width="600" bgcolor="#000000" align="center">
+<tr valign="top" bgcolor="#cccccc"><td align="left">
+<p>
+This program is free software; you can redistribute it and/or modify it under the terms of the PHP License as published by the PHP Group and included in the distribution in the file:  LICENSE
+</p>
+<p>This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+</p>
+<p>If you did not receive a copy of the PHP license, or have any questions about PHP licensing, please contact license@php.net.
+</p>
+</td></tr>
+</table><br />
+</body></html>
\ No newline at end of file
index 718270d..3ac387e 100755 (executable)
@@ -2,7 +2,7 @@
 /***************************************************************
 *  Copyright notice
 *  
-*  (c) 1999-2003 Kasper Skårhøj (kasper@typo3.com)
+*  (c) 1999-2003 Kasper Skaarhoj (kasper@typo3.com)
 *  All rights reserved
 *
 *  This script is part of the Typo3 project. The Typo3 project is
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/
 /**
- * Super admin configuration and main script
+ * Super admin configuration and main script (sample)
  *
- * @author     Kasper Skårhøj <kasper@typo3.com>
+ * $Id$ 
+ *
+ * @author     Kasper Skaarhoj <kasper@typo3.com>
  */
-
 /*
-WHAT IS IT:
-This script is intended to provide administrator information and 
-relevant links to multiple Typo3 sites on a webserver.
-LOCATION:
-This script must be located in a directory with the Typo3 source available in typo3_src/
-The script includes the class t3lib/class.t3lib_superadmin.php
-IMPORTANT: 
-This script MUST be secured as it reads out password information an provides direct login links to sites! 
-It's recommended to use the script over a secure connection and to use the strongest webserver http-based authentication, you can.
-Furthermore it's adviced to out-comment the 'die'-line below when you're not using the script.
-
-CONFIGURATION:
-The point is that you configure one or more directories (parent directories) on the webserver to the script.
-The script expects these directories (parents) to contain other directories (childs) exclusively with Typo3 sites in + any number of directories names 'typo3_src*' which will be ignored.
-Every Typo3 site (child) in these parent directories will get listed in the interface. 
-
-For each "parent directory" you enter information like this:
-
-$parentDirs[] = array(
-       "dir"=> "/www/htdocs/typo3/32/", 
-       "url" => "http://192.168.1.4/typo3/32/"
-);
-
-"dir" is the absolute path of the parent directory where the sites are located in subdirs
-"url" is the web-accessible url of the parent directory.
-
-
+ * WHAT IS IT:
+ * This script is intended to provide administrator information and 
+ * relevant links to multiple Typo3 sites on a webserver.
+ *  
+ * LOCATION:
+ * This script must be located in a directory with the Typo3 source available in typo3_src/
+ * The script includes the class t3lib/class.t3lib_superadmin.php
+ *  
+ * IMPORTANT: 
+ * This script MUST be secured as it reads out password information an provides direct login links to sites! 
+ * It's recommended to use the script over a secure connection and to use the strongest webserver http-based authentication, you can.
+ * Furthermore it's adviced to out-comment the 'die'-line below when you're not using the script.
+ * 
+ * CONFIGURATION:
+ * The point is that you configure one or more directories (parent directories) on the webserver to the script.
+ * The script expects these directories (parents) to contain other directories (childs) exclusively with Typo3 sites in + any number of directories names 'typo3_src*' which will be ignored.
+ * Every Typo3 site (child) in these parent directories will get listed in the interface. 
+ * 
+ * For each 'parent directory' you enter information like this:
+ * 
+ * $parentDirs[] = array(
+ *     'dir'=> '/www/htdocs/typo3/32/', 
+ *     'url' => 'http://192.168.1.4/typo3/32/'
+ * );
+ * 
+ * 'dir' is the absolute path of the parent directory where the sites are located in subdirs
+ * 'url' is the web-accessible url of the parent directory.
  */
 
-
 // *****************
 // Security:
 // *****************
-die("Script secured by a die() function. Comment the line if you want to use the script!");
+die('Script secured by a die() function. Comment the line if you want to use the script!');
 
 
 // *****************
 // Including:
 // *****************
-require_once ("./typo3_src/t3lib/class.t3lib_superadmin.php");
+require_once ('./typo3_src/t3lib/class.t3lib_superadmin.php');
+
 
 // *****************
 // Configuration:
@@ -82,12 +80,12 @@ require_once ("./typo3_src/t3lib/class.t3lib_superadmin.php");
 // *****************
 $parentDirs = array();
 $parentDirs[] = array(
-       "dir"=> "/www/htdocs/typo3/commercial_sites/"
-       "url" => "http://123.234.43.212/typo3/commercial_sites/"
+       'dir'=> '/www/htdocs/typo3/commercial_sites/'
+       'url' => 'http://123.234.43.212/typo3/commercial_sites/'
 );
 $parentDirs[] = array(
-       "dir"=> "/www/htdocs/typo3/nonprofit_sites/"
-       "url" => "http://123.234.43.212/typo3/nonprofit_sites/"
+       'dir'=> '/www/htdocs/typo3/nonprofit_sites/'
+       'url' => 'http://123.234.43.212/typo3/nonprofit_sites/'
 );
 
 
@@ -95,9 +93,7 @@ $parentDirs[] = array(
 // *****************
 // Start
 // *****************
-$superadmin = t3lib_div::makeInstance("t3lib_superadmin");
+$superadmin = t3lib_div::makeInstance('t3lib_superadmin');
 $superadmin->init($parentDirs);
 $superadmin->defaultSet();
-
-
 ?>
\ No newline at end of file
index e8e72ee..4fe5df7 100755 (executable)
@@ -2,7 +2,7 @@
                       Version 2, June 1991
 
  Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
                      59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
 
@@ -56,11 +56,6 @@ patent must be licensed for everyone's free use or not licensed at all.
   The precise terms and conditions for copying, distribution and
 modification follow.
 .
-
-
-
-
-
                    GNU GENERAL PUBLIC LICENSE
    TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
 
@@ -283,3 +278,63 @@ PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
 POSSIBILITY OF SUCH DAMAGES.
 
                     END OF TERMS AND CONDITIONS
+.
+           How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
index 37f26d5..828e91e 100755 (executable)
@@ -1,9 +1,10 @@
 TYPO3 Library
 
 
-The "t3lib/" contains PHP-classes providing core 
-functionalities of TYPO3 such as manipulation the 
-database (tce_main.php), providing user authentication 
+The "t3lib/" contains PHP-classes providing core
+functionalities of TYPO3 such as manipulation the
+database (tce_main.php), providing user authentication
 and datatransfer to the TYPO3 backend to name a few.
 
-Please refer to the document "Inside TYPO3" for details on the TYPO3 core.
\ No newline at end of file
+Please refer to the document "Inside TYPO3" for details on the TYPO3 core.
+The document "TYPO3 Core API" will also contain information on these classes.
\ No newline at end of file
index 116f4c7..12dd9e5 100755 (executable)
@@ -9,7 +9,7 @@
 // It will calculate the effects of this class on a page.
 // compression level, cpu time, download time, etc
 
-// Note: this may better for some sites: 
+// Note: this may better for some sites:
 // http://www.remotecommunications.com/apache/mod_gzip/
 // I've read that the above doesn't work with php output.
 
@@ -18,12 +18,12 @@ class gzip_encode {
      * gzip_encode - a class to gzip encode php output
      *
      * By Sandy McArthur, Jr. <Leknor@Leknor.com>
-     * 
+     *
      * Copyright 2001 (c) All Rights Reserved, All Responsibility Yours.
      *
      * This code is released under the GNU LGPL Go read it over here:
      * http://www.gnu.org/copyleft/lesser.html
-     * 
+     *
      * I do make one optional request, I would like an account on or a
      * copy of where this code is used. If that is not possible then
      * an email would be cool.
@@ -175,12 +175,12 @@ class gzip_encode {
 
        $gzdata = "\x1f\x8b\x08\x00\x00\x00\x00\x00"; // gzip header
 
-               // By Kasper Skårhøj, start
+               // By Kasper Skaarhoj, start
        if ($outputCompressedSizes)     {
                $contents.=chr(10)."<!-- Compressed, level ".$level.", original size was ".strlen($contents)." bytes. New size is ".strlen(gzcompress($contents, $level))." bytes -->";
                $size = strlen($contents);      // Must set again!
        }
-               // By Kasper Skårhøj, end
+               // By Kasper Skaarhoj, end
 
        $size = strlen($contents);
        $crc = crc32($contents);
@@ -203,7 +203,7 @@ class gzip_encode {
 
        echo $gzdata;
     }
-   
+
 
     /*
      * gzip_accepted() - Test headers for Accept-Encoding: gzip
@@ -311,7 +311,7 @@ class gzip_encode {
        ereg("averag(es|e): ([0-9][.][0-9][0-9]), ([0-9][.][0-9][0-9]), ([0-9][.][0-9][0-9]*)", $buffer, $load);
 
        return max((float)$load[2], (float)$load[3], (float)$load[4]);
-    } 
+    }
 }
 
 ?>
\ No newline at end of file
index fb77525..26379e3 100644 (file)
@@ -1,22 +1,22 @@
 <?php
 /***************************************************************
 *  Copyright notice
-*  
-*  (c) 1999-2003 Kasper Skårhøj (kasper@typo3.com)
+*
+*  (c) 1999-2004 Kasper Skaarhoj (kasper@typo3.com)
 *  All rights reserved
 *
-*  This script is part of the TYPO3 project. The TYPO3 project is 
+*  This script is part of the TYPO3 project. The TYPO3 project is
 *  free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
-* 
+*
 *  The GNU General Public License can be found at
 *  http://www.gnu.org/copyleft/gpl.html.
-*  A copy is found in the textfile GPL.txt and important notices to the license 
+*  A copy is found in the textfile GPL.txt and important notices to the license
 *  from the author is found in LICENSE.txt distributed with these scripts.
 *
-* 
+*
 *  This script is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *
 *  This copyright notice MUST APPEAR in all copies of the script!
 ***************************************************************/
-/** 
+/**
  * Contains a class for evaluation of database integrity according to $TCA
  *
- * Revised for TYPO3 3.6 July/2003 by Kasper Skårhøj
+ * $Id$
+ * Revised for TYPO3 3.6 July/2003 by Kasper Skaarhoj
  * XHTML compliant
  *
- * @author     Kasper Skårhøj <kasper@typo3.com>
- * @package TYPO3
- * @subpackage t3lib
+ * @author     Kasper Skaarhoj <kasper@typo3.com>
  */
 /**
  * [CLASS/FUNCTION INDEX of SCRIPT]
  *
  *
  *
- *   89: class t3lib_admin 
- *  115:     function genTree($theID, $depthData)      
- *  149:     function lostRecords($pid_list)   
- *  178:     function fixLostRecord($table,$uid)       
- *  196:     function countRecords($pid_list)  
- *  226:     function getGroupFields($mode)    
- *  260:     function getFileFields($uploadfolder)     
- *  283:     function getDBFields($theSearchTable)     
- *  311:     function selectNonEmptyRecordsWithFkeys($fkey_arrays)     
- *  386:     function testFileRefs ()  
- *  437:     function testDBRefs($theArray)    
- *  476:     function whereIsRecordReferenced($searchTable,$id)        
- *  510:     function whereIsFileReferenced($uploadfolder,$filename)   
+ *   90: class t3lib_admin
+ *  116:     function genTree($theID, $depthData)
+ *  156:     function lostRecords($pid_list)
+ *  187:     function fixLostRecord($table,$uid)
+ *  208:     function countRecords($pid_list)
+ *  236:     function getGroupFields($mode)
+ *  270:     function getFileFields($uploadfolder)
+ *  293:     function getDBFields($theSearchTable)
+ *  321:     function selectNonEmptyRecordsWithFkeys($fkey_arrays)
+ *  394:     function testFileRefs ()
+ *  445:     function testDBRefs($theArray)
+ *  483:     function whereIsRecordReferenced($searchTable,$id)
+ *  520:     function whereIsFileReferenced($uploadfolder,$filename)
  *
  * TOTAL FUNCTIONS: 12
  * (This index is automatically created/updated by the extension "extdeveval")
 
 /**
  * This class holds functions used by the TYPO3 backend to check the integrity of the database (The DBint module, 'lowlevel' extension)
- * 
+ *
  * Depends on:         Depends on loaddbgroup from t3lib/
- * 
+ *
  * @todo       Need to really extend this class when the tcemain library has been updated and the whole API is better defined. There are some known bugs in this library. Further it would be nice with a facility to not only analyze but also clean up!
  * @see SC_mod_tools_dbint_index::func_relations(), SC_mod_tools_dbint_index::func_records()
- * @author     Kasper Skårhøj <kasper@typo3.com>
+ * @author     Kasper Skaarhoj <kasper@typo3.com>
+ * @package TYPO3
+ * @subpackage t3lib
  */
 class t3lib_admin {
        var $genTree_includeDeleted = 1;        // if set, genTree() includes deleted pages. This is default.
@@ -93,7 +94,7 @@ class t3lib_admin {
                // internal
        var $genTree_idlist = '';       // Will hold the id-list from genTree()
        var $getTree_HTML = '';         // Will hold the HTML-code visualising the tree. genTree()
-       var $backPath='';       
+       var $backPath='';
 
                // internal
        var $checkFileRefs = Array();
@@ -107,24 +108,30 @@ class t3lib_admin {
 
        /**
         * Generates a list of Page-uid's that corresponds to the tables in the tree. This list should ideally include all records in the pages-table.
-        * 
+        *
         * @param       integer         a pid (page-record id) from which to start making the tree
         * @param       string          HTML-code (image-tags) used when this function calls itself recursively.
-        * @return      integer         Number of mysql_num_rows (most recent query)
+        * @return      integer         Number of $GLOBALS['TYPO3_DB']->sql_num_rows (most recent query)
         */
        function genTree($theID, $depthData)    {
-               $res = mysql(TYPO3_db, 'SELECT uid,title,doktype,deleted'.(t3lib_extMgm::isLoaded('cms')?',hidden':'').' FROM pages WHERE pid="'.$theID.'" '.((!$this->genTree_includeDeleted)?'AND NOT deleted':'').$this->perms_clause.' ORDER BY sorting');
+               $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
+                                       'uid,title,doktype,deleted'.(t3lib_extMgm::isLoaded('cms')?',hidden':''),
+                                       'pages',
+                                       'pid='.intval($theID).' '.((!$this->genTree_includeDeleted)?'AND deleted=0':'').$this->perms_clause,
+                                       '',
+                                       'sorting'
+                               );
                $a=0;
-               $c=mysql_num_rows($res);
-               while ($row = mysql_fetch_assoc($res))  {
+               $c = $GLOBALS['TYPO3_DB']->sql_num_rows($res);
+               while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res))      {
                        $a++;
                        $newID =$row['uid'];
-                       if ($this->genTree_makeHTML)    {       
-                               $this->genTree_HTML.=chr(10).'<div><nobr>';
+                       if ($this->genTree_makeHTML)    {
+                               $this->genTree_HTML.=chr(10).'<div><span class="nobr">';
                                $PM = 'join';
                                $LN = ($a==$c)?'blank':'line';
                                $BTM = ($a==$c)?'bottom':'';
-                               $this->genTree_HTML.= $depthData.'<img src="'.$this->backPath.'t3lib/gfx/ol/'.$PM.$BTM.'.gif" width="18" height="16" align="top" alt="" /><img src="'.$this->backPath.t3lib_iconWorks::getIcon('pages',$row).'" width="18" height="16" align="top" alt="" />'.htmlspecialchars($row['uid'].': '.t3lib_div::fixed_lgd(strip_tags($row['title']),50)).'</nobr></div>';
+                               $this->genTree_HTML.= $depthData.'<img'.t3lib_iconWorks::skinImg($this->backPath,'gfx/ol/'.$PM.$BTM.'.gif','width="18" height="16"').' align="top" alt="" />'.t3lib_iconWorks::getIconImage('pages',$row,$this->backPath,'align="top"').htmlspecialchars($row['uid'].': '.t3lib_div::fixed_lgd(strip_tags($row['title']),50)).'</span></div>';
                        }
 
                        if (isset($page_idlist[$newID]))        {
@@ -134,17 +141,17 @@ class t3lib_admin {
                        if ($row['deleted']) {$this->recStat['deleted']++;}
                        if ($row['hidden']) {$this->recStat['hidden']++;}
                        $this->recStat['doktype'][$row['doktype']]++;
-                       
-                       $this->genTree($newID,$this->genTree_HTML ? $depthData.'<img src="'.$this->backPath.'t3lib/gfx/ol/'.$LN.'.gif" width="18" height="16" align="top" alt="" />'  : '');
+
+                       $this->genTree($newID,$this->genTree_HTML ? $depthData.'<img'.t3lib_iconWorks::skinImg($this->backPath,'gfx/ol/'.$LN.'.gif','width="18" height="16"').' align="top" alt="" />'  : '');
                }
-               return (mysql_num_rows($res));
+               return $GLOBALS['TYPO3_DB']->sql_num_rows($res);
        }
-       
+
        /**
         * Fills $this->lRecords with the records from all tc-tables that are not attached to a PID in the pid-list.
-        * 
+        *
         * @param       string          list of pid's (page-record uid's). This list is probably made by genTree()
-        * @return      void            
+        * @return      void
         */
        function lostRecords($pid_list) {
                global $TCA;
@@ -153,11 +160,13 @@ class t3lib_admin {
                if ($pid_list)  {
                        while (list($table)=each($TCA)) {
                                t3lib_div::loadTCA($table);
-                               $query = 'SELECT uid,pid,'.$TCA[$table]['ctrl']['label'].' FROM '.$table.' WHERE pid NOT IN ('.$pid_list.')';
-                               $garbage = mysql(TYPO3_db,$query);
-                               echo mysql_error();
+                               $garbage = $GLOBALS['TYPO3_DB']->exec_SELECTquery (
+                                                               'uid,pid,'.$TCA[$table]['ctrl']['label'],
+                                                               $table,
+                                                               'pid NOT IN ('.$pid_list.')'
+                                                       );
                                $lostIdList=Array();
-                               while ($row = mysql_fetch_assoc($garbage))      {
+                               while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($garbage))  {
                                        $this->lRecords[$table][$row['uid']]=Array('uid'=>$row['uid'], 'pid'=>$row['pid'], 'title'=> strip_tags($row[$TCA[$table]['ctrl']['label']]) );
                                        $lostIdList[]=$row['uid'];