/** * Splittet einen langen Querystring und gibt die einzelnen Querys in einem Array zurück * * @param string $sql Das SQL-Query * @since 0.0.1 * @version 0.0.2 * @access private * @return array * @author Alexander Mieland * @copyright 2000-2004 by APP - Another PHP Program */ function ParseQuerys($sql) { $sql = stripslashes(_APCMS_trim($sql)); $ret = array(); $sql = preg_replace(array("`^#.*\n`m", "`^/\\*.*\\*/\n`m", "`^--.*\n`m", "`\n|\r\n|\r`m"), array("", "", "", "\n"), $sql); $ret = preg_split("/;\n/m", $sql); if (!preg_match('/;\\n/m', $ret[count($ret) - 1])) { $sqlreturn = $ret[count($ret) - 1]; array_splice($ret, count($ret) - 1, 1); $ret[] = preg_match("`;\$`", _APCMS_trim($sqlreturn)) ? substr(_APCMS_trim($sqlreturn), 0, strlen(_APCMS_trim($sqlreturn)) - 1) : _APCMS_trim($sqlreturn); } $ret = _APCMS_ArrayStrReplace("{\$MYSQLSUFFIX}", $_SESSION['MYSQLDATA']['SUFFIX'], $ret); $ret = _APCMS_ArrayStrReplace("{\$LANGUAGETABLE}", "`apcms_" . $_SESSION['MYSQLDATA']['SUFFIX'] . "_language`", $ret); $ret = _APCMS_ArrayStrReplace("{\$NAVBOXTABLE}", "`apcms_" . $_SESSION['MYSQLDATA']['SUFFIX'] . "_portal_navboxes`", $ret); $ret = _APCMS_ArrayStrReplace("{\$NEWSTABLE}", "`apcms_" . $_SESSION['MYSQLDATA']['SUFFIX'] . "_portal_news`", $ret); $ret = _APCMS_ArrayStrReplace("{\$USERTABLE}", "`apcms_" . $_SESSION['MYSQLDATA']['SUFFIX'] . "_user_table`", $ret); for ($a = 0; $a < count($ret); $a++) { $ret[$a] = preg_replace("@(`)(`(apcms_" . $_SESSION['MYSQLDATA']['SUFFIX'] . "_language|apcms_" . $_SESSION['MYSQLDATA']['SUFFIX'] . "_portal_navboxes|apcms_" . $_SESSION['MYSQLDATA']['SUFFIX'] . "_user_table|apcms_" . $_SESSION['MYSQLDATA']['SUFFIX'] . "_portal_news)`)(`)@iU", "\\2", $ret[$a]); } $ret = _APCMS_ArrayTrim($ret); return $ret; }
/** * Ersetzt einen Teilstring in allen Elemente eines Arrays * * @param array $search Der zu ersetzende String * @param array $replace Der einzufügende String * @param array $array Das Array * @since 1.0 * @version 2.2 * @access private * @return array * @author Alexander Mieland * @copyright 2000-2004 by APP - Another PHP Program */ function _APCMS_ArrayStrReplace($search, $replace, $array) { reset($array); foreach ($array as $key => $val) { if (!is_array($val)) { $array[$key] = str_replace($search, $replace, $val); } else { $array[$key] = _APCMS_ArrayStrReplace($val); } } return $array; }