saimod security using new statesystem

This commit is contained in:
Ulf Gebhardt 2015-04-10 16:35:06 +02:00
parent 11e5dd2603
commit 17e1b0ffe2
7 changed files with 77 additions and 99 deletions

View File

@ -1,20 +1,31 @@
INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (0, 'start', 42, 'start', -1, 0, '#content', './sai.php?sai_mod=.SYSTEM.SAI.saistart_sys_sai', 'init_saistart_sys_sai', '\\SYSTEM\\SAI\\saistart_sys_sai');
INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (1, 'todo', 42, 'start', 0, 0, '#todo_entries', './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_todo&action=todolist', '', '');
INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (2, 'log', 42, 'start', 0, 0, '#log_entries', './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_log&action=filter', '', '');
INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (10, 'api', 42, 'api', -1, 0, '#content', './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_api', 'init_saimod_sys_api', '\\SYSTEM\\SAI\\saimod_sys_api');
INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (20, 'cache', 42, 'cache', -1, 0, '#content', './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_cache', 'init_saimod_sys_cache', '\\SYSTEM\\SAI\\saimod_sys_cache');
INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (30, 'config', 42, 'config', -1, 0, '#content', './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_config', 'init_saimod_sys_config', '\\SYSTEM\\SAI\\saimod_sys_config');
INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (40, 'cron', 42, 'cron', -1, 0, '#content', './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_cron', 'init_saimod_sys_cron', '\\SYSTEM\\SAI\\saimod_sys_cron');
INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (50, 'docu', 42, 'docu', -1, 0, '#content', './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_docu', 'init_saimod_sys_docu', '\\SYSTEM\\SAI\\saimod_sys_docu');
INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (60, 'files', 42, 'files', -1, 0, '#content', './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_files', 'init_saimod_sys_files', '\\SYSTEM\\SAI\\saimod_sys_files');
INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (70, 'log', 42, 'log', -1, 0, '#content', './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_log', 'init_saimod_sys_log', '\\SYSTEM\\SAI\\saimod_sys_log');
INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (71, 'list', 42, 'log', 70, 0, '#tab_log', './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_log&action=filter&filter=${filter}', 'init_saimod_sys_log_log', '\\SYSTEM\\SAI\\saimod_sys_log');
INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (72, 'stats', 42, 'log', 70, 1, '#tab_log', './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_log&action=stats', 'init_saimod_sys_log_stats', '\\SYSTEM\\SAI\\saimod_sys_log');
INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (73, 'error', 42, 'log', 70, 1, '#tab_log', './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_log&action=error&error=${error}', '', '');
INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (80, 'login', 42, 'login', -1, 0, '#content', './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_login', 'init_saimod_sys_login', '\\SYSTEM\\SAI\\saimod_sys_login');
INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (90, 'mod', 42, 'mod', -1, 0, '#content', './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_mod', 'init_saimod_sys_mod', '\\SYSTEM\\SAI\\saimod_sys_mod');
INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (100, 'security', 42, 'security', -1, 0, '#content', './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_security', 'init_saimod_sys_security', '\\SYSTEM\\SAI\\saimod_sys_security');
INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (101, 'users', 42, 'security', 100, 0, '#tab_security', './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_security&action=users&search=${search}', 'init_saimod_sys_security_users', '\\SYSTEM\\SAI\\saimod_sys_security');
INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (102, 'rights', 42, 'security', 100, 1, '#tab_security', './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_security&action=rights', 'init_saimod_sys_security_rights', '\\SYSTEM\\SAI\\saimod_sys_security');
INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (103, 'user', 42, 'security', 100, 1, '#tab_security', './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_security&action=user&username=${username}', 'init_saimod_sys_security_user', '\\SYSTEM\\SAI\\saimod_sys_security');
INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (104, 'newright', 42, 'security', 100, 1, '#tab_security', './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_security&action=newright', 'init_saimod_sys_security_newright', '\\SYSTEM\\SAI\\saimod_sys_security');
INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (105, 'delright', 42, 'security', 100, 1, '#tab_security', './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_security&action=deleterightconfirm&id=${id}', 'init_saimod_sys_security_delright', '\\SYSTEM\\SAI\\saimod_sys_security');
INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (110, 'text', 42, 'text', -1, 0, '#content', './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_text', 'init_saimod_sys_text', '\\SYSTEM\\SAI\\saimod_sys_text');
INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (120, 'todo', 42, 'todo', -1, 0, '#content', './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_todo', 'init_saimod_sys_todo', '\\SYSTEM\\SAI\\saimod_sys_todo');
INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (121, 'todolist', 42, 'todo', 120, 0, '#tab_todo', './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_todo&action=todolist', 'init_saimod_sys_todo_todo', '\\SYSTEM\\SAI\\saimod_sys_todo');
INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (122, 'doto', 42, 'todo', 120, 1, '#tab_todo', '/sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_todo&action=dotolist', 'init_saimod_sys_todo_doto', '\\SYSTEM\\SAI\\saimod_sys_todo');

