diff --git a/api/api.php b/api/api.php index 6b1424c..c68b393 100644 --- a/api/api.php +++ b/api/api.php @@ -60,20 +60,7 @@ class api { } private static function getApiTree($group){ - $con = new \SYSTEM\DB\Connection(\SYSTEM\system::getSystemDBInfo()); - if(\SYSTEM\system::isSystemDbInfoPG()){ - $res = $con->query('SELECT * FROM '.\SYSTEM\DBD\system_api::NAME_PG .' WHERE "'.\SYSTEM\DBD\system_api::FIELD_GROUP.'" = '.$group.' ORDER BY "'.\SYSTEM\DBD\system_api::FIELD_ID.'"'); - } else { - $res = $con->query('SELECT * FROM '.\SYSTEM\DBD\system_api::NAME_MYS.' WHERE `'.\SYSTEM\DBD\system_api::FIELD_GROUP.'` = '.$group.' ORDER BY '.\SYSTEM\DBD\system_api::FIELD_ID); - } - - if(!$res){ - throw new \SYSTEM\LOG\ERROR('Database Error '.pg_last_error($con));} - - $result = array(); - while($row = $res->next()){ - $result[] = $row;} - + $result = \SYSTEM\DBD\SYS_API_TREE::QA(array($group)); if(!isset($result) || !is_array($result) || count($result) <= 0){ throw new \SYSTEM\LOG\ERROR("Database Tree for Api empty - cannot proced! GROUP: ".$group);} diff --git a/cache/cache.php b/cache/cache.php index b704cb2..d919a9d 100644 --- a/cache/cache.php +++ b/cache/cache.php @@ -4,42 +4,27 @@ namespace SYSTEM\CACHE; class cache { - public static function get(\SYSTEM\DB\DBInfo $dbinfo, $cache_id, $ident){ - $con = new \SYSTEM\DB\Connection($dbinfo); - $res = $con->prepare( 'checkCache', - 'SELECT "data" FROM system.cache'. - ' WHERE "CacheID" = $1 AND'. - ' "Ident" = $2;', - array($cache_id,$ident)); - if(!($result = $res->next())){ + public static function get($cache_id, $ident){ + $result = \SYSTEM\DBD\SYS_CACHE_CHECK::Q1(array($cache_id,$ident)); + if(!$result){ return NULL;} return pg_unescape_bytea($result['data']); } - public static function put(\SYSTEM\DB\DBInfo $dbinfo, $cache_id, $ident, $data, $fail_on_exist = false){ - if((self::get($dbinfo,$cache_id,$ident) != NULL)){ + public static function put($cache_id, $ident, $data, $fail_on_exist = false){ + if((self::get($cache_id,$ident) != NULL)){ if($fail_on_exist){ return false;} - self::del($dbinfo, $cache_id, $ident); + self::del($cache_id, $ident); } - $con = new \SYSTEM\DB\Connection($dbinfo); - $res = $con->prepare( 'insertCache', - 'INSERT INTO system.cache ("CacheID", "Ident", "data")'. - ' VALUES ($1,$2,$3);', - array($cache_id,$ident,pg_escape_bytea($data))); - return $res->next() ? $data : NULL; + $result = \SYSTEM\DBD\SYS_CACHE_PUT::Q1(array($cache_id,$ident,$data)); + return $result ? $data : NULL; } - public static function del(\SYSTEM\DB\DBInfo $dbinfo, $cache_id, $ident){ - $con = new \SYSTEM\DB\Connection($dbinfo); - $res = $con->prepare( 'deleteCache', - 'DELETE FROM system.cache'. - ' WHERE "CacheID" = $1 AND'. - ' "Ident" = $2;', - array($cache_id,$ident)); - - return $res->next() ? true : false; + public static function del($cache_id, $ident){ + $result = \SYSTEM\DBD\SYS_CACHE_DELETE::Q1(array($cache_id,$ident)); + return $result ? true : false; } } \ No newline at end of file diff --git a/db/qq/QP.php b/db/qq/QP.php index 9f39e7e..162af60 100644 --- a/db/qq/QP.php +++ b/db/qq/QP.php @@ -2,7 +2,7 @@ namespace SYSTEM\DB; class QP { - public static function QQ($params){ + public static function QQ($params,$params_mys = null){ $query = static::query(); $con = new \SYSTEM\DB\Connection($query->dbinfo); if($is_pg = \SYSTEM\system::isSystemDbInfoPG() && $query->dbinfo){ @@ -10,17 +10,20 @@ class QP { if($is_pg){ return $con->prepare($query->name,$query->sql_pg,$params); } else { - return $con->prepare($query->name,$query->sql_mys,$params);} + return $con->prepare($query->name,$query->sql_mys,$params_mys ? $params_mys : $params);} } - public static function QA($params){ - $res = self::QQ($params); + public static function QA($params,$params_mys = null){ + $res = self::QQ($params,$params_mys); $result = array(); while($row = $res->next()){ $result[] = $row;} return $result; } + public static function Q1($params,$params_mys = null){ + return self::QQ($params,$params_mys)->next();} + //override this protected static function query(){ throw new \SYSTEM\LOG\ERROR('query function of your QQ Object not overritten!');} diff --git a/db/qq/QQ.php b/db/qq/QQ.php index d1f4b95..824fa23 100644 --- a/db/qq/QQ.php +++ b/db/qq/QQ.php @@ -21,6 +21,9 @@ class QQ { return $result; } + public static function Q1(){ + return self::QQ()->next();} + //override this protected static function query(){ throw new \SYSTEM\LOG\ERROR('query function of your QQ Object not overritten!');} diff --git a/dbd/qq/SYS_API_TREE.php b/dbd/qq/SYS_API_TREE.php new file mode 100644 index 0000000..e77d418 --- /dev/null +++ b/dbd/qq/SYS_API_TREE.php @@ -0,0 +1,15 @@ +logged){ return false;} //alrdy logged(this prevents proper thrown value for every system exception) - - if(\SYSTEM\system::isSystemDbInfoPG()){ - $con = new \SYSTEM\DB\Connection(\SYSTEM\system::getSystemDBInfo()); - $con->prepare( 'sysLogStmt', 'INSERT INTO '.\SYSTEM\DBD\system_log::NAME_PG. - '("'.\SYSTEM\DBD\system_log::FIELD_CLASS.'","'.\SYSTEM\DBD\system_log::FIELD_MESSAGE.'","'. - \SYSTEM\DBD\system_log::FIELD_CODE.'","'.\SYSTEM\DBD\system_log::FIELD_FILE.'","'. - \SYSTEM\DBD\system_log::FIELD_LINE.'","'.\SYSTEM\DBD\system_log::FIELD_TRACE.'","'. - \SYSTEM\DBD\system_log::FIELD_IP.'","'.\SYSTEM\DBD\system_log::FIELD_QUERYTIME.'","'. - \SYSTEM\DBD\system_log::FIELD_SERVER_NAME.'","'.\SYSTEM\DBD\system_log::FIELD_SERVER_PORT.'","'. - \SYSTEM\DBD\system_log::FIELD_REQUEST_URI.'","'.\SYSTEM\DBD\system_log::FIELD_POST.'","'. - \SYSTEM\DBD\system_log::FIELD_HTTP_REFERER.'","'.\SYSTEM\DBD\system_log::FIELD_HTTP_USER_AGENT.'","'. - \SYSTEM\DBD\system_log::FIELD_USER.'","'.\SYSTEM\DBD\system_log::FIELD_THROWN.'")'. - 'VALUES($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16);', - array( get_class($E), $E->getMessage(), $E->getCode(), $E->getFile(), $E->getLine(), $E->getTraceAsString(), - getenv('REMOTE_ADDR'),round(microtime(true) - \SYSTEM\time::getStartTime(),5), - $_SERVER["SERVER_NAME"],$_SERVER["SERVER_PORT"],$_SERVER['REQUEST_URI'], serialize($_POST), - array_key_exists('HTTP_REFERER', $_SERVER) ? $_SERVER['HTTP_REFERER'] : null,$_SERVER['HTTP_USER_AGENT'], - ($user = \SYSTEM\SECURITY\Security::getUser()) ? $user->id : null, $thrown ? 1 : 0)); - } else { - $con = new \SYSTEM\DB\Connection(\SYSTEM\system::getSystemDBInfo()); - $con->prepare( 'sysLogStmt', 'INSERT INTO '.\SYSTEM\DBD\system_log::NAME_MYS. - '('.\SYSTEM\DBD\system_log::FIELD_CLASS.','.\SYSTEM\DBD\system_log::FIELD_MESSAGE.','. - \SYSTEM\DBD\system_log::FIELD_CODE.','.\SYSTEM\DBD\system_log::FIELD_FILE.','. - \SYSTEM\DBD\system_log::FIELD_LINE.','.\SYSTEM\DBD\system_log::FIELD_TRACE.','. - \SYSTEM\DBD\system_log::FIELD_IP.','.\SYSTEM\DBD\system_log::FIELD_QUERYTIME.','. - \SYSTEM\DBD\system_log::FIELD_TIME.','.\SYSTEM\DBD\system_log::FIELD_SERVER_NAME.','. - \SYSTEM\DBD\system_log::FIELD_SERVER_PORT.','.\SYSTEM\DBD\system_log::FIELD_REQUEST_URI.','. - \SYSTEM\DBD\system_log::FIELD_POST.','.\SYSTEM\DBD\system_log::FIELD_HTTP_REFERER.','. - \SYSTEM\DBD\system_log::FIELD_HTTP_USER_AGENT.','.\SYSTEM\DBD\system_log::FIELD_USER.','. - \SYSTEM\DBD\system_log::FIELD_THROWN.')'. - 'VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);', - array( get_class($E), $E->getMessage(), $E->getCode(), $E->getFile(), $E->getLine(), $E->getTraceAsString(), - getenv('REMOTE_ADDR'),round(microtime(true) - \SYSTEM\time::getStartTime(),5),date('Y-m-d H:i:s', microtime(true)), - $_SERVER["SERVER_NAME"],$_SERVER["SERVER_PORT"],$_SERVER['REQUEST_URI'], serialize($_POST), - array_key_exists('HTTP_REFERER', $_SERVER) ? $_SERVER['HTTP_REFERER'] : null,$_SERVER['HTTP_USER_AGENT'], - ($user = \SYSTEM\SECURITY\Security::getUser()) ? $user->id : null,$thrown)); - } + \SYSTEM\DBD\SYS_LOG_INSERT::Q1( array( get_class($E), $E->getMessage(), $E->getCode(), $E->getFile(), $E->getLine(), $E->getTraceAsString(), + getenv('REMOTE_ADDR'),round(microtime(true) - \SYSTEM\time::getStartTime(),5), + $_SERVER["SERVER_NAME"],$_SERVER["SERVER_PORT"],$_SERVER['REQUEST_URI'], serialize($_POST), + array_key_exists('HTTP_REFERER', $_SERVER) ? $_SERVER['HTTP_REFERER'] : null,$_SERVER['HTTP_USER_AGENT'], + ($user = \SYSTEM\SECURITY\Security::getUser()) ? $user->id : null, $thrown ? 1 : 0), + array( get_class($E), $E->getMessage(), $E->getCode(), $E->getFile(), $E->getLine(), $E->getTraceAsString(), + getenv('REMOTE_ADDR'),round(microtime(true) - \SYSTEM\time::getStartTime(),5),date('Y-m-d H:i:s', microtime(true)), + $_SERVER["SERVER_NAME"],$_SERVER["SERVER_PORT"],$_SERVER['REQUEST_URI'], serialize($_POST), + array_key_exists('HTTP_REFERER', $_SERVER) ? $_SERVER['HTTP_REFERER'] : null,$_SERVER['HTTP_USER_AGENT'], + ($user = \SYSTEM\SECURITY\Security::getUser()) ? $user->id : null,$thrown)); if(\property_exists(get_class($E), 'logged')){ $E->logged = true;} //we just did log } catch (\Exception $E){} //Error -> Ignore diff --git a/sai/modules/saimod_sys_log/saimod_sys_log.php b/sai/modules/saimod_sys_log/saimod_sys_log.php index 738b55f..1016de2 100644 --- a/sai/modules/saimod_sys_log/saimod_sys_log.php +++ b/sai/modules/saimod_sys_log/saimod_sys_log.php @@ -61,8 +61,7 @@ class saimod_sys_log extends \SYSTEM\SAI\SaiModule { return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_log/saimod_sys_log_error.tpl'), $vars);} public static function sai_mod__SYSTEM_SAI_saimod_sys_log_action_filter($filter = "%"){ - $res = \SYSTEM\DBD\SYS_SAIMOD_LOG_FILTER_COUNT::QQ(array(mysql_escape_string($filter)))->next(); - $count = $res['count']; + $count = \SYSTEM\DBD\SYS_SAIMOD_LOG_FILTER_COUNT::Q1(array(mysql_escape_string($filter))); $res = \SYSTEM\DBD\SYS_SAIMOD_LOG_FILTER::QQ(array(mysql_escape_string($filter))); $now = microtime(true); $table=''; @@ -74,7 +73,7 @@ class saimod_sys_log extends \SYSTEM\SAI\SaiModule { $table .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_log/saimod_sys_log_table_row.tpl'),$r); } $vars = array(); - $vars['count'] = $count; + $vars['count'] = $count['count']; $vars['table'] = $table; return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_log/saimod_sys_log_table.tpl'), $vars); }