Franz Holzinger

Verse of the day

So ist nun nichts Verdammliches an denen, die in Christo Jesu sind, die nicht nach dem Fleisch wandeln, sondern nach dem Geist. Denn das Gesetz des Geistes, der da lebendig macht in Christo Jesu, hat mich frei gemacht von dem Gesetz der Sünde und des Todes.
Roemer 8:1-2

© Bible Gateway's Verse of the Day


Buch: Der TYPO3 Webshop
 
 
komplette Funktion
 
Autor: Franz Holzinger Datum: 11-04-15 16:23:24
 
Anbei habe ich weitere Optimierungen vorgenommen. Die pids werden nun sortiert. Es wird gewährleistet, dass jeder pid nur einmal vorkommt. Hier die gesamte Funktion:

public function applyRecursive ($recursive, &$pids, $bStore = FALSE) {
$cObj = t3lib_div::getUserObj('&tx_div2007_cobj');

if ($pids != '') {
$pid_list = &$pids;
} else {
$pid_list = $this->pid_list;
}

if (!$pid_list) {
$pid_list = $GLOBALS['TSFE']->id;
}

if ($recursive) { // get pid-list if recursivity is enabled
$recursive = intval($recursive);
$this->recursive = $recursive;
$pidSubArray = array();

$pid_list_arr = explode(',', $pid_list);
foreach ($pid_list_arr as $val) {
$pidSub = $cObj->getTreeList($val, $recursive);
if ($pidSub != '') {
$pidSubArray[] = $pidSub;
}
}

$pid_list .= ',' . implode(',', $pidSubArray);
$pid_list_arr = explode(',', $pid_list);
$flippedArray = array_flip($pid_list_arr);
$pid_list_arr = array_keys($flippedArray);
sort($pid_list_arr,SORT_NUMERIC);
$pid_list = implode(',', $pid_list_arr);
$pid_list = preg_replace('/^,/', '', $pid_list);
}

if ($bStore) {
$this->pid_list = $pid_list;
}
}