new saimod structure including an automatic api for every module, minor fixes
This commit is contained in:
parent
59f157ab12
commit
5911867aa5
@ -11,7 +11,7 @@ class api {
|
||||
|
||||
//API Class
|
||||
if(!class_exists($apiclassname)){
|
||||
throw new \SYSTEM\LOG\ERROR("API Class given to the api does not exist.");}
|
||||
throw new \SYSTEM\LOG\ERROR("API Class given to the api does not exist: '".$apiclassname."'");}
|
||||
|
||||
//check parameters
|
||||
if( !isset($params) || !is_array($params) || count($params) <= 0){
|
||||
|
||||
@ -3,7 +3,6 @@ SYSTEM\autoload::registerFolder(dirname(__FILE__).'/sai','SYSTEM\SAI');
|
||||
|
||||
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/page','SYSTEM\SAI');
|
||||
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/page/default_page','SYSTEM\SAI');
|
||||
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/page/default_module','SYSTEM\SAI');
|
||||
|
||||
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/modules','SYSTEM\SAI');
|
||||
SYSTEM\autoload::registerFolder(dirname(__FILE__).'/modules/saimod_sys_sai','SYSTEM\SAI');
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
<?php
|
||||
|
||||
\SYSTEM\SAI\sai::getInstance()->register_sys('\SYSTEM\SAI\saimod_sys_sai');
|
||||
\SYSTEM\SAI\sai::getInstance()->register_sys('\SYSTEM\SAI\saimod_sys_login');
|
||||
\SYSTEM\SAI\sai::getInstance()->register_sys('\SYSTEM\SAI\saimod_sys_log');
|
||||
\SYSTEM\SAI\sai::getInstance()->register_sys('\SYSTEM\SAI\saimod_sys_security');
|
||||
\SYSTEM\SAI\sai::getInstance()->register_sys('\SYSTEM\SAI\saimod_sys_mod');
|
||||
\SYSTEM\SAI\sai::getInstance()->register_sys('\SYSTEM\SAI\saimod_sys_config');
|
||||
\SYSTEM\SAI\sai::getInstance()->register_sys('\SYSTEM\SAI\saimod_sys_calls');
|
||||
\SYSTEM\SAI\sai::getInstance()->register_sys('\SYSTEM\SAI\saimod_sys_locale');
|
||||
\SYSTEM\SAI\sai::getInstance()->register_sys('\SYSTEM\SAI\saimod_sys_cache');
|
||||
//\SYSTEM\SAI\sai::getInstance()->register_sys('\SYSTEM\SAI\saimod_sys_docu');
|
||||
\SYSTEM\SAI\sai::register_sys('\SYSTEM\SAI\saimod_sys_sai');
|
||||
\SYSTEM\SAI\sai::register_sys('\SYSTEM\SAI\saimod_sys_login');
|
||||
\SYSTEM\SAI\sai::register_sys('\SYSTEM\SAI\saimod_sys_log');
|
||||
\SYSTEM\SAI\sai::register_sys('\SYSTEM\SAI\saimod_sys_security');
|
||||
\SYSTEM\SAI\sai::register_sys('\SYSTEM\SAI\saimod_sys_mod');
|
||||
\SYSTEM\SAI\sai::register_sys('\SYSTEM\SAI\saimod_sys_config');
|
||||
\SYSTEM\SAI\sai::register_sys('\SYSTEM\SAI\saimod_sys_calls');
|
||||
\SYSTEM\SAI\sai::register_sys('\SYSTEM\SAI\saimod_sys_locale');
|
||||
\SYSTEM\SAI\sai::register_sys('\SYSTEM\SAI\saimod_sys_cache');
|
||||
//\SYSTEM\SAI\sai::register_sys('\SYSTEM\SAI\saimod_sys_docu');
|
||||
@ -2,7 +2,7 @@
|
||||
namespace SYSTEM\SAI;
|
||||
|
||||
class saimod_sys_cache extends \SYSTEM\SAI\SaiModule {
|
||||
public static function html_content(){
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_cache(){
|
||||
$con = new \SYSTEM\DB\Connection(\SYSTEM\system::getSystemDBInfo());
|
||||
if(\SYSTEM\system::isSystemDbInfoPG()){
|
||||
$res = $con->query('SELECT COUNT(*)as "count" FROM system.cache');
|
||||
@ -43,6 +43,6 @@ class saimod_sys_cache extends \SYSTEM\SAI\SaiModule {
|
||||
public static function right_public(){return false;}
|
||||
public static function right_right(){return \SYSTEM\SECURITY\Security::check(\SYSTEM\system::getSystemDBInfo(), \SYSTEM\SECURITY\RIGHTS::SYS_SAI);}
|
||||
|
||||
public static function src_css(){}
|
||||
public static function src_js(){}
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_cache_flag_css(){}
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_cache_flag_js(){}
|
||||
}
|
||||
@ -2,14 +2,14 @@
|
||||
namespace SYSTEM\SAI;
|
||||
|
||||
class saimod_sys_calls extends \SYSTEM\SAI\SaiModule {
|
||||
public static function html_content(){
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_calls(){
|
||||
$last_group = -1;
|
||||
|
||||
$con = new \SYSTEM\DB\Connection(\SYSTEM\system::getSystemDBInfo());
|
||||
if(\SYSTEM\system::isSystemDbInfoPG()){
|
||||
$res = $con->query('SELECT * FROM system.api ORDER BY "group", "ID" ASC;');
|
||||
} else {
|
||||
$res = $con->query('SELECT * FROM system_api ORDER BY group, ID ASC;');
|
||||
$res = $con->query('SELECT * FROM system_api ORDER BY "group", "ID" ASC;');
|
||||
}
|
||||
|
||||
$result = "";
|
||||
@ -40,6 +40,6 @@ class saimod_sys_calls extends \SYSTEM\SAI\SaiModule {
|
||||
public static function right_public(){return false;}
|
||||
public static function right_right(){return \SYSTEM\SECURITY\Security::check(\SYSTEM\system::getSystemDBInfo(), \SYSTEM\SECURITY\RIGHTS::SYS_SAI);}
|
||||
|
||||
public static function src_css(){}
|
||||
public static function src_js(){}
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_calls_flag_css(){}
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_calls_flag_js(){}
|
||||
}
|
||||
@ -2,7 +2,7 @@
|
||||
namespace SYSTEM\SAI;
|
||||
|
||||
class saimod_sys_config extends \SYSTEM\SAI\SaiModule {
|
||||
public static function html_content(){
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_config(){
|
||||
$result = '<h3>Sys Config</h3>'.
|
||||
'<table class="table table-hover table-condensed" style="overflow: auto;">'.
|
||||
'<tr>'.'<th>'.'Config ID'.'</th>'.'<th>'.'Config Name'.'</th>'.'<th>'.'Value'.'</th>'.'</tr>';
|
||||
@ -32,6 +32,6 @@ class saimod_sys_config extends \SYSTEM\SAI\SaiModule {
|
||||
public static function right_public(){return false;}
|
||||
public static function right_right(){return \SYSTEM\SECURITY\Security::check(\SYSTEM\system::getSystemDBInfo(), \SYSTEM\SECURITY\RIGHTS::SYS_SAI);}
|
||||
|
||||
public static function src_css(){}
|
||||
public static function src_js(){}
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_config_flag_css(){}
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_config_flag_js(){}
|
||||
}
|
||||
@ -9,7 +9,7 @@ class saimod_sys_locale extends \SYSTEM\SAI\SaiModule {
|
||||
return \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_LANGS);
|
||||
}
|
||||
|
||||
public static function html_content(){
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_locale(){
|
||||
$entries = array_merge($_POST,$_GET);
|
||||
if(isset($entries[self::INPUT_VAR])){
|
||||
return self::html_content_entry_edit($entries[self::INPUT_VAR]);
|
||||
@ -90,9 +90,8 @@ class saimod_sys_locale extends \SYSTEM\SAI\SaiModule {
|
||||
public static function right_public(){return false;}
|
||||
public static function right_right(){return \SYSTEM\SECURITY\Security::check(\SYSTEM\system::getSystemDBInfo(), \SYSTEM\SECURITY\RIGHTS::SYS_SAI);}
|
||||
|
||||
public static function src_css(){}
|
||||
public static function src_js(){return \SYSTEM\LOG\JsonResult::toString(
|
||||
array(
|
||||
\SYSTEM\WEBPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_locale/saimod_sys_locale_submit.js')
|
||||
));}
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_locale_flag_css(){}
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_locale_flag_js(){
|
||||
return \SYSTEM\LOG\JsonResult::toString(
|
||||
array( \SYSTEM\WEBPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_locale/saimod_sys_locale_submit.js')));}
|
||||
}
|
||||
@ -1,5 +1,4 @@
|
||||
function init__SYSTEM_SAI_saimod_sys_log() {
|
||||
|
||||
function init__SYSTEM_SAI_saimod_sys_log() {
|
||||
$('#truncate_table').click(function(){
|
||||
|
||||
$.ajax({
|
||||
@ -40,4 +39,4 @@ function init__SYSTEM_SAI_saimod_sys_log() {
|
||||
$('#table-wrapper').load('./?action=developer&sai_mod=.SYSTEM.SAI.saimod_sys_log&filter_error='+$(this).attr('id'));
|
||||
}));
|
||||
|
||||
}
|
||||
};
|
||||
@ -57,7 +57,7 @@ class saimod_sys_log extends \SYSTEM\SAI\SaiModule {
|
||||
}
|
||||
|
||||
|
||||
public static function html_content(){
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_log(){
|
||||
|
||||
|
||||
if( isset($_GET['truncate'])){
|
||||
@ -126,7 +126,8 @@ class saimod_sys_log extends \SYSTEM\SAI\SaiModule {
|
||||
public static function right_public(){return false;}
|
||||
public static function right_right(){return \SYSTEM\SECURITY\Security::check(\SYSTEM\system::getSystemDBInfo(), \SYSTEM\SECURITY\RIGHTS::SYS_SAI);}
|
||||
|
||||
public static function src_css(){}
|
||||
public static function src_js(){return \SYSTEM\LOG\JsonResult::toString(
|
||||
array( \SYSTEM\WEBPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_log/sai_sys_log.js')));}
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_log_flag_css(){}
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_log_flag_js(){
|
||||
return \SYSTEM\LOG\JsonResult::toString(
|
||||
array(\SYSTEM\WEBPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_log/saimod_sys_log.js')));}
|
||||
}
|
||||
@ -2,9 +2,8 @@
|
||||
|
||||
namespace SYSTEM\SAI;
|
||||
|
||||
class saimod_sys_login extends \SYSTEM\SAI\SaiModule {
|
||||
public static function html_content(){
|
||||
|
||||
class saimod_sys_login extends \SYSTEM\SAI\SaiModule {
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_login(){
|
||||
/*
|
||||
if( isset($_POST['username']) && isset($_POST['password']) &&
|
||||
\SYSTEM\SECURITY\Security::login(\SYSTEM\system::getSystemDBInfo(), $_POST['username'], sha1($_POST['password']), md5($_POST['password']))){
|
||||
@ -28,11 +27,12 @@ class saimod_sys_login extends \SYSTEM\SAI\SaiModule {
|
||||
public static function right_public(){return true;}
|
||||
public static function right_right(){return true;}
|
||||
|
||||
public static function src_css(){}
|
||||
public static function src_js(){return \SYSTEM\LOG\JsonResult::toString(
|
||||
array( \SYSTEM\WEBPATH(new \SYSTEM\PSAI(),'js/jqBootstrapValidation.js'),
|
||||
\SYSTEM\WEBPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_login/sai_sys_login_submit.js'),
|
||||
\SYSTEM\WEBPATH(new \SYSTEM\PSAI(),'js/crypto/jquery.md5.js'),
|
||||
\SYSTEM\WEBPATH(new \SYSTEM\PSAI(),'js/crypto/jquery.sha1.js')
|
||||
));}
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_login_flag_css(){}
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_login_flag_js(){
|
||||
return \SYSTEM\LOG\JsonResult::toString(
|
||||
array( \SYSTEM\WEBPATH(new \SYSTEM\PSAI(),'js/jqBootstrapValidation.js'),
|
||||
\SYSTEM\WEBPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_login/sai_sys_login_submit.js'),
|
||||
\SYSTEM\WEBPATH(new \SYSTEM\PSAI(),'js/crypto/jquery.md5.js'),
|
||||
\SYSTEM\WEBPATH(new \SYSTEM\PSAI(),'js/crypto/jquery.sha1.js')
|
||||
));}
|
||||
}
|
||||
@ -7,7 +7,7 @@ class saimod_sys_mod extends \SYSTEM\SAI\SaiModule {
|
||||
'<table class="table table-hover table-condensed" style="overflow: auto;">'.
|
||||
'<tr>'.'<th>'.'Classname'.'</th>'.'<th>'.'Public'.'</th>'.'<th>'.'You can Access?'.'</th>'.'</tr>';
|
||||
|
||||
$sys_mods = \SYSTEM\SAI\sai::getInstance()->getSysModules();
|
||||
$sys_mods = \SYSTEM\SAI\sai::getSysModules();
|
||||
foreach($sys_mods as $mod){
|
||||
$result .= '<tr>'.'<td>'.$mod.'</td>'.'<td>'.(\call_user_func(array($mod, 'right_public')) ? 'true' : 'false').'</td>'.'<td>'.(\call_user_func(array($mod, 'right_right')) ? 'true' : 'false').'</td>'.'</tr>';}
|
||||
$result .= '</table>';
|
||||
@ -20,14 +20,14 @@ class saimod_sys_mod extends \SYSTEM\SAI\SaiModule {
|
||||
'<table class="table table-hover table-condensed" style="overflow: auto;">'.
|
||||
'<tr>'.'<th>'.'Classname'.'</th>'.'<th>'.'Public'.'</th>'.'<th>'.'You can Access?'.'</th>'.'</tr>';
|
||||
|
||||
$mods = \SYSTEM\SAI\sai::getInstance()->getModules();
|
||||
$mods = \SYSTEM\SAI\sai::getModules();
|
||||
foreach($mods as $mod){
|
||||
$result .= '<tr>'.'<td>'.$mod.'</td>'.'<td>'.(\call_user_func(array($mod, 'right_public')) ? 'true' : 'false').'</td>'.'<td>'.(\call_user_func(array($mod, 'right_right')) ? 'true' : 'false').'</td>'.'</tr>';}
|
||||
$result .= '</table>';
|
||||
|
||||
return $result;
|
||||
}
|
||||
public static function html_content(){
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_mod(){
|
||||
$vars=array();
|
||||
$vars['content_sys'] = self::html_content_sys();
|
||||
$vars['content_project'] = self::html_content_project();
|
||||
@ -39,7 +39,8 @@ class saimod_sys_mod extends \SYSTEM\SAI\SaiModule {
|
||||
public static function right_public(){return false;}
|
||||
public static function right_right(){return \SYSTEM\SECURITY\Security::check(\SYSTEM\system::getSystemDBInfo(), \SYSTEM\SECURITY\RIGHTS::SYS_SAI);}
|
||||
|
||||
public static function src_css(){}
|
||||
public static function src_js(){ return \SYSTEM\LOG\JsonResult::toString(
|
||||
array(\SYSTEM\WEBPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_mod/saimod_sys_mod.js')));}
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_mod_flag_css(){}
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_mod_flag_js(){
|
||||
return \SYSTEM\LOG\JsonResult::toString(
|
||||
array(\SYSTEM\WEBPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_mod/saimod_sys_mod.js')));}
|
||||
}
|
||||
@ -3,11 +3,11 @@
|
||||
namespace SYSTEM\SAI;
|
||||
|
||||
class saimod_sys_sai extends \SYSTEM\SAI\SaiModule {
|
||||
public static function html_content(){return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\WEBPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_sai/carousel.tpl'), array());}
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_sai(){return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\WEBPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_sai/carousel.tpl'), array());}
|
||||
public static function html_li_menu(){return '<li class="active"><a href="#" id=".SYSTEM.SAI.saimod_sys_sai">SYSTEM Admin Interface</a></li>';}
|
||||
public static function right_public(){return true;}
|
||||
public static function right_right(){return true;}
|
||||
|
||||
public static function src_css(){}
|
||||
public static function src_js(){}
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_sai_flag_css(){}
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_sai_flag_js(){}
|
||||
}
|
||||
@ -44,7 +44,7 @@ class saimod_sys_security extends \SYSTEM\SAI\SaiModule {
|
||||
return $result;
|
||||
}
|
||||
|
||||
public static function html_content(){
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_security(){
|
||||
$vars = array();
|
||||
$vars['content_users'] = self::html_content_users();
|
||||
$vars['content_rights'] = self::html_content_rights();
|
||||
@ -69,8 +69,8 @@ class saimod_sys_security extends \SYSTEM\SAI\SaiModule {
|
||||
public static function right_public(){return false;}
|
||||
public static function right_right(){return \SYSTEM\SECURITY\Security::check(\SYSTEM\system::getSystemDBInfo(), \SYSTEM\SECURITY\RIGHTS::SYS_SAI);}
|
||||
|
||||
public static function src_css(){return \SYSTEM\LOG\JsonResult::toString(
|
||||
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')));}
|
||||
public static function src_js(){ return \SYSTEM\LOG\JsonResult::toString(
|
||||
public static function sai_mod__SYSTEM_SAI_saimod_sys_security_flag_js(){ return \SYSTEM\LOG\JsonResult::toString(
|
||||
array(\SYSTEM\WEBPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_security/saimod_sys_security.js')));}
|
||||
}
|
||||
@ -1,35 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace SYSTEM\SAI;
|
||||
|
||||
class default_module extends \SYSTEM\PAGE\Page {
|
||||
|
||||
private $module = null;
|
||||
private $post_get = null;
|
||||
private $css = null;
|
||||
private $js = null;
|
||||
|
||||
public function __construct($module,$post_get){
|
||||
$this->module = $module;
|
||||
$this->post_get = $post_get;
|
||||
$this->css = isset($post_get['css']) ? $post_get['css'] : null;
|
||||
$this->js = isset($post_get['js']) ? $post_get['js'] : null;
|
||||
}
|
||||
|
||||
public function html(){
|
||||
if($this->module != null){
|
||||
$mods = \SYSTEM\SAI\sai::getInstance()->getAllModules();
|
||||
if( $this->module &&
|
||||
\array_search($this->module, $mods) !== false &&
|
||||
( \call_user_func(array($this->module, 'right_public')) ||
|
||||
\call_user_func(array($this->module, 'right_right')))){
|
||||
if($this->css != null){
|
||||
return \call_user_func(array($this->module, 'src_css'));}
|
||||
if($this->js != null){
|
||||
return \call_user_func(array($this->module, 'src_js'));}
|
||||
return \call_user_func(array($this->module, 'html_content'),array($this->post_get));}
|
||||
}
|
||||
|
||||
return "Could not find Module";
|
||||
}
|
||||
}
|
||||
@ -7,7 +7,7 @@ class default_page extends \SYSTEM\PAGE\Page {
|
||||
private function menu_sys(){
|
||||
$result = '';
|
||||
|
||||
$mods = \SYSTEM\SAI\sai::getInstance()->getSysModules();
|
||||
$mods = \SYSTEM\SAI\sai::getSysModules();
|
||||
foreach($mods as $mod){
|
||||
if(\call_user_func(array($mod, 'right_public')) ||
|
||||
\call_user_func(array($mod, 'right_right'))){
|
||||
@ -19,7 +19,7 @@ class default_page extends \SYSTEM\PAGE\Page {
|
||||
private function menu_proj(){
|
||||
$result = '';
|
||||
|
||||
$mods = \SYSTEM\SAI\sai::getInstance()->getModules();
|
||||
$mods = \SYSTEM\SAI\sai::getModules();
|
||||
foreach($mods as $mod){
|
||||
if(\call_user_func(array($mod, 'right_public')) ||
|
||||
\call_user_func(array($mod, 'right_right'))){
|
||||
|
||||
@ -38,7 +38,7 @@ function loadModuleContent(id){
|
||||
}
|
||||
});
|
||||
|
||||
$.getJSON('./?action=developer&sai_mod='+id+'&js=1', function (data) {
|
||||
$.getJSON('./?action=developer&sai_mod='+id+'&js=1', function (data) {
|
||||
if(data){
|
||||
scripts_req = data['result'].length;
|
||||
for(var i=0; i < data['result'].length; i++){
|
||||
|
||||
@ -2,9 +2,11 @@
|
||||
|
||||
namespace SYSTEM\SAI;
|
||||
|
||||
abstract class SaiModule {
|
||||
public static function html_content(){
|
||||
throw new \RuntimeException("Unimplemented!");}
|
||||
abstract class SaiModule extends \SYSTEM\API\api_login{
|
||||
public static function default_page(){
|
||||
$sai = new \SYSTEM\SAI\default_page();
|
||||
return $sai->html();}
|
||||
|
||||
public static function html_li_menu(){
|
||||
throw new \RuntimeException("Unimplemented!");}
|
||||
//true or false -> if true no call to right_right()
|
||||
@ -13,11 +15,5 @@ abstract class SaiModule {
|
||||
//check your rights here -> returns true or false
|
||||
public static function right_right(){
|
||||
throw new \RuntimeException("Unimplemented!");}
|
||||
//array with paths as json
|
||||
public static function src_js(){
|
||||
throw new \RuntimeException("Unimplemented!");}
|
||||
//array with paths as json
|
||||
public static function src_css(){
|
||||
throw new \RuntimeException("Unimplemented!");}
|
||||
|
||||
}
|
||||
@ -3,37 +3,26 @@
|
||||
namespace SYSTEM\SAI;
|
||||
|
||||
class sai {
|
||||
private static $modules = array(); //only strings!
|
||||
private static $modules_sys = array(); //only strings!
|
||||
|
||||
private $modules = array(); //only strings!
|
||||
private $modules_sys = array(); //only strings!
|
||||
|
||||
//SINGLETON!
|
||||
static private $instance = null;
|
||||
static public function getInstance(){
|
||||
if (null === self::$instance) {
|
||||
self::$instance = new self;}
|
||||
return self::$instance;
|
||||
}
|
||||
private function __construct(){}
|
||||
private function __clone(){}
|
||||
|
||||
public function register($module){
|
||||
public static function register($module){
|
||||
if( !\class_exists($module) ||
|
||||
!\is_array($parents = \class_parents($module)) ||
|
||||
!\array_search('SYSTEM\SAI\SaiModule', $parents)){
|
||||
throw new \Exception('Problem with your Sysmodule class: '.$module);}
|
||||
$this->modules[] = $module;}
|
||||
public function register_sys($module){
|
||||
array_push(self::$modules,$module);}
|
||||
public static function register_sys($module){
|
||||
if( !\class_exists($module) ||
|
||||
!\is_array($parents = \class_parents($module)) ||
|
||||
!\array_search('SYSTEM\SAI\SaiModule', $parents)){
|
||||
throw new \Exception('Problem with your Sysmodule class: '.$module);}
|
||||
$this->modules_sys[] = $module;}
|
||||
array_push(self::$modules_sys,$module);}
|
||||
|
||||
public function getModules(){
|
||||
return $this->modules;}
|
||||
public function getSysModules(){
|
||||
return $this->modules_sys;}
|
||||
public function getAllModules(){
|
||||
return array_merge($this->modules_sys,$this->modules);}
|
||||
public static function getModules(){
|
||||
return self::$modules;}
|
||||
public static function getSysModules(){
|
||||
return self::$modules_sys;}
|
||||
public static function getAllModules(){
|
||||
return array_merge(self::$modules_sys,self::$modules);}
|
||||
}
|
||||
@ -8,10 +8,18 @@ class saigui extends \SYSTEM\PAGE\Page {
|
||||
public function html(){
|
||||
$pg = array_merge($_POST,$_GET);
|
||||
if(isset($pg[SAI_MOD_POSTFIELD])){
|
||||
$mod = new \SYSTEM\SAI\default_module(\str_replace('.', '\\', $pg[SAI_MOD_POSTFIELD]),$pg);
|
||||
return $mod->html();}
|
||||
|
||||
$sai = new \SYSTEM\SAI\default_page();
|
||||
return $sai->html();
|
||||
$classname = \str_replace('.', '\\', $pg[SAI_MOD_POSTFIELD]);
|
||||
$pg[SAI_MOD_POSTFIELD] = \str_replace('.', '_', $pg[SAI_MOD_POSTFIELD]);
|
||||
|
||||
$mods = \SYSTEM\SAI\sai::getAllModules();
|
||||
if( $classname &&
|
||||
\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);
|
||||
} else {
|
||||
return "Could not find Module";}
|
||||
} else {
|
||||
return \SYSTEM\API\api::run('\SYSTEM\API\verify', '\SYSTEM\SAI\SaiModule', array(), 42, false, true);}
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user