diff --git a/class/class.database.php b/class/class.database.php index 1f79ddb..7ffd995 100755 --- a/class/class.database.php +++ b/class/class.database.php @@ -933,6 +933,31 @@ } + /** + * Метод, предназначенный для выполнения запроса к MySQL и возвращение результата в виде асоциативного массива с поддержкой кеша + * + * @param string $query - текст SQL-запроса + * @param integer $TTL - время жизни кеша (-1 безусловный кеш) + * @param string $cache_id - Id файла кеша + * @param bool $log - записать ошибки в лог? по умолчанию включено + * @return array - асоциативный массив с результом запроса + */ + public function Queries ($array) + { + if (is_array($array)) + { + foreach ($array AS $sql) + { + // Принудительная фильтрация запроса + if (defined(SQL_QUERY_SANITIZE) && SQL_QUERY_SANITIZE) + $sql = filter_var($sql, FILTER_SANITIZE_STRING); + + $this->Real_Query($sql); + } + } + } + + /** * This method is needed for prepared statements. They require * the data type of the field to be bound with "i" s", etc. @@ -994,6 +1019,8 @@ */ public function EscStr($value) { + global $AVE_DB; + $search = array( '&' => '&', '>' => '>', @@ -1036,6 +1063,8 @@ */ function ClearUrl($url) { + global $AVE_DB; + // Убираем пробелы $url = trim($url); @@ -1496,5 +1525,33 @@ return (rrmdir($cache_from_id) AND rrmdir($cache_from_alias)); } + + /* + |-------------------------------------------------------------------------------------- + | Перефоратирует текст запроса + |-------------------------------------------------------------------------------------- + | + | @param string + | @return string + | + */ + function queryList ($string) + { + $search = array( + "/[\t]/", + '/(\s)+/s', + '/(GROUP BY|STRAIGHT_JOIN|UNION|FROM|WHERE|LIMIT|ORDER BY|LEFT JOIN|INNER JOIN|RIGHT JOIN|JOIN|ON|AND|OR|SET)/s' + + ); + + $replace = array( + " ", + '\\1', + "\r\n$1" + ); + + return trim(preg_replace($search, $replace, $string)); + } + } // End AVE_DB class ?> \ No newline at end of file