diff --git a/api/api.php b/api/api.php
index fc2d9b5..3aa2691 100644
--- a/api/api.php
+++ b/api/api.php
@@ -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){
diff --git a/sai/autoload.inc.php b/sai/autoload.inc.php
index 15929c5..3b50c5e 100644
--- a/sai/autoload.inc.php
+++ b/sai/autoload.inc.php
@@ -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');
diff --git a/sai/modules/register_modules.php b/sai/modules/register_modules.php
index 39edb19..9dbff1e 100644
--- a/sai/modules/register_modules.php
+++ b/sai/modules/register_modules.php
@@ -1,12 +1,12 @@
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');
\ No newline at end of file
+\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');
\ No newline at end of file
diff --git a/sai/modules/saimod_sys_cache/saimod_sys_cache.php b/sai/modules/saimod_sys_cache/saimod_sys_cache.php
index 47daf39..8662832 100644
--- a/sai/modules/saimod_sys_cache/saimod_sys_cache.php
+++ b/sai/modules/saimod_sys_cache/saimod_sys_cache.php
@@ -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(){}
}
\ No newline at end of file
diff --git a/sai/modules/saimod_sys_calls/saimod_sys_calls.php b/sai/modules/saimod_sys_calls/saimod_sys_calls.php
index 91e27d1..f468600 100644
--- a/sai/modules/saimod_sys_calls/saimod_sys_calls.php
+++ b/sai/modules/saimod_sys_calls/saimod_sys_calls.php
@@ -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(){}
}
\ No newline at end of file
diff --git a/sai/modules/saimod_sys_config/saimod_sys_config.php b/sai/modules/saimod_sys_config/saimod_sys_config.php
index 81f8383..c017a9c 100644
--- a/sai/modules/saimod_sys_config/saimod_sys_config.php
+++ b/sai/modules/saimod_sys_config/saimod_sys_config.php
@@ -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 = '
Sys Config
'.
''.
''.'| '.'Config ID'.' | '.''.'Config Name'.' | '.''.'Value'.' | '.'
';
@@ -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(){}
}
\ No newline at end of file
diff --git a/sai/modules/saimod_sys_locale/saimod_sys_locale.php b/sai/modules/saimod_sys_locale/saimod_sys_locale.php
index 334635f..1183de4 100644
--- a/sai/modules/saimod_sys_locale/saimod_sys_locale.php
+++ b/sai/modules/saimod_sys_locale/saimod_sys_locale.php
@@ -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')));}
}
\ No newline at end of file
diff --git a/sai/modules/saimod_sys_log/sai_sys_log.js b/sai/modules/saimod_sys_log/saimod_sys_log.js
similarity index 96%
rename from sai/modules/saimod_sys_log/sai_sys_log.js
rename to sai/modules/saimod_sys_log/saimod_sys_log.js
index 4f4f5f5..2963367 100644
--- a/sai/modules/saimod_sys_log/sai_sys_log.js
+++ b/sai/modules/saimod_sys_log/saimod_sys_log.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'));
}));
-}
\ No newline at end of file
+};
\ No newline at end of file
diff --git a/sai/modules/saimod_sys_log/saimod_sys_log.php b/sai/modules/saimod_sys_log/saimod_sys_log.php
index 68edc3a..c0f3d17 100644
--- a/sai/modules/saimod_sys_log/saimod_sys_log.php
+++ b/sai/modules/saimod_sys_log/saimod_sys_log.php
@@ -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')));}
}
\ No newline at end of file
diff --git a/sai/modules/saimod_sys_login/saimod_sys_login.php b/sai/modules/saimod_sys_login/saimod_sys_login.php
index f3294d1..b9d5c93 100644
--- a/sai/modules/saimod_sys_login/saimod_sys_login.php
+++ b/sai/modules/saimod_sys_login/saimod_sys_login.php
@@ -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')
+ ));}
}
\ No newline at end of file
diff --git a/sai/modules/saimod_sys_mod/saimod_sys_mod.php b/sai/modules/saimod_sys_mod/saimod_sys_mod.php
index 4166485..e73be88 100644
--- a/sai/modules/saimod_sys_mod/saimod_sys_mod.php
+++ b/sai/modules/saimod_sys_mod/saimod_sys_mod.php
@@ -7,7 +7,7 @@ class saimod_sys_mod extends \SYSTEM\SAI\SaiModule {
''.
''.'| '.'Classname'.' | '.''.'Public'.' | '.''.'You can Access?'.' | '.'
';
- $sys_mods = \SYSTEM\SAI\sai::getInstance()->getSysModules();
+ $sys_mods = \SYSTEM\SAI\sai::getSysModules();
foreach($sys_mods as $mod){
$result .= ''.'| '.$mod.' | '.''.(\call_user_func(array($mod, 'right_public')) ? 'true' : 'false').' | '.''.(\call_user_func(array($mod, 'right_right')) ? 'true' : 'false').' | '.'
';}
$result .= '
';
@@ -20,14 +20,14 @@ class saimod_sys_mod extends \SYSTEM\SAI\SaiModule {
''.
''.'| '.'Classname'.' | '.''.'Public'.' | '.''.'You can Access?'.' | '.'
';
- $mods = \SYSTEM\SAI\sai::getInstance()->getModules();
+ $mods = \SYSTEM\SAI\sai::getModules();
foreach($mods as $mod){
$result .= ''.'| '.$mod.' | '.''.(\call_user_func(array($mod, 'right_public')) ? 'true' : 'false').' | '.''.(\call_user_func(array($mod, 'right_right')) ? 'true' : 'false').' | '.'
';}
$result .= '
';
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')));}
}
\ No newline at end of file
diff --git a/sai/modules/saimod_sys_sai/saimod_sys_sai.php b/sai/modules/saimod_sys_sai/saimod_sys_sai.php
index d2860f6..2fac8fe 100644
--- a/sai/modules/saimod_sys_sai/saimod_sys_sai.php
+++ b/sai/modules/saimod_sys_sai/saimod_sys_sai.php
@@ -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 'SYSTEM Admin Interface';}
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(){}
}
\ 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 026f81f..0a1f9d8 100644
--- a/sai/modules/saimod_sys_security/saimod_sys_security.php
+++ b/sai/modules/saimod_sys_security/saimod_sys_security.php
@@ -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')));}
}
\ No newline at end of file
diff --git a/sai/page/default_module/default_module.php b/sai/page/default_module/default_module.php
deleted file mode 100644
index b20b25d..0000000
--- a/sai/page/default_module/default_module.php
+++ /dev/null
@@ -1,35 +0,0 @@
-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";
- }
-}
\ No newline at end of file
diff --git a/sai/page/default_page/default_page.php b/sai/page/default_page/default_page.php
index 824995d..085d16f 100644
--- a/sai/page/default_page/default_page.php
+++ b/sai/page/default_page/default_page.php
@@ -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'))){
diff --git a/sai/page/default_page/js/index.js b/sai/page/default_page/js/index.js
index 018e751..83f9dc8 100644
--- a/sai/page/default_page/js/index.js
+++ b/sai/page/default_page/js/index.js
@@ -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++){
diff --git a/sai/sai/SaiModule.php b/sai/sai/SaiModule.php
index 1766dea..ac00f25 100644
--- a/sai/sai/SaiModule.php
+++ b/sai/sai/SaiModule.php
@@ -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!");}
}
\ No newline at end of file
diff --git a/sai/sai/sai.php b/sai/sai/sai.php
index a768938..83ed4b8 100644
--- a/sai/sai/sai.php
+++ b/sai/sai/sai.php
@@ -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);}
}
\ No newline at end of file
diff --git a/sai/sai/saigui.php b/sai/sai/saigui.php
index b9902b2..e3ea5ee 100644
--- a/sai/sai/saigui.php
+++ b/sai/sai/saigui.php
@@ -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);}
}
}
\ No newline at end of file