From 7639d6aa929eb421e0dce0410d4cf0fced7080c1 Mon Sep 17 00:00:00 2001 From: rylon Date: Mon, 19 May 2014 18:28:27 +0200 Subject: [PATCH] started redesign of FILES sai module -> server mysql table schemata --- dbd/sql/mysql/data/system_api.sql | 14 +++++++ dbd/sql/mysql/schema/system_cache.sql | 9 +++++ dbd/sql/mysql/schema/system_todo.sql | 16 ++++++++ .../{sai_sys_files.js => saimod_sys_files.js} | 16 ++++++-- .../saimod_sys_files/saimod_sys_files.php | 39 +++++++++---------- .../saimod_sys_files/saimod_sys_files.tpl | 8 ++++ .../saimod_sys_files/saimod_sys_files_tab.tpl | 1 + .../saimod_sys_files_tabfull.tpl | 16 ++++++++ .../saimod_sys_files_tableentry.tpl | 12 ++++++ .../saimod_sys_files_tabopt.tpl | 1 + 10 files changed, 108 insertions(+), 24 deletions(-) create mode 100644 dbd/sql/mysql/data/system_api.sql create mode 100644 dbd/sql/mysql/schema/system_cache.sql create mode 100644 dbd/sql/mysql/schema/system_todo.sql rename sai/modules/saimod_sys_files/{sai_sys_files.js => saimod_sys_files.js} (62%) create mode 100644 sai/modules/saimod_sys_files/saimod_sys_files.tpl create mode 100644 sai/modules/saimod_sys_files/saimod_sys_files_tab.tpl create mode 100644 sai/modules/saimod_sys_files/saimod_sys_files_tabfull.tpl create mode 100644 sai/modules/saimod_sys_files/saimod_sys_files_tableentry.tpl create mode 100644 sai/modules/saimod_sys_files/saimod_sys_files_tabopt.tpl diff --git a/dbd/sql/mysql/data/system_api.sql b/dbd/sql/mysql/data/system_api.sql new file mode 100644 index 0000000..d0b5d35 --- /dev/null +++ b/dbd/sql/mysql/data/system_api.sql @@ -0,0 +1,14 @@ +INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (0, 0, 0, -1, NULL, 'call', NULL); + +INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (60, 0, 0, 0, NULL, 'action', NULL); +INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (61, 0, 2, 60, 'login', 'username', 'STRING'); +INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (62, 0, 2, 60, 'login', 'password_sha', 'STRING'); +INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (63, 0, 2, 60, 'login', 'password_md5', 'STRING'); +INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (64, 0, 2, 60, 'check', 'rightid', 'UINT'); +INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (65, 0, 2, 60, 'create', 'username', 'STRING'); +INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (66, 0, 2, 60, 'create', 'password_sha', 'STRING'); +INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (67, 0, 2, 60, 'create', 'email', 'STRING'); +INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (68, 0, 2, 60, 'create', 'locale', 'LANG'); + +INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (100, 0, 2, 0, 'files', 'cat', 'STRING'); +INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (101, 0, 3, 0, 'files', 'id', 'STRING'); diff --git a/dbd/sql/mysql/schema/system_cache.sql b/dbd/sql/mysql/schema/system_cache.sql new file mode 100644 index 0000000..18737d4 --- /dev/null +++ b/dbd/sql/mysql/schema/system_cache.sql @@ -0,0 +1,9 @@ +CREATE TABLE `system_cache` ( + `ID` INT(10) NOT NULL AUTO_INCREMENT, + `CacheID` INT(10) NOT NULL, + `Ident` CHAR(255) NOT NULL, + `data` BINARY(255) NOT NULL, + PRIMARY KEY (`ID`) +) +COLLATE='utf8_general_ci' +ENGINE=MyISAM; \ No newline at end of file diff --git a/dbd/sql/mysql/schema/system_todo.sql b/dbd/sql/mysql/schema/system_todo.sql new file mode 100644 index 0000000..3f88815 --- /dev/null +++ b/dbd/sql/mysql/schema/system_todo.sql @@ -0,0 +1,16 @@ +CREATE TABLE `system_todo` ( + `ID` INT(10) NOT NULL AUTO_INCREMENT, + `time` DATETIME NOT NULL, + `author` INT(11) NOT NULL, + `type` INT(11) NOT NULL, + `state` INT(11) NOT NULL, + `msg_1` TEXT NOT NULL, + `msg_2` TEXT NULL, + `msg_3` TEXT NULL, + `msg_4` TEXT NULL, + `msg_5` TEXT NULL, + PRIMARY KEY (`ID`) +) +COLLATE='utf8_general_ci' +ENGINE=MyISAM +AUTO_INCREMENT=5; \ No newline at end of file diff --git a/sai/modules/saimod_sys_files/sai_sys_files.js b/sai/modules/saimod_sys_files/saimod_sys_files.js similarity index 62% rename from sai/modules/saimod_sys_files/sai_sys_files.js rename to sai/modules/saimod_sys_files/saimod_sys_files.js index bbf14c4..14cc55d 100644 --- a/sai/modules/saimod_sys_files/sai_sys_files.js +++ b/sai/modules/saimod_sys_files/saimod_sys_files.js @@ -1,4 +1,15 @@ function init__SYSTEM_SAI_saimod_sys_files() { + $('#filestab a').click(function (e) {e.preventDefault(); load_tab($(this).attr('tabname')); $(this).tab('show');}); + register_controlls(); +} + +function load_tab(name){ + $('#tab_'+name).load(SAI_ENDPOINT+'sai_mod=.SYSTEM.SAI.saimod_sys_files&action=tab&name='+name, function(){ + register_controlls(); + }); +} + +function register_controlls(){ $(".imgdelbtn").click(function(){ $.getJSON(SAI_ENDPOINT+'sai_mod=.SYSTEM.SAI.saimod_sys_files&action=del&cat='+$(this).attr("cat")+'&id='+$(this).attr("id"), function(data){ if(data.status){ @@ -8,9 +19,9 @@ function init__SYSTEM_SAI_saimod_sys_files() { } }); }); - + $(".imgrnbtn").click(function(){ - $.getJSON(SAI_ENDPOINT+'sai_mod=.SYSTEM.SAI.saimod_sys_files&action=rn&cat='+$(this).attr("cat")+'&id='+$(this).attr("id")+'&newid='+$("#renametext_"+$(this).attr("textfield")).val(), function(data){ + $.getJSON(SAI_ENDPOINT+'sai_mod=.SYSTEM.SAI.saimod_sys_files&action=rn&cat='+$(this).attr("cat")+'&id='+$(this).attr("id")+'&newid='+$($(this).attr("textfield")).val(), function(data){ if(data.status){ alert("ok"); } else{ @@ -20,4 +31,3 @@ function init__SYSTEM_SAI_saimod_sys_files() { }); } - diff --git a/sai/modules/saimod_sys_files/saimod_sys_files.php b/sai/modules/saimod_sys_files/saimod_sys_files.php index b6bdd0d..954a219 100644 --- a/sai/modules/saimod_sys_files/saimod_sys_files.php +++ b/sai/modules/saimod_sys_files/saimod_sys_files.php @@ -23,28 +23,25 @@ class saimod_sys_files extends \SYSTEM\SAI\SaiModule { return \SYSTEM\LOG\JsonResult::ok(); } public static function sai_mod__SYSTEM_SAI_saimod_sys_files(){ - //tt - $result = ''; - $file_folders = \SYSTEM\FILES\files::get(); - $i = 0; + $result = array('tabopts' => '', 'tabs' => ''); + $file_folders = \SYSTEM\FILES\files::get(); + //$i = 0; + $first = true; foreach($file_folders as $name=>$folder){ - $cat = \SYSTEM\FILES\files::get($name); - $result .= "

".$name."

"; - $result .= '
'; - $result .= //' - '
- '; - $result .= "
"; - $result .= ""; - foreach($cat as $img){ - //$result .= ''; - $result .= ''; - $i++; - } - $result .= "
DeleteNamenew nameRename
'.$img.'
"; + $result['tabopts'] .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_files/saimod_sys_files_tabopt.tpl'),array('name' => $name, 'active' => $first ? 'active' : '')); + $result['tabs'] .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_files/saimod_sys_files_tab.tpl'),array('name' => $name, 'active' => $first ? 'active' : '', 'content' => $first ? self::sai_mod__SYSTEM_SAI_saimod_sys_files_action_tab($name) : '')); + $first = false; } - return $result; - } + return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_files/saimod_sys_files.tpl'),$result); + } + + public static function sai_mod__SYSTEM_SAI_saimod_sys_files_action_tab($name){ + $result = ''; + $cat = \SYSTEM\FILES\files::get($name); + $i = 0; + foreach($cat as $file){ + $result .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_files/saimod_sys_files_tableentry.tpl'), array('i' => $i++, 'cat' => $name, 'name' => $file, 'extension' => substr($file,-3,3), 'url' => 'api.php?call=files&cat='.$name.'&id='.$file));} + return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_files/saimod_sys_files_tabfull.tpl'), array('content' => $result));} public static function html_li_menu(){return '
  • Files
  • ';} public static function right_public(){return false;} @@ -52,5 +49,5 @@ class saimod_sys_files extends \SYSTEM\SAI\SaiModule { public static function sai_mod__SYSTEM_SAI_saimod_sys_files_flag_css(){} public static function sai_mod__SYSTEM_SAI_saimod_sys_files_flag_js(){return \SYSTEM\LOG\JsonResult::toString( - array( \SYSTEM\WEBPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_files/sai_sys_files.js')));} + array( \SYSTEM\WEBPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_files/saimod_sys_files.js')));} } \ No newline at end of file diff --git a/sai/modules/saimod_sys_files/saimod_sys_files.tpl b/sai/modules/saimod_sys_files/saimod_sys_files.tpl new file mode 100644 index 0000000..0a3fb2b --- /dev/null +++ b/sai/modules/saimod_sys_files/saimod_sys_files.tpl @@ -0,0 +1,8 @@ +
    + +
    + ${tabs} +
    +
    \ No newline at end of file diff --git a/sai/modules/saimod_sys_files/saimod_sys_files_tab.tpl b/sai/modules/saimod_sys_files/saimod_sys_files_tab.tpl new file mode 100644 index 0000000..1731587 --- /dev/null +++ b/sai/modules/saimod_sys_files/saimod_sys_files_tab.tpl @@ -0,0 +1 @@ +
    ${content}
    \ No newline at end of file diff --git a/sai/modules/saimod_sys_files/saimod_sys_files_tabfull.tpl b/sai/modules/saimod_sys_files/saimod_sys_files_tabfull.tpl new file mode 100644 index 0000000..4288a17 --- /dev/null +++ b/sai/modules/saimod_sys_files/saimod_sys_files_tabfull.tpl @@ -0,0 +1,16 @@ + + + + + + + + ${content} + +
    + + + + + +
    NameExtensionURLAction
    \ No newline at end of file diff --git a/sai/modules/saimod_sys_files/saimod_sys_files_tableentry.tpl b/sai/modules/saimod_sys_files/saimod_sys_files_tableentry.tpl new file mode 100644 index 0000000..b685806 --- /dev/null +++ b/sai/modules/saimod_sys_files/saimod_sys_files_tableentry.tpl @@ -0,0 +1,12 @@ + + ${name} + ${extension} + + ${url} + + + + + + + \ No newline at end of file diff --git a/sai/modules/saimod_sys_files/saimod_sys_files_tabopt.tpl b/sai/modules/saimod_sys_files/saimod_sys_files_tabopt.tpl new file mode 100644 index 0000000..42f88a7 --- /dev/null +++ b/sai/modules/saimod_sys_files/saimod_sys_files_tabopt.tpl @@ -0,0 +1 @@ +
  • ${name}
  • \ No newline at end of file