From 7dc77d4e158606602654999655b0317c0b1ec6c8 Mon Sep 17 00:00:00 2001
From: rylon
Date: Sat, 11 Apr 2015 22:40:06 +0200
Subject: [PATCH] new saimod page, proto, saimod api fixes
---
dbd/sql/mysql/data/sai_api.sql | 16 +++-
dbd/sql/mysql/data/system_page.sql | 7 +-
sai/modules/autoload.inc | 1 +
.../saimod_sys_api/css/saimod_sys_api.css | 64 ---------------
sai/modules/saimod_sys_api/tpl/new_dialog.tpl | 6 ++
sai/modules/saimod_sys_page/autoload.inc | 5 ++
.../saimod_sys_page/css/saimod_sys_page.css | 0
.../saimod_sys_page/js/saimod_sys_page.js | 54 +++++++++++++
.../qq/SYS_SAIMOD_PAGE_ADD.php | 11 +++
.../qq/SYS_SAIMOD_PAGE_DEL.php | 11 +++
.../qq/SYS_SAIMOD_PAGE_GET.php | 11 +++
.../qq/SYS_SAIMOD_PAGE_GROUPS.php | 11 +++
.../qq/SYS_SAIMOD_PAGE_SINGLE_SELECT.php | 11 +++
.../saimod_sys_page/saimod_sys_page.php | 77 +++++++++++++++++++
.../saimod_sys_page/tpl/delete_dialog.tpl | 32 ++++++++
.../saimod_sys_page/tpl/list_entry.tpl | 12 +++
.../saimod_sys_page/tpl/new_dialog.tpl | 44 +++++++++++
.../saimod_sys_page/tpl/saimod_sys_page.tpl | 12 +++
.../tpl/saimod_sys_page_list.tpl | 15 ++++
sai/modules/saimod_sys_page/tpl/tabopt.tpl | 1 +
20 files changed, 335 insertions(+), 66 deletions(-)
create mode 100644 sai/modules/saimod_sys_page/autoload.inc
create mode 100644 sai/modules/saimod_sys_page/css/saimod_sys_page.css
create mode 100644 sai/modules/saimod_sys_page/js/saimod_sys_page.js
create mode 100644 sai/modules/saimod_sys_page/qq/SYS_SAIMOD_PAGE_ADD.php
create mode 100644 sai/modules/saimod_sys_page/qq/SYS_SAIMOD_PAGE_DEL.php
create mode 100644 sai/modules/saimod_sys_page/qq/SYS_SAIMOD_PAGE_GET.php
create mode 100644 sai/modules/saimod_sys_page/qq/SYS_SAIMOD_PAGE_GROUPS.php
create mode 100644 sai/modules/saimod_sys_page/qq/SYS_SAIMOD_PAGE_SINGLE_SELECT.php
create mode 100644 sai/modules/saimod_sys_page/saimod_sys_page.php
create mode 100644 sai/modules/saimod_sys_page/tpl/delete_dialog.tpl
create mode 100644 sai/modules/saimod_sys_page/tpl/list_entry.tpl
create mode 100644 sai/modules/saimod_sys_page/tpl/new_dialog.tpl
create mode 100644 sai/modules/saimod_sys_page/tpl/saimod_sys_page.tpl
create mode 100644 sai/modules/saimod_sys_page/tpl/saimod_sys_page_list.tpl
create mode 100644 sai/modules/saimod_sys_page/tpl/tabopt.tpl
diff --git a/dbd/sql/mysql/data/sai_api.sql b/dbd/sql/mysql/data/sai_api.sql
index d148062..f5b6595 100644
--- a/dbd/sql/mysql/data/sai_api.sql
+++ b/dbd/sql/mysql/data/sai_api.sql
@@ -152,4 +152,18 @@ INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `nam
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1208, 42, 2, 1200, 'del', 'cls', 'STRING');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1209, 42, 2, 1200, 'deldialog', 'cls', 'STRING');
INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1210, 42, 2, 1200, 'change', 'cls', 'STRING');
-INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1211, 42, 2, 1200, 'change', 'status', 'INT');
\ No newline at end of file
+INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1211, 42, 2, 1200, 'change', 'status', 'INT');
+
+INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1300, 42, 0, 0, '_SYSTEM_SAI_saimod_sys_page', 'action', NULL);
+INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1301, 42, 2, 1300, 'addcall', 'ID', 'INT');
+INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1302, 42, 2, 1300, 'addcall', 'group', 'INT');
+INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1303, 42, 2, 1300, 'addcall', 'type', 'INT');
+INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1304, 42, 2, 1300, 'addcall', 'parentID', 'INT');
+INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1305, 42, 2, 1300, 'addcall', 'parentValue', 'STRING');
+INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1306, 42, 2, 1300, 'addcall', 'name', 'STRING');
+INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1307, 42, 2, 1300, 'addcall', 'verify', 'ALL');
+INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1308, 42, 2, 1300, 'deletecall', 'ID', 'INT');
+INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1309, 42, 2, 1300, 'deletecall', 'group', 'INT');
+INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1310, 42, 2, 1300, 'deletedialog', 'ID', 'INT');
+INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1311, 42, 2, 1300, 'deletedialog', 'group', 'INT');
+INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (1320, 42, 3, 1300, 'list', 'group', 'INT');
\ No newline at end of file
diff --git a/dbd/sql/mysql/data/system_page.sql b/dbd/sql/mysql/data/system_page.sql
index 70ffddc..4d51ecb 100644
--- a/dbd/sql/mysql/data/system_page.sql
+++ b/dbd/sql/mysql/data/system_page.sql
@@ -39,4 +39,9 @@ INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`,
INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (123, 'stats', 42, 'todo', 120, 1, '#tab_todo', '/sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_todo&action=stats', 'init_saimod_sys_todo_stats', '\\SYSTEM\\SAI\\saimod_sys_todo');
INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (124, 'todoopen', 42, 'todo', 120, 1, '#tab_todo', '/sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_todo&action=todo&todo=${todo}', 'init_saimod_sys_todo_todoopen', '\\SYSTEM\\SAI\\saimod_sys_todo');
INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (125, 'todoclose', 42, 'todo', 120, 1, '#tab_todo', '/sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_todo&action=todo&todo=${todo}', 'init_saimod_sys_todo_todoclose', '\\SYSTEM\\SAI\\saimod_sys_todo');
-INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (126, 'new', 42, 'todo', 120, 1, '#tab_todo', './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_todo&action=new', 'init_saimod_sys_todo_new', '\\SYSTEM\\SAI\\saimod_sys_todo');
\ No newline at end of file
+INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (126, 'new', 42, 'todo', 120, 1, '#tab_todo', './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_todo&action=new', 'init_saimod_sys_todo_new', '\\SYSTEM\\SAI\\saimod_sys_todo');
+
+INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (130, 'page', 42, 'page', -1, 0, '#content', './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_page', 'init_saimod_sys_page', '\\SYSTEM\\SAI\\saimod_sys_page');
+INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (131, 'all', 42, 'page', 130, 0, '#tab_page', './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_page&action=list&group=${group}', 'init_saimod_sys_page_list', '\\SYSTEM\\SAI\\saimod_sys_page');
+INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (132, 'delete', 42, 'page', 130, 1, '#tab_page', './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_page&action=deletedialog&group=${group}&ID=${id}', 'init_saimod_sys_page_delete', '\\SYSTEM\\SAI\\saimod_sys_page');
+INSERT INTO `system_page` (`id`, `name`, `group`, `state`, `parent_id`, `type`, `div`, `url`, `func`, `php_class`) VALUES (133, 'new', 42, 'page', 130, 1, '#tab_page', './sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_page&action=newdialog', 'init_saimod_sys_page_new', '\\SYSTEM\\SAI\\saimod_sys_page');
\ No newline at end of file
diff --git a/sai/modules/autoload.inc b/sai/modules/autoload.inc
index 796292d..28c0857 100644
--- a/sai/modules/autoload.inc
+++ b/sai/modules/autoload.inc
@@ -7,6 +7,7 @@ require_once dirname(__FILE__).'/saimod_sys_security/autoload.inc';
require_once dirname(__FILE__).'/saimod_sys_mod/autoload.inc';
require_once dirname(__FILE__).'/saimod_sys_config/autoload.inc';
require_once dirname(__FILE__).'/saimod_sys_api/autoload.inc';
+require_once dirname(__FILE__).'/saimod_sys_page/autoload.inc';
require_once dirname(__FILE__).'/saimod_sys_text/autoload.inc';
require_once dirname(__FILE__).'/saimod_sys_files/autoload.inc';
require_once dirname(__FILE__).'/saimod_sys_cache/autoload.inc';
diff --git a/sai/modules/saimod_sys_api/css/saimod_sys_api.css b/sai/modules/saimod_sys_api/css/saimod_sys_api.css
index 07df088..e69de29 100644
--- a/sai/modules/saimod_sys_api/css/saimod_sys_api.css
+++ b/sai/modules/saimod_sys_api/css/saimod_sys_api.css
@@ -1,64 +0,0 @@
-p {
- font-size: 90%;
-}
-.tree {
- min-height:20px;
- padding:19px;
- margin-bottom:20px;
- background-color:#fbfbfb;
- border:1px solid #999;
- -webkit-border-radius:4px;
- -moz-border-radius:4px;
- border-radius:4px;
- -webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);
- -moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05);
- box-shadow:inset 0 1px 1px rgba(0, 0, 0, 0.05)
-}
-.tree li {
- list-style-type:none;
- margin:0;
- padding:10px 5px 0 5px;
- position:relative
-}
-.tree li::before, .tree li::after {
- content:'';
- left:-20px;
- position:absolute;
- right:auto
-}
-.tree li::before {
- border-left:1px solid #999;
- bottom:50px;
- height:100%;
- top:0;
- width:1px
-}
-.tree li::after {
- border-top:1px solid #999;
- height:20px;
- top:25px;
- width:25px
-}
-.tree li span {
- -moz-border-radius:5px;
- -webkit-border-radius:5px;
- border:1px solid #999;
- border-radius:5px;
- display:inline-block;
- padding:3px 8px;
- text-decoration:none
-}
-.tree li.parent_li>span {
- cursor:pointer
-}
-.tree>ul>li::before, .tree>ul>li::after {
- border:0
-}
-.tree li:last-child::before {
- height:30px
-}
-.tree li.parent_li>span:hover, .tree li.parent_li>span:hover+ul li span {
- background:#eee;
- border:1px solid #94a0b4;
- color:#000
-}
\ No newline at end of file
diff --git a/sai/modules/saimod_sys_api/tpl/new_dialog.tpl b/sai/modules/saimod_sys_api/tpl/new_dialog.tpl
index a4f8e1f..ac20605 100644
--- a/sai/modules/saimod_sys_api/tpl/new_dialog.tpl
+++ b/sai/modules/saimod_sys_api/tpl/new_dialog.tpl
@@ -3,21 +3,27 @@
ID
+
Group
+
Type
+
ParentID
+
ParentValue
+
Name
+
Verify
diff --git a/sai/modules/saimod_sys_page/autoload.inc b/sai/modules/saimod_sys_page/autoload.inc
new file mode 100644
index 0000000..d716329
--- /dev/null
+++ b/sai/modules/saimod_sys_page/autoload.inc
@@ -0,0 +1,5 @@
+Api call deleted!
');
+ $('#del_page_del').hide();
+ }
+ });
+ });
+}
\ No newline at end of file
diff --git a/sai/modules/saimod_sys_page/qq/SYS_SAIMOD_PAGE_ADD.php b/sai/modules/saimod_sys_page/qq/SYS_SAIMOD_PAGE_ADD.php
new file mode 100644
index 0000000..eeb7d9e
--- /dev/null
+++ b/sai/modules/saimod_sys_page/qq/SYS_SAIMOD_PAGE_ADD.php
@@ -0,0 +1,11 @@
+next()){
+ $vars['tabopts'] .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_page/tpl/tabopt.tpl'), array( 'tab_id' => $r['group']));}
+ return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_page/tpl/saimod_sys_page.tpl'), $vars);
+ }
+
+ public static function sai_mod__system_sai_saimod_sys_page_action_list($group=null){
+ $res = \SYSTEM\DBD\SYS_SAIMOD_PAGE_GET::QQ();
+ $tab = array('content' => '');
+ while($r = $res->next()){
+ if($group != null && $r['group'] != $group){
+ continue;}
+ $tab['tab_id'] = $r['group'];
+ $r['tr_class'] = self::tablerow_class($r['type']);
+ $r['type'] = self::type_names($r['type']);
+ $tab['content'] .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_page/tpl/list_entry.tpl'), $r);
+ }
+ return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_page/tpl/saimod_sys_page_list.tpl'), $tab);
+ }
+
+ public static function sai_mod__system_sai_saimod_sys_page_action_deletedialog($ID,$group){
+ $res = \SYSTEM\DBD\SYS_SAIMOD_PAGE_SINGLE_SELECT::Q1(array($ID,$group));
+ return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_page/tpl/delete_dialog.tpl'), $res);
+ }
+ public static function sai_mod__system_sai_saimod_sys_page_action_newdialog(){
+ return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_page/tpl/new_dialog.tpl'));}
+
+ public static function sai_mod__system_sai_saimod_sys_page_action_addcall($ID,$group,$type,$parentID,$parentValue,$name,$verify){
+ if(!\SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI_API)){
+ throw new \SYSTEM\LOG\ERROR("You dont have edit Rights - Cant proceeed");}
+ if($parentValue == ''){ $parentValue = NULL;}
+ if($verify == ''){ $verify = NULL;}
+ \SYSTEM\DBD\SYS_SAIMOD_PAGE_ADD::QI(array($ID,$group,$type,$parentID,$parentValue,$name,$verify));
+ return \SYSTEM\LOG\JsonResult::ok();
+ }
+
+ public static function sai_mod__system_sai_saimod_sys_page_action_deletecall($ID,$group){
+ if(!\SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI_API)){
+ throw new \SYSTEM\LOG\ERROR("You dont have edit Rights - Cant proceeed");}
+ \SYSTEM\DBD\SYS_SAIMOD_PAGE_DEL::QI(array($ID,$group));
+ return \SYSTEM\LOG\JsonResult::ok();
+ }
+
+ private static function type_names($type){
+ switch($type){
+ case 0: return 'STATIC';
+ case 1: return 'DYNAMIC';
+ default: return 'Problem unknown type';
+ }
+ }
+
+ private static function tablerow_class($flag){
+ switch($flag){
+ case 0: return 'info';
+ case 1: return '';
+ case 4: return 'warning';
+ default: return 'success';
+ }
+ }
+
+ public static function html_li_menu(){return ' ';}
+ public static function right_public(){return false;}
+ public static function right_right(){return \SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI) && \SYSTEM\SECURITY\Security::check(\SYSTEM\SECURITY\RIGHTS::SYS_SAI_API);}
+
+ public static function css(){
+ return array(\SYSTEM\WEBPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_page/css/saimod_sys_page.css'));}
+ public static function js(){
+ return array( \SYSTEM\WEBPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_page/js/saimod_sys_page.js'));}
+}
\ No newline at end of file
diff --git a/sai/modules/saimod_sys_page/tpl/delete_dialog.tpl b/sai/modules/saimod_sys_page/tpl/delete_dialog.tpl
new file mode 100644
index 0000000..590c79a
--- /dev/null
+++ b/sai/modules/saimod_sys_page/tpl/delete_dialog.tpl
@@ -0,0 +1,32 @@
+
+
Page: ${id}
+
+
+
+ id
+ name
+ group
+ state
+ parent_id
+ type
+ div
+ url
+ func
+ php_class
+
+
+ ${id}
+ ${name}
+ ${group}
+ ${state}
+ ${parent_id}
+ ${type}
+ ${div}
+ ${url}
+ ${func}
+ ${php_class}
+
+
+
+Delete
+Close
diff --git a/sai/modules/saimod_sys_page/tpl/list_entry.tpl b/sai/modules/saimod_sys_page/tpl/list_entry.tpl
new file mode 100644
index 0000000..48013d1
--- /dev/null
+++ b/sai/modules/saimod_sys_page/tpl/list_entry.tpl
@@ -0,0 +1,12 @@
+
+ ${id}
+ ${name}
+ ${group}
+ ${state}
+ ${parent_id}
+ ${type}
+ ${div}
+ ${url}
+ ${func}
+ ${php_class}
+
\ No newline at end of file
diff --git a/sai/modules/saimod_sys_page/tpl/new_dialog.tpl b/sai/modules/saimod_sys_page/tpl/new_dialog.tpl
new file mode 100644
index 0000000..71cecb1
--- /dev/null
+++ b/sai/modules/saimod_sys_page/tpl/new_dialog.tpl
@@ -0,0 +1,44 @@
+
+Back
+Add
\ No newline at end of file
diff --git a/sai/modules/saimod_sys_page/tpl/saimod_sys_page.tpl b/sai/modules/saimod_sys_page/tpl/saimod_sys_page.tpl
new file mode 100644
index 0000000..82b7a60
--- /dev/null
+++ b/sai/modules/saimod_sys_page/tpl/saimod_sys_page.tpl
@@ -0,0 +1,12 @@
+System Page
+
+
\ No newline at end of file
diff --git a/sai/modules/saimod_sys_page/tpl/saimod_sys_page_list.tpl b/sai/modules/saimod_sys_page/tpl/saimod_sys_page_list.tpl
new file mode 100644
index 0000000..1049e64
--- /dev/null
+++ b/sai/modules/saimod_sys_page/tpl/saimod_sys_page_list.tpl
@@ -0,0 +1,15 @@
+
+
+ id
+ name
+ group
+ state
+ parent_id
+ type
+ div
+ url
+ func
+ php_class
+
+ ${content}
+
\ No newline at end of file
diff --git a/sai/modules/saimod_sys_page/tpl/tabopt.tpl b/sai/modules/saimod_sys_page/tpl/tabopt.tpl
new file mode 100644
index 0000000..b99eb35
--- /dev/null
+++ b/sai/modules/saimod_sys_page/tpl/tabopt.tpl
@@ -0,0 +1 @@
+
\ No newline at end of file