Commit 1a1d7127 authored by Kasper Skårhøj's avatar Kasper Skårhøj
Browse files

See my changelog comment from 2004-06-28 + locallang-XML changes (done to...

See my changelog comment from 2004-06-28 + locallang-XML changes (done to german language by Robert Lemke)


git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@415 709f56b5-9817-0410-a4d7-c38de5d9e867
parent 60dfedcb
......@@ -15,13 +15,19 @@
* Fixed bug #0000191: Small typo in German translation
2004-06-28 Kasper Skårhøj,,, <kasper@typo3.com>
* Moved creation of menu graphics, scaled images, gifbuilder images and temporary image files into subfolders of typo3temp/
* Fixed case-folding-cache-file bug in t3lib_cs...
* select a filepath as a source of the items you can add to the box (single/multiple) without copying the files of course.
2004-06-21 Michael Stucki <mundaun@gmx.ch>
* Fixed bug #0000119: Another fe_adminLib htmlspecialchars() issue
2004-06-19 Kasper Skårhøj,,, <kasper@typo3.com>
* Moved CSH locallang-XML labels into extensions prefixed "csh_".
* Moved CSH locallang-XML labels into extensions prefixed "csh_".
2004-06-18 Michael Stucki <mundaun@gmx.ch>
......@@ -109,7 +115,7 @@
2004-05-18 Kasper Skårhøj,,, <kasper@typo3.com>
* Added t3lib_cs::specCharsToASCII() for converting special chars (like umlauts) to their double-byte alternatives in ASCII (like au, oe etc...). Function is NOT finished at all, only added so I could use it for the conversion of filenames in simulateStaticDocuments.
* TypoScript charset compatibility extended: tslib_cObj::caseshift(), tslib_cObj::substring(), tslib_cObj::crop() uses functions in t3lib_cs now. Also stdWrap.strftime will automatically convert localized string from locale charset (guessed by t3lib_cs) to renderCharset.
* !!! website charset is now taken from "forceCharset" by default (if found) and in any case the http-header with text/html and charset is sent UNLESS you disable it with "config.disableCharsetHeader=1". You will probably have to disable this header if you are using TYPO3 for XML feeds or wap-pages.
* !!! website charset is now taken from "forceCharset" by default (if found) and in any case the http-header with text/html and charset is sent UNLESS you disable it with "config.disableCharsetHeader=1". You will probably have to disable this header if you are using TYPO3 for XML feeds or wap-pages.
* Added "config.renderCharset" option: This is the charset of the content while rendered in the frontend engine. If different from "metaCharset" a conversion must happen before output to browser. Both renderCharset and metaCharset takes their default values from TYPO3_CONF_VARS[BE][forceCharset] if found, otherwise they default to "iso-8859-1". Also "metaCharset" takes "renderCharset" as default - and if metaCharset is different from renderCharset a conversion will happen on output.
2004-05-18 Kasper Skårhøj,,, <kasper@typo3.com>
......
......@@ -34,7 +34,6 @@ TCEmain:
- Could be solved by PRE-processing of content in user functions!
- Implement "last_edited_by" field saving the BE-user UID just like tstamps are... (JH asked)
- Transformation API: Implement the possibility of custom to/from transformations for the "user" type (or any field?)
- Custom transformations for RTE fields/API?
- Selector box type:
- MM support for strings
- Support for MM-records which does NOT get deleted, but is kept... and then support for having data in those!!
......@@ -101,7 +100,6 @@ TCEforms:
- API for adding JS-functions to the onchange-event.
- Make STORAGE_FOLDERs a LIST of pages - not just one page (still the first page could be the default while other pages will be where stuff is selected from).
- SELECT type:
- select a filepath as a source of the items you can add to the box (single/multiple) without copying the files of course.
- Ability to see icon/image from record of selected value in the selector box.
- IFRAME alternative for the selectorboxes where a HTML view can be shown. Possibly having an external script show the content which would be useful for display of tree-tables.
- Reflect possible tree-structure for records in Select/Items list
......@@ -124,13 +122,11 @@ TCEforms:
- See JH mail: Message-ID: <C018FF617C61AB4588D15494126A5C0F23E410@Soulman.hanno-kirchhoff.de>
- IFRAME alternative for Element Browser.
- set the width of the selector field(s)
- INPUT type:
- having a selectorbox from which a default value can be selected (which is just transferred to the input field). Of course the selectorbox can have its content added by a PHP script.
- ? type:
- "Inverse relations"/"Foreign relations": A "Pseudo field", which lists records REFERING TO this record (foreign relations, eg. many small price-records belonging to ONE shop-article). Possibly this could also EDIT those references (attaching/adding new, removing old, no manual ordering though! - This is what RENE is doing (Message-Id: <E17LO4D-0002hj-00@cube.colorcube>)
- TRANSLATION:
- Concept for translation of other language versions simultaneously? (Showing the default/any language side-by-side?)
- Would require UTF-8 display in backend.
- Would require UTF-8 display in backend! (or at least using forceCharset being set!)
- Support for "original/translation" relationships:
- The idea is that a) one field from a record is configured in [ctrl] to hold the sys_language (0=default, x=translation of default) value AND b) another field is configured to keep a reference back to the original element (for the translated records)
- If the record is "default" then ALL fields are shown.
......@@ -148,14 +144,6 @@ TCEforms:
Charset:
- checking (for XML) if there is "character data" in a string?
TCEforms/RTE API:
[Dominic Brander and Martin Schmidt has shown interest in the ekit Java RTE and may work on that.]
- API for RTE's (plus converting current RTE to using that!)
- review of class.t3lib_parsehtml_proc.php
- Make TYPO3 ready to accept alternative RTE made in Java. Needs data exchange to (config+data)/from (data) applet.
- Implement Ekit as Proof-of-concept: http://www.hexidec.com/ekit.php
- Implement another ActiveX editor as Proof-of-concept.
Element Browser:
- Support for DAM
- Support for browsing custom category-trees (passed by some PHP script)
......@@ -168,7 +156,7 @@ Element Browser:
Wizards:
- Add wizard icon to TSconfig and Setup/Constants fields for immediate syntax highlighting (in popup window)
- Add wizard icon to see/clean up FlexForm data?
- Add wizard icon to see/clean up FlexForm data? Convert language mode?
Interface:
- 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>)
......@@ -182,7 +170,6 @@ Context Sensitive Help (CSH):
- Add multimedia?
WEB main module/page tree:
- The "Page Stop" flag, clicking the red "+" simply makes that point the NEW root in the tree frame (temporarily of course...), see JHs mail: Message-ID: <C018FF617C61AB4588D15494126A5C0F1F660B@Soulman.hanno-kirchhoff.de>
- Option: For a frameset module, register the ID per sub-module, not just globally (see JH mail: Message-ID: <C018FF617C61AB4588D15494126A5C0F1F67AB@Soulman.hanno-kirchhoff.de>)
Web>List:
......@@ -238,6 +225,7 @@ EM:
The REGEX-{} problem:
- BUG: Regexs; "Warning: Unmatched \{ in /home/sites/site14/typo3_src-3.5b3/typo3/mod/tools/em/index.php on line 1983" which is a ereg with { WITHOUT preceeding slash! (Message-ID: <003c01c275aa$c0c60c10$e3a1a33e@pentiumriv4v9a>, Message-ID: <20030729082437.79900.qmail@web11305.mail.yahoo.com>)
- Should be fixed by "[{]..." instead!
Install/Servers:
- FIX: To get PHP to handle PATH_INFO and PATH_TRANSLATED information correctly with this setup, the php parser should be compiled with the --enable-discard-path configure option.
......@@ -953,33 +941,3 @@ Innovation, brainstorming for future
- Backend for PDAs/Lynx
************************************
Translation of Extensions
************************************
These [global] extensions has priority when translating extensions:
lang
cms
extra_page_cm_options
rte
imagelist
aboutmodules
lowlevel
beuser
setup
taskcenter
sys_action
sys_messages
sys_notepad
taskcenter_recent
taskcenter_rootlist
sys_todos
sys_workflows
func_wizards
wizard_crpages
wizard_sortpages
info_pagetsconfig
indexed_search
tt_guest
mininews
......@@ -1989,9 +1989,10 @@ class t3lib_BEfunc {
* @param array If root line is supplied the function will look for the first found domain record and use that URL instead (if found)
* @param string $anchor is optional anchor to the URL
* @param string $altUrl is an alternative URL which - if set - will make all other parameters ignored: The function will just return the window.open command wrapped around this URL!
* @param string Additional GET variables.
* @return string
*/
function viewOnClick($id,$backPath='',$rootLine='',$anchor='',$altUrl='') {
function viewOnClick($id,$backPath='',$rootLine='',$anchor='',$altUrl='',$addGetVars='') {
if ($altUrl) {
$url = $altUrl;
} else {
......@@ -2002,7 +2003,7 @@ class t3lib_BEfunc {
}
}
$preUrl = $preUrl_temp ? 'http://'.$preUrl_temp : $backPath.'..';
$url = $preUrl.'/index.php?id='.$id.$anchor;
$url = $preUrl.'/index.php?id='.$id.$addGetVars.$anchor;
}
return "previewWin=window.open('".$url."','newTypo3FrontendWindow','status=1,menubar=1,resizable=1,location=1,scrollbars=1,toolbar=1');previewWin.focus();";
......@@ -2030,7 +2031,7 @@ class t3lib_BEfunc {
* See Inside TYPO3 for details about how to use / make Function menus
* Usage: 50
*
* @param string $id is the "&id=" parameter value to be sent to the module, but it can be also a parameter array which will be passed instead of the &id=...
* @param mixed $id is the "&id=" parameter value to be sent to the module, but it can be also a parameter array which will be passed instead of the &id=...
* @param string $elementName it the form elements name, probably something like "SET[...]"
* @param string $currentValue is the value to be selected currently.
* @param array $menuItems is an array with the menu items for the selector box
......@@ -2044,7 +2045,7 @@ class t3lib_BEfunc {
$mainParams = array('id' => $mainParams);
}
$mainParams = t3lib_div::implodeArrayForUrl('',$mainParams);
if (!$script) { $script=basename(PATH_thisScript); }
$options = array();
......@@ -2072,7 +2073,7 @@ class t3lib_BEfunc {
* Works like ->getFuncMenu() but takes no $menuItem array since this is a simple checkbox.
* Usage: 34
*
* @param string $mainParams $id is the "&id=" parameter value to be sent to the module, but it can be also a parameter array which will be passed instead of the &id=...
* @param mixed $mainParams $id is the "&id=" parameter value to be sent to the module, but it can be also a parameter array which will be passed instead of the &id=...
* @param string $elementName it the form elements name, probably something like "SET[...]"
* @param string $currentValue is the value to be selected currently.
* @param string $script is the script to send the &id to, if empty it's automatically found
......@@ -2086,7 +2087,7 @@ class t3lib_BEfunc {
$mainParams = array('id' => $mainParams);
}
$mainParams = t3lib_div::implodeArrayForUrl('',$mainParams);
if (!$script) {basename(PATH_thisScript);}
$onClick = 'jumpToUrl(\''.$script.'?'.$mainParams.$addparams.'&'.$elementName.'=\'+(this.checked?1:0),this);';
return '<input type="checkbox" name="'.$elementName.'"'.($currentValue?' checked="checked"':'').' onclick="'.htmlspecialchars($onClick).'"'.($tagParams?' '.$tagParams:'').' />';
......@@ -2097,7 +2098,7 @@ class t3lib_BEfunc {
* Works like ->getFuncMenu() / ->getFuncCheck() but displays a input field instead which updates the script "onchange"
* Usage: 1
*
* @param string $id is the "&id=" parameter value to be sent to the module, but it can be also a parameter array which will be passed instead of the &id=...
* @param mixed $id is the "&id=" parameter value to be sent to the module, but it can be also a parameter array which will be passed instead of the &id=...
* @param string $elementName it the form elements name, probably something like "SET[...]"
* @param string $currentValue is the value to be selected currently.
* @param integer Relative size of input field, max is 48
......@@ -2111,7 +2112,7 @@ class t3lib_BEfunc {
$mainParams = array('id' => $mainParams);
}
$mainParams = t3lib_div::implodeArrayForUrl('',$mainParams);
if (!$script) {basename(PATH_thisScript);}
$onChange = 'jumpToUrl(\''.$script.'?'.$mainParams.$addparams.'&'.$elementName.'=\'+escape(this.value),this);';
return '<input type="text"'.$GLOBALS['TBE_TEMPLATE']->formWidth($size).' name="'.$elementName.'" value="'.htmlspecialchars($currentValue).'" onchange="'.htmlspecialchars($onChange).'" />';
......
......@@ -896,7 +896,7 @@ class t3lib_cs {
*
* PLEASE SEE: http://www.unicode.org/Public/UNIDATA/
*
* @param string ???
* @param string Mode ("case", "ascii", ...)
* @return integer Returns FALSE on error, a TRUE value on success: 1 table already loaded, 2, cached version, 3 table parsed (and cached).
* @access private
*/
......@@ -912,7 +912,7 @@ class t3lib_cs {
// Use cached version if possible
if ($cacheFileCase && @is_file($cacheFileCase)) {
$this->caseFolding['utf-8'] = unserialize(t3lib_div::getUrl($cacheFile));
$this->caseFolding['utf-8'] = unserialize(t3lib_div::getUrl($cacheFileCase));
return 2;
}
break;
......@@ -1396,7 +1396,7 @@ class t3lib_cs {
* Translates all characters of a string into their respective case values.
* Unlike strtolower() and strtoupper() this method is locale independent.
* Note that the string length may change!
* eg. lower case German (sharp S) becomes upper case "SS"
* eg. lower case German (sharp S) becomes upper case "SS"
* Unit-tested by Kasper
* Real case folding is language dependent, this method ignores this fact.
*
......@@ -1428,7 +1428,7 @@ class t3lib_cs {
}
/**
* Converts special chars (like , umlauts etc) to ascii equivalents (usually double-bytes, like => ae etc.)
* Converts special chars (like ���, umlauts etc) to ascii equivalents (usually double-bytes, like => ae etc.)
*
* @param string Character set of string
* @param string Input string to convert
......
......@@ -271,6 +271,29 @@ class t3lib_DB {
);
}
/**
* Creates and executes a SELECT SQL-statement AND traverse result set and returns array with records in.
*
* @param string See exec_SELECTquery()
* @param string See exec_SELECTquery()
* @param string See exec_SELECTquery()
* @param string See exec_SELECTquery()
* @param string See exec_SELECTquery()
* @param string See exec_SELECTquery()
* @return array Array of rows.
*/
function exec_SELECTgetRows($select_fields,$from_table,$where_clause,$groupBy='',$orderBy='',$limit='') {
$res = mysql_query($this->SELECTquery($select_fields,$from_table,$where_clause,$groupBy,$orderBy,$limit), $this->link);
if ($this->debugOutput) $this->debug('exec_SELECTquery');
unset($output);
if (!$this->sql_error()) {
$output = array();
while($output[] = $this->sql_fetch_assoc($res));
array_pop($output);
}
return $output;
}
......@@ -775,7 +798,11 @@ class t3lib_DB {
* @return pointer Returns a positive MySQL persistent link identifier on success, or FALSE on error.
*/
function sql_pconnect($TYPO3_db_host, $TYPO3_db_username, $TYPO3_db_password) {
$this->link = mysql_pconnect($TYPO3_db_host, $TYPO3_db_username, $TYPO3_db_password);
if ($GLOBALS['TYPO3_CONF_VARS']['SYS']['no_pconnect']) {
$this->link = mysql_connect($TYPO3_db_host, $TYPO3_db_username, $TYPO3_db_password);
} else {
$this->link = mysql_pconnect($TYPO3_db_host, $TYPO3_db_username, $TYPO3_db_password);
}
return $this->link;
}
......
......@@ -1442,7 +1442,7 @@ class t3lib_div {
} else {
if ($includeEmtpyValues OR $val) {
$arr0[$key] = $val;
}
}
}
}
}
......@@ -1574,17 +1574,7 @@ class t3lib_div {
if (is_array($value)) reset($value);
return $value;
}
/**
* Implodes attributes in the array $arr for an attribute list in eg. and HTML tag (with quotes)
*
* @deprecated Name was changed into implodeAttributes
* @see implodeAttributes()
*/
function implodeParams($arr,$xhtmlSafe=FALSE,$dontOmitBlankAttribs=FALSE) {
return t3lib_div::implodeAttributes($arr,$xhtmlSafe,$dontOmitBlankAttribs);
}
/**
* Implodes attributes in the array $arr for an attribute list in eg. and HTML tag (with quotes)
* Usage: 14
......@@ -1611,6 +1601,20 @@ class t3lib_div {
}
}
/**
* Implodes attributes in the array $arr for an attribute list in eg. and HTML tag (with quotes)
*
* @param array See implodeAttributes()
* @param boolean See implodeAttributes()
* @param boolean See implodeAttributes()
* @return string See implodeAttributes()
* @deprecated Name was changed into implodeAttributes
* @see implodeAttributes()
*/
function implodeParams($arr,$xhtmlSafe=FALSE,$dontOmitBlankAttribs=FALSE) {
return t3lib_div::implodeAttributes($arr,$xhtmlSafe,$dontOmitBlankAttribs);
}
/**
* Wraps JavaScript code XHTML ready with <script>-tags
* Automatic re-identing of the JS code is done by using the first line as ident reference.
......
......@@ -424,7 +424,7 @@ class t3lib_parsehtml_proc extends t3lib_parsehtml {
$absRef = $siteUrl.$this->rteImageStorageDir().'RTEmagicC_'.$filename.'.'.$pI['extension'];
$attribArray['src']=$absRef;
$params = t3lib_div::implodeParams($attribArray,1);
$params = t3lib_div::implodeAttributes($attribArray,1);
$imgSplit[$k] = '<img '.$params.' />';
}
}
......@@ -466,7 +466,7 @@ class t3lib_parsehtml_proc extends t3lib_parsehtml {
$attribArray['width']=$imgI[0];
$attribArray['height']=$imgI[1];
if (!$attribArray['border']) $attribArray['border']=0;
$params = t3lib_div::implodeParams($attribArray,1);
$params = t3lib_div::implodeAttributes($attribArray,1);
$imgSplit[$k]='<img '.$params.' />';
}
}
......@@ -502,7 +502,7 @@ class t3lib_parsehtml_proc extends t3lib_parsehtml {
}
// Compile the image tag again:
$params = t3lib_div::implodeParams($attribArray,1);
$params = t3lib_div::implodeAttributes($attribArray,1);
$imgSplit[$k]='<img '.$params.' />';
}
} else { // Remove image if it was not found in a proper position on the server!
......@@ -519,7 +519,7 @@ class t3lib_parsehtml_proc extends t3lib_parsehtml {
if (t3lib_div::isFirstPartOfStr($absRef,$siteUrl)) {
$attribArray['src'] = $this->relBackPath.substr($absRef,strlen($siteUrl));
if (!isset($attribArray['alt'])) $attribArray['alt']=''; // Must have alt-attribute for XHTML compliance.
$imgSplit[$k]='<img '.t3lib_div::implodeParams($attribArray,1,1).' />';
$imgSplit[$k]='<img '.t3lib_div::implodeAttributes($attribArray,1,1).' />';
}
}
}
......@@ -551,7 +551,7 @@ class t3lib_parsehtml_proc extends t3lib_parsehtml {
if (strtolower(substr($absRef,0,4))!='http') {
$attribArray['src'] = $siteUrl.substr($attribArray['src'],strlen($this->relBackPath));
if (!isset($attribArray['alt'])) $attribArray['alt']='';
$params = t3lib_div::implodeParams($attribArray);
$params = t3lib_div::implodeAttributes($attribArray);
$imgSplit[$k]='<img '.$params.' />';
}
}
......@@ -585,7 +585,7 @@ class t3lib_parsehtml_proc extends t3lib_parsehtml {
if ($siteURL && substr($attribArray['href'],0,strlen($siteURL))==$siteURL) {
$attribArray['href']=$this->relBackPath.substr($attribArray['href'],strlen($siteURL));
}
$bTag='<a '.t3lib_div::implodeParams($attribArray,1).'>';
$bTag='<a '.t3lib_div::implodeAttributes($attribArray,1).'>';
$eTag='</a>';
$blockSplit[$k] = $bTag.$this->TS_reglinks($this->removeFirstAndLastTag($blockSplit[$k]),$direction).$eTag;
}
......@@ -634,7 +634,7 @@ class t3lib_parsehtml_proc extends t3lib_parsehtml {
if ($siteURL && substr($attribArray['href'],0,strlen($siteURL))==$siteURL) {
$attribArray['href']=$this->relBackPath.substr($attribArray['href'],strlen($siteURL));
}
$bTag='<a '.t3lib_div::implodeParams($attribArray,1).'>';
$bTag='<a '.t3lib_div::implodeAttributes($attribArray,1).'>';
$eTag='</a>';
$blockSplit[$k] = $bTag.$this->TS_links_db($this->removeFirstAndLastTag($blockSplit[$k])).$eTag;
}
......@@ -1499,7 +1499,7 @@ class t3lib_parsehtml_proc extends t3lib_parsehtml {
}
if (!$dontSetRTEKEEP) $attribArray['rtekeep'] = 1;
$bTag='<a '.t3lib_div::implodeParams($attribArray,1).'>';
$bTag='<a '.t3lib_div::implodeAttributes($attribArray,1).'>';
$eTag='</a>';
$blockSplit[$k] = $bTag.$this->TS_AtagToAbs($this->removeFirstAndLastTag($blockSplit[$k])).$eTag;
}
......
......@@ -1032,7 +1032,7 @@ class t3lib_stdGraphic {
} else {
// Blurring of the mask
$times = ceil($blurRate/10); // How many blur-commands that is executed. Min = 1;
$newBlurRate = $blurRate*4; // Her booster vi blur-rate, s at den allerede ved 25 er p 100. Resten op til 99 gr p iterationer af blur-kommandoen
$newBlurRate = $blurRate*4; // Her booster vi blur-rate, sat den allerede ved 25 er p100. Resten op til 99 g piterationer af blur-kommandoen
$newBlurRate = t3lib_div::intInRange($newBlurRate,1,99);
for ($a=0;$a<$times;$a++) { // Building blur-command
$command.=' -blur '.$blurRate;
......@@ -1556,7 +1556,8 @@ class t3lib_stdGraphic {
* @return string
*/
function randomName() {
return $this->tempPath.'temp_'.md5(uniqid(''));
$this->createTempSubDir('temp/');
return $this->tempPath.'temp/'.md5(uniqid(''));
}
/**
......@@ -1808,8 +1809,13 @@ class t3lib_stdGraphic {
$theOutputName = $this->imageMagickConvert_forceFileNameBody;
$this->imageMagickConvert_forceFileNameBody='';
}
$output = $this->tempPath.$this->filenamePrefix.$theOutputName.'.'.$newExt;
$GLOBALS['TEMP_IMAGES_ON_PAGE'][]=$output;
// Making the temporary filename:
$this->createTempSubDir('pics/');
$output = $this->tempPath.'pics/'.$this->filenamePrefix.$theOutputName.'.'.$newExt;
// Register temporary filename:
$GLOBALS['TEMP_IMAGES_ON_PAGE'][] = $output;
if (!$this->file_exists_typo3temp_file($output,$imagefile) || $this->dontCheckForExistingTempFile) {
$this->imageMagickExec($imagefile.$frame,$output,$command);
......@@ -2195,6 +2201,16 @@ class t3lib_stdGraphic {
}
}
/**
* Creates subdirectory in typo3temp/ if not already found.
*/
function createTempSubDir($dirName) {
// Making the temporary filename:
if (!@is_dir(PATH_site.$this->tempPath.$dirName)) {
return t3lib_div::mkdir(PATH_site.$this->tempPath.$dirName);
}
}
/**
* Applies an ImageMagick parameter to a GDlib image pointer resource by writing the resource to file, performing an IM operation upon it and reading back the result into the ImagePointer.
*
......
......@@ -2786,6 +2786,33 @@ class t3lib_TCEforms {
}
}
// Values from a file folder:
if ($fieldValue['config']['fileFolder']) {
$fileFolder = t3lib_div::getFileAbsFileName($fieldValue['config']['fileFolder']);
if (@is_dir($fileFolder)) {
// Configurations:
$extList = $fieldValue['config']['fileFolder_extList'];
$recursivityLevels = isset($fieldValue['config']['fileFolder_recursions']) ? t3lib_div::intInRange($fieldValue['config']['fileFolder_recursions'],0,99) : 99;
// Get files:
$fileFolder = ereg_replace('\/$','',$fileFolder).'/';
$fileArr = t3lib_div::getAllFilesAndFoldersInPath(array(),$fileFolder,$extList,0,$recursivityLevels);
$fileArr = t3lib_div::removePrefixPathFromList($fileArr, $fileFolder);
foreach($fileArr as $fileRef) {
$fI = pathinfo($fileRef);
$icon = t3lib_div::inList('gif,png,jpeg,jpg', strtolower($fI['extension'])) ? '../'.substr($fileFolder,strlen(PATH_site)).$fileRef : '';
$items[] = array(
$fileRef,
$fileRef,
$icon
);
}
}
}
// If 'special' is configured:
if ($fieldValue['config']['special']) {
switch ($fieldValue['config']['special']) {
......@@ -3982,6 +4009,34 @@ class t3lib_TCEforms {
$output = !$row[$parts[1]] ? TRUE : FALSE;
}
break;
case '>':
$output = $row[$parts[1]] > $parts[3];
break;
case '<':
$output = $row[$parts[1]] < $parts[3];
break;
case '>=':
$output = $row[$parts[1]] >= $parts[3];
break;
case '<=':
$output = $row[$parts[1]] <= $parts[3];
break;
case '-':
case '!-':
$cmpParts = explode('-',$parts[3]);
$output = $row[$parts[1]] >= $cmpParts[0] && $row[$parts[1]] <= $cmpParts[1];
if ($parts[2]{0}=='!') $output = !$output;
break;
case 'IN':
case '!IN':
$output = t3lib_div::inList($parts[3],$row[$parts[1]]);
if ($parts[2]{0}=='!') $output = !$output;
break;
case '=':
case '!=':
$output = t3lib_div::inList($parts[3],$row[$parts[1]]);
if ($parts[2]{0}=='!') $output = !$output;
break;
}
break;
case 'EXT':
......
......@@ -3091,7 +3091,7 @@ class t3lib_TCEmain {
// Set title value to check for:
if ($count) {
$checkTitle = $value.sprintf($this->prependLabel($table),$count);
$checkTitle = $value.rtrim(' '.sprintf($this->prependLabel($table),$count));
} else {
$checkTitle = $value;
}
......
......@@ -70,6 +70,7 @@ $TYPO3_CONF_VARS = Array(
'binPath' => '', // String, comma seperated list: list of absolute paths where external programs should be searched for
't3lib_cs_convMethod' => '', // String (values: "iconv", "recode", "mbstring", default is homemade PHP-code). Defines which of these PHP-features to use for various Charset conversing functions in t3lib_cs. Will speed up charset conversion radically.
't3lib_cs_utils' => '', // String (values: "iconv", "recode", "mbstring", default is homemade PHP-code). Defines which of these PHP-features to use for various Charset processing functions in t3lib_cs. Will speed up charset functions radically.
'no_pconnect' => 0, // Boolean: If true, "connect" is used instead of "pconnect" when connecting to the database!
),
'EXT' => Array ( // Options related to the Extension Management
'noEdit' => 1, // Boolean: If set, the Extension Manager does NOT allow extension files to be edited! (Otherwise both local and global extensions can be edited.)
......
......@@ -400,4 +400,4 @@ $SOBE->init();
$SOBE->main();
$SOBE->printContent();
?>
?>
\ No newline at end of file
......@@ -111,7 +111,7 @@ class SC_alt_main {
function generateJScode() {
global $BE_USER,$LANG;
$pt3=t3lib_div::dirname(t3lib_div::getIndpEnv('SCRIPT_NAME')).'/';
$pt3 = t3lib_div::dirname(t3lib_div::getIndpEnv('SCRIPT_NAME')).'/';
$goToModule_switch = $this->alt_menuObj->topMenu($this->loadModules->modules,0,"",4);
$fsMod = implode(chr(10),$this->alt_menuObj->fsMod);
......@@ -236,7 +236,7 @@ class SC_alt_main {
/**
* Loads a page id for editing in the page edit module:
*/
function loadEditId(id) { //
function loadEditId(id,addGetVars) { //
top.fsMod.recentIds["web"]=id;
top.fsMod.navFrameHighlightedID["web"]="pages"+id+"_0"; // For highlighting
......@@ -244,7 +244,7 @@ class SC_alt_main {
top.content.nav_frame.refresh_nav();
}
top.goToModule("'.$pageModule.'");
top.goToModule("'.$pageModule.'", 0, addGetVars?addGetVars:"");
}
/**
......@@ -318,7 +318,10 @@ class SC_alt_main {
* Function used to switch switch module.
*/
var currentModuleLoaded = "";
function goToModule(modName,cMR_flag) { //
function goToModule(modName,cMR_flag,addGetVars) { //
var additionalGetVariables = "";
if (addGetVars) additionalGetVariables = addGetVars;
var cMR = 0;
if (cMR_flag) cMR = 1;
......
......@@ -162,7 +162,7 @@ class alt_menu_functions {
$mIcons[] = '<a href="#" onclick="top.goToModule(\''.$moduleName.'\');'.$onBlur.'return false;" class="c-mainitem" id="'.$moduleCSSId.'">'.$descr3_imageCode.'</a>';
$JScmd = '
top.content.location=top.getModuleUrl(top.TS.PATH_typo3+\''.$this->wrapLinkWithAB($link).'\');
top.content.location=top.getModuleUrl(top.TS.PATH_typo3+\''.$this->wrapLinkWithAB($link).'\'+additionalGetVariables);
top.highlightModuleMenuItem("'.$moduleCSSId.'",1);';
$mJScmds[] = "case '".$moduleName."': \n ".$JScmd." \n break;";
}
......@@ -238,7 +238,7 @@ class alt_menu_functions {
// Command for the selector box:
$JScmd = "
top.content.location=top.getModuleUrl(top.TS.PATH_typo3+'".$this->wrapLinkWithAB($link)."'".$addJS.');
top.content.location=top.getModuleUrl(top.TS.PATH_typo3+'".$this->wrapLinkWithAB($link)."'".$addJS.'+additionalGetVariables);
top.fsMod.currentMainLoaded="'.$moduleName.'";
';
......@@ -254,7 +254,7 @@ class alt_menu_functions {
$JScmd = '
if (top.content.list_frame && top.fsMod.currentMainLoaded=="'.$moduleName.'") {
top.currentSubScript="'.$origLink.'";
top.content.list_frame.location=top.getModuleUrl(top.TS.PATH_typo3+"'.$this->wrapLinkWithAB($origLink).'"'.$addJS.');
top.content.list_frame.location=top.getModuleUrl(top.TS.PATH_typo3+"'.$this->wrapLinkWithAB($origLink).'"'.$addJS.'+additionalGetVariables);
if(top.currentSubNavScript!="'.$subNavFrameScript.'") {
top.currentSubNavScript="'.$subNavFrameScript.'";
top.content.nav_frame.location=top.getModuleUrl(top.TS.PATH_typo3+"'.$subNavFrameScript.'");
......@@ -263,7 +263,7 @@ class alt_menu_functions {
top.content.location=top.TS.PATH_typo3+(
top.nextLoadModuleUrl?
"'.($prefix?$this->wrapLinkWithAB($link).'&exScript=':'').'listframe_loader.php":
"'.$this->wrapLinkWithAB($link).'"'.$addJS.'
"'.$this->wrapLinkWithAB($link).'"'.$addJS.'+additionalGetVariables