diff --git a/db/connection/ConnectionMYS.php b/db/connection/ConnectionMYS.php
index 32a9175..18d65e8 100644
--- a/db/connection/ConnectionMYS.php
+++ b/db/connection/ConnectionMYS.php
@@ -9,7 +9,7 @@ class ConnectionMYS extends ConnectionAbstr {
public function __construct(DBInfo $dbinfo, $new_link = false, $client_flag = 0){
//$this->dbinfo = $dbinfo;
- $this->connection = mysqli_connect($dbinfo->m_host, $dbinfo->m_user, $dbinfo->m_password, $new_link, $client_flag);
+ $this->connection = @mysqli_connect($dbinfo->m_host, $dbinfo->m_user, $dbinfo->m_password, $new_link, $client_flag);
if(!$this->connection){
throw new \SYSTEM\LOG\ERROR('Could not connect to Database. Check ur Database Settings');}
diff --git a/dbd/qq/SYS_SAIMOD_LOG_FILTER.php b/dbd/qq/SYS_SAIMOD_LOG_FILTER.php
index 0569f3b..fc8ddf1 100644
--- a/dbd/qq/SYS_SAIMOD_LOG_FILTER.php
+++ b/dbd/qq/SYS_SAIMOD_LOG_FILTER.php
@@ -10,12 +10,12 @@ class SYS_SAIMOD_LOG_FILTER extends \SYSTEM\DB\QP {
' ON '.\SYSTEM\DBD\system_log::NAME_PG.'.'.\SYSTEM\DBD\system_log::FIELD_USER.
' = '.\SYSTEM\DBD\system_user::NAME_PG.'.'.\SYSTEM\DBD\system_user::FIELD_ID.
' WHERE '.\SYSTEM\DBD\system_log::FIELD_CLASS.' LIKE $1'.
-' ORDER BY '.\SYSTEM\DBD\system_log::FIELD_TIME.' DESC LIMIT 100;',
+' ORDER BY '.\SYSTEM\DBD\system_log::FIELD_TIME.' DESC, '.\SYSTEM\DBD\system_log::NAME_PG.'.'.\SYSTEM\DBD\system_log::FIELD_ID.' DESC LIMIT 100;',
//mys
'SELECT * FROM '.\SYSTEM\DBD\system_log::NAME_MYS.
' LEFT JOIN '.\SYSTEM\DBD\system_user::NAME_MYS.
' ON '.\SYSTEM\DBD\system_log::NAME_MYS.'.'.\SYSTEM\DBD\system_log::FIELD_USER.
' = '.\SYSTEM\DBD\system_user::NAME_MYS.'.'.\SYSTEM\DBD\system_user::FIELD_ID.
' WHERE '.\SYSTEM\DBD\system_log::FIELD_CLASS.' LIKE ?'.
-' ORDER BY '.\SYSTEM\DBD\system_log::FIELD_TIME.' DESC LIMIT 100;'
+' ORDER BY '.\SYSTEM\DBD\system_log::FIELD_TIME.' DESC, '.\SYSTEM\DBD\system_log::NAME_MYS.'.'.\SYSTEM\DBD\system_log::FIELD_ID.' DESC LIMIT 100;'
);}}
diff --git a/dbd/qq/SYS_SAIMOD_SECURITY_RIGHT_CHECK.php b/dbd/qq/SYS_SAIMOD_SECURITY_RIGHT_CHECK.php
new file mode 100644
index 0000000..882e61e
--- /dev/null
+++ b/dbd/qq/SYS_SAIMOD_SECURITY_RIGHT_CHECK.php
@@ -0,0 +1,13 @@
+id : null,$thrown));
if(\property_exists(get_class($E), 'logged')){
$E->logged = true;} //we just did log
- } catch (\Exception $E){} //Error -> Ignore
+ } catch (\Exception $E){return false;} //Error -> Ignore
return false; //We just log and do not handle the error!
}
diff --git a/sai/modules/saimod_sys_security/saimod_sys_security.js b/sai/modules/saimod_sys_security/saimod_sys_security.js
index e5db108..5d7f9eb 100644
--- a/sai/modules/saimod_sys_security/saimod_sys_security.js
+++ b/sai/modules/saimod_sys_security/saimod_sys_security.js
@@ -13,7 +13,7 @@ function load_security_tab(action){
$('img#loader').show();
switch(action){
case 'users':
- $('#tab_users').load(SAI_ENDPOINT+'sai_mod=.SYSTEM.SAI.saimod_sys_security&action='+action+'&search='+user_search, function(){
+ $('#tab_users').load(SAI_ENDPOINT+'sai_mod=.SYSTEM.SAI.saimod_sys_security&action='+action+'&search='+encodeURIComponent(user_search), function(){
register_users();
$('img#loader').hide();});
return;
@@ -26,6 +26,10 @@ function load_security_tab(action){
$('#tab_groups').load(SAI_ENDPOINT+'sai_mod=.SYSTEM.SAI.saimod_sys_security&action='+action, function(){
$('img#loader').hide();});
return;
+ case 'stats':
+ $('#tab_stats').load(SAI_ENDPOINT+'sai_mod=.SYSTEM.SAI.saimod_sys_security&action='+action, function(){
+ $('img#loader').hide();});
+ return;
default:
$('img#loader').hide();
}
@@ -33,9 +37,54 @@ function load_security_tab(action){
function register_rights(){
$('#new_right').click(function(){
- $('#tab_rights').load(SAI_ENDPOINT+'sai_mod=.SYSTEM.SAI.saimod_sys_security&action=newright');
+ $('#tab_rights').load(SAI_ENDPOINT+'sai_mod=.SYSTEM.SAI.saimod_sys_security&action=newright',function(){
+ register_newright();
+ });
+ });
+
+ $('.right_edit').click(function(){
+ alert('todo');
+ });
+
+ $('.right_delete').click(function(){
+ $('#tab_rights').load(SAI_ENDPOINT+'sai_mod=.SYSTEM.SAI.saimod_sys_security&action=deleterightconfirm&id='+$(this).attr('right_id'),function(){
+ register_deleteright();
+ });
});
}
+
+function register_deleteright(){
+ $('#deleteright_confirm').click(function(){
+ $.get( SAI_ENDPOINT+'sai_mod=.SYSTEM.SAI.saimod_sys_security&action=deleteright&id='+$(this).attr('right_id'),
+ function(data){
+ if(data==1){
+ alert('sucess');
+ } else {
+ alert('fail');
+ }
+ });
+ });
+
+ $('#deleteright_abort').click(function(){
+ load_security_tab('rights');
+ });
+}
+
+function register_newright(){
+ $('#addright').click(function(){
+ $.get( SAI_ENDPOINT+
+ 'sai_mod=.SYSTEM.SAI.saimod_sys_security&action=addright&id='+$('#addright_id').val()+
+ '&name='+encodeURIComponent($('#addright_name').val())+
+ '&description='+encodeURIComponent($('#addright_description').val()),function(data){
+ if(data==1){
+ alert('sucess');
+ } else {
+ alert('fail');
+ }
+ });
+ })
+}
+
function register_users(){
$('#user_go').click(function(){
user_search = $('#user_search').val();
@@ -43,6 +92,6 @@ function register_users(){
});
$('#user_search').val(user_search);
$('.user_entry').click(function(){
- $('#tab_users').load(SAI_ENDPOINT+'sai_mod=.SYSTEM.SAI.saimod_sys_security&action=user&username='+$(this).attr('username'));
+ $('#tab_users').load(SAI_ENDPOINT+'sai_mod=.SYSTEM.SAI.saimod_sys_security&action=user&username='+encodeURIComponent($(this).attr('username')));
});
}
\ No newline at end of file
diff --git a/sai/modules/saimod_sys_security/saimod_sys_security.php b/sai/modules/saimod_sys_security/saimod_sys_security.php
index 7383338..f3d7ffb 100644
--- a/sai/modules/saimod_sys_security/saimod_sys_security.php
+++ b/sai/modules/saimod_sys_security/saimod_sys_security.php
@@ -17,12 +17,23 @@ class saimod_sys_security extends \SYSTEM\SAI\SaiModule {
return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_security/saimod_sys_security_rights.tpl'),array('rows' => $rows));
}
+ public static function sai_mod__SYSTEM_SAI_saimod_sys_security_action_addright($id,$name,$description){
+ //TODO rightcheck
+ return \SYSTEM\DBD\SYS_SAIMOD_SECURITY_RIGHT_INSERT::QI(array($id,$name,$description));}
+ public static function sai_mod__SYSTEM_SAI_saimod_sys_security_action_deleterightconfirm($id){
+ //TODO rightcheck
+ $vars = \SYSTEM\DBD\SYS_SAIMOD_SECURITY_RIGHT_CHECK::Q1(array($id));
+ return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_security/saimod_sys_security_deleteright.tpl'),$vars);}
+
+ public static function sai_mod__SYSTEM_SAI_saimod_sys_security_action_deleteright($id){
+ //TODO rightcheck
+ return \SYSTEM\DBD\SYS_SAIMOD_SECURITY_RIGHT_DELETE::QI(array($id));}
+
private static function user_actions($userid){
$count = \SYSTEM\DBD\SYS_SAIMOD_SECURITY_USER_LOG_COUNT::Q1(array($userid));
$res = \SYSTEM\DBD\SYS_SAIMOD_SECURITY_USER_LOG::QQ(array($userid));
$table='';
- while($r = $res->next()){
- //print_r($r);
+ while($r = $res->next()){
$r['class_row'] = \SYSTEM\SAI\saimod_sys_log::tablerow_class($r['class']);
$r['time'] = self::time_elapsed_string(strtotime($r['time']));
$r['message'] = substr($r['message'],0,255);
@@ -34,10 +45,14 @@ class saimod_sys_security extends \SYSTEM\SAI\SaiModule {
return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_log/saimod_sys_log_table.tpl'), $vars);
}
+ public static function sai_mod__SYSTEM_SAI_saimod_sys_security_action_stats(){
+ return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_security/saimod_sys_security_stats.tpl'),array());
+ }
+
public static function sai_mod__SYSTEM_SAI_saimod_sys_security_action_user($username){
$vars = \SYSTEM\DBD\SYS_SAIMOD_SECURITY_USER::Q1(array($username));
$vars['time_elapsed'] = self::time_elapsed_string($vars['last_active']);
- $vars['user_actions'] = self::user_actions($vars['id']);
+ $vars['user_actions'] = array_key_exists('id', $vars) ? self::user_actions($vars['id']) : '';
return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_security/saimod_sys_security_user_view.tpl'),$vars);
}
diff --git a/sai/modules/saimod_sys_security/saimod_sys_security.tpl b/sai/modules/saimod_sys_security/saimod_sys_security.tpl
index 4869302..7c1f8a4 100644
--- a/sai/modules/saimod_sys_security/saimod_sys_security.tpl
+++ b/sai/modules/saimod_sys_security/saimod_sys_security.tpl
@@ -3,11 +3,13 @@
Users
Rights
Groups
+ Stats
\ No newline at end of file
diff --git a/sai/modules/saimod_sys_security/saimod_sys_security_deleteright.tpl b/sai/modules/saimod_sys_security/saimod_sys_security_deleteright.tpl
new file mode 100644
index 0000000..819ead4
--- /dev/null
+++ b/sai/modules/saimod_sys_security/saimod_sys_security_deleteright.tpl
@@ -0,0 +1,17 @@
+Delete Right
+
+
+ ID
+ ${ID}
+
+
+ Name
+ ${name}
+
+
+ Description
+ ${description}
+
+
+
+
\ No newline at end of file
diff --git a/sai/modules/saimod_sys_security/saimod_sys_security_newright.tpl b/sai/modules/saimod_sys_security/saimod_sys_security_newright.tpl
index 8d6dd0b..84a61c3 100644
--- a/sai/modules/saimod_sys_security/saimod_sys_security_newright.tpl
+++ b/sai/modules/saimod_sys_security/saimod_sys_security_newright.tpl
@@ -1 +1,16 @@
-new right
\ No newline at end of file
+New Right
+
+
\ No newline at end of file
diff --git a/sai/modules/saimod_sys_security/saimod_sys_security_right.tpl b/sai/modules/saimod_sys_security/saimod_sys_security_right.tpl
index cc2e7f7..11ba748 100644
--- a/sai/modules/saimod_sys_security/saimod_sys_security_right.tpl
+++ b/sai/modules/saimod_sys_security/saimod_sys_security_right.tpl
@@ -1,9 +1,9 @@
${ID}
${name}
- ${description}
+ ${description}
-
-
+
+
\ No newline at end of file
diff --git a/sai/modules/saimod_sys_security/saimod_sys_security_stats.tpl b/sai/modules/saimod_sys_security/saimod_sys_security_stats.tpl
new file mode 100644
index 0000000..0a55588
--- /dev/null
+++ b/sai/modules/saimod_sys_security/saimod_sys_security_stats.tpl
@@ -0,0 +1 @@
+No Stats available yet.
\ No newline at end of file
diff --git a/sai/sai/saigui.php b/sai/sai/saigui.php
index 1068e46..4030dfc 100644
--- a/sai/sai/saigui.php
+++ b/sai/sai/saigui.php
@@ -19,7 +19,7 @@ class saigui extends \SYSTEM\PAGE\Page {
\array_search($classname, $mods) !== false &&
( \call_user_func(array($classname, 'right_public')) ||
\call_user_func(array($classname, 'right_right')))){
- return \SYSTEM\API\api::run('\SYSTEM\API\verify', $classname , $pg, 42, false, false);
+ return \SYSTEM\API\api::run('\SYSTEM\API\verify', $classname , $pg, 42, true, false);
} else {
return ' You are no longer logged in. Page reload in 5sec...';}
} else {