function &getListToPageAssignment() { global $gorumroll; static $listToPageAssignment = 0; if ($listToPageAssignment) { return $listToPageAssignment; } $listToPageAssignment = array_fill(0, 6, array()); loadObjectsSql($lists = new CustomList(), "SELECT * FROM @search WHERE pages!='' ORDER BY id ASC", $lists); $lists = array_filter($lists, array('customlist', 'customListFilter')); $qs = trim($gorumroll->queryString, "/"); foreach ($lists as $list) { $condArr = explode("\n", $list->pages); $composedConditionYes = array(); // ha a customlist "details" page-et nezzuk, ne legyen rajta a list meg egyszer: $composedConditionNo = array("\$qs=='customlist/{$list->id}'"); foreach ($condArr as $condPiece) { $condPiece = trim(str_replace("'", "", $condPiece)); if ($not = $condPiece[0] == "!") { $condPiece = substr($condPiece, 1); } $condPiece = trim($condPiece, "/"); if (strstr($condPiece, "*")) { $condPiece = str_replace("*", "[^/]*", $condPiece); $condPiece = "preg_match('{" . $condPiece . "}', \$qs)"; } else { $condPiece = "\$qs=='{$condPiece}'"; } if ($not) { $composedConditionNo[] = $condPiece; } else { $composedConditionYes[] = $condPiece; } } $composedCondition = implode(" || ", $composedConditionYes); if ($composedCondition) { $composedCondition = "({$composedCondition}) && "; } $composedCondition .= "!(" . implode(" || ", $composedConditionNo) . ")"; //echo("$qs<br>$composedCondition<br>"); eval("\$cond = {$composedCondition};"); if ($cond) { if ($list->listStyle == customlist_normal) { $positionAttr = "positionNormal"; } elseif ($list->listStyle == customlist_scrollable) { $positionAttr = "positionScrollable"; } foreach (explode(",", $list->{$positionAttr}) as $position) { $listToPageAssignment[$position][] = $list->id; } } } CustomList::addSidebarDependentCss($listToPageAssignment); return $listToPageAssignment; }