Project

General

Profile

Feature #14254 » 0000251-TCEMain.diff

Administrator Admin, 2005-01-24 16:47

View differences:

Desktop\class.t3lib_tcemain-FIX.php Mon Jan 24 16:36:42 2005
$xmlValue = $this->checkValue_flexArray2Xml($arrValue);
}
// Temporary fix to move elements:
$moveCMDs = t3lib_div::_GP('_MOVE_FLEX_FORMdata');
if (is_array($moveCMDs[$table][$id][$field]['data'])) {
$arrValue = t3lib_div::xml2array($xmlValue);
$this->_MOVE_FLEX_FORMdata($arrValue['data'],$moveCMDs[$table][$id][$field]['data']);
$xmlValue = $this->checkValue_flexArray2Xml($arrValue);
}
// Create the value XML:
$res['value']='';
$res['value'].='<?xml version="1.0" encoding="'.$storeInCharset.'" standalone="yes" ?>'.chr(10);
......
}
/**
* [Describe function...]
*
* @param [type] &$valueArray: ...
* @param [type] $deleteCMDS: ...
* @return [type] ...
*/
function _MOVE_FLEX_FORMdata(&$valueArray,$moveCMDs) {
if (is_array($valueArray) && is_array($moveCMDs)) {
//print_r($moveCMDs);
foreach($moveCMDs as $key => $value) {
if (is_array($moveCMDs[$key])) {
$this->_MOVE_FLEX_FORMdata($valueArray[$key],$moveCMDs[$key]);
} else {
$explodeResult = explode('-',$value);
if($explodeResult[1]) {
for($i = 1; $i <= 10; $i++) {
$key = $this->moveArrayElement($explodeResult[0],$valueArray,$key);
}
} else {
$this->moveArrayElement($explodeResult[0],$valueArray,$key);
}
}
}
}
}
// works with numerical keys only, so no associative arrays
function moveArrayElement($direction,&$array,$keyOfElementToMove) {
$keyToChangePositionWith = $keyOfElementToMove+(!strcmp($direction,'up')?(-1):1);
if($array[$keyToChangePositionWith] && $keyToChangePositionWith>0) {
$tempElementToMove = $array[$keyOfElementToMove];
$tempElementToChangePositionWith = $array[$keyToChangePositionWith];
$array[$keyToChangePositionWith] = $tempElementToMove;
$array[$keyOfElementToMove] = $tempElementToChangePositionWith;
}
return $keyToChangePositionWith;
}
(4-4/4)