Done various changes.
authorKasper Skårhøj <kasper@typo3.org>
Fri, 19 Dec 2003 14:16:19 +0000 (14:16 +0000)
committerKasper Skårhøj <kasper@typo3.org>
Fri, 19 Dec 2003 14:16:19 +0000 (14:16 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@75 709f56b5-9817-0410-a4d7-c38de5d9e867

73 files changed:
ChangeLog
TODO.txt
t3lib/class.t3lib_befunc.php
t3lib/class.t3lib_beuserauth.php
t3lib/class.t3lib_clipboard.php
t3lib/class.t3lib_div.php
t3lib/class.t3lib_extfilefunc.php
t3lib/class.t3lib_extobjbase.php
t3lib/class.t3lib_fullsearch.php
t3lib/class.t3lib_install.php
t3lib/class.t3lib_parsehtml.php
t3lib/class.t3lib_parsehtml_proc.php
t3lib/class.t3lib_recordlist.php
t3lib/class.t3lib_scbase.php
t3lib/class.t3lib_stdgraphic.php
t3lib/class.t3lib_tceforms.php
t3lib/class.t3lib_timetrack.php
t3lib/class.t3lib_tsparser_ext.php
t3lib/class.t3lib_tstemplate.php
t3lib/class.t3lib_userauthgroup.php
t3lib/config_default.php
t3lib/gfx/fileicons/au.gif
t3lib/gfx/fileicons/bmp.gif
t3lib/gfx/fileicons/doc.gif
t3lib/gfx/fileicons/gif.gif
t3lib/gfx/fileicons/jpg.gif
t3lib/gfx/fileicons/pdf.gif
t3lib/gfx/fileicons/png.gif
t3lib/gfx/fileicons/sxc.gif
t3lib/gfx/fileicons/sxw.gif
t3lib/gfx/fileicons/tif.gif
t3lib/gfx/fileicons/ttf.gif
t3lib/gfx/fileicons/txt.gif
t3lib/gfx/fileicons/wav.gif
t3lib/gfx/fileicons/xls.gif
t3lib/stddb/tbl_be.php
typo3/alt_clickmenu.php
typo3/alt_db_navframe.php
typo3/alt_doc.php
typo3/alt_file_navframe.php
typo3/alt_main.php
typo3/alt_mod_frameset.php
typo3/class.alt_menu_functions.inc
typo3/class.db_list.inc
typo3/class.db_list_extra.inc
typo3/class.file_list.inc
typo3/db_list.php
typo3/db_new.php
typo3/file_list.php
typo3/init.php
typo3/mod/tools/em/index.php
typo3/mod/web/perm/index.php
typo3/stylesheet.css
typo3/sysext/cms/ext_tables.php
typo3/sysext/cms/layout/db_layout.php
typo3/sysext/cms/tslib/class.tslib_content.php
typo3/sysext/cms/tslib/class.tslib_fe.php
typo3/sysext/cms/tslib/class.tslib_menu.php
typo3/sysext/cms/tslib/class.tslib_pagegen.php
typo3/sysext/cms/tslib/media/scripts/example_itemArrayProcFunc.php
typo3/sysext/cms/tslib/media/scripts/example_typolinkpop.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/tmenu_layers.php
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/template.php
typo3/wizard_forms.php
typo3/wizard_rte.php

index 2b7f3c5..21ef770 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+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
index 84e4350..fc113d1 100755 (executable)
--- a/TODO.txt
+++ b/TODO.txt
@@ -3,13 +3,6 @@ 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
@@ -18,11 +11,10 @@ General:
   - 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 ?Template? which could edit the constants field)
 - Feature: Web >plugins -> to be a main module where people can place cmodules for their extension.
@@ -158,7 +150,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:
@@ -188,22 +179,12 @@ Wizards:
 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?
 
