/**
  * 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;
 }
Пример #2
0
/** 
 * 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;
}