sai security rightmanagement working, rights for security, im and locale
This commit is contained in:
parent
abb11f5277
commit
ec341d594a
12
dbd/qq/SYS_SAIMOD_SECURITY_USER_RIGHTS.php
Normal file
12
dbd/qq/SYS_SAIMOD_SECURITY_USER_RIGHTS.php
Normal file
@ -0,0 +1,12 @@
|
||||
<?php
|
||||
namespace SYSTEM\DBD;
|
||||
|
||||
class SYS_SAIMOD_SECURITY_USER_RIGHTS extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
//pg
|
||||
'',
|
||||
//mys
|
||||
'SELECT * FROM system_rights LEFT JOIN system_user_to_rights ON system_rights.id = system_user_to_rights.rightID WHERE system_user_to_rights.userID = ? ORDER BY system_rights.id ASC;'
|
||||
);}}
|
||||
|
||||
12
dbd/qq/SYS_SAIMOD_SECURITY_USER_RIGHT_CHECK.php
Normal file
12
dbd/qq/SYS_SAIMOD_SECURITY_USER_RIGHT_CHECK.php
Normal file
@ -0,0 +1,12 @@
|
||||
<?php
|
||||
namespace SYSTEM\DBD;
|
||||
|
||||
class SYS_SAIMOD_SECURITY_USER_RIGHT_CHECK extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
//pg
|
||||
'',
|
||||
//mys
|
||||
'SELECT COUNT(*) as count FROM system_user_to_rights WHERE rightID = ? AND userID = ? LIMIT 1;'
|
||||
);}}
|
||||
|
||||
12
dbd/qq/SYS_SAIMOD_SECURITY_USER_RIGHT_DELETE.php
Normal file
12
dbd/qq/SYS_SAIMOD_SECURITY_USER_RIGHT_DELETE.php
Normal file
@ -0,0 +1,12 @@
|
||||
<?php
|
||||
namespace SYSTEM\DBD;
|
||||
|
||||
class SYS_SAIMOD_SECURITY_USER_RIGHT_DELETE extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
//pg
|
||||
'',
|
||||
//mys
|
||||
'DELETE FROM system_user_to_rights WHERE rightID = ? and userID = ?;'
|
||||
);}}
|
||||
|
||||
12
dbd/qq/SYS_SAIMOD_SECURITY_USER_RIGHT_INSERT.php
Normal file
12
dbd/qq/SYS_SAIMOD_SECURITY_USER_RIGHT_INSERT.php
Normal file
@ -0,0 +1,12 @@
|
||||
<?php
|
||||
namespace SYSTEM\DBD;
|
||||
|
||||
class SYS_SAIMOD_SECURITY_USER_RIGHT_INSERT extends \SYSTEM\DB\QP {
|
||||
protected static function query(){
|
||||
return new \SYSTEM\DB\QQuery(get_class(),
|
||||
//pg
|
||||
'',
|
||||
//mys
|
||||
'INSERT INTO system_user_to_rights (rightID, userID) VALUES(?, ?);'
|
||||
);}}
|
||||
|
||||
@ -48,7 +48,7 @@ class saimod_sys_img extends \SYSTEM\SAI\SaiModule {
|
||||
|
||||
public static function html_li_menu(){return '<li><a href="#" saimenu=".SYSTEM.SAI.saimod_sys_img">Img</a></li>';}
|
||||
public static function right_public(){return false;}
|
||||
public static function right_right(){return \SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI);}
|
||||
public static function right_right(){return \SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI) && \SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI_IMG);}
|
||||
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_img_flag_css(){}
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_img_flag_js(){return \SYSTEM\LOG\JsonResult::toString(
|
||||
|
||||
@ -132,7 +132,7 @@ class saimod_sys_locale extends \SYSTEM\SAI\SaiModule {
|
||||
|
||||
public static function html_li_menu(){return '<li><a href="#" saimenu=".SYSTEM.SAI.saimod_sys_locale">DB Text</a></li>';}
|
||||
public static function right_public(){return false;}
|
||||
public static function right_right(){return \SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI);}
|
||||
public static function right_right(){return \SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI) && \SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI_LOCALE);}
|
||||
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_locale_flag_css(){}
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_locale_flag_js(){
|
||||
|
||||
@ -92,6 +92,29 @@ 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='+encodeURIComponent($(this).attr('username')));
|
||||
$('#tab_users').load(SAI_ENDPOINT+'sai_mod=.SYSTEM.SAI.saimod_sys_security&action=user&username='+encodeURIComponent($(this).attr('username')),function(){
|
||||
$('.deleteuserright').click(function(){
|
||||
$.get( SAI_ENDPOINT+
|
||||
'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_ENDPOINT+
|
||||
'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');
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
@ -10,23 +10,51 @@ 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_newright.tpl'),array());}
|
||||
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_security_action_rights(){
|
||||
$vars = array();
|
||||
$rows = '';
|
||||
$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="${ID}">
|
||||
<input type="submit" class="btn right_edit" value="edit" right_id="${ID}">' :
|
||||
'<font color="red">Missing rights.</font>';
|
||||
$rows .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_security/saimod_sys_security_right.tpl'),$r);}
|
||||
return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_security/saimod_sys_security_rights.tpl'),array('rows' => $rows));
|
||||
$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">' :
|
||||
'<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/saimod_sys_security_rights.tpl'),$vars);
|
||||
}
|
||||
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_security_action_deleterightuser($rightid,$userid){
|
||||
if(!\SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI_SECURITY_RIGHTS_EDIT)){
|
||||
return false;}
|
||||
$res = \SYSTEM\DBD\SYS_SAIMOD_SECURITY_USER_RIGHT_CHECK::Q1(array($rightid,$userid));
|
||||
if(!$res || $res['count'] == 0){
|
||||
return false;}
|
||||
return \SYSTEM\DBD\SYS_SAIMOD_SECURITY_USER_RIGHT_DELETE::QI(array($rightid,$userid));}
|
||||
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_security_action_addrightuser($rightid,$userid){
|
||||
if(!\SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI_SECURITY_RIGHTS_EDIT)){
|
||||
return false;}
|
||||
$res = \SYSTEM\DBD\SYS_SAIMOD_SECURITY_USER_RIGHT_CHECK::Q1(array($rightid,$userid));
|
||||
if(!$res || $res['count'] != 0){
|
||||
return false;}
|
||||
return \SYSTEM\DBD\SYS_SAIMOD_SECURITY_USER_RIGHT_INSERT::QI(array($rightid,$userid));}
|
||||
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_security_action_addright($id,$name,$description){
|
||||
//TODO rightcheck
|
||||
if(!\SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI_SECURITY_RIGHTS_EDIT)){
|
||||
return false;}
|
||||
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
|
||||
if(!\SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI_SECURITY_RIGHTS_EDIT)){
|
||||
return false;}
|
||||
$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
|
||||
if(!\SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI_SECURITY_RIGHTS_EDIT)){
|
||||
return false;}
|
||||
return \SYSTEM\DBD\SYS_SAIMOD_SECURITY_RIGHT_DELETE::QI(array($id));}
|
||||
|
||||
private static function user_actions($userid){
|
||||
@ -45,6 +73,36 @@ 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);
|
||||
}
|
||||
|
||||
private static function user_rights($userid){
|
||||
$vars = array();
|
||||
|
||||
$vars['user_rights_table'] = '';
|
||||
$res = \SYSTEM\DBD\SYS_SAIMOD_SECURITY_USER_RIGHTS::QQ(array($userid));
|
||||
while($r = $res->next()){
|
||||
$r['user_id'] = $userid;
|
||||
$r['remove_btn'] = \SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI_SECURITY_RIGHTS_EDIT) ?
|
||||
'<input type="submit" class="btn btn-danger deleteuserright" value="delete" right_id="${ID}" user_id="${user_id}"/>' :
|
||||
'<font color="red">Missing Rights</font>';
|
||||
$vars['user_rights_table'] .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_security/saimod_sys_security_user_right.tpl'), $r);}
|
||||
|
||||
$vars['user_rights_add'] = '<font color="red">You are missing the required rights for adding or removing the rights of an user.</font>';
|
||||
if(\SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI_SECURITY_RIGHTS_EDIT)){
|
||||
$opts = '';
|
||||
$res = \SYSTEM\DBD\SYS_SAIMOD_SECURITY_RIGHTS::QQ();
|
||||
$b = true;
|
||||
while($r = $res->next()){
|
||||
$r['selected'] = $b ? 'selected="selected"' : '';
|
||||
$b = false;
|
||||
$opts .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_security/saimod_sys_security_user_right_add.tpl'), $r);}
|
||||
|
||||
$v = array();
|
||||
$v['user_id'] = $userid;
|
||||
$v['right_options'] = $opts;
|
||||
$vars['user_rights_add'] = \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_security/saimod_sys_security_user_rights_add.tpl'), $v);
|
||||
}
|
||||
|
||||
return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_security/saimod_sys_security_user_rights.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());
|
||||
}
|
||||
@ -52,6 +110,7 @@ class saimod_sys_security extends \SYSTEM\SAI\SaiModule {
|
||||
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_rights'] = array_key_exists('id', $vars) ? self::user_rights($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);
|
||||
}
|
||||
@ -117,7 +176,7 @@ class saimod_sys_security extends \SYSTEM\SAI\SaiModule {
|
||||
|
||||
public static function html_li_menu(){return '<li><a href="#" saimenu=".SYSTEM.SAI.saimod_sys_security">Security</a></li>';}
|
||||
public static function right_public(){return false;}
|
||||
public static function right_right(){return \SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI);}
|
||||
public static function right_right(){return \SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI) && \SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI_SECURITY);}
|
||||
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_security_flag_css(){return \SYSTEM\LOG\JsonResult::toString(
|
||||
array(\SYSTEM\WEBPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_security/saimod_sys_security.css')));}
|
||||
|
||||
@ -3,7 +3,6 @@
|
||||
<td>${name}</td>
|
||||
<td>${description}</td>
|
||||
<td>
|
||||
<input type="submit" class="btn-danger right_delete" value="delete" right_id="${ID}">
|
||||
<input type="submit" class="btn right_edit" value="edit" right_id="${ID}">
|
||||
${right_edit_btn}
|
||||
</td>
|
||||
</tr>
|
||||
@ -1,4 +1,4 @@
|
||||
<input type="submit" class="btn" id="new_right" value="New Right">
|
||||
${addright_btn}
|
||||
</br></br>
|
||||
<table class="table table-hover table-condensed" style="overflow: auto;">
|
||||
<tr>
|
||||
|
||||
@ -6,10 +6,10 @@
|
||||
<td>${locale}</td>
|
||||
<td>${time_elapsed}</td>
|
||||
<td>${account_flag}</td>
|
||||
<td>
|
||||
<!--<td>
|
||||
<input type="submit" class="btn" value="edit" user="${id}" action="edit">
|
||||
<input type="submit" class="btn-danger" value="delete" user="${id}" action="delete">
|
||||
</td>
|
||||
</td>-->
|
||||
<td>
|
||||
<button type="submit" class="btn" value="reset_password" user="${id}" email="${email}">send EMail</button>
|
||||
</td>
|
||||
|
||||
@ -0,0 +1,7 @@
|
||||
<tr>
|
||||
<td>${ID}</td>
|
||||
<td>${name}</td>
|
||||
<td>${description}</td>
|
||||
<td><span class="badge badge-success">true</span></td>
|
||||
<td>${remove_btn}</td>
|
||||
</tr>
|
||||
@ -0,0 +1 @@
|
||||
<option ${selected} value="${ID}">${ID}: ${name} - ${description}</option>
|
||||
@ -0,0 +1,11 @@
|
||||
<table class="table">
|
||||
<tr>
|
||||
<th>ID</td>
|
||||
<th>Name</th>
|
||||
<th>Description</th>
|
||||
<th>Access</th>
|
||||
<th>Remove</th>
|
||||
</tr>
|
||||
${user_rights_table}
|
||||
${user_rights_add}
|
||||
</table>
|
||||
@ -0,0 +1,4 @@
|
||||
<tr>
|
||||
<td colspan="4"><select id="adduserright_rightid">${right_options}</select></td>
|
||||
<td><input type="submit" id="adduserright_add" class="btn" value="Add Right" user_id="${user_id}"/></td>
|
||||
</tr>
|
||||
@ -32,5 +32,9 @@
|
||||
<td>${account_flag}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</br>
|
||||
<h4 class="text-info">Users Rights</h4>
|
||||
${user_rights}
|
||||
</br>
|
||||
<h4 class="text-info">Users Last Actions</h4>
|
||||
${user_actions}
|
||||
|
||||
@ -12,7 +12,7 @@ Users: ${count}
|
||||
<th>Locale</th>
|
||||
<th>Last Active</th>
|
||||
<th>Flag</th>
|
||||
<th style="width: 110px;">Rights</th>
|
||||
<!--<th style="width: 110px;">Rights</th>-->
|
||||
<th>reset password</th>
|
||||
</tr>
|
||||
${rows}
|
||||
|
||||
@ -4,10 +4,17 @@ namespace SYSTEM\SECURITY;
|
||||
|
||||
class RIGHTS {
|
||||
//Never use anything with 0 in php
|
||||
const SYS_DONOTUSE = 0;
|
||||
const SYS_DONOTUSE = 0;
|
||||
//System Administrator Interface
|
||||
const SYS_SAI = 1;
|
||||
|
||||
const SYS_SAI = 1;
|
||||
//Security Module
|
||||
const SYS_SAI_SECURITY = 5; //access
|
||||
const SYS_SAI_SECURITY_RIGHTS_EDIT = 6; //edit rights
|
||||
//Database Text Module
|
||||
const SYS_SAI_LOCALE = 10;
|
||||
//Image Module
|
||||
const SYS_SAI_IMG = 15;
|
||||
|
||||
//Reserve first 1000 ids.
|
||||
const RESERVED_SYS_0_999 = 999;
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user