reverse merge from 1.6.0 (r10014)

git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@10691 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
ovclas 2012-05-16 09:22:54 +00:00
parent 75f9ef95cf
commit 546da7c0bd

View file

@ -177,6 +177,12 @@
* @return list of supported db * @return list of supported db
**/ **/
function _getSupportedList() { function _getSupportedList() {
static $get_supported_list = '';
if(is_array($get_supported_list)) {
$this->supported_list = $get_supported_list;
return $this->supported_list;
}
$get_supported_list = array();
$db_classes_path = _XE_PATH_."classes/db/"; $db_classes_path = _XE_PATH_."classes/db/";
$filter = "/^DB([^\.]+)\.class\.php/i"; $filter = "/^DB([^\.]+)\.class\.php/i";
$supported_list = FileHandler::readDir($db_classes_path, $filter, true); $supported_list = FileHandler::readDir($db_classes_path, $filter, true);
@ -203,9 +209,9 @@
$obj->db_type = $db_type; $obj->db_type = $db_type;
$obj->enable = $oDB->isSupported() ? true : false; $obj->enable = $oDB->isSupported() ? true : false;
$this->supported_list[] = $obj; $get_supported_list[] = $obj;
} }
$this->supported_list = $get_supported_list;
return $this->supported_list; return $this->supported_list;
} }
@ -332,6 +338,7 @@
* @remarks this function finds xml file or cache file of $query_id, compiles it and then execute it * @remarks this function finds xml file or cache file of $query_id, compiles it and then execute it
**/ **/
function executeQuery($query_id, $args = NULL, $arg_columns = NULL) { function executeQuery($query_id, $args = NULL, $arg_columns = NULL) {
static $cache_file = array();
if(!$query_id) return new Object(-1, 'msg_invalid_queryid'); if(!$query_id) return new Object(-1, 'msg_invalid_queryid');
if(!$this->db_type) return; if(!$this->db_type) return;
@ -339,6 +346,7 @@
$this->query_id = $query_id; $this->query_id = $query_id;
if(!isset($cache_file[$query_id])) {
$id_args = explode('.', $query_id); $id_args = explode('.', $query_id);
if(count($id_args) == 2) { if(count($id_args) == 2) {
$target = 'modules'; $target = 'modules';
@ -365,8 +373,9 @@
} }
// look for cache file // look for cache file
$cache_file = $this->checkQueryCacheFile($query_id, $xml_file); $cache_file[$query_id] = $this->checkQueryCacheFile($query_id, $xml_file);
$result = $this->_executeQuery($cache_file, $args, $query_id, $arg_columns); }
$result = $this->_executeQuery($cache_file[$query_id], $args, $query_id, $arg_columns);
$this->actDBClassFinish(); $this->actDBClassFinish();
// execute query // execute query
@ -381,7 +390,6 @@
* @return cache file * @return cache file
**/ **/
function checkQueryCacheFile($query_id,$xml_file){ function checkQueryCacheFile($query_id,$xml_file){
// first try finding cache file // first try finding cache file
$cache_file = sprintf('%s%s%s.%s.%s.cache.php', _XE_PATH_, $this->cache_file, $query_id, __ZBXE_VERSION__, $this->db_type); $cache_file = sprintf('%s%s%s.%s.%s.cache.php', _XE_PATH_, $this->cache_file, $query_id, __ZBXE_VERSION__, $this->db_type);