index 79f5a6f..88fa3c2 100755 (executable)
@@ -547,19 +547,21 @@ class t3lib_BEfunc        {
        function getExcludeFields()     {
                global $TCA;
                        // All TCA keys:
-               $tc_keys = array_keys($TCA);
                $theExcludeArray = Array();
-               while (list(,$table)=each($tc_keys))    {
+               $tc_keys = array_keys($TCA);
+               foreach($tc_keys as $table)     {
                                // Load table
                        t3lib_div::loadTCA($table);
                                // All field names configured:
-                       $f_keys = array_keys($TCA[$table]['columns']);
-                       while (list(,$field)=each($f_keys))     {
-                               if ($TCA[$table]['columns'][$field]['exclude']) {
-                                               // Get Human Readable names of fields and table:
-                                       $Fname=$GLOBALS['LANG']->sl($TCA[$table]['ctrl']['title']).': '.$GLOBALS['LANG']->sl($TCA[$table]['columns'][$field]['label']);
-                                               // add entry:
-                                       $theExcludeArray[] = Array($Fname , $table.':'.$field);
+                       if (is_array($TCA[$table]['columns']))  {
+                               $f_keys = array_keys($TCA[$table]['columns']);
+                               foreach($f_keys as $field)      {
+                                       if ($TCA[$table]['columns'][$field]['exclude']) {
+                                                       // Get Human Readable names of fields and table:
+                                               $Fname=$GLOBALS['LANG']->sl($TCA[$table]['ctrl']['title']).': '.$GLOBALS['LANG']->sl($TCA[$table]['columns'][$field]['label']);
+                                                       // add entry:
+                                               $theExcludeArray[] = Array($Fname , $table.':'.$field);
+                                       }
                                }
                        }
                }
index 88a20ce..aad517a 100644 (file)
@@ -136,6 +136,7 @@ class t3lib_beUserAuth extends t3lib_userAuthGroup {
                'edit_docModuleUpload' => '1',
                'disableCMlayers' => 0,
                'navFrameWidth' => '',  // Default is 245 pixels
+               'navFrameResizable' => 0,
        );
 
        
@@ -189,8 +190,13 @@ class t3lib_beUserAuth extends t3lib_userAuthGroup {
                } else {        // ...and if that's the case, call these functions
                        $this->fetchGroupData();        //      The groups are fetched and ready for permission checking in this initialization.        Tables.php must be read before this because stuff like the modules has impact in this 
                        if ($this->checkLockToIP())     {
-                               $this->backendSetUC();          // Setting the UC array. It's needed with fetchGroupData first, due to default/overriding of values.
-                               $this->emailAtLogin();          // email at login - if option set.
+                               if (!$GLOBALS['TYPO3_CONF_VARS']['BE']['adminOnly'] || $this->isAdmin())        {
+                                       $this->backendSetUC();          // Setting the UC array. It's needed with fetchGroupData first, due to default/overriding of values.
+                                       $this->emailAtLogin();          // email at login - if option set.
+                               } else {
+                                       t3lib_BEfunc::typo3PrintError ('Login-error','TYPO3 is in maintenance mode at the moment. Only administrators are allowed access.',0);
+                                       exit;
+                               }
                        } else {
                                t3lib_BEfunc::typo3PrintError ('Login-error','IP locking prevented you from being authorized. Can\'t proceed, sorry.',0);
                                exit;
index f799eba..51e13aa 100755 (executable)
@@ -701,8 +701,8 @@ class t3lib_clipboard {
                        // Message:             
                $conf='confirm('.$GLOBALS['LANG']->JScharCode(sprintf(
                        $msg,
-                       $selRecTitle,
-                       $thisRecTitle
+                       t3lib_div::fixed_lgd($selRecTitle,30),
+                       t3lib_div::fixed_lgd($thisRecTitle,30)
                        )).')';
                return $conf;
        }
index 633e4a8..c084301 100755 (executable)
@@ -1510,9 +1510,10 @@ class t3lib_div {
         * 
         * @param       array           Array with attribute key/value pairs, eg. "bgcolor"=>"red", "border"=>0
         * @param       boolean         If set the resulting attribute list will have a) all attributes in lowercase (and duplicates weeded out, first entry taking precedence) and b) all values htmlspecialchar()'ed. It is recommended to use this switch!
+        * @param       boolean         If true, don't check if values are blank. Default is to omit attributes with blank values.
         * @return      string          Imploded attributes, eg. 'bgcolor="red" border="0"'
         */
-       function implodeParams($arr,$xhtmlSafe=0)       {
+       function implodeParams($arr,$xhtmlSafe=FALSE,$dontOmitBlankAttribs=FALSE)       {
                if (is_array($arr))     {
                        if ($xhtmlSafe) {
                                $newArr=array();
@@ -1523,7 +1524,7 @@ class t3lib_div {
                        }
                        $list = array();
                        foreach($arr as $p => $v)       {
-                               if (strcmp($v,'')     {$list[]=$p.'="'.$v.'"';}
+                               if (strcmp($v,'') || $dontOmitBlankAttribs)     {$list[]=$p.'="'.$v.'"';}
                        }
                        return implode(' ',$list);
                }
index e1850ed..ef170bc 100755 (executable)
@@ -845,7 +845,9 @@ top.goToModule("file_list");
         */
        function writeLog($action,$error,$details_nr,$details,$data)    {
                $type=2;        // Type value for tce_file.php
-               $GLOBALS['BE_USER']->writelog($type,$action,$error,$details_nr,$details,$data);
+               if (is_object($GLOBALS['BE_USER']))     {
+                       $GLOBALS['BE_USER']->writelog($type,$action,$error,$details_nr,$details,$data);
+               }
        }
 }
 
index 05be302..ff21b0a 100755 (executable)
@@ -220,7 +220,7 @@ class t3lib_extobjbase {
         */
        function handleExternalFunctionValue()  {
                        // Must clean first to make sure the correct key is set...
-               $this->pObj->MOD_SETTINGS = t3lib_BEfunc::getModuleData($this->pObj->MOD_MENU, t3lib_div::GPvar('SET'), $this->pObj->MCONF['name']);
+               $this->pObj->MOD_SETTINGS = t3lib_BEfunc::getModuleData($this->pObj->MOD_MENU, t3lib_div::GPvar('SET',1), $this->pObj->MCONF['name']);
                if ($this->function_key)        {
                        $this->extClassConf = $this->pObj->getExternalItemConfig($this->pObj->MCONF['name'],$this->function_key,$this->pObj->MOD_SETTINGS[$this->function_key]);
                        if (is_array($this->extClassConf) && $this->extClassConf['path'])       {
@@ -253,7 +253,7 @@ class t3lib_extobjbase {
                        $this->extObj->init($this->pObj,$this->extClassConf);
 
                                // Re-write:
-                       $this->pObj->MOD_SETTINGS = t3lib_BEfunc::getModuleData($this->pObj->MOD_MENU, t3lib_div::GPvar('SET'), $this->pObj->MCONF['name']);
+                       $this->pObj->MOD_SETTINGS = t3lib_BEfunc::getModuleData($this->pObj->MOD_MENU, t3lib_div::GPvar('SET',1), $this->pObj->MCONF['name']);
                }
        }
 
index d1f3e09..09cf987 100755 (executable)
@@ -98,7 +98,7 @@ class t3lib_fullsearch {
        function form() {
                $out='
                Search Word:<BR>
-               <input type="text" name="SET[sword]" value="'.$GLOBALS["SOBE"]->MOD_SETTINGS["sword"].'"'.$GLOBALS["TBE_TEMPLATE"]->formWidth(20).'><input type="submit" name="submit" value="Search All Records">
+               <input type="text" name="SET[sword]" value="'.htmlspecialchars($GLOBALS["SOBE"]->MOD_SETTINGS["sword"]).'"'.$GLOBALS["TBE_TEMPLATE"]->formWidth(20).'><input type="submit" name="submit" value="Search All Records">
                ';
                
                return $out;
@@ -532,7 +532,7 @@ class t3lib_fullsearch {
         */
        function search()       {
                global $TCA;
-               $SET = t3lib_div::GPvar("SET");
+               $SET = t3lib_div::GPvar("SET",1);
                $swords = $SET["sword"];
                // $GLOBALS["HTTP_POST_VARS"]["SET"]["sword"]
                $limit=200;
index 7be2a60..526d9de 100755 (executable)
@@ -1401,16 +1401,20 @@ Number of files at a time:
                        ".$this->check_mail("get_form"),1);
                } else {
                        list($prg) = explode(" ",ini_get("sendmail_path"));
-                       if (!@is_executable($prg))      {
-                               $this->message($ext, "Sendmail program not found or not executable?","
-                                       <i>sendmail_path=".ini_get("sendmail_path")."</i>
-                                       This may be critical to TYPO3's use of the mail() function. Please be sure that the mail() function in your php-installation works!
-                               ".$this->check_mail("get_form"),1);
+                       if (TYPO3_OS=='WIN')    {
+                               $this->message($ext, "Sendmail program not searched for on Windows","",1);
                        } else {
-                               $this->message($ext, "Sendmail OK","
-                                       <i>sendmail_path=".ini_get("sendmail_path")."</i>
-                                       You may check the mail() function by entering your emailaddress here:
-                               ".$this->check_mail("get_form"),-1);
+                               if (!@is_executable($prg))      {
+                                       $this->message($ext, "Sendmail program not found or not executable?","
+                                               <i>sendmail_path=".ini_get("sendmail_path")."</i>
+                                               This may be critical to TYPO3's use of the mail() function. Please be sure that the mail() function in your php-installation works!
+                                       ".$this->check_mail("get_form"),1);
+                               } else {
+                                       $this->message($ext, "Sendmail OK","
+                                               <i>sendmail_path=".ini_get("sendmail_path")."</i>
+                                               You may check the mail() function by entering your emailaddress here:
+                                       ".$this->check_mail("get_form"),-1);
+                               }
                        }
                }
                
index 734ea0c..2398a2f 100644 (file)
@@ -464,58 +464,63 @@ class t3lib_parsehtml {
                                        $tagName = strtolower($tagParts[0]);
                                        if (isset($tags[$tagName]))     {
                                                if (is_array($tags[$tagName]))  {       // If there is processing to do for the tag:
-                                                               // Override attributes
-                                                       if (strcmp($tags[$tagName]['overrideAttribs'],''))      {
-                                                               $tagParts[1]=$tags[$tagName]['overrideAttribs'];
-                                                       }
                                                
-                                                               // Allowed tags
-                                                       if (strcmp($tags[$tagName]['allowedAttribs'],''))       {
-                                                               if (!strcmp($tags[$tagName]['allowedAttribs'],'0'))     {       // No attribs allowed
-                                                                       $tagParts[1]='';
-                                                               } elseif (trim($tagParts[1])) {
-                                                                       $tagAttrib = $this->get_tag_attributes($tagParts[1]);
-                                                                       $tagParts[1]='';
-                                                                       $newTagAttrib = array();
-                                                                       $tList = t3lib_div::trimExplode(',',strtolower($tags[$tagName]['allowedAttribs']),1);
-                                                                       while(list(,$allowTag)=each($tList))    {
-                                                                               if (isset($tagAttrib[0][$allowTag]))    $newTagAttrib[$allowTag]=$tagAttrib[0][$allowTag];
+                                                       if (!$endTag)   {       // If NOT an endtag, do attribute processing (added dec. 2003)
+                                                                       // Override attributes
+                                                               if (strcmp($tags[$tagName]['overrideAttribs'],''))      {
+                                                                       $tagParts[1]=$tags[$tagName]['overrideAttribs'];
+                                                               }
+                                                       
+                                                                       // Allowed tags
+                                                               if (strcmp($tags[$tagName]['allowedAttribs'],''))       {
+                                                                       if (!strcmp($tags[$tagName]['allowedAttribs'],'0'))     {       // No attribs allowed
+                                                                               $tagParts[1]='';
+                                                                       } elseif (trim($tagParts[1])) {
+                                                                               $tagAttrib = $this->get_tag_attributes($tagParts[1]);
+                                                                               $tagParts[1]='';
+                                                                               $newTagAttrib = array();
+                                                                               $tList = t3lib_div::trimExplode(',',strtolower($tags[$tagName]['allowedAttribs']),1);
+                                                                               while(list(,$allowTag)=each($tList))    {
+                                                                                       if (isset($tagAttrib[0][$allowTag]))    $newTagAttrib[$allowTag]=$tagAttrib[0][$allowTag];
+                                                                               }
+                                                                               $tagParts[1]=$this->compileTagAttribs($newTagAttrib,$tagAttrib[1]);
                                                                        }
-                                                                       $tagParts[1]=$this->compileTagAttribs($newTagAttrib,$tagAttrib[1]);
                                                                }
-                                                       }
-                                                               
-                                                               // Fixed attrib values
-                                                       if (is_array($tags[$tagName]['fixAttrib']))     {
-                                                               $tagAttrib = $this->get_tag_attributes($tagParts[1]);
-                                                               $tagParts[1]='';
-                                                               reset($tags[$tagName]['fixAttrib']);
-                                                               while(list($attr,$params)=each($tags[$tagName]['fixAttrib']))   {
-                                                                       if (strcmp($params['default'],'') && !isset($tagAttrib[0][$attr]))      $tagAttrib[0][$attr]=$params['default'];
-                                                                       if ($params['always'] || isset($tagAttrib[0][$attr]))   {
-                                                                               if ($params['trim'])    {$tagAttrib[0][$attr]=trim($tagAttrib[0][$attr]);}
-                                                                               if ($params['intval'])  {$tagAttrib[0][$attr]=intval($tagAttrib[0][$attr]);}
-                                                                               if ($params['lower'])   {$tagAttrib[0][$attr]=strtolower($tagAttrib[0][$attr]);}
-                                                                               if ($params['upper'])   {$tagAttrib[0][$attr]=strtoupper($tagAttrib[0][$attr]);}
-                                                                               if ($params['range'])   {
-                                                                                       if (isset($params['range'][1])) {
-                                                                                               $tagAttrib[0][$attr]=t3lib_div::intInRange($tagAttrib[0][$attr],intval($params['range'][0]),intval($params['range'][1]));
-                                                                                       } else {
-                                                                                               $tagAttrib[0][$attr]=t3lib_div::intInRange($tagAttrib[0][$attr],intval($params['range'][0]));
+                                                                       
+                                                                       // Fixed attrib values
+                                                               if (is_array($tags[$tagName]['fixAttrib']))     {
+                                                                       $tagAttrib = $this->get_tag_attributes($tagParts[1]);
+                                                                       $tagParts[1]='';
+                                                                       reset($tags[$tagName]['fixAttrib']);
+                                                                       while(list($attr,$params)=each($tags[$tagName]['fixAttrib']))   {
+                                                                               if (strcmp($params['default'],'') && !isset($tagAttrib[0][$attr]))      $tagAttrib[0][$attr]=$params['default'];
+                                                                               if ($params['always'] || isset($tagAttrib[0][$attr]))   {
+                                                                                       if ($params['trim'])    {$tagAttrib[0][$attr]=trim($tagAttrib[0][$attr]);}
+                                                                                       if ($params['intval'])  {$tagAttrib[0][$attr]=intval($tagAttrib[0][$attr]);}
+                                                                                       if ($params['lower'])   {$tagAttrib[0][$attr]=strtolower($tagAttrib[0][$attr]);}
+                                                                                       if ($params['upper'])   {$tagAttrib[0][$attr]=strtoupper($tagAttrib[0][$attr]);}
+                                                                                       if ($params['range'])   {
+                                                                                               if (isset($params['range'][1])) {
+                                                                                                       $tagAttrib[0][$attr]=t3lib_div::intInRange($tagAttrib[0][$attr],intval($params['range'][0]),intval($params['range'][1]));
+                                                                                               } else {
+                                                                                                       $tagAttrib[0][$attr]=t3lib_div::intInRange($tagAttrib[0][$attr],intval($params['range'][0]));
+                                                                                               }
+                                                                                       }
+                                                                                       if (is_array($params['list']))  {
+                                                                                               if (!in_array($this->caseShift($tagAttrib[0][$attr],$params['casesensitiveComp']),$this->caseShift($params['list'],$params['casesensitiveComp'],$tagName)))     $tagAttrib[0][$attr]=$params['list'][0];
+                                                                                       }
+                                                                                       if (($params['removeIfFalse'] && $params['removeIfFalse']!='blank' && !$tagAttrib[0][$attr]) || ($params['removeIfFalse']=='blank' && !strcmp($tagAttrib[0][$attr],'')))        {
+                                                                                               unset($tagAttrib[0][$attr]);
+                                                                                       }
+                                                                                       if (strcmp($params['removeIfEquals'],'') && !strcmp($this->caseShift($tagAttrib[0][$attr],$params['casesensitiveComp']),$this->caseShift($params['removeIfEquals'],$params['casesensitiveComp'])))      {
+                                                                                               unset($tagAttrib[0][$attr]);
                                                                                        }
-                                                                               }
-                                                                               if (is_array($params['list']))  {
-                                                                                       if (!in_array($this->caseShift($tagAttrib[0][$attr],$params['casesensitiveComp']),$this->caseShift($params['list'],$params['casesensitiveComp'],$tagName)))     $tagAttrib[0][$attr]=$params['list'][0];
-                                                                               }
-                                                                               if (($params['removeIfFalse'] && $params['removeIfFalse']!='blank' && !$tagAttrib[0][$attr]) || ($params['removeIfFalse']=='blank' && !strcmp($tagAttrib[0][$attr],'')))        {
-                                                                                       unset($tagAttrib[0][$attr]);
-                                                                               }
-                                                                               if (strcmp($params['removeIfEquals'],'') && !strcmp($this->caseShift($tagAttrib[0][$attr],$params['casesensitiveComp']),$this->caseShift($params['removeIfEquals'],$params['casesensitiveComp'])))      {
-                                                                                       unset($tagAttrib[0][$attr]);
                                                                                }
                                                                        }
+                                                                       $tagParts[1]=$this->compileTagAttribs($tagAttrib[0],$tagAttrib[1]);
                                                                }
-                                                               $tagParts[1]=$this->compileTagAttribs($tagAttrib[0],$tagAttrib[1]);
+                                                       } else {        // If endTag, remove any possible attributes:
+                                                               $tagParts[1]='';
                                                        }
 
                                                                // Protecting the tag by converting < and > to &lt; and &gt; ??
@@ -1153,8 +1158,8 @@ class t3lib_parsehtml {
                                $value = $newTag;
                        }
                }
-               return $value;
                
+               return $value;
        }
        
        /**
index b30ca11..8a92f39 100755 (executable)
@@ -271,7 +271,7 @@ class t3lib_parsehtml_proc extends t3lib_parsehtml {
                if (is_array($entry_HTMLparser))        {
                        $value = $this->HTMLcleaner($value,$entry_HTMLparser[0],$entry_HTMLparser[1],$entry_HTMLparser[2],$entry_HTMLparser[3]);
                }
-               
+
                        // Traverse modes:
                foreach($modes as $cmd) {
                                // ->DB
@@ -405,7 +405,6 @@ class t3lib_parsehtml_proc extends t3lib_parsehtml {
                                                        $absRef = $siteUrl.$this->rteImageStorageDir().'RTEmagicC_'.$filename.'.'.$pI['extension'];
                                                
                                                        $attribArray['src']=$absRef;
-                                                       if (!isset($attribArray['alt']))        $attribArray['alt']='';
                                                        $params = t3lib_div::implodeParams($attribArray,1);
                                                        $imgSplit[$k]='<img '.$params.' />';
                                                }
@@ -445,7 +444,6 @@ class t3lib_parsehtml_proc extends t3lib_parsehtml {
                                                                                $attribArray['width']=$imgI[0];
                                                                                $attribArray['height']=$imgI[1];
                                                                                if (!$attribArray['border'])    $attribArray['border']=0;
-                                                                               if (!isset($attribArray['alt']))        $attribArray['alt']='';
                                                                                $params = t3lib_div::implodeParams($attribArray,1);
                                                                                $imgSplit[$k]='<img '.$params.' />';
                                                                        }
@@ -460,8 +458,8 @@ class t3lib_parsehtml_proc extends t3lib_parsehtml {
                                $absRef = trim($attribArray['src']);
                                if (t3lib_div::isFirstPartOfStr($absRef,$siteUrl))      {
                                        $attribArray['src'] = $this->relBackPath.substr($absRef,strlen($siteUrl));
-                                       if (!isset($attribArray['alt']))        $attribArray['alt']='image';            // Must have value, otherwise the attribute is stripped by implodeParams()
-                                       $imgSplit[$k]='<img '.t3lib_div::implodeParams($attribArray,1).' />';
+                                       if (!isset($attribArray['alt']))        $attribArray['alt']='';         // Must have alt-attribute for XHTML compliance.
+                                       $imgSplit[$k]='<img '.t3lib_div::implodeParams($attribArray,1,1).' />';
                                }
                        }
                }               
@@ -1054,7 +1052,7 @@ class t3lib_parsehtml_proc extends t3lib_parsehtml {
        }
                 
        /**
-        * This resolves the $value into parts based on <div></div>-sections and <P>-sections and <BR>-tags. These are returned as lines separated by chr(10).
+        * This resolves the $value into parts based on <div></div>-sections and <p>-sections and <br />-tags. These are returned as lines separated by chr(10).
         * This point is to resolve the HTML-code returned from RTE into ordinary lines so it's 'human-readable'
         * The function ->setDivTags does the opposite.
         * This function processes content to go into the database.
@@ -1110,7 +1108,7 @@ class t3lib_parsehtml_proc extends t3lib_parsehtml {
                                                
                                                        // Get first tag, attributes etc:
                                                $fTag = $this->getFirstTag($divSplit[$k]);
-                                               $tagName=$this->getFirstTagName($divSplit[$k]);
+                                               $tagName=strtolower($this->getFirstTagName($divSplit[$k]));
                                                $attribs=$this->get_tag_attributes($fTag);
                                                
                                                        // Keep attributes (lowercase)
index 47e8307..a100b51 100755 (executable)
@@ -129,14 +129,15 @@ class t3lib_recordList {
                        <td nowrap="nowrap"'.$tdParams.'>';
                        
                        if (!$h)        {
-                               $out.='<img'.t3lib_iconWorks::skinImg($this->backPath,'gfx/ol/halfline.gif','width="18" height="8"').' alt="" />';
+#                              $out.='<img'.t3lib_iconWorks::skinImg($this->backPath,'gfx/ol/halfline.gif','width="18" height="8"').' alt="" />';
+                               $out.='<img src="clear.gif" width="1" height="8" alt="" />';
                        } else {
                                for ($a=0;$a<$h;$a++)   {
                                        if (!$a)        {
-                                               $out.= $altLine ? $altLine : '<img'.t3lib_iconWorks::skinImg($this->backPath,'gfx/ol/line.gif','width="18" height="16"').' alt="" />';
+#                                              $out.= $altLine ? $altLine : '<img'.t3lib_iconWorks::skinImg($this->backPath,'gfx/ol/line.gif','width="18" height="16"').' alt="" />';
                                                if ($icon)      $out.= $icon;
                                        } else {
-                                               $out.= $altLine ? $altLine :'<br /><img'.t3lib_iconWorks::skinImg($this->backPath,'gfx/ol/line.gif','width="18" height="16"').' alt="" />';
+#                                              $out.= $altLine ? $altLine :'<br /><img'.t3lib_iconWorks::skinImg($this->backPath,'gfx/ol/line.gif','width="18" height="16"').' alt="" />';
                                        }
                                }
                        }
index 39866e2..de12f98 100644 (file)
@@ -270,7 +270,7 @@ class t3lib_SCbase {
                $this->MOD_MENU['function'] = t3lib_BEfunc::unsetMenuItems($this->modTSconfig['properties'],$this->MOD_MENU['function'],'menu.function');
 
                        // CLEANSE 'function' SETTINGS
-               $this->MOD_SETTINGS = t3lib_BEfunc::getModuleData($this->MOD_MENU, t3lib_div::GPvar('SET'), $this->MCONF['name'], $this->modMenu_type, $this->modMenu_dontValidateList, $this->modMenu_setDefaultList);
+               $this->MOD_SETTINGS = t3lib_BEfunc::getModuleData($this->MOD_MENU, t3lib_div::GPvar('SET',1), $this->MCONF['name'], $this->modMenu_type, $this->modMenu_dontValidateList, $this->modMenu_setDefaultList);
        }
 
        /**
@@ -338,7 +338,7 @@ class t3lib_SCbase {
                        $this->extObj = t3lib_div::makeInstance($this->extClassConf['name']);
                        $this->extObj->init($this,$this->extClassConf);
                                // Re-write:
-                       $this->MOD_SETTINGS = t3lib_BEfunc::getModuleData($this->MOD_MENU, t3lib_div::GPvar('SET'), $this->MCONF['name']);
+                       $this->MOD_SETTINGS = t3lib_BEfunc::getModuleData($this->MOD_MENU, t3lib_div::GPvar('SET',1), $this->MCONF['name']);
                }
        }
 
index fc0b3de..ae070bf 100644 (file)
@@ -763,7 +763,13 @@ class t3lib_stdGraphic     {
         */
        function addToMap($cords,$conf) {
                $JS = $conf['noBlur'] ? '' : ' onfocus="blurLink(this);"';
-               $this->map.='<area shape="poly" coords="'.implode($cords,',').'" href="'.htmlspecialchars($conf['url']).'" target="'.$conf['target'].'"'.$JS.' />';
+               $this->map.='<area'.
+                               ' shape="poly"'.
+                               ' coords="'.implode($cords,',').'"'.
+                               ' href="'.htmlspecialchars($conf['url']).'"'.
+                               ($conf['target'] ? ' target="'.$conf['target'].'"' : '').
+                               $JS.
+                               ' alt="" />';
        }
 
        /**
index c53ebef..13f0b20 100755 (executable)
@@ -530,7 +530,7 @@ class t3lib_TCEforms        {
                        $palFields = trim($palFields);
                        if ($TCA[$table]['columns'][$theField]) {
                                $parts = t3lib_div::trimExplode(';',$types_fieldConfig[$theField]['origString']);
-                               $sField= $this->getSingleField($table,$theField,$row,$parts[1],0,$parts[3],$parts[2]);
+                               $sField= $this->getSingleField($table,$theField,$row,$parts[1],0,$parts[3],0);  // Don't sent palette pointer - there are no options anyways for a field-list.
                                $out.= $sField;
                        } elseif($theField=='--div--')  {
                                $out.=$this->getDivider();
@@ -847,7 +847,7 @@ class t3lib_TCEforms        {
                                // Setting default "click-checkbox" values for eval types "date" and "datetime":
                        $nextMidNight = mktime(0,0,0)+1*3600*24;
                        $checkSetValue = in_array('date',$evalList) ? $nextMidNight : '';
-                       $checkSetValue = in_array('datetime',$evalList) ? $nextMidNight+12*3600 : $checkSetValue;
+                       $checkSetValue = in_array('datetime',$evalList) ? time() : $checkSetValue;
 
                        $cOnClick = 'typo3FormFieldGet('.$paramsList.',1,\''.$checkSetValue.'\');'.implode('',$PA['fieldChangeFunc']);
                        $item.='<input type="checkbox" name="'.$PA['itemFormElName'].'_cb" onclick="'.htmlspecialchars($cOnClick).'" />';
index 5e14cc1..c1a655b 100755 (executable)
@@ -201,7 +201,7 @@ class t3lib_timeTrack {
                end($this->currentHashPointer);
                $k = current($this->currentHashPointer);
 
-               $this->tsStackLog[$k]['message'][] = $this->wrapIcon[$num].$this->wrapError[$num][0].$content.$this->wrapError[$num][1];
+               $this->tsStackLog[$k]['message'][] = $this->wrapIcon[$num].$this->wrapError[$num][0].htmlspecialchars($content).$this->wrapError[$num][1];
        }
 
        /**
@@ -393,7 +393,7 @@ class t3lib_timeTrack {
                        if ($flag_messages && is_array($data['message']))       {
                                reset($data['message']);
                                while(list(,$v)=each($data['message'])) {
-                                       $msgArr[]=nl2br(htmlspecialchars($v));
+                                       $msgArr[]=nl2br($v);
                                }
                        }
                        if ($flag_queries && is_array($data['selectQuery']))    {
index 6fb2f97..ba126ef 100755 (executable)
@@ -935,12 +935,12 @@ class t3lib_tsparser_ext extends t3lib_TStemplate {
                        $iFile = t3lib_div::getFileAbsFileName($imgConf);
                        if ($iFile)     {
                                $f = substr($iFile,strlen(PATH_site));  
-                               $tFile="../".$GLOBALS["BACK_PATH"].$f;
+                               $tFile=$GLOBALS["BACK_PATH"]."../".$f;
                        }
                } else {
                        $f = "uploads/tf/".$this->extractFromResources($this->setup["resources"],$imgConf);
                        $iFile=PATH_site.$f;
-                       $tFile="../".$GLOBALS["BACK_PATH"].$f;
+                       $tFile=$GLOBALS["BACK_PATH"]."../".$f;
                }
                $imageInfo=@getImagesize($iFile);
                return '<img src="'.$tFile.'" '.$imageInfo[3].'>';
index ebea173..33e3913 100755 (executable)
@@ -1218,7 +1218,7 @@ class t3lib_TStemplate    {
                        // Setting ID/alias:
                if (!$script)   {$script = $GLOBALS['TSFE']->config['mainScript'];}
                if ($page['alias'])     {
-                       $LD['url']=$script.'?'.$page['alias'];
+                       $LD['url']=$script.'?id='.$page['alias'];
                } else {
                        $LD['url']=$script.'?id='.$page['uid'];
                }
index 7b9e9c8..38890af 100755 (executable)
@@ -903,7 +903,7 @@ This is a dump of the failures:
 ';
                                while($testRows=mysql_fetch_assoc($res))        {
                                        $theData = unserialize($testRows['log_data']);
-                                       $email_body.=date($GLOBALS['TYPO3_CONF_VARS']['SYS']['ddmmyy'].' H:i',$testRows['tstamp']).':  '.sprintf($testRows['details'],''.$theData[0],''.$theData[1],''.$theData[2]);
+                                       $email_body.=date($GLOBALS['TYPO3_CONF_VARS']['SYS']['ddmmyy'].' H:i',$testRows['tstamp']).':  '.@sprintf($testRows['details'],''.$theData[0],''.$theData[1],''.$theData[2]);
                                        $email_body.=chr(10);
                                }
                                mail(   $email,
index dbdbd91..8196abe 100755 (executable)
@@ -56,7 +56,7 @@ $TYPO3_CONF_VARS = Array(
                'doNotCheckReferer' => 0,                               // Boolean. If set, it's NOT checked numerous places that the refering host is the same as the current. This is an option you should set if you have problems with proxies not passing the HTTP_REFERER variable.
                'recursiveDomainSearch' => 0,                   // Boolean. If set, the search for domain records will be done recursively by stripping parts of the host name off until a matching domain record is found.
                'report_error_html' => chr(10).'Please report this error to the <a href="mailto:kasper@typo3.com">TYPO3 Development Team</a>',
-               'T3instID' => 'N/A',
+               'T3instID' => 'N/A',                                    // A unique installation ID - not used yet. The idea is that a TYPO3 installation can identify itself by this ID string to the Extension Repository on TYPO3.org so that we can keep a realistic count of serious TYPO3 installations.
                'devIPmask' => '192.168.*,127.0.0.1',   // Defines a list of IP addresses which will allow development-output to display. The debug() function will use this as a filter. See the function t3lib_div::cmpIP() for details on syntax. Setting this to blank value will deny all. Setting to '*' will allow all.
                'curlUse' => 0,                                                 // Boolean: If set, try to use Curl to fetch external URLs (implemented by Arco <arco@appeltaart.mine.nu>)
                'curlProxyServer' => '',                                // String: Proxyserver as http://proxy:port/.
@@ -101,6 +101,7 @@ $TYPO3_CONF_VARS = Array(
                'warning_email_addr' => '',                             // Email-address that will receive a warning if there has been failed logins 4 times within an hour (all users).
                'warning_mode' => '',                                   // Bit 1: If set, warning_email_addr gets a mail everytime a user logs in. Bit 2: If set, a mail is sent if an ADMIN user logs in! Other bits reserved for future options.
                'IPmaskList' => '',                                             // String. Lets you define a list of IP-numbers (with *-wildcards) that are the ONLY ones allowed access to ANY backend activity. On error an error header is sent and the script exits. Works like IP masking for users configurable through TSconfig. See syntax for that (or look up syntax for the function t3lib_div::cmpIP())
+               'adminOnly' => 0,                                               // Boolean. If set, the only "admin" users can log in to the backend. For maintenance purposes.
                'lockBeUserToDBmounts' => 1,                    // Boolean. If set, the backend user is allowed to work only within his page-mount. It's advisable to leave this on because it makes security easy to manage.
                'lockSSL' => 0,                                                 // Int. 0,1,2: If set (1+2), the backend can only be operated from an ssl-encrypted connection (https). Set to 2 you will be redirected to the https admin-url supposed to be the http-url, but with https scheme instead.
                'disable_exec_function' => 0,                   // Boolean. Don't use exec() function (except for ImageMagick which is disabled by [GFX][im]=0). If set, all fileoperations are done by the default PHP-functions. This is nescessary under windows! On UNIX the system commands by exec() can be used, unless this is disabled.
index c187485..58edf71 100755 (executable)
Binary files a/t3lib/gfx/fileicons/au.gif and b/t3lib/gfx/fileicons/au.gif differ
index 9444cc3..b0dd168 100755 (executable)
Binary files a/t3lib/gfx/fileicons/bmp.gif and b/t3lib/gfx/fileicons/bmp.gif differ
index 1784037..115f0c1 100755 (executable)
Binary files a/t3lib/gfx/fileicons/doc.gif and b/t3lib/gfx/fileicons/doc.gif differ
index 7814b4e..2dd16a7 100755 (executable)
Binary files a/t3lib/gfx/fileicons/gif.gif and b/t3lib/gfx/fileicons/gif.gif differ
index 292b51f..b0e9f03 100755 (executable)
Binary files a/t3lib/gfx/fileicons/jpg.gif and b/t3lib/gfx/fileicons/jpg.gif differ
index a30be8f..a853e98 100755 (executable)
Binary files a/t3lib/gfx/fileicons/pdf.gif and b/t3lib/gfx/fileicons/pdf.gif differ
index 12739bc..4dac4b3 100755 (executable)
Binary files a/t3lib/gfx/fileicons/png.gif and b/t3lib/gfx/fileicons/png.gif differ
index bf954a2..d6760eb 100755 (executable)
Binary files a/t3lib/gfx/fileicons/sxc.gif and b/t3lib/gfx/fileicons/sxc.gif differ
index 31756e9..8fbd764 100755 (executable)
Binary files a/t3lib/gfx/fileicons/sxw.gif and b/t3lib/gfx/fileicons/sxw.gif differ
index d121b4d..4f994e3 100755 (executable)
Binary files a/t3lib/gfx/fileicons/tif.gif and b/t3lib/gfx/fileicons/tif.gif differ
index 0e04b6e..e581b58 100755 (executable)
Binary files a/t3lib/gfx/fileicons/ttf.gif and b/t3lib/gfx/fileicons/ttf.gif differ
index 569d7fc..51f941f 100755 (executable)
Binary files a/t3lib/gfx/fileicons/txt.gif and b/t3lib/gfx/fileicons/txt.gif differ
index 40a6444..9904e28 100755 (executable)
Binary files a/t3lib/gfx/fileicons/wav.gif and b/t3lib/gfx/fileicons/wav.gif differ
index 5283622..719b007 100755 (executable)
Binary files a/t3lib/gfx/fileicons/xls.gif and b/t3lib/gfx/fileicons/xls.gif differ
index 03a2241..0179ae4 100755 (executable)
@@ -134,9 +134,12 @@ $TCA['be_users'] = Array (
                'file_mountpoints' => Array (
                        'label' => 'File Mounts:',
                        'config' => Array (
-                               'type' => 'group',
-                               'internal_type' => 'db',
-                                       'allowed' => 'sys_filemounts',
+                               'type' => 'select',
+                               'foreign_table' => 'sys_filemounts',
+                               'foreign_table_where' => 'ORDER BY sys_filemounts.title',
+#                              'type' => 'group',
+#                              'internal_type' => 'db',
+#                                      'allowed' => 'sys_filemounts',
                                'size' => '3',
                                'maxitems' => '10',
                                'autoSizeMax' => 10,
index 2d13b9e..7659782 100755 (executable)
@@ -266,7 +266,7 @@ class clickMenu {
                                $selItem = $this->clipObj->getSelectedRecord();
                                $elInfo=array(
                                        $selItem['_RECORD_TITLE'],
-                                       ($root?$GLOBALS['TYPO3_CONF_VARS']['SYS']['sitename']:t3lib_div::fixed_lgd(t3lib_BEfunc::getRecordTitle($table,$this->rec),$GLOBALS['BE_USER']->uc['titleLen'])),
+                                       ($root?$GLOBALS['TYPO3_CONF_VARS']['SYS']['sitename']:t3lib_div::fixed_lgd(t3lib_BEfunc::getRecordTitle($table,$this->rec),$BE_USER->uc['titleLen'])),
                                        $this->clipObj->currentMode()
                                );
                                if ($table=='pages' && ($lCP & 8))      {
@@ -278,7 +278,7 @@ class clickMenu {
                        }
 
                                // Delete:
-                       $elInfo=array(t3lib_div::fixed_lgd(t3lib_BEfunc::getRecordTitle($table,$this->rec),$GLOBALS['BE_USER']->uc['titleLen']));
+                       $elInfo=array(t3lib_div::fixed_lgd(t3lib_BEfunc::getRecordTitle($table,$this->rec),$BE_USER->uc['titleLen']));
                        if(!in_array('delete',$this->disabledItems) && !$root && $BE_USER->isPSet($lCP,$table,'delete'))        {
                                $menuItems[]='spacer';
                                $menuItems['delete']=$this->DB_delete($table,$uid,$elInfo);
@@ -586,7 +586,7 @@ class clickMenu {
        function DB_edit($table,$uid)   {
                global $BE_USER;
                        // If another module was specified, replace the default Page module with the new one
-               $newPageModule = trim($GLOBALS['BE_USER']->getTSConfigVal('options.overridePageModule'));
+               $newPageModule = trim($BE_USER->getTSConfigVal('options.overridePageModule'));
                $pageModule = t3lib_BEfunc::isModuleSetInTBE_MODULES($newPageModule) ? $newPageModule : 'web_layout';
 
                $editOnClick='';
@@ -596,7 +596,7 @@ class clickMenu {
                if (
                                $this->iParts[0]=='pages' && 
                                $this->iParts[1] && 
-                               $GLOBALS['BE_USER']->check('modules', $pageModule)
+                               $BE_USER->check('modules', $pageModule)
                        )       {
                        $theIcon = t3lib_iconWorks::skinImg($this->backPath,'gfx/edit_page.gif','width="12" height="12"');
                        $this->editPageIconSet=1;
@@ -981,9 +981,17 @@ if (top.content && top.content'.$frameName.' && top.content'.$frameName.'.setLay
         * @return      string          
         */
        function wrapColorTableCM($str) {
+       
+                       // Clear-gifs needed if opera is to set the table row height correctly in skins.
                $str = '<table border="0" cellspacing="0" class="typo3-CSM-wrapperCM">
-                               <tr><td class="c-aa">'.$str.'</td><td class="c-ab"></td></tr>
-                               <tr><td class="c-ba"></td><td class="c-bb"></td></tr>
+                               <tr class="c-rowA">
+                                       <td class="c-aa">'.$str.'</td>
+                                       <td class="c-ab"></td>
+                               </tr>
+                               <tr class="c-rowB">
+                                       <td class="c-ba"><img src="clear.gif" width="1" height="1" alt="" /></td>
+                                       <td class="c-bb"><img src="clear.gif" width="1" height="1" alt="" /></td>
+                               </tr>
                        </table>';
                return $str;
        }
@@ -1177,7 +1185,7 @@ class SC_alt_clickmenu {
                $this->doc->backPath = $BACK_PATH;
                
                        // Setting mode for display and background image in the top frame
-               $this->dontDisplayTopFrameCM= $this->doc->isCMlayers() && !$GLOBALS['BE_USER']->getTSConfigVal('options.contextMenu.options.alwaysShowClickMenuInTopFrame');
+               $this->dontDisplayTopFrameCM= $this->doc->isCMlayers() && !$BE_USER->getTSConfigVal('options.contextMenu.options.alwaysShowClickMenuInTopFrame');
                if ($this->dontDisplayTopFrameCM)       {
                        $this->doc->bodyTagId.= '-notop';
                }
index c35e1dd..9fae98d 100755 (executable)
@@ -29,7 +29,7 @@
  *
  * $Id$
  * Revised for TYPO3 3.6 2/2003 by Kasper Skaarhoj
- * XHTML compliant (almost)
+ * XHTML compliant
  *
  * @author     Kasper Skaarhoj <kasper@typo3.com>
  */
@@ -166,8 +166,6 @@ class SC_alt_db_navframe {
 
                        // Create template object:
                $this->doc = t3lib_div::makeInstance('template');
-
-                       // Hmmm, setting "xhtml_trans" for the page will unfortunately break the Context Sensitive menu in Mozilla! But apart from that - and duplicate ID's for same page in different mounts - the document checks out well as XHTML
                $this->doc->docType='xhtml_trans';
 
                        // Setting backPath
index 6776484..01e1917 100755 (executable)
@@ -374,7 +374,7 @@ class SC_alt_doc {
                $this->MCONF['name']='xMOD_alt_doc.php';
 
                        // CLEANSE SETTINGS
-               $this->MOD_SETTINGS = t3lib_BEfunc::getModuleData($this->MOD_MENU, t3lib_div::GPvar('SET'), $this->MCONF['name']);
+               $this->MOD_SETTINGS = t3lib_BEfunc::getModuleData($this->MOD_MENU, t3lib_div::GPvar('SET',1), $this->MCONF['name']);
 
                        // Create an instance of the document template object
                $this->doc = t3lib_div::makeInstance('bigDoc');
index 66b8442..065cfd8 100755 (executable)
@@ -29,7 +29,7 @@
  *
  * $Id$
  * Revised for TYPO3 3.6 2/2003 by Kasper Skaarhoj
- * XHTML compliant (almost)
+ * XHTML compliant
  *
  * @author     Kasper Skaarhoj <kasper@typo3.com>
  */
@@ -99,8 +99,6 @@ class SC_alt_file_navframe {
                
                        // Create template object:
                $this->doc = t3lib_div::makeInstance('template');
-
-                       // Hmmm, setting "xhtml_trans" for the page will unfortunately break the Context Sensitive menu in Mozilla! But apart from that - and duplicate ID's for same page in different  mounts - the document checks out well as XHTML
                $this->doc->docType='xhtml_trans';
 
                        // Setting backPath
index 860817c..5bf73dd 100755 (executable)
@@ -151,6 +151,7 @@ class SC_alt_main {
                this.PATH_typo3 = "'.$pt3.'";
                this.username = "'.$BE_USER->user['username'].'";
                this.uniqueID = "'.t3lib_div::shortMD5(uniqid('')).'";
+               this.navFrameWidth = 0;
        }
        var TS = new typoSetup();
 
@@ -182,12 +183,18 @@ class SC_alt_main {
                this.openRefreshW=1;
        }
        function busy_checkLoginTimeout_timer() {       //
+
                if (busy.checkLoginTimeout())   {
                        if (!busy.openRefreshW && confirm('.$GLOBALS['LANG']->JScharCode($LANG->sL('LLL:EXT:lang/locallang_core.php:mess.refresh_login')).'))   {
                                busy.openRefreshWindow();
                        }
                }
-               window.setTimeout("busy_checkLoginTimeout_timer();",5*1000);    // Each 5th second is enough for checking. The popup will be triggered 10 seconds before the login expires (see above, busy_checkLoginTimeout())
+               window.setTimeout("busy_checkLoginTimeout_timer();",2*1000);    // Each 2nd second is enough for checking. The popup will be triggered 10 seconds before the login expires (see above, busy_checkLoginTimeout())
+
+                       // Detecting the frameset module navigation frame widths (do this AFTER setting new timeout so that any errors in the code below does not prevent another time to be set!)
+               if (top && top.content && top.content.nav_frame && top.content.nav_frame.document)      {
+                       TS.navFrameWidth = top.content.nav_frame.document.documentElement.clientWidth ? top.content.nav_frame.document.documentElement.clientWidth : top.content.nav_frame.document.body.clientWidth;
+               }
        }
        
        /**
index 202300c..4f2dd20 100755 (executable)
@@ -64,10 +64,16 @@ class SC_alt_mod_frameset {
 
                // Internal, static:
        var $defaultWidth = 245;                // Default width of the navigation frame. Can be overridden from $TBE_STYLES['dims']['navFrameWidth'] (alternative default value) AND from User TSconfig
+       var $resizable = TRUE;                  // If true, the frame can be resized.
        
                // Internal, dynamic:
        var $content;                                   // Content accumulation.
        
+               // GPvars:
+       var $exScript='';                               // Script to load in list frame.
+       var $id='';                                             // ID of page
+       var $fW='';                                             // Framewidth
+       
 
 
 
@@ -81,10 +87,22 @@ class SC_alt_mod_frameset {
         */
        function main() {
                global $BE_USER,$TBE_TEMPLATE,$TBE_STYLES;
+
+                       // GPvars:
+               $this->exScript = t3lib_div::GPvar('exScript');
+               $this->id = t3lib_div::GPvar('id');
+               $this->fW = t3lib_div::GPvar('fW');
                
-                       // Processing vars:
-               $width = $BE_USER->uc['navFrameWidth'];
-               $width = intval($width)?intval($width):($TBE_STYLES['dims']['navFrameWidth'] ? intval($TBE_STYLES['dims']['navFrameWidth']) : $this->defaultWidth);
+                       // Setting resizing flag:
+               $this->resizable = $BE_USER->uc['navFrameResizable'] ? TRUE : FALSE;
+
+                       // Setting frame width:
+               if (intval($this->fW) && $this->resizable)      {       // Framewidth from stored value, last one.
+                       $width = t3lib_div::intInRange($this->fW,100,1000)+10;  // +10 to compensate for width of scrollbar. However, width is always INSIDE scrollbars, so potentially it will jump a little forth/back...
+               } else {        //      Framewidth from configuration;
+                       $width = $BE_USER->uc['navFrameWidth'];
+                       $width = intval($width)?intval($width):($TBE_STYLES['dims']['navFrameWidth'] ? intval($TBE_STYLES['dims']['navFrameWidth']) : $this->defaultWidth);
+               }
                
                        // Navigation frame URL:
                $script = t3lib_div::GPvar('script');
@@ -92,14 +110,23 @@ class SC_alt_mod_frameset {
                $URL_nav = htmlspecialchars($nav.'?currentSubScript='.rawurlencode($script));
                
                        // List frame URL:
-               $exScript = t3lib_div::GPvar('exScript');
-               $id = t3lib_div::GPvar('id');
-               $URL_list = htmlspecialchars($exScript?$exScript:($script.($id?'?id='.rawurlencode($id):'')));
+               $URL_list = htmlspecialchars($this->exScript?$this->exScript:($script.($this->id?'?id='.rawurlencode($this->id):'')));
                
                        // Start page output
                $TBE_TEMPLATE->docType='xhtml_frames';
                $this->content = $TBE_TEMPLATE->startPage('Frameset');
-               $this->content.= '
+               
+               if ($this->resizable)   {
+                       $this->content.= '
+       <frameset cols="'.$width.',*">
+               <frame name="nav_frame" src="'.$URL_nav.'" marginwidth="0" marginheight="0" scrolling="auto" />
+               <frame name="list_frame" src="'.$URL_list.'" marginwidth="0" marginheight="0" scrolling="auto" />
+       </frameset>
+
+</html>
+';
+               } else {
+                       $this->content.= '
 
        <frameset cols="'.$width.',8,*" framespacing="0" frameborder="0" border="0">
                <frame name="nav_frame" src="'.$URL_nav.'" marginwidth="0" marginheight="0" frameborder="0" scrolling="auto" noresize="noresize" />
@@ -109,6 +136,7 @@ class SC_alt_mod_frameset {
 
 </html>
 ';
+               }
        }
 
        /**
index aefab5c..289c37f 100755 (executable)
@@ -120,6 +120,7 @@ class alt_menu_functions {
                                        $prefix=$moduleInfo['navFrameScript'].'?currentSubScript=';
                                } else {
                                        $prefix='alt_mod_frameset.php?'.
+                                               'fW="+top.TS.navFrameWidth+"'.
                                                '&nav='.rawurlencode($moduleInfo['navFrameScript']).
                                                '&script=';
                                }
index 5a3970c..fec60a2 100755 (executable)
@@ -517,7 +517,7 @@ class recordList extends t3lib_recordList {
                
                        // Output the label now:
                if ($table=='pages')    {
-                       return '<a href="'.htmlspecialchars($this->listURL($uid)).'">'.$code.'</a>';
+                       return '<a href="'.htmlspecialchars($this->listURL($uid,'')).'">'.$code.'</a>';
                } else {
                        return $code;
                }
index 63da846..ab132cb 100755 (executable)
@@ -447,7 +447,7 @@ class localRecordList extends recordList {
                                
                                
                        <!--
-                               DB listing of elements:                 
+                               DB listing of elements: "'.htmlspecialchars($table).'"
                        -->     
                                <table border="0" cellpadding="0" cellspacing="0" class="typo3-dblist">
                                        '.$out.'
@@ -479,7 +479,7 @@ class localRecordList extends recordList {
                        // Background color, if any:
                $row_bgColor=
                        $this->alternateBgColors ? 
-                       (($cc%2)?'' :' bgColor="'.t3lib_div::modifyHTMLColor($GLOBALS['SOBE']->doc->bgColor4,+10,+10,+10).'"') :
+                       (($cc%2)?'' :' bgcolor="'.t3lib_div::modifyHTMLColor($GLOBALS['SOBE']->doc->bgColor4,+10,+10,+10).'"') :
                        '';
 
                        // Initialization
index b8ffc3c..20185be 100755 (executable)
@@ -130,7 +130,7 @@ class fileList extends t3lib_recordList {
         * @return      void            
         */
        function generateList() {
-               $this->dirs = $this->readDirectory($this->path,'dir');
+               $this->dirs = $this->readDirectory($this->path,'dir,link');
                $this->files = $this->readDirectory($this->path,'file');
                $this->totalItems=count($this->dirs['sorting'])+count($this->files['sorting']);
                $this->HTMLcode.=$this->getTable($this->files, $this->dirs, 'fileext,tstamp,size,rw');
@@ -542,7 +542,7 @@ class fileList extends t3lib_recordList {
                                while($entry=$d->read()) {
                                        if ($entry!='.' && $entry!='..')        {
                                                $wholePath = $path.'/'.$entry;          // Because of odd PHP-error where  <br />-tag is sometimes placed after a filename!!
-                                               if (@file_exists($wholePath) && (!$type || filetype($wholePath)==$type))        {
+                                               if (@file_exists($wholePath) && (!$type || t3lib_div::inList($type,filetype($wholePath))))      {
                                                        if ($extList)   {
                                                                $fI = t3lib_div::split_fileref($entry);
                                                                if (t3lib_div::inList($extList,$fI['fileext'])) {
index 8f0a699..ec34c0c 100755 (executable)
@@ -169,7 +169,7 @@ class SC_db_list {
                $this->modTSconfig = t3lib_BEfunc::getModTSconfig($this->id,'mod.'.$this->MCONF['name']);
                
                        // Clean up settings:
-               $this->MOD_SETTINGS = t3lib_BEfunc::getModuleData($this->MOD_MENU, t3lib_div::GPvar('SET'), $this->MCONF['name']);
+               $this->MOD_SETTINGS = t3lib_BEfunc::getModuleData($this->MOD_MENU, t3lib_div::GPvar('SET',1), $this->MCONF['name']);
        }
 
        /**
@@ -351,12 +351,20 @@ class SC_db_list {
                        }
 
                                // Adding checkbox options for extended listing and clipboard display:
-                       $this->content.='<form action="" method="post">';
-                       $this->content.=t3lib_BEfunc::getFuncCheck($this->id,'SET[bigControlPanel]',$this->MOD_SETTINGS['bigControlPanel'],'db_list.php','').' '.$LANG->getLL('largeControl',1).'<br />';
-                       if ($dblist->showClipboard)     {
-                               $this->content.=t3lib_BEfunc::getFuncCheck($this->id,'SET[clipBoard]',$this->MOD_SETTINGS['clipBoard'],'db_list.php','').' '.$LANG->getLL('showClipBoard',1);
-                       }
-                       $this->content.='</form>';
+                       $this->content.='
+                                       
+                                       <!--
+                                               Listing options for clipboard and thumbnails
+                                       -->
+                                       <div id="typo3-listOptions">
+                                               <form action="" method="post">';
+                               $this->content.=t3lib_BEfunc::getFuncCheck($this->id,'SET[bigControlPanel]',$this->MOD_SETTINGS['bigControlPanel'],'db_list.php','').' '.$LANG->getLL('largeControl',1).'<br />';
+                               if ($dblist->showClipboard)     {
+                                       $this->content.=t3lib_BEfunc::getFuncCheck($this->id,'SET[clipBoard]',$this->MOD_SETTINGS['clipBoard'],'db_list.php','').' '.$LANG->getLL('showClipBoard',1);
+                               }
+                               $this->content.='
+                                               </form>
+                                       </div>';
                
                                // Printing clipboard if enabled:
                        if ($this->MOD_SETTINGS['clipBoard'] && $dblist->showClipboard) {
index 084b86d..34e5a5f 100755 (executable)
@@ -137,7 +137,6 @@ class SC_db_new {
        var $allowedNewTables_pid;
        var $code;
        var $R_URI;
-       var $code;      
        
                // Internal, static: GPvar
        var $id;                        // see init()
@@ -299,9 +298,9 @@ class SC_db_new {
                                // Create link to new page inside:
                        $t='pages';
                        $v=$TCA[$t];
-                       $this->code.=$this->linkWrap(
-                                               '<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/ol/join.gif','width="18" height="16"').' alt="" />'.
-                                                       '<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/i/'.($v['ctrl']['iconfile'] ? $v['ctrl']['iconfile'] : $t.'.gif'),'width="18" height="16"').' alt="" /> '.
+                       $this->code.='<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/ol/join.gif','width="18" height="16"').' alt="" />'.
+                                                       $this->linkWrap(
+                                                       '<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/i/'.($v['ctrl']['iconfile'] ? $v['ctrl']['iconfile'] : $t.'.gif'),'width="18" height="16"').' alt="" />'.
                                                        $LANG->sL($v['ctrl']['title'],1).' ('.$LANG->sL('LLL:EXT:lang/locallang_core.php:db_new.php.inside',1).')',
                                                $t,
                                                $this->id);
@@ -310,7 +309,7 @@ class SC_db_new {
                        if (isset($TCA_DESCR[$t]['columns']['']))       {
                                $onClick = 'vHWin=window.open(\'view_help.php?tfID='.$t.'.\',\'viewFieldHelp\',\'height=300,width=250,status=0,menubar=0,scrollbars=1\');vHWin.focus();return false;';
                                $this->code.='<a href="#" onclick="'.htmlspecialchars($onClick).'">'.
-                                                       '<img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/helpbubble.gif','width="14" height="14"').' align="right"'.$this->doc->helpStyle().' alt="" />'.
+                                                       '<img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/helpbubble.gif','width="14" height="14"').' class="c-helpImg" align="right"'.$this->doc->helpStyle().' alt="" />'.
                                                        '</a>';
                        }
                        $this->code.='<br />
@@ -339,8 +338,8 @@ class SC_db_new {
                                                        )       {
 
                                                        // Create new link for record:
-                                               $this->code.=$this->linkWrap(
-                                                       '<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/ol/join.gif','width="18" height="16"').' alt="" />'.
+                                               $this->code.='<img'.t3lib_iconWorks::skinImg($BACK_PATH,'gfx/ol/join.gif','width="18" height="16"').' alt="" />'.
+                                                               $this->linkWrap(
                                                                t3lib_iconWorks::getIconImage($t,array(),$BACK_PATH,'').
                                                                $LANG->sL($v['ctrl']['title'],1)
                                                        ,$t
@@ -352,7 +351,7 @@ class SC_db_new {
                                                        if (isset($TCA_DESCR[$t]['columns']['']))       {
                                                                $onClick = 'vHWin=window.open(\'view_help.php?tfID='.$t.'.\',\'viewFieldHelp\',\'height=300,width=250,status=0,menubar=0,scrollbars=1\');vHWin.focus();return false;';
                                                                $this->code.='<a href="#" onclick="'.htmlspecialchars($onClick).'">'.
-                                                                       '<img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/helpbubble.gif','width="14" height="14"').' align="right"'.$this->doc->helpStyle().' alt="" />'.
+                                                                       '<img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/helpbubble.gif','width="14" height="14"').' class="c-helpImg" align="right"'.$this->doc->helpStyle().' alt="" />'.
                                                                        '</a>';
                                                        }
                                                }
@@ -368,8 +367,8 @@ class SC_db_new {
                                                                                htmlspecialchars($LANG->getLL('clickForWizard')).
                                                                                '</a><br />
                                                                                ';
-                                                       $this->code.='<img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/ol/halfline.gif','width="18" height="8"').' align="top" alt="" /><br />
-                                                       ';
+                                                       $this->code.='<img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/ol/halfline.gif','width="18" height="8"').' alt="" /><br />
+                                                                               ';
                                                }
                                        }
                                }
@@ -393,7 +392,7 @@ class SC_db_new {
                        if (isset($TCA_DESCR[$t]['columns']['']))       {
                                $onClick = 'vHWin=window.open(\'view_help.php?tfID='.$t.'.\',\'viewFieldHelp\',\'height=300,width=250,status=0,menubar=0,scrollbars=1\');vHWin.focus();return false;';
                                $this->code.='<a href="#" onclick="'.htmlspecialchars($onCLick).'">'.
-                                                       '<img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/helpbubble.gif','width="14" height="14"').' align="right"'.$this->doc->helpStyle().' alt="" />'.
+                                                       '<img'.t3lib_iconWorks::skinImg($this->doc->backPath,'gfx/helpbubble.gif','width="14" height="14"').' class="c-helpImg" align="right"'.$this->doc->helpStyle().' alt="" />'.
                                                        '</a>';
                        }
                        $this->code.='<br />
index 668a2fa..10f49d5 100755 (executable)
@@ -140,7 +140,7 @@ class SC_file_list {
                );
                        
                        // CLEANSE SETTINGS
-               $this->MOD_SETTINGS = t3lib_BEfunc::getModuleData($this->MOD_MENU, t3lib_div::GPvar('SET'), $this->MCONF['name']);
+               $this->MOD_SETTINGS = t3lib_BEfunc::getModuleData($this->MOD_MENU, t3lib_div::GPvar('SET',1), $this->MCONF['name']);
        }
 
        /**
@@ -241,13 +241,27 @@ class SC_file_list {
                        $this->content.= $filelist->HTMLcode;
                        $this->content.= '<input type="hidden" name="cmd" /></form>';
                        
-                       if ($filelist->HTMLcode)        {       // Making search form:
+                       if ($filelist->HTMLcode)        {       // Making listing options:
+
+                               $this->content.='
+                               
+                                       <!--
+                                               Listing options for clipboard and thumbnails
+                                       -->
+                                       <div id="typo3-listOptions">
+                               ';
+
                                        // Add "display thumbnails" checkbox:
                                $this->content.=t3lib_BEfunc::getFuncCheck($this->id,'SET[displayThumbs]',$this->MOD_SETTINGS['displayThumbs'],'file_list.php','').' '.$LANG->getLL('displayThumbs',1).'<br />';
        
                                        // Add clipboard button
                                $this->content.=t3lib_BEfunc::getFuncCheck($this->id,'SET[clipBoard]',$this->MOD_SETTINGS['clipBoard'],'file_list.php','').' '.$LANG->getLL('clipBoard',1);
                                        
+                               $this->content.='
+                                       </div>
+                               ';
+
+
                                        // Set clipboard:
                                if ($this->MOD_SETTINGS['clipBoard'])   $this->content.=$filelist->clipObj->printClipboard();
                        }
index 19d1583..8530043 100755 (executable)
@@ -257,7 +257,7 @@ $BE_USER = t3lib_div::makeInstance('t3lib_beUserAuth');     // New backend user obje
 $BE_USER->warningEmail = $TYPO3_CONF_VARS['BE']['warning_email_addr'];
 $BE_USER->OS = TYPO3_OS;
 $BE_USER->start();                     // Object is initialized
-$BE_USER->backendCheckLogin(); // Checking if there's a user logged in and if so, call the 
+$BE_USER->backendCheckLogin(); // Checking if there's a user logged in
 $BE_USER->trackBeUser($TYPO3_CONF_VARS['BE']['trackBeUser']);  // Tracking backend user script hits
 
        // Setting the web- and filemount global vars:
index 547cc0b..3f23bb2 100755 (executable)
@@ -390,7 +390,7 @@ class SC_mod_tools_em_index {
                }
                
                        // CLEANSE SETTINGS
-               $this->MOD_SETTINGS = t3lib_BEfunc::getModuleData($this->MOD_MENU, t3lib_div::GPvar("SET"), $this->MCONF["name"]);
+               $this->MOD_SETTINGS = t3lib_BEfunc::getModuleData($this->MOD_MENU, t3lib_div::GPvar("SET",1), $this->MCONF["name"]);
                if ($this->MOD_SETTINGS["function"]==2) {
                                // If listing from online repository, certain items are removed though:
                        unset($this->MOD_MENU["listOrder"]["type"]);
@@ -398,7 +398,7 @@ class SC_mod_tools_em_index {
                        unset($this->MOD_MENU["display_details"][3]);
                        unset($this->MOD_MENU["display_details"][4]);
                        unset($this->MOD_MENU["display_details"][5]);
-                       $this->MOD_SETTINGS = t3lib_BEfunc::getModuleData($this->MOD_MENU, t3lib_div::GPvar("SET"), $this->MCONF["name"]);
+                       $this->MOD_SETTINGS = t3lib_BEfunc::getModuleData($this->MOD_MENU, t3lib_div::GPvar("SET",1), $this->MCONF["name"]);
                }
        }
 
@@ -1087,7 +1087,7 @@ EXTENSION KEYS:
                                                        $updates=$this->updatesForm($extKey,$list[$extKey],1,"",'<input type="hidden" name="_do_install" value="1"><input type="hidden" name="_clrCmd" value="'.$this->CMD["clrCmd"].'">');
                                                        if ($updates)   {
                                                                $updates = 'Before the extension can be installed the database needs to be updated with new tables or fields. Please select which operations to perform:'.$updates;
-                                                               $this->content.=$this->doc->section("Installing ".$this->extensionTitleIconHeader($extKey,$list[$extKey]).strtoupper(": Database needs to be updated"),$updates,1,1,1);
+                                                               $this->content.=$this->doc->section("Installing ".$this->extensionTitleIconHeader($extKey,$list[$extKey]).strtoupper(": Database needs to be updated"),$updates,1,1,1,1);
                                                        }
 #                                                      $updates.=$this->checkDBupdates($extKey,$list[$extKey]);
 #                                                      $updates.= $this->checkClearCache($extKey,$list[$extKey]); 
@@ -1110,7 +1110,7 @@ EXTENSION KEYS:
                                                                <input type="hidden" name="_do_install" value="1">
                                                                <input type="hidden" name="_clrCmd" value="'.$this->CMD["clrCmd"].'">
                                                                ';
-                                                               $this->content.=$this->doc->section("Installing ".$this->extensionTitleIconHeader($extKey,$list[$extKey]).strtoupper(": Database needs to be updated"),$updates,1,1,1);
+                                                               $this->content.=$this->doc->section("Installing ".$this->extensionTitleIconHeader($extKey,$list[$extKey]).strtoupper(": Database needs to be updated"),$updates,1,1,1,1);
                                                        }
                                                }
                                                if (!$updates || t3lib_div::GPvar("_do_install")) {
@@ -2560,7 +2560,7 @@ EXTENSION KEYS:
                        
                        $MOD_MENU=array();
                        $MOD_MENU["constant_editor_cat"] = $tsStyleConfig->ext_getCategoriesForModMenu();
-                       $MOD_SETTINGS = t3lib_BEfunc::getModuleData($MOD_MENU, t3lib_div::GPvar("SET"), "xMod_test");
+                       $MOD_SETTINGS = t3lib_BEfunc::getModuleData($MOD_MENU, t3lib_div::GPvar("SET",1), "xMod_test");
                        
                                // Resetting the menu (stop)
                        if (count($MOD_MENU)>1) {
index 6f68e70..dfb35ff 100755 (executable)
@@ -197,7 +197,7 @@ class SC_mod_web_perm_index {
                );
                
                        // Clean up settings:
-               $this->MOD_SETTINGS = t3lib_BEfunc::getModuleData($this->MOD_MENU, t3lib_div::GPvar('SET'), $this->MCONF['name']);
+               $this->MOD_SETTINGS = t3lib_BEfunc::getModuleData($this->MOD_MENU, t3lib_div::GPvar('SET',1), $this->MCONF['name']);
        }
 
        /**
@@ -574,7 +574,7 @@ class SC_mod_web_perm_index {
                $legendText.= '<br /><b>'.$LANG->getLL('4',1).'</b>: '.$LANG->getLL('4_t',1);
                $legendText.= '<br /><b>'.$LANG->getLL('8',1).'</b>: '.$LANG->getLL('8_t',1);
                
-               $code='<table border="0" id="typo3-permissionList">
+               $code='<table border="0" id="typo3-legendTable">
                        <tr>
                                <td valign="top"><img src="legend.gif" width="86" height="75" alt="" /></td>
                                <td valign="top" nowrap="nowrap">'.$legendText.'</td>
index bff4eb9..20b9123 100755 (executable)
@@ -161,7 +161,7 @@ TABLE#typo3-CSM-top IMG.c-roimg { margin-right: 2px; }
 TABLE.typo3-CSM { border: #9BA1A8 1px solid; }
 TABLE.typo3-CSM TD.typo3-CSM-item { white-space: nowrap; }
 TABLE.typo3-CSM TR.typo3-CSM-itemRow TD { padding: 1px 5px 1px 5px; }
-TABLE.typo3-CSM TR.typo3-CSM-itemRow { height: 13px; cursor: hand; }
+TABLE.typo3-CSM TR.typo3-CSM-itemRow { height: 13px; cursor: pointer; }
 
 /* Top menu (alt_topmenu_dummy.php) */
 BODY#typo3-alt-topmenu-dummy-php {     background-image: url(gfx/alt_topmenu_back_dummy.gif); }
@@ -268,6 +268,8 @@ INPUT.c-inputButton, IMG.c-inputButton { margin-right: 2px;  vertical-align: mid
 DIV#c-saveButtonPanel, DIV#c-inputMode { margin-top: 10px; }
 TABLE#typo3-formwizard TR#typo3-formWizardHeader TD { font-weight: bold; text-align: center; }
 TABLE#typo3-formwizard TR TD { padding: 0px 2px 0px 2px; }
+BODY#typo3-wizard-rte-php, BODY#typo3-wizard-rte-php TABLE#typo3-rtewizard { height: 98%; }
+BODY#typo3-wizard-rte-php TABLE#typo3-rtewizard TR TD#c-formContent { height: 100%; vertical-align: top; }
 
 /* History / Undo */
 TABLE#typo3-history TR TD, TABLE#typo3-history-item TR TD { vertical-align: top; }
@@ -298,25 +300,33 @@ TABLE.typo3-page-columnsMode TABLE.typo3-page-ceHeader IMG { vertical-align: mid
 TABLE.typo3-page-columnsMode IMG.c-divider { margin: 10px 0px 5px 0px;}
 
 /* Web > List */
+BODY#typo3-db-list-php { margin-left: 4px; }
 TABLE.typo3-dblist IMG { vertical-align: middle; }
 TABLE.typo3-dblist TR TD { padding-left: 1px; padding-right: 6px; }
-TABLE.typo3-dblist TR TD.c-headLineTable { background-color: #cccccc; }
+TABLE.typo3-dblist TR TD.c-headLineTable { background-color: #cccccc; height: 16px; }
 TABLE.typo3-dblist TR TD.c-headLine { background-color: #eeeeee; }
-TABLE.typo3-dblist TR TD.c-headLineTable A SPAN.c-table { font-weight: bold; }
+TABLE.typo3-dblist TR TD.c-headLineTable A { text-decoration: none;font-weight: bold; }
 TABLE.typo3-dblist TR TD DIV.typo3-DBctrl { background-color: #C5C1B5; }
 TABLE.typo3-dblist TR TD DIV.typo3-clipCtrl {background-color: #ABBBB4; text-align: center; }
 TABLE.typo3-dblist TR TD DIV.typo3-clipCtrl IMG, TABLE.typo3-dblist TR TD DIV.typo3-DBctrl IMG { margin-left: 1px; margin-right: 1px; }
+
 DIV#typo3-newRecordLink { margin: 5px 0px 5px 0px; font-weight: bold;}
 DIV#typo3-newRecordLink IMG { margin-right: 5px; vertical-align: middle; }
+
+INPUT.smallCheckboxes { vertical-align: middle; margin: 0 0 0 0; padding: 0 0 0 0; width: 12px; height: 12px; }
+DIV#typo3-listOptions { margin: 10px 0px 10px 0px; }
+
 /* File > List */
+BODY#typo3-file-list-php { margin-left: 4px; }
 TABLE#typo3-filelist IMG { vertical-align: middle; }
 TABLE#typo3-filelist TR TD { padding-left: 1px; padding-right: 6px; }
-TABLE#typo3-filelist TR TD.c-headLine  { background-color: #cccccc; font-weight: bold; }
+TABLE#typo3-filelist TR TD.c-headLine  { background-color: #cccccc; font-weight: bold; height: 16px; }
 TABLE#typo3-filelist TR TD DIV.typo3-clipCtrl {background-color: #ABBBB4; text-align: center; }
 
 /* Clipboard */
 TABLE#typo3-clipboard, DIV#typo3-newRecordLink, TABLE#typo3-dblist-search { margin-top: 10px; }
+TABLE#typo3-clipboard TR.bgColor5 TD A { text-decoration: none; }
+TABLE#typo3-clipboard TR.bgColor5 TD IMG { vertical-align: middle; }
 
 /* Page info */
 TABLE.typo3-page-pages TR TD.c-headLine { background-color: #ABBBB4; }
@@ -326,11 +336,15 @@ TABLE.typo3-page-sysnote TR TD.c-headLine { background-color: #c5c1b5 }
 
 /* Web > Access */
 TABLE#typo3-permissionList IMG { vertical-align: middle; }
-
-
-
-
-
+TABLE#typo3-permissionMatrix TD { text-align: center; width: 16%; }
+TABLE#typo3-permissionMatrix TD.bgColor2 { font-weight: bold; padding-left: 10px; padding-right: 10px; }
+
+/* New element */
+BODY#typo3-db-new-php IMG { vertical-align: middle; }
+BODY#typo3-db-new-php A IMG { margin-right: 5px; }
+BODY#typo3-db-new-php A { text-decoration: none; }
+BODY#typo3-db-new-php IMG.c-helpImg { margin-left: 20px; text-align: right; }
+BODY#typo3-db-new-php DIV#typo3-newPageLink { margin-top: 20px; }
 
 /*********************************************
  * VARIOUS STAND-ALONE classes:
index fbf4419..293c390 100755 (executable)
@@ -638,7 +638,7 @@ $TCA['static_template'] = Array (
                'label' => 'title',
                'tstamp' => 'tstamp',
                'title' => 'LLL:EXT:cms/locallang_tca.php:static_template',
-               'readOnly' => 1,        // This should always be true, as it prevents the static templates from being altered
+               'readOnly' => 0,        // This should always be true, as it prevents the static templates from being altered
                'adminOnly' => 1,       // Only admin, if any
                'rootLevel' => 1,
                'is_static' => 1,
index ef6fee7..815eb13 100755 (executable)
@@ -354,7 +354,7 @@ class SC_db_layout {
                }
                
                        // Clean up settings
-               $this->MOD_SETTINGS = t3lib_BEfunc::getModuleData($this->MOD_MENU, t3lib_div::GPvar('SET'), $this->MCONF['name']);
+               $this->MOD_SETTINGS = t3lib_BEfunc::getModuleData($this->MOD_MENU, t3lib_div::GPvar('SET',1), $this->MCONF['name']);
        }
 
        /**
index 1437d9e..ddfa686 100755 (executable)
@@ -2849,7 +2849,6 @@ class tslib_cObj {
                                if ($conf['substring']){$content=$this->substring($content,$conf['substring']);}
                                if ($conf['crop']){$content=$this->crop($content, $conf['crop']);}
                                if ($conf['stripHtml']){$content=strip_tags($content);}
-                               if ($conf['htmlSpecialChars']){$content=htmlSpecialChars($content);}
                                if ($conf['htmlSpecialChars']){
                                        $content=htmlSpecialChars($content);
                                        if ($conf['htmlSpecialChars.']['preserveEntities'])     $content = t3lib_div::deHSCentities($content);
@@ -3344,7 +3343,10 @@ class tslib_cObj {
         * @link http://typo3.org/doc.0.html?&tx_extrepmgm_pi1[extUid]=270&tx_extrepmgm_pi1[tocEl]=325&cHash=ae4272e694
         */
        function addParams($content,$conf) {
-               if (!is_array($conf))   {return $content;}
+               $lowerCaseAttributes = TRUE;    // For XHTML compliance.
+               
+               if (!is_array($conf))   { return $content; }
+               
                $key = 1;
                $parts = explode('<',$content);
                if (intval($conf['_offset']))   $key = intval($conf['_offset'])<0 ? count($parts)+intval($conf['_offset']) : intval($conf['_offset']);
@@ -3359,9 +3361,11 @@ class tslib_cObj {
                        while(list($pkey,$val)=each($conf))     {
                                if (substr($pkey,-1)!='.' && substr($pkey,0,1)!='_')    {
                                        $tmpVal=$this->stdWrap($conf[$pkey],$conf[$pkey.'.']);
+                                       if ($lowerCaseAttributes)       { $pkey = strtolower($pkey); }
                                        if (strcmp($tmpVal,'')) {$attribs[$pkey]=$tmpVal;}
                                }
                        }
+
                                // Re-assembles the tag and content
                        $subparts[0]=trim($tagName.' '.t3lib_div::implodeParams($attribs));
                        $parts[$key] = implode('>',$subparts);
@@ -4606,7 +4610,7 @@ class tslib_cObj {
                                                if (substr($addQueryParams,0,1)!='&')           {
                                                        $addQueryParams='';
                                                } elseif ($conf['useCacheHash']) {      // cache hashing:
-                                                       $pA=$GLOBALS['TSFE']->cHashParams($addQueryParams);
+                                                       $pA=$GLOBALS['TSFE']->cHashParams($addQueryParams.$GLOBALS['TSFE']->linkVars);  // Added '.$this->linkVars' dec 2003: The need for adding the linkVars is that they will be included in the link, but not the cHash. Thus the linkVars will always be the problem that prevents the cHash from working. I cannot see what negative implications in terms of incompatibilities this could bring, but for now I hope there are none. So here we go... (- kasper)
                                                        $addQueryParams.='&cHash='.t3lib_div::shortMD5(serialize($pA));
                                                }
                                                        // MointPoints:
@@ -6347,7 +6351,7 @@ class tslib_tableOffset   {
                        }
                                // Middle row:
                        $rows[2].= '<tr>';
-                       if ($valPairs[0])       {$rows[2].= $valPairs[1] ? '<td></td>' : '<td><img src="'.$GLOBALS['TSFE']->absRefPrefix.'clear.gif" width="'.$valPairs[0].'" height="1"></td>';}
+                       if ($valPairs[0])       {$rows[2].= $valPairs[1] ? '<td></td>' : '<td><img src="'.$GLOBALS['TSFE']->absRefPrefix.'clear.gif" width="'.$valPairs[0].'" height="1" alt="" /></td>';}
                        $rows[2].= '<td'.$this->tdParams.'>'.$content.'</td>';
                        if ($valPairs[2])       {$rows[2].= $valPairs[3] ? '<td>'.$heightImg.'</td>' : '<td><img src="'.$GLOBALS['TSFE']->absRefPrefix.'clear.gif" width="'.$valPairs[2].'" height="'.($valPairs[5]?$valPairs[5]:1).'" alt="" /></td>';}
                        $rows[2].= '</tr>';
@@ -6474,7 +6478,7 @@ class tslib_controlTable  {
                        if (isset($middle[0]))  {$res.=$middle[0];}
 
                                // venstre for content
-                       if ($cMargArr[2])       {       $res.='<td'.$rowspan.'><img src="'.$GLOBALS['TSFE']->absRefPrefix.'clear.gif" height="1" width="'.$cMargArr[2].'"></td>';               }
+                       if ($cMargArr[2])       {       $res.='<td'.$rowspan.'><img src="'.$GLOBALS['TSFE']->absRefPrefix.'clear.gif" height="1" width="'.$cMargArr[2].'" alt="" /></td>';              }
                        if ($this->rm)  {       $res.='<td'.$rowspan.' '.$this->rmTDparams.'>'.$this->rm.'</td>';               }
                        $res.= '</tr>';
 
index cbfd61c..5ae22c0 100755 (executable)
        var $sWordRegEx='';                                     // Search word regex, calculated if there has been search-words send. This is used to mark up the found search words on a page when jumped to from a link in a search-result.
        var $sWordList='';                                      // Is set to the incoming array sword_list in case of a page-view jumped to from a search-result.
        var $linkVars='';                                       // A string prepared for insertion in all links on the page as url-parameters. Based on configuration in TypoScript where you defined which GET_VARS you would like to pass on.
+       var $excludeCHashVars='';                       // A string set with a comma list of additional GET vars which should NOT be included in the cHash calculation. These vars should otherwise be detected and involved in caching, eg. through a condition in TypoScript.
        var $displayEditIcons='';                       // If set, edit icons are rendered aside content records. Must be set only if the ->beUserLogin flag is set and set_no_cache() must be called as well.
        var $displayFieldEditIcons='';          // If set, edit icons are rendered aside individual fields of content. Must be set only if the ->beUserLogin flag is set and set_no_cache() must be called as well.
        var $sys_language_uid=0;                        // Site language, 0 (zero) is default, int+ is uid pointing to a sys_language record.
         */
        function cHashParams($addQueryParams) {
                $params = explode('&',substr($addQueryParams,1));       // Splitting parameters up
+               
+                       // Make array:
                $pA=array();
                while(list(,$theP)=each($params))       {
                        $pKV = explode('=',$theP);      // SPlitting single param by '=' sign
index 7d1a5f0..5032aa1 100755 (executable)
@@ -155,7 +155,6 @@ class tslib_menu {
        var $sys_page;  // sys_page-object
        var $id;                        // the base-id of the menu. 
        var $nextActive;
-       var $menuNumber;
        var $menuArr;   // The array of menuItems which is built
        var $hash;
        var $result = Array();
@@ -2146,7 +2145,7 @@ class tslib_imgmenu extends tslib_menu {
                        $menuName = 'menu_'.t3lib_div::shortMD5($res['imgMap']);        // shortMD5 260900  
                        $result = '<img src="'.$GLOBALS['TSFE']->absRefPrefix.$res['output_file'].'" width="'.$res['output_w'].'" height="'.$res['output_h'].'" usemap="#'.$menuName.'" border="0" '.$this->mconf['params'];
                        if (!strstr($result,'alt="'))   $result.=' alt="Menu Image Map"';       // Adding alt attribute if not set.
-                       $result.= ' /><map name="'.$menuName.'">'.$res['imgMap'].'</map>';
+                       $result.= ' /><map name="'.$menuName.'" id="'.$menuName.'">'.$res['imgMap'].'</map>';
 
                        $GLOBALS['TSFE']->imagesOnPage[]=$res['output_file'];
 
@@ -2241,7 +2240,7 @@ class tslib_jsmenu extends tslib_menu {
                        }
                        $formCode = $this->tmpl->wrap($allFormCode,$this->mconf['wrap']);
        
-                       $formCode= '<form action="" method="post" name="'.$this->JSMenuName.'Form">'.$formCode.'</form>';
+                       $formCode= '<form action="" method="post" style="margin: 0 0 0 0;" name="'.$this->JSMenuName.'Form">'.$formCode.'</form>';
                        $formCode.='<script type="text/javascript"> /*<![CDATA[*/ '.$this->JSMenuName.'.writeOut(1,'.$this->JSMenuName.'.openID,1); /*]]>*/ </script>';
                        return $this->tmpl->wrap($formCode,$this->mconf['wrapAfterTags']);      
                }
index c574875..eb7a430 100755 (executable)
@@ -190,8 +190,8 @@ function linkTo_UnCryptMailto(s)    {       //
                $GLOBALS['TSFE']->linkVars = ''.$GLOBALS['TSFE']->config['config']['linkVars'];
                if ($GLOBALS['TSFE']->linkVars) {
                        $linkVarArr = explode(',',$GLOBALS['TSFE']->linkVars);
-                       reset($linkVarArr);
                        $GLOBALS['TSFE']->linkVars='';
+                       reset($linkVarArr);
                        while(list(,$val)=each($linkVarArr))    {
                                $val=trim($val);
                                if ($val && isset($GLOBALS['HTTP_GET_VARS'][$val]))     {
@@ -327,6 +327,13 @@ function linkTo_UnCryptMailto(s)   {       //
 <?xml version="1.0" encoding="'.$theCharset.'"?>
 ';
                        break;
+                       case 'xhtml_frames':
+                               $GLOBALS['TSFE']->content.='<!DOCTYPE html 
+     PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
+     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
+<?xml version="1.0" encoding="'.$theCharset.'"?>
+';
+                       break;
                        default:
                                $GLOBALS['TSFE']->content.='<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">';
                        break;
@@ -428,6 +435,13 @@ function linkTo_UnCryptMailto(s)   {       //
                        }
                }
                
+                       // Setting body tag margins in CSS:
+               if (isset($GLOBALS['TSFE']->pSetup['bodyTagMargins']) && $GLOBALS['TSFE']->pSetup['bodyTagMargins.']['useCSS']) {
+                       $margins = intval($GLOBALS['TSFE']->pSetup['bodyTagMargins']);
+                       $style.='
+BODY {margin: '.$margins.'px '.$margins.'px '.$margins.'px '.$margins.'px;}';
+               }
+
                if ($GLOBALS['TSFE']->pSetup['noLinkUnderline'])        {
                        $style.='
 A:link {text-decoration: none}
@@ -524,7 +538,8 @@ INPUT   {  font-family: Verdana, Arial, Helvetica; font-size: 10px }';
                }
                $JSef = TSpagegen::JSeventFunctions();
 
-               $GLOBALS['TSFE']->content.='
+               if (!$GLOBALS['TSFE']->config['config']['removeDefaultJS']) {
+                       $GLOBALS['TSFE']->content.='
 <script type="text/javascript">
        /*<![CDATA[*/
 <!--
@@ -538,8 +553,10 @@ INPUT   {  font-family: Verdana, Arial, Helvetica; font-size: 10px }';
        }
 // -->
        /*]]>*/
-</script>
-'.implode($GLOBALS['TSFE']->additionalHeaderData,chr(10)).'
+</script>';
+               }
+
+               $GLOBALS['TSFE']->content.=implode($GLOBALS['TSFE']->additionalHeaderData,chr(10)).'
 '.$JSef[0].'
 </head>';
                if ($GLOBALS['TSFE']->pSetup['frameSet.'])      {
@@ -548,20 +565,27 @@ INPUT   {  font-family: Verdana, Arial, Helvetica; font-size: 10px }';
                        $GLOBALS['TSFE']->content.= chr(10).'<noframes>'.chr(10);
                }
                
-               // Bodytag:
+                       // Bodytag:
                $defBT = $GLOBALS['TSFE']->pSetup['bodyTagCObject'] ? $GLOBALS['TSFE']->cObj->cObjGetSingle($GLOBALS['TSFE']->pSetup['bodyTagCObject'],$GLOBALS['TSFE']->pSetup['bodyTagCObject.'],'bodyTagCObject') : '';
                if (!$defBT)    $defBT = '<body bgcolor="#FFFFFF">';
                $bodyTag = $GLOBALS['TSFE']->pSetup['bodyTag'] ? $GLOBALS['TSFE']->pSetup['bodyTag'] : $defBT;
                if ($bgImg=$GLOBALS['TSFE']->cObj->getImgResource($GLOBALS['TSFE']->pSetup['bgImg'],$GLOBALS['TSFE']->pSetup['bgImg.']))        {
                        $bodyTag = ereg_replace('>$','',trim($bodyTag)).' background="'.$GLOBALS["TSFE"]->absRefPrefix.$bgImg[3].'">';
                }
+               
                if (isset($GLOBALS['TSFE']->pSetup['bodyTagMargins']))  {
-                       $margins = $GLOBALS['TSFE']->pSetup['bodyTagMargins'];
-                       $bodyTag = ereg_replace('>$','',trim($bodyTag)).' leftmargin="'.$margins.'" topmargin="'.$margins.'" marginwidth="'.$margins.'" marginheight="'.$margins.'">';
+                       $margins = intval($GLOBALS['TSFE']->pSetup['bodyTagMargins']);
+                       if ($GLOBALS['TSFE']->pSetup['bodyTagMargins.']['useCSS'])      {
+                               // Setting margins in CSS, see above
+                       } else {
+                               $bodyTag = ereg_replace('>$','',trim($bodyTag)).' leftmargin="'.$margins.'" topmargin="'.$margins.'" marginwidth="'.$margins.'" marginheight="'.$margins.'">';
+                       }
                }
+               
                if (trim($GLOBALS['TSFE']->pSetup['bodyTagAdd']))       {
                        $bodyTag = ereg_replace('>$','',trim($bodyTag)).' '.trim($GLOBALS['TSFE']->pSetup['bodyTagAdd']).'>';
                }
+               
                if (count($JSef[1]))    {       // Event functions:
                        $bodyTag = ereg_replace('>$','',trim($bodyTag)).' '.trim(implode(' ',$JSef[1])).'>';
                }
index 4970526..6141053 100755 (executable)
@@ -110,7 +110,7 @@ function user_IProcFuncTest($I,$conf)       {
        $conf['parentObj']->I = $I;
        $conf['parentObj']->setATagParts();
        $I = $conf['parentObj']->I;
-       $I['parts']['ATag_begin']=$I['A1'];
+       if ($I['parts']['ATag_begin'])  $I['parts']['ATag_begin']=$I['A1'];
 
        if ($conf['debug'])     {
                        // Outputting for debug example:
index 2bb384a..80996d9 100755 (executable)
@@ -69,7 +69,8 @@
  * @see tslib_cObj::typoLink()
  */
 function user_typoLinkPopUp($content,$conf)    {
-       $TAG =  '<a href="#" onClick="openPic(\''.htmlspecialchars($content['url']).'\',\'popupwin\',\'width=400,height=500,status=0,menubar=0\'); return false;"'.$content['aTagParams'].'>';
+       $aOnClick = 'openPic(\''.$content['url'].'\',\'popupwin\',\'width=400,height=500,status=0,menubar=0\'); return false;';
+       $TAG =  '<a href="#" onclick="'.htmlspecialchars($aOnClick).'"'.$content['aTagParams'].'>';
        return $TAG;
 }
 
index 79da0a9..0c3a0ee 100755 (executable)
@@ -135,7 +135,7 @@ class tslib_gmenu_foldout extends tslib_gmenu {
                $this->WMtableWrap = $this->mconf['dontWrapInTable'] ? '' : '<table cellspacing="0" cellpadding="0" width="100%" border="0"><tr><td>|</td></tr></table>';
 
                if ($this->WMimagesFlag)        {
-                       $this->WMimageHTML='<img src="'.$GLOBALS['TSFE']->absRefPrefix.$this->WMarrowNO[3].'" width="'.$this->WMarrowNO[0].'" height="'.$this->WMarrowNO[1].'" border="0" name="imgA'.$key.'"'.($this->mconf['arrowImgParams']?' '.$this->mconf['arrowImgParams']:'').' />';            
+                       $this->WMimageHTML='<img src="'.$GLOBALS['TSFE']->absRefPrefix.$this->WMarrowNO[3].'" width="'.$this->WMarrowNO[0].'" height="'.$this->WMarrowNO[1].'" border="0" name="imgA'.$key.'"'.($this->mconf['arrowImgParams']?' '.$this->mconf['arrowImgParams']:'').' alt="" />';             
                } else {$this->WMimageHTML="";}
 
                if (strstr($this->I['theItem'], '###ARROW_IMAGE###'))   {
index 2c87709..4715983 100644 (file)
@@ -235,7 +235,7 @@ GLV_restoreMenu["'.$this->WMid.'"] = "'.$this->WMactiveKey.'";
         */
        function extProc_beforeAllWrap($item,$key)      {
                if ($this->mconf['relativeToTriggerItem'])      {
-                       $item = '<div id="anchorID'.t3lib_div::shortmd5($this->I['uid'].'-'.$this->WMid).'" style="position:absolute;visibility:hidden;"></div><div id="itemID'.t3lib_div::shortmd5($this->I['uid'].'-'.$this->WMid).'" width="100%" height="100%">'.$item.'</div>';
+                       $item = '<div id="anchorID'.t3lib_div::shortmd5($this->I['uid'].'-'.$this->WMid).'" style="position:absolute;visibility:hidden;"></div><div id="itemID'.t3lib_div::shortmd5($this->I['uid'].'-'.$this->WMid).'" style="width:100%; height:100%;">'.$item.'</div>';
                }
                return $item;
        }
@@ -288,31 +288,31 @@ GLV_restoreMenu["'.$this->WMid.'"] = "'.$this->WMactiveKey.'";
                        $relFlag=1;
                }
                if ($relFlag)   {
-                       $DoTop[]='GLV_menuOn["'.$this->WMid.'"].left = '.$relCode['X'].intval($this->mconf['leftOffset']).$dirL.';';
-                       $DoTop[]='GLV_menuOn["'.$this->WMid.'"].top =  '.$relCode['Y'].intval($this->mconf['topOffset']).$dirU.';';
+                       $DoTop[]='GLV_menuOn["'.$this->WMid.'"].left = ('.$relCode['X'].intval($this->mconf['leftOffset']).$dirL.')+"px";';
+                       $DoTop[]='GLV_menuOn["'.$this->WMid.'"].top =  ('.$relCode['Y'].intval($this->mconf['topOffset']).$dirU.')+"px";';
                } else {
                                // X position (y is fixed)
                        if (!strcmp($this->mconf['lockPosition'],'x'))  {
-                               $DoTop[]='GLV_menuOn["'.$this->WMid.'"].left = '.$relCode['X'].'GLV_menuXY["'.$this->WMid.'"][id][0]-('.intval($this->mconf['xPosOffset']).')'.$dirL.';';
+                               $DoTop[]='GLV_menuOn["'.$this->WMid.'"].left = ('.$relCode['X'].'GLV_menuXY["'.$this->WMid.'"][id][0]-('.intval($this->mconf['xPosOffset']).')'.$dirL.')+"px";';
                                if ($this->isSetIntval($this->mconf['topOffset']))      {
-                                       $DoTop[]='GLV_menuOn["'.$this->WMid.'"].top = '.$relCode['Y'].intval($this->mconf['topOffset']).$dirU.';';
+                                       $DoTop[]='GLV_menuOn["'.$this->WMid.'"].top = ('.$relCode['Y'].intval($this->mconf['topOffset']).$dirU.')+"px";';
                                }
                        } elseif ($this->isSetIntval($this->mconf['xPosOffset'])) {
-                               $GLV_menuOn[]=$DoTop[]='GLV_menuOn["'.$this->WMid.'"].left = GLV_x-('.intval($this->mconf['xPosOffset']).')'.$dirL.';';
+                               $GLV_menuOn[]=$DoTop[]='GLV_menuOn["'.$this->WMid.'"].left = (GLV_x-('.intval($this->mconf['xPosOffset']).')'.$dirL.')+"px";';
                                if ($this->isSetIntval($this->mconf['topOffset']))      {
-                                       $DoTop[]='GLV_menuOn["'.$this->WMid.'"].top = '.$relCode['Y'].intval($this->mconf['topOffset']).$dirU.';';
+                                       $DoTop[]='GLV_menuOn["'.$this->WMid.'"].top = ('.$relCode['Y'].intval($this->mconf['topOffset']).$dirU.')+"px";';
                                }
                        }
                                // Y position   (x is fixed)
                        if (!strcmp($this->mconf['lockPosition'],'y'))  {
-                               $DoTop[]='GLV_menuOn["'.$this->WMid.'"].top = '.$relCode['Y'].'GLV_menuXY["'.$this->WMid.'"][id][1]-('.intval($this->mconf['yPosOffset']).')'.$dirU.';';
+                               $DoTop[]='GLV_menuOn["'.$this->WMid.'"].top = ('.$relCode['Y'].'GLV_menuXY["'.$this->WMid.'"][id][1]-('.intval($this->mconf['yPosOffset']).')'.$dirU.')+"px";';
                                if ($this->isSetIntval($this->mconf['leftOffset']))     {
-                                       $DoTop[]='GLV_menuOn["'.$this->WMid.'"].left = '.$relCode['X'].intval($this->mconf['leftOffset']).$dirL.';';
+                                       $DoTop[]='GLV_menuOn["'.$this->WMid.'"].left = ('.$relCode['X'].intval($this->mconf['leftOffset']).$dirL.')+"px";';
                                }
                        } elseif ($this->isSetIntval($this->mconf['yPosOffset']))       {
-                               $GLV_menuOn[]=$DoTop[]='GLV_menuOn["'.$this->WMid.'"].top = GLV_y-('.intval($this->mconf['yPosOffset']).')'.$dirU.';';
+                               $GLV_menuOn[]=$DoTop[]='GLV_menuOn["'.$this->WMid.'"].top = (GLV_y-('.intval($this->mconf['yPosOffset']).')'.$dirU.')+"px";';
                                if ($this->isSetIntval($this->mconf['leftOffset']))     {
-                                       $DoTop[]='GLV_menuOn["'.$this->WMid.'"].left = '.$relCode['X'].intval($this->mconf['leftOffset']).$dirL.';';
+                                       $DoTop[]='GLV_menuOn["'.$this->WMid.'"].left = ('.$relCode['X'].intval($this->mconf['leftOffset']).$dirL.')+"px";';
                                }
                        }
                }
index 94453b2..9dd1017 100644 (file)
@@ -236,7 +236,7 @@ GLV_restoreMenu["'.$this->WMid.'"] = "'.$this->WMactiveKey.'";
         */
        function extProc_beforeAllWrap($item,$key)      {
                if ($this->mconf['relativeToTriggerItem'])      {
-                       $item = '<div id="anchorID'.t3lib_div::shortmd5($this->I['uid'].'-'.$this->WMid).'" style="position:absolute;visibility:hidden;"></div><div id="itemID'.t3lib_div::shortmd5($this->I['uid'].'-'.$this->WMid).'" width="100%" height="100%">'.$item.'</div>';
+                       $item = '<div id="anchorID'.t3lib_div::shortmd5($this->I['uid'].'-'.$this->WMid).'" style="position:absolute;visibility:hidden;"></div><div id="itemID'.t3lib_div::shortmd5($this->I['uid'].'-'.$this->WMid).'" style="width:100%; height:100%;">'.$item.'</div>';
                }
                return $item;
        }
@@ -289,31 +289,31 @@ GLV_restoreMenu["'.$this->WMid.'"] = "'.$this->WMactiveKey.'";
                        $relFlag=1;
                }
                if ($relFlag)   {
-                       $DoTop[]='GLV_menuOn["'.$this->WMid.'"].left = '.$relCode['X'].intval($this->mconf['leftOffset']).$dirL.';';
-                       $DoTop[]='GLV_menuOn["'.$this->WMid.'"].top =  '.$relCode['Y'].intval($this->mconf['topOffset']).$dirU.';';
+                       $DoTop[]='GLV_menuOn["'.$this->WMid.'"].left = ('.$relCode['X'].intval($this->mconf['leftOffset']).$dirL.')+"px";';
+                       $DoTop[]='GLV_menuOn["'.$this->WMid.'"].top =  ('.$relCode['Y'].intval($this->mconf['topOffset']).$dirU.')+"px";';
                } else {
                                // X position (y is fixed)
                        if (!strcmp($this->mconf['lockPosition'],'x'))  {
-                               $DoTop[]='GLV_menuOn["'.$this->WMid.'"].left = '.$relCode['X'].'GLV_menuXY["'.$this->WMid.'"][id][0]-('.intval($this->mconf['xPosOffset']).')'.$dirL.';';
+                               $DoTop[]='GLV_menuOn["'.$this->WMid.'"].left = ('.$relCode['X'].'GLV_menuXY["'.$this->WMid.'"][id][0]-('.intval($this->mconf['xPosOffset']).')'.$dirL.')+"px";';
                                if ($this->isSetIntval($this->mconf['topOffset']))      {
-                                       $DoTop[]='GLV_menuOn["'.$this->WMid.'"].top = '.$relCode['Y'].intval($this->mconf['topOffset']).$dirU.';';
+                                       $DoTop[]='GLV_menuOn["'.$this->WMid.'"].top = ('.$relCode['Y'].intval($this->mconf['topOffset']).$dirU.')+"px";';
                                }
                        } elseif ($this->isSetIntval($this->mconf['xPosOffset'])) {
-                               $GLV_menuOn[]=$DoTop[]='GLV_menuOn["'.$this->WMid.'"].left = GLV_x-('.intval($this->mconf['xPosOffset']).')'.$dirL.';';
+                               $GLV_menuOn[]=$DoTop[]='GLV_menuOn["'.$this->WMid.'"].left = (GLV_x-('.intval($this->mconf['xPosOffset']).')'.$dirL.')+"px";';
                                if ($this->isSetIntval($this->mconf['topOffset']))      {
-                                       $DoTop[]='GLV_menuOn["'.$this->WMid.'"].top = '.$relCode['Y'].intval($this->mconf['topOffset']).$dirU.';';
+                                       $DoTop[]='GLV_menuOn["'.$this->WMid.'"].top = ('.$relCode['Y'].intval($this->mconf['topOffset']).$dirU.')+"px";';
                                }
                        }
                                // Y position   (x is fixed)
                        if (!strcmp($this->mconf['lockPosition'],'y'))  {
-                               $DoTop[]='GLV_menuOn["'.$this->WMid.'"].top = '.$relCode['Y'].'GLV_menuXY["'.$this->WMid.'"][id][1]-('.intval($this->mconf['yPosOffset']).')'.$dirU.';';
+                               $DoTop[]='GLV_menuOn["'.$this->WMid.'"].top = ('.$relCode['Y'].'GLV_menuXY["'.$this->WMid.'"][id][1]-('.intval($this->mconf['yPosOffset']).')'.$dirU.')+"px";';
                                if ($this->isSetIntval($this->mconf['leftOffset']))     {
-                                       $DoTop[]='GLV_menuOn["'.$this->WMid.'"].left = '.$relCode['X'].intval($this->mconf['leftOffset']).$dirL.';';
+                                       $DoTop[]='GLV_menuOn["'.$this->WMid.'"].left = ('.$relCode['X'].intval($this->mconf['leftOffset']).$dirL.')+"px";';
                                }
                        } elseif ($this->isSetIntval($this->mconf['yPosOffset']))       {
-                               $GLV_menuOn[]=$DoTop[]='GLV_menuOn["'.$this->WMid.'"].top = GLV_y-('.intval($this->mconf['yPosOffset']).')'.$dirU.';';
+                               $GLV_menuOn[]=$DoTop[]='GLV_menuOn["'.$this->WMid.'"].top = (GLV_y-('.intval($this->mconf['yPosOffset']).')'.$dirU.')+"px";';
                                if ($this->isSetIntval($this->mconf['leftOffset']))     {
-                                       $DoTop[]='GLV_menuOn["'.$this->WMid.'"].left = '.$relCode['X'].intval($this->mconf['leftOffset']).$dirL.';';
+                                       $DoTop[]='GLV_menuOn["'.$this->WMid.'"].left = ('.$relCode['X'].intval($this->mconf['leftOffset']).$dirL.')+"px";';
                                }
                        }
                }
index aa1452d..4bfcbc5 100755 (executable)
 
 <body bgcolor="#D6D3CE" text="#333333" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" link="#006699" vlink="#006699" alink="#006699">
 <!-- ###DOCUMENT_BODY### start-->
-<table width="778" border="0" bgcolor="#FFFFFF" cellspacing="0" cellpadding="0" height="100%" align="center">
+<table width="778" border="0" bgcolor="#FFFFFF" cellspacing="0" cellpadding="0" align="center">
   <tr> 
     <td align="left" valign="top" rowspan="3"> 
       <table width="1" border="0" cellpadding="0" cellspacing="0">
         <tr valign="middle"> 
-          <td height="22" colspan="2" align="center"> <a name="top"></a><a href="index.php?id=123"><img height=150 alt="" src="media/uploads/crcph/logo.gif" width=150 border=0></a></td>
+          <td height="22" colspan="2" align="center"> <a name="top"></a><a href="index.php?id=123"><img height="150" src="media/uploads/crcph/logo.gif" width="150" border="0" alt="" /></a></td>
         </tr>
         <tr valign="middle" bgcolor="#CEDBDE"> 
-          <td height="10" colspan="2" align="center"><img src="clear.gif" width="10" height="10"></td>
+          <td height="10" colspan="2" align="center"><img src="clear.gif" width="10" height="10" alt="" /></td>
         </tr>
 
        <!-- ###SUB_MENU### start
         -->
         <tr> 
           <td height="25" align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><!--###LINK###-->###MENU_TITLE###<!--###LINK###--></font></td>
-          <td height="25" align="right" width="10"><img src="media/uploads/crcph/pil.gif" width="3" height="5"></td>
+          <td height="25" align="right" width="10"><img src="media/uploads/crcph/pil.gif" width="3" height="5" alt="" /></td>
         </tr>
         <tr bgcolor="#D6D3CE"> 
-          <td colspan="2" align="right"><img src="clear.gif" width="1" height="1"></td>
+          <td colspan="2" align="right"><img src="clear.gif" width="1" height="1" alt="" /></td>
         </tr>
        <!-- ###SUB_MENU_ITEM### end -->
        <!-- ###SUB_MENU_ITEM_ACT### begin
         -->
         <tr> 
           <td height="25" align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><!--###LINK###--><strong>###MENU_TITLE###</strong><!--###LINK###--></font></td>
-          <td height="25" align="right" width="10"><img src="media/uploads/crcph/pil.gif" width="3" height="5"></td>
+          <td height="25" align="right" width="10"><img src="media/uploads/crcph/pil.gif" width="3" height="5" alt="" /></td>
         </tr>
         <tr bgcolor="#D6D3CE"> 
-          <td colspan="2" align="right"><img src="clear.gif" width="1" height="1"></td>
+          <td colspan="2" align="right"><img src="clear.gif" width="1" height="1" alt="" /></td>
         </tr>
        <!-- ###SUB_MENU_ITEM_ACT### end -->
 
         <tr> 
           <td height="25" align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><a href="nyheder.html">Nyheder</a></font></td>
-          <td height="25" align="right" width="10"><img src="media/uploads/crcph/pil.gif" width="3" height="5"></td>
+          <td height="25" align="right" width="10"><img src="media/uploads/crcph/pil.gif" width="3" height="5" alt="" /></td>
         </tr>
         <tr bgcolor="#D6D3CE"> 
-          <td colspan="2" align="right"><img src="clear.gif" width="1" height="1"></td>
+          <td colspan="2" align="right"><img src="clear.gif" width="1" height="1" alt="" /></td>
         </tr>
         <tr> 
           <td height="25" align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><a href="arrangementer.html">Arrangementer</a></font></td>
-          <td height="25" align="right" width="10"><img src="media/uploads/crcph/pil.gif" width="3" height="5"></td>
+          <td height="25" align="right" width="10"><img src="media/uploads/crcph/pil.gif" width="3" height="5" alt="" /></td>
         </tr>
         <tr bgcolor="#D6D3CE"> 
-          <td colspan="2" align="right"><img src="clear.gif" width="1" height="1"></td>
+          <td colspan="2" align="right"><img src="clear.gif" width="1" height="1" alt="" /></td>
         </tr>
         <tr> 
           <td height="25" align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><a href="profiler.html">Profiler</a></font></td>
-          <td height="25" align="right" width="10"><img src="media/uploads/crcph/pil.gif" width="3" height="5"></td>
+          <td height="25" align="right" width="10"><img src="media/uploads/crcph/pil.gif" width="3" height="5" alt="" /></td>
         </tr>
         <tr bgcolor="#D6D3CE"> 
-          <td colspan="2" align="right"><img src="clear.gif" width="1" height="1"></td>
+          <td colspan="2" align="right"><img src="clear.gif" width="1" height="1" alt="" /></td>
         </tr>
         <tr> 
-          <td height="25" align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><a href="nn">Forum</a></font></td>
-          <td height="25" align="right" width="10"><img src="media/uploads/crcph/pil.gif" width="3" height="5"></td>
+          <td height="25" align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" alt="" /><a href="nn">Forum</a></font></td>
+          <td height="25" align="right" width="10"><img src="media/uploads/crcph/pil.gif" width="3" height="5" alt="" /></td>
         </tr>
         <tr bgcolor="#D6D3CE"> 
-          <td colspan="2" align="right"><img src="clear.gif" width="1" height="1"></td>
+          <td colspan="2" align="right"><img src="clear.gif" width="1" height="1" alt="" /></td>
         </tr>
         <tr> 
           <td height="25" align="right"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><a href="information.html">Information</a></font></td>
-          <td height="25" align="right" width="10"><img src="media/uploads/crcph/pil.gif" width="3" height="5"></td>
+          <td height="25" align="right" width="10"><img src="media/uploads/crcph/pil.gif" width="3" height="5" alt="" /></td>
         </tr>
         <tr bgcolor="#D6D3CE"> 
-          <td colspan="2" align="right"><img src="clear.gif" width="1" height="1"></td>
+          <td colspan="2" align="right"><img src="clear.gif" width="1" height="1" alt="" /></td>
         </tr>
 
        <!-- ###SUB_MENU### end -->
           <td align="center" width="100"> 
             <table width="59%" border="0" cellpadding="0">
               <tr> 
-                <td align="center"><font face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF" size="1"><a href="index.php?id=123"><img src="media/uploads/crcph/home.gif" width="15" height="13" border="0"></a></font></td>
+                <td align="center"><font face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF" size="1"><a href="index.php?id=123"><img src="media/uploads/crcph/home.gif" width="15" height="13" border="0" alt="" /></a></font></td>
                 <td align="center"><font face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF" size="1"><a href="index.php?id=123">Front page</a></font></td>
               </tr>
             </table>
           </td>
-          <td bgcolor="#FFFFFF" width="1"><img src="clear.gif" width="1" height="1"></td>
+          <td bgcolor="#FFFFFF" width="1"><img src="clear.gif" width="1" height="1" alt="" /></td>
           <td align="center" width="100" valign="middle"> 
             <table width="1%" border="0" cellpadding="0">
               <tr> 
-                <td align="center"><font face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF" size="1"><a href="index.php?id=987"><img src="media/uploads/crcph/search.gif" width="15" height="13" border="0"></a></font></td>
+                <td align="center"><font face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF" size="1"><a href="index.php?id=987"><img src="media/uploads/crcph/search.gif" width="15" height="13" border="0" alt="" /></a></font></td>
                 <td align="center"><font face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF" size="1"><a href="index.php?id=987">Search</a></font></td>
               </tr>
             </table>
     </td>
   </tr>
   <tr> 
-    <td align="center" valign="top" bgcolor="#FFFFFF" height="1"><img src="clear.gif" width="448" height="1"></td>
-    <td align="center" valign="top" bgcolor="#FFFFFF" height="1"><img src="clear.gif" width="180" height="1"></td>
+    <td align="center" valign="top" bgcolor="#FFFFFF" height="1"><img src="clear.gif" width="448" height="1" alt="" /></td>
+    <td align="center" valign="top" bgcolor="#FFFFFF" height="1"><img src="clear.gif" width="180" height="1" alt="" /></td>
   </tr>
   <tr> 
-    <td align="center" valign="top" height="100%"> <br>
+    <td align="center" valign="top" height="100%"> <br />
 
 
-      <table width="90%" border="0" cellspacing="2" cellpadding="2" height="100%">
+      <table width="90%" border="0" cellspacing="2" cellpadding="2">
         <tr>
           <td valign="top"> 
             <!-- ###SUB_CONTENT### start
           <td><font face="Verdana, Arial, Helvetica, sans-serif" size="3" color="#999999">###MARK_HEADER###</font></td>
         </tr>
         <tr> 
-          <td bgcolor="#D6D3CE"><img src="clear.gif" width="1" height="1"></td>
+          <td bgcolor="#D6D3CE"><img src="clear.gif" width="1" height="1" alt="" /></td>
         </tr>
         <tr> 
-          <td bgcolor="#D6D3CE"><img src="clear.gif" width="1" height="1"></td>
+          <td bgcolor="#D6D3CE"><img src="clear.gif" width="1" height="1" alt="" /></td>
         </tr>
         <tr> 
-          <td bgcolor="#D6D3CE"><img src="clear.gif" width="1" height="1"></td>
+          <td bgcolor="#D6D3CE"><img src="clear.gif" width="1" height="1" alt="" /></td>
         </tr>
       </table>
        <!-- ###SUB_HEADER1### -->
 </td></tr></table>
 
     </td>
-    <td align="center" valign="top" bgcolor="#E7EBEF" height="100%"> <br>
-      <table width="90%" border="0" cellspacing="2" cellpadding="2" height="100%">
+    <td align="center" valign="top" bgcolor="#E7EBEF" height="100%"> <br />
+      <table width="90%" border="0" cellspacing="2" cellpadding="2">
         <tr>
           <td valign="top"> 
             <!-- ###SUB_CONTENT_MARGIN### begin 
        -->
             <table width="100%" border="0" cellspacing="0" cellpadding="0">
         <tr > 
-          <td><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><b>###MARK_HEADER###</b></font></b></font></td>
+          <td><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><b>###MARK_HEADER###</b></font></td>
         </tr>
         <tr> 
-                <td><img src="clear.gif" width="1" height="4"></td>
+                <td><img src="clear.gif" width="1" height="4" alt="" /></td>
         </tr>
         <tr> 
-                <td bgcolor="#B5BECE"><img src="clear.gif" width="1" height="1"></td>
+                <td bgcolor="#B5BECE"><img src="clear.gif" width="1" height="1" alt="" /></td>
         </tr>
         <tr> 
-                <td><img src="clear.gif" width="1" height="4"></td>
+                <td><img src="clear.gif" width="1" height="4" alt="" /></td>
         </tr>
       </table>
        <!-- ###SUB_HEADER2### -->
               <!-- ###SUB_L2MENU_ALLITEMS### start     -->
               <!-- ###SUB_L2MENU_ITEM### start -->
               <tr> 
-          <td valign="top"><img src="media/uploads/crcph/pil2.gif" width="3" height="9"></td>
+          <td valign="top"><img src="media/uploads/crcph/pil2.gif" width="3" height="9" alt="" /></td>
           <td valign="top" align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><!--###LINK###-->###MENU_TITLE###<!--###LINK###--></font></td>
         </tr>
                        <!-- ###SUB_L2MENU_ITEM### end  -->
                        <!-- ###SUB_L2MENU_ITEM_ACT### start    -->
             <tr> 
-          <td valign="top"><img src="media/uploads/crcph/pil2.gif" width="3" height="9"></td>
+          <td valign="top"><img src="media/uploads/crcph/pil2.gif" width="3" height="9" alt="" /></td>
           <td valign="top" align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><!--###LINK###--><strong>###MENU_TITLE###</strong><!--###LINK###--></font></td>
         </tr>
                        <!-- ###SUB_L2MENU_ITEM_ACT### end      -->
         <tr> 
-          <td valign="top"><img src="media/uploads/crcph/pil2.gif" width="3" height="9"></td>
+          <td valign="top"><img src="media/uploads/crcph/pil2.gif" width="3" height="9" alt="" /></td>
           <td valign="top" align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><a href="ghj">Investorer</a></font></td>
         </tr>
         <tr> 
-          <td valign="top"><img src="media/uploads/crcph/pil2
-                 " width="3" height="9"></td>
+          <td valign="top"><img src="media/uploads/crcph/pil2" width="3" height="9" alt="" /></td>
           <td valign="top" align="left"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><a href="ghj">R&aring;dgivere 
             og andre</a></font></td>
         </tr>
         <tr> 
-          <td valign="top"><img src="media/uploads/crcph/pil2.gif" width="3" height="9"></td>
+          <td valign="top"><img src="media/uploads/crcph/pil2.gif" width="3" height="9" alt="" /></td>
           <td valign="top" align="left"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><a href="jj">Etableret 
             virksomhed</a></font></td>
         </tr>
         <tr> 
-          <td valign="top"><img src="media/uploads/crcph/pil2.gif" width="3" height="9"></td>
+          <td valign="top"><img src="media/uploads/crcph/pil2.gif" width="3" height="9" alt="" /></td>
           <td valign="top" align="left"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><a href="add_profil.htm">Tilf&oslash;j 
             profil</a></font></td>
         </tr>
     </td>
   </tr>
   <tr> 
-    <td align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><a href="#top">Top top</a></font> <img src="media/uploads/crcph/toparrow.gif" width="7" height="11"></td>
+    <td align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="1"><a href="#top">Top top</a></font> <img src="media/uploads/crcph/toparrow.gif" width="7" height="11" alt="" /></td>
     <td align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#999999">Copyright...</font></td>
     <td align="center" valign="top" bgcolor="#E7EBEF">&nbsp;</td>
   </tr>
 </table>
-<br>
+<br />
 
 
 <!-- ###DOCUMENT_BODY### end -->
index c535ba9..8b8c7e4 100755 (executable)
@@ -7,28 +7,28 @@
 
 <body>
 <!-- ###DOCUMENT_BODY### begin -->
-<table border=0 cellpadding=0 cellspacing=0 width=1>
+<table border="0" cellpadding="0" cellspacing="0" width="1">
 <tr>
        <td>###TOP_LOGO###</td>
        <td>###TOP_IMAGE###</td>
 </tr>
 <tr>
-       <td colspan=2 nowrap>###MAIN_MENU###</td>
+       <td colspan="2" nowrap="nowrap">###MAIN_MENU###</td>
 </tr>
 <tr>
-       <td colspan=2>
+       <td colspan="2">
        
 
 
-       <table border=0 cellpadding=0 cellspacing=0 width=1>
+       <table border="0" cellpadding="0" cellspacing="0" width="1">
        <tr>
-               <td><img src="clear.gif" height=1 width=10></td>
-               <td valign=top>
-               ###PAGE_TITLE###<BR><BR>
+               <td><img src="clear.gif" height="1" width="10" alt="" /></td>
+               <td valign="top">
+               ###PAGE_TITLE###<br /><br />
                ###SUB_MENU###
                </td>
-               <td><img src="clear.gif" height=1 width=25></td>
-               <td valign=top>###CONTENT###</td>
+               <td><img src="clear.gif" height="1" width="25" alt="" /></td>
+               <td valign="top">###CONTENT###</td>
        </tr>
        </table>
 
index 1cc8890..6c9e36c 100755 (executable)
@@ -1,20 +1,20 @@
 
-<TABLE width=528>
-  <TR>
-    <TD vAlign=top><img src=clear.gif width=400 height=1><BR>###CONTENT_NORMAL###</TD>
-    <TD vAlign=top width=9><TABLE width=8 border=0>
-        <TR vAlign=top>
-          <TD width=1><IMG height=100% src="media/uploads/newsletter/blue.gif" width=1></TD></TR></TABLE></TD>
-    <TD vAlign=top width=193>###CONTENT_MARGIN###</TD>
-    </TR></TABLE>
+<table width="528">
+  <tr>
+    <td valign="top"><img src="clear.gif" width="400" height="1" alt="" /><br />###CONTENT_NORMAL###</td>
+    <td valign="top" width="9"><table width="8" border="0">
+        <tr valign="top">
+          <td width="1"><img height="100%" src="media/uploads/newsletter/blue.gif" width="1" alt="" /></td></tr></table></td>
+    <td valign="top" width="193">###CONTENT_MARGIN###</td>
+    </tr></table>
        
-<TABLE border=0 cellpadding=0 cellspacing=0 width=627>
-  <TR><TD bgcolor="###LINECOLOR###"><img src=clear.gif width=1 height=1></TD></TR>
-  <TR vAlign=top>
-       <TD>
-      <DIV align=center><FONT face="Verdana, Arial, Helvetica, sans-serif" 
-      color=#999999 size=1>Copyright©<B><BR>###COPYRIGHT###
-  </FONT></DIV>
-       </TD>
-  </TR>
-</TABLE>
\ No newline at end of file
+<table border="0" cellpadding="0" cellspacing="0" width="627">
+  <tr><td bgcolor="###LINECOLOR###"><img src="clear.gif" width="1" height="1" alt="" /></td></tr>
+  <tr valign="top">
+       <td>
+      <div align="center"><font face="Verdana, Arial, Helvetica, sans-serif" 
+      color="#999999" size="1">Copyright©<br />###COPYRIGHT###
+  </font></div>
+       </td>
+  </tr>
+</table>
\ No newline at end of file
index 8ee7fb4..503db85 100755 (executable)
Binary files a/typo3/sysext/cms/tslib/media/uploads/typo3logo.gif and b/typo3/sysext/cms/tslib/media/uploads/typo3logo.gif differ
index 08cdb64..de1247e 100755 (executable)
Binary files a/typo3/sysext/cms/tslib/media/uploads/typo3power1.gif and b/typo3/sysext/cms/tslib/media/uploads/typo3power1.gif differ
index c0cf634..f046f9a 100755 (executable)
Binary files a/typo3/sysext/cms/tslib/media/uploads/typo3power2.gif and b/typo3/sysext/cms/tslib/media/uploads/typo3power2.gif differ
index ced9b79..8c4007a 100755 (executable)
@@ -384,7 +384,7 @@ class template {
 
                return '<span class="typo3-moduleHeader">'.$this->wrapClickMenuOnIcon($iconImgTag,$table,$row['uid']).
                                $viewPage.
-                               $tWrap[0].htmlspecialchars(t3lib_div::fixed_lgd($title,45)).$tWrap[1].'';
+                               $tWrap[0].htmlspecialchars(t3lib_div::fixed_lgd($title,45)).$tWrap[1].'</span>';
        }
 
        /**
@@ -1211,6 +1211,8 @@ $str.=$this->docBodyTagBegin().
                                var GLV_isVisible=new Array(0,0);
                                var GLV_x=0;
                                var GLV_y=0;
+                               var GLV_xRel=0;
+                               var GLV_yRel=0;
                                var layerObj=new Array();
                                var layerObjCss=new Array();
                                
@@ -1249,9 +1251,15 @@ $str.=$this->docBodyTagBegin().
                                        // GL_getMouse(event)
                                function GL_getMouse(event) {   //
                                        if (layerObj)   {
-                                               GLV_x= (bw.ns4||bw.ns5)?event.pageX:(bw.ie4||bw.op)?event.clientX:(event.clientX-2)+document.body.scrollLeft;
-                                               GLV_y= (bw.ns4||bw.ns5)?event.pageY:(bw.ie4||bw.op)?event.clientY:(event.clientY-2)+document.body.scrollTop;
-               
+//                                             GLV_x= (bw.ns4||bw.ns5)?event.pageX:(bw.ie4||bw.op)?event.clientX:(event.clientX-2)+document.body.scrollLeft;
+//                                             GLV_y= (bw.ns4||bw.ns5)?event.pageY:(bw.ie4||bw.op)?event.clientY:(event.clientY-2)+document.body.scrollTop;
+                                                       // 17/12 2003: When documents run in XHTML standard compliance mode, the old scrollLeft/Top properties of document.body is gone - and for Opera/MSIE we have to use document.documentElement:
+                                               
+                                               GLV_xRel = event.clientX-2;
+                                               GLV_yRel = event.clientY-2;
+                                               GLV_x = GLV_xRel + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
+                                               GLV_y = GLV_yRel + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
+
                                        //      status = (GLV_x+GLV_gap-GLV_curLayerX[0]) + " | " + (GLV_y+GLV_gap-GLV_curLayerY[0]);
                                                if (GLV_isVisible[1])   {
                                                        if (outsideLayer(1))    hideSpecific(1);
@@ -1274,9 +1282,19 @@ $str.=$this->docBodyTagBegin().
        
                                        if (tempLayerObj && (level==0 || GLV_isVisible[level-1]))       {
                                                tempLayerObj.el.innerHTML = html;
-                                               tempLayerObj.height= (bw.ie4||bw.ie5||bw.ns6||bw.konq||bw.op7)?this.el.offsetHeight:bw.ns4?this.ref.height:bw.op?this.css.pixelHeight:0;
                                                tempLayerObj.width= (bw.ie4||bw.ie5||bw.ns6||bw.konq||bw.op7)?this.el.offsetWidth:bw.ns4?this.ref.width:bw.op?this.css.pixelWidth:0;
-
+                                               tempLayerObj.height= (bw.ie4||bw.ie5||bw.ns6||bw.konq||bw.op7)?this.el.offsetHeight:bw.ns4?this.ref.height:bw.op?this.css.pixelHeight:0;
+                                               
+                                                       // Adjusting the Y-height of the layer to fit it into the window frame if it goes under the window frame in the bottom:
+                                               tempLayerObj.winHeight = document.documentElement.clientHeight && !bw.op7 ? document.documentElement.clientHeight : document.body.clientHeight;
+                                               if (tempLayerObj.winHeight-tempLayerObj.height < GLV_yRel)      { 
+                                                       if (GLV_yRel < tempLayerObj.height) {
+                                                               GLV_y+= (tempLayerObj.winHeight-tempLayerObj.height-GLV_yRel);          // Setting it so bottom is just above window height.
+                                                       } else {
+                                                               GLV_y-= tempLayerObj.height-8;          // Showing the menu upwards
+                                                       }
+                                               }
+                                               
                                                GLV_curLayerX[level] = GLV_x;
                                                GLV_curLayerY[level] = GLV_y;
                                                tempLayerObjCss.left = GLV_x+"px";
index 0b98d2b..dd3c8d7 100755 (executable)
@@ -739,7 +739,7 @@ class SC_wizard_forms {
                                        if ($vv['type']=='select' || $vv['type']=='radio')      {
                                                $thisLine[2]=str_replace(chr(10),', ',str_replace(',','',$vv['options']));
                                        } elseif ($vv['type']=='check') {
-                                               if ($vv['checked'])     $thisLine[2]=1;
+                                               if ($vv['default'])     $thisLine[2]=1;
                                        } elseif (strcmp(trim($vv['default']),'')) {
                                                $thisLine[2]=$vv['default'];
                                        }
index 919d241..ea137e9 100755 (executable)
@@ -150,8 +150,8 @@ class SC_wizard_rte {
                        $tceforms = t3lib_div::makeInstance('t3lib_TCEforms');
                        $tceforms->initDefaultBEMode(); // Init...
                        $tceforms->disableWizards = 1;  // SPECIAL: Disables all wizards - we are NOT going to need them.
-#                      $tceforms->RTEdivStyle = 'position:relative; left:0px; top:0px; height:100%; width:100%; border:solid 0px;';    // SPECIAL: Setting style for the RTE <DIV> layer containing the IFRAME
-                       $tceforms->RTEdivStyle = 'position:relative; left:0px; top:0px; height:600px; width:100%; border:solid 0px;';   // SPECIAL: Setting style for the RTE <DIV> layer containing the IFRAME
+                       $tceforms->RTEdivStyle = 'position:relative; left:0px; top:0px; height:100%; width:100%; border:solid 0px;';    // SPECIAL: Setting style for the RTE <DIV> layer containing the IFRAME
+#                      $tceforms->RTEdivStyle = 'position:relative; left:0px; top:0px; height:600px; width:100%; border:solid 0px;';   // SPECIAL: Setting style for the RTE <DIV> layer containing the IFRAME
                        $tceforms->colorScheme[0]=$this->doc->bgColor;  // SPECIAL: Setting background color of the RTE to ordinary background
                
                                // Fetching content of record:
@@ -234,14 +234,14 @@ class SC_wizard_rte {
                        <!--
                                RTE wizard:
                        -->
-                               <table border="0" cellpadding="0" cellspacing="0" width="'.$width.'" height="98%" id="typo3-rtewizard">
+                               <table border="0" cellpadding="0" cellspacing="0" width="'.$width.'" id="typo3-rtewizard">
                                        <tr>
                                                <td>'.$panel.'</td>
                                                <td align="right">'.$sCut.'</td>
                                                <td></td>
                                        </tr>
-                                       <tr height="98%">
-                                               <td width="'.$width.'" colspan="2">'.$formContent.'</td>
+                                       <tr>
+                                               <td width="'.$width.'" colspan="2" id="c-formContent">'.$formContent.'</td>
                                                <td></td>
                                        </tr>
                                </table>';