more quick querys - api, cache, log; qq supports now Q1 (get one row) and QP supports different parameter arrays for pg/mys
This commit is contained in:
parent
cf968381bd
commit
b91117c927
15
api/api.php
15
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);}
|
||||
|
||||
|
||||
37
cache/cache.php
vendored
37
cache/cache.php
vendored
@ -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;
|
||||
}
|
||||
}
|
||||
11
db/qq/QP.php
11
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!');}
|
||||
|
||||
@ -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!');}
|
||||
|
||||
15
dbd/qq/SYS_API_TREE.php
Normal file
15
dbd/qq/SYS_API_TREE.php
Normal file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
namespace SYSTEM\DBD;
|
||||
|
||||
class SYS_API_TREE extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
//pg
|
||||
'SELECT * FROM '.\SYSTEM\DBD\system_api::NAME_PG
|
||||
.' WHERE "'.\SYSTEM\DBD\system_api::FIELD_GROUP.'" = $1'
|
||||
.' ORDER BY "'.\SYSTEM\DBD\system_api::FIELD_ID.'"',
|
||||
//mys
|
||||
'SELECT * FROM '.\SYSTEM\DBD\system_api::NAME_MYS
|
||||
.' WHERE `'.\SYSTEM\DBD\system_api::FIELD_GROUP.'` = ?'
|
||||
.' ORDER BY '.\SYSTEM\DBD\system_api::FIELD_ID
|
||||
);}}
|
||||
12
dbd/qq/SYS_CACHE_CHECK.php
Normal file
12
dbd/qq/SYS_CACHE_CHECK.php
Normal file
@ -0,0 +1,12 @@
|
||||
<?php
|
||||
namespace SYSTEM\DBD;
|
||||
|
||||
class SYS_CACHE_CHECK extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
//pg
|
||||
'SELECT "data" FROM system.cache'.
|
||||
' WHERE "CacheID" = $1 AND'.
|
||||
' "Ident" = $2;'
|
||||
//mys
|
||||
);}}
|
||||
12
dbd/qq/SYS_CACHE_DELETE.php
Normal file
12
dbd/qq/SYS_CACHE_DELETE.php
Normal file
@ -0,0 +1,12 @@
|
||||
<?php
|
||||
namespace SYSTEM\DBD;
|
||||
|
||||
class SYS_CACHE_DELETE extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
//pg
|
||||
'DELETE FROM system.cache'.
|
||||
' WHERE "CacheID" = $1 AND'.
|
||||
' "Ident" = $2;'
|
||||
//mys
|
||||
);}}
|
||||
11
dbd/qq/SYS_CACHE_PUT.php
Normal file
11
dbd/qq/SYS_CACHE_PUT.php
Normal file
@ -0,0 +1,11 @@
|
||||
<?php
|
||||
namespace SYSTEM\DBD;
|
||||
|
||||
class SYS_CACHE_PUT extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
//pg
|
||||
'INSERT INTO system.cache ("CacheID", "Ident", "data")'.
|
||||
' VALUES ($1,$2,$3);'
|
||||
//mys
|
||||
);}}
|
||||
30
dbd/qq/SYS_LOG_INSERT.php
Normal file
30
dbd/qq/SYS_LOG_INSERT.php
Normal file
@ -0,0 +1,30 @@
|
||||
<?php
|
||||
namespace SYSTEM\DBD;
|
||||
|
||||
class SYS_LOG_INSERT extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
//pg
|
||||
'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);',
|
||||
//mys
|
||||
'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(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);'
|
||||
);}}
|
||||
@ -9,44 +9,17 @@ class error_handler_dbwriter extends \SYSTEM\LOG\error_handler {
|
||||
try{
|
||||
if(\property_exists(get_class($E), 'logged') && $E->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
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user