View File

@ -1,46 +1,47 @@
var user_search = '';
function init_saimod_sys_security() {
$('#securitytab a').click(function (e) {
e.preventDefault();
$(this).tab('show');
load_security_tab($(this).attr('action'));
})
$('#securitytab a').click(function (e) {
$('#securitytab li').each(function(){
$(this).removeClass('active');});
$(this).parent().addClass('active');
});
load_security_tab('users');
$('#user_go').click(function(){
system.load('security;search.'+encodeURIComponent($('#user_search').val()));})
};
function load_security_tab(action){
$('img#loader').show();
switch(action){
case 'users':
$('#tab_users').load('./sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_security&action='+action+'&search='+encodeURIComponent(user_search), function(){
register_users();
$('img#loader').hide();});
return;
case 'rights':
$('#tab_rights').load('./sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_security&action='+action, function(){
register_rights();
$('img#loader').hide();});
return;
case 'groups':
$('#tab_groups').load('./sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_security&action='+action, function(){
$('img#loader').hide();});
return;
case 'stats':
$('#tab_stats').load('./sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_security&action='+action, function(){
$('img#loader').hide();});
return;
default:
$('img#loader').hide();
}
function init_saimod_sys_security_users() {
$('#securitytab li').each(function(){
$(this).removeClass('active');});
$('#menu_users').parent().addClass('active');
}
function register_rights(){
$('#new_right').click(function(){
$('#tab_rights').load('./sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_security&action=newright',function(){
register_newright();
});
function init_saimod_sys_security_user() {
$('.deleteuserright').click(function(){
$.get( './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_security&action=deleterightuser&rightid='+$(this).attr('right_id')+
'&userid='+$(this).attr('user_id'),function(data){
if(data==1){
alert('sucess');
} else {
alert('fail');
}
});
})
$('#adduserright_add').click(function(){
$.get( './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_security&action=addrightuser&rightid='+$('#adduserright_rightid').val()+
'&userid='+$(this).attr('user_id'),function(data){
if(data==1){
alert('sucess');
} else {
alert('fail');
}
});
});
}
function init_saimod_sys_security_rights() {
$('#securitytab li').each(function(){
$(this).removeClass('active');});
$('#menu_rights').parent().addClass('active');
$('.right_edit').click(function(){
alert('todo');
@ -51,9 +52,28 @@ function register_rights(){
register_deleteright();
});
});
$('#new_right').click(function(){
$('#tab_rights').load('./sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_security&action=newright',function(){
register_newright();
});
});
}
function init_saimod_sys_security_newright() {
$('#addright').click(function(){
$.get( './sai.php?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_deleteright(){
function init_saimod_sys_security_delright(){
$('#deleteright_confirm').click(function(){
$.get('./sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_security&action=deleteright&id='+$(this).attr('right_id'),
function(data){
@ -68,50 +88,4 @@ function register_deleteright(){
$('#deleteright_abort').click(function(){
load_security_tab('rights');
});
}
function register_newright(){
$('#addright').click(function(){
$.get( './sai.php?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();
load_security_tab('users');
});
$('#user_search').val(user_search);
$('.user_entry').click(function(){
$('#tab_users').load('./sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_security&action=user&username='+encodeURIComponent($(this).attr('username')),function(){
$('.deleteuserright').click(function(){
$.get( './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_security&action=deleterightuser&rightid='+$(this).attr('right_id')+
'&userid='+$(this).attr('user_id'),function(data){
if(data==1){
alert('sucess');
} else {
alert('fail');
}
});
})
$('#adduserright_add').click(function(){
$.get( './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_security&action=addrightuser&rightid='+$('#adduserright_rightid').val()+
'&userid='+$(this).attr('user_id'),function(data){
if(data==1){
alert('sucess');
} else {
alert('fail');
}
});
});
});
});
}

View File

@ -15,13 +15,13 @@ class saimod_sys_security extends \SYSTEM\SAI\SaiModule {
$res = \SYSTEM\DBD\SYS_SAIMOD_SECURITY_RIGHTS::QQ();
while($r = $res->next()){
$r['right_edit_btn'] = \SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI_SECURITY_RIGHTS_EDIT) ?
'<input type="submit" class="btn-danger right_delete" value="delete" right_id="'.$r['ID'].'">
'<input type="submit" class="btn-danger right_delete" value="delete" onClick="system.load(\'security(delright);id.'.$r['ID'].'\');">
<input type="submit" class="btn right_edit" value="edit" right_id="'.$r['ID'].'">' :
'<font color="red">Missing rights.</font>';
$rows .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_security/tpl/saimod_sys_security_right.tpl'),$r);}
$vars['rows'] = $rows;
$vars['addright_btn'] = \SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI_SECURITY_RIGHTS_EDIT) ?
'<input type="submit" class="btn" id="new_right" value="New Right">' :
'<input type="submit" onClick="system.load(\'security(newright)\');" class="btn" value="New Right">' :
'<font color="red">You are missing the required rights for adding or removing rights.</font>';
return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_security/tpl/saimod_sys_security_rights.tpl'),$vars);
}

View File

@ -2,16 +2,13 @@
<hr>
<div class="tabbable">
<ul class="nav nav-tabs" id="securitytab">
<li class="active"><a href="#tab_users" action="users">Users</a></li>
<li><a href="#tab_rights" action="rights">Rights</a></li>
<li><a href="#tab_groups" action="groups">Groups</a></li>
<li><a href="#tab_stats" action="stats">Stats</a></li>
<li class="active"><a href="#!security" id="menu_users">Users</a></li>
<li><a href="#!security(rights)" id="menu_rights">Rights</a></li>
<img id="loader" src="${PICPATH}ajax-loader.gif" style="margin-left: 10px; margin-top: 10px; display: none; float: left"/>
<input class="btn-sm btn-success" id="user_go" type="submit" value="Search" style="float: right; margin-left: 10px;"/>
<input class="input-medium search-query" id="user_search" type="text" placeholder="EMail or Username" size="30" style="float: right;"/>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="tab_users"></div>
<div class="tab-pane" id="tab_rights"></div>
<div class="tab-pane" id="tab_groups"></div>
<div class="tab-pane" id="tab_stats"></div>
<div class="tab-pane active" id="tab_security"></div>
</div>
</div>

View File

@ -14,4 +14,4 @@
</tr>
</table>
<input id="deleteright_confirm" class="btn-danger btn" right_id="${ID}" type="submit" value="Delete"/>
<input id="deleteright_abort" class="btn" type="submit" value="Abort"/>
<input id="deleteright_abort" onClick="system.load('security(rights)');" class="btn" type="submit" value="Abort"/>

View File

@ -1,4 +1,4 @@
<tr class="user_entry ${class} sai_table" username="${username}">
<tr class="user_entry ${class} sai_table" onClick="system.load('security(user);username.${username}');">
<td>${id}</td>
<td>${username}</td>
<td>${email}</td>

View File

@ -1,7 +1,3 @@
<input class="input-medium search-query" id="user_search" type="text" placeholder="EMail or Username" size="30"/>
<input class="btn-sm btn-success" id="user_go" type="submit" value="Search"/>
</br>
</br>
Users: ${count}
<table class="sai_table table table-hover table-condensed" style="overflow: auto;">
<tr>