diff --git a/dbd/sql/mysql/data/sai_api.sql b/dbd/sql/mysql/data/sai_api.sql index 4a925d1..7357e0c 100644 --- a/dbd/sql/mysql/data/sai_api.sql +++ b/dbd/sql/mysql/data/sai_api.sql @@ -89,7 +89,10 @@ INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `nam INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (606, 42, 2, 600, 'addcall', 'name', 'STRING'); INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (607, 42, 2, 600, 'addcall', 'verify', 'ALL'); INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (608, 42, 2, 600, 'deletecall', 'ID', 'INT'); -INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (609, 42, 2, 600, 'deletedialog', 'ID', 'INT'); +INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (609, 42, 2, 600, 'deletecall', 'group', 'INT'); +INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (610, 42, 2, 600, 'deletedialog', 'ID', 'INT'); +INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (611, 42, 2, 600, 'deletedialog', 'group', 'INT'); +INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (620, 42, 3, 600, 'list', 'group', 'INT'); INSERT INTO `system_api` (`ID`, `group`, `type`, `parentID`, `parentValue`, `name`, `verify`) VALUES (700, 42, 0, 0, '_SYSTEM_SAI_saimod_sys_text', 'action', NULL); diff --git a/sai/modules/saimod_sys_api/js/saimod_sys_api.js b/sai/modules/saimod_sys_api/js/saimod_sys_api.js index 7bfe99a..b9a7c0e 100644 --- a/sai/modules/saimod_sys_api/js/saimod_sys_api.js +++ b/sai/modules/saimod_sys_api/js/saimod_sys_api.js @@ -1,97 +1,54 @@ -var currentID = ''; - function init_saimod_sys_api() { - saimod_sys_api_tree(); - saimod_sys_api_register_clickevents(); - -} - -function saimod_sys_api_loadcontent(){ - $('#api_wrapper').load('./sai.php?sai_mod=.SYSTEM.SAI.saimod_sys_api', function(){ - console.log('api module loaded'); - saimod_sys_api_register_clickevents(); + $('#tabs_log a').click(function (e) { + $('#tabs_log li').each(function(){ + $(this).removeClass('active');}); + $(this).parent().addClass('active'); }); - -} - -function saimod_sys_api_register_clickevents(){ - $('tr.api_entries').click(function() { - currentID = $(this).attr("id"); - $.ajax({ - url: './sai.php', - data: { sai_mod: '.SYSTEM.SAI.saimod_sys_api', - action: 'deletedialog', - ID: currentID}, - type: 'GET', - success: function(data) { - console.log("works"); - $('#api_content').html(data); - $('#del_api_close').click(function() { - console.log("olenski"); - $('#del_api_description').hide(); - $('#del_api_del').show(); - saimod_sys_api_loadcontent(); - }); - $('#del_api_del').click(function() { - $.ajax({ - url: './sai.php', - data: { sai_mod: '.SYSTEM.SAI.saimod_sys_api', - action: 'deletecall', - ID: currentID}, - type: 'GET', - success: function(data) { - console.log("api call deleted"); - $('#api_deletedialog').html('

Api call deleted!

'); - $('#del_api_del').hide(); - }});});}});}); + api_menu(); $('#addcall').click(function() { - var id = $('#new_call_id').val(); - var group = $('#new_call_group').val(); - var type = $('#new_call_type').val(); - var parentid = $('#new_call_parentid').val(); - var parentvalue = $('#new_call_parentvalue').val(); - var name = $('#new_call_name').val(); - var verify = $('#new_call_verify').val(); - $.ajax({ - url: './sai.php', - data: { sai_mod: '.SYSTEM.SAI.saimod_sys_api', - action: 'addcall', - ID: id, - group: group, - type: type, - parentID: parentid, - parentValue : parentvalue, - name: name, - verify: verify}, - type: 'GET', - success: function(data) { - console.log("new api call added"); - saimod_sys_api_loadcontent(); - } - }); - + $.ajax({ url: './sai.php', + data: { sai_mod: '.SYSTEM.SAI.saimod_sys_api', + action: 'addcall', + ID: $('#new_call_id').val(), + group: $('#new_call_group').val(), + type: $('#new_call_type').val(), + parentID: $('#new_call_parentid').val(), + parentValue : $('#new_call_parentvalue').val(), + name: $('#new_call_name').val(), + verify: $('#new_call_verify').val()}, + type: 'GET', + success: function(data) { + console.log("new api call added"); + saimod_sys_api_loadcontent(); + } + }); }); - $('#del_api_close').click(function() { - console.log("olenski"); - $('#del_api_description').hide(); - $('#del_api_del').show(); - saimod_sys_api_loadcontent(); - }); - $('#localetab a').click(function (e) {e.preventDefault(); $(this).tab('show');}); } -function saimod_sys_api_tree(){ - $('.tree li:has(ul)').addClass('parent_li').find(' > span').attr('title', 'Collapse this branch'); - $('.tree li.parent_li > span').on('click', function (e) { - var children = $(this).parent('li.parent_li').find(' > ul > li'); - if (children.is(":visible")) { - children.hide('fast'); - $(this).attr('title', 'Expand this branch').find(' > i').addClass('icon-plus-sign').removeClass('icon-minus-sign'); - } else { - children.show('fast'); - $(this).attr('title', 'Collapse this branch').find(' > i').addClass('icon-minus-sign').removeClass('icon-plus-sign'); - } - e.stopPropagation(); +function api_menu(){ + $('#tabs_log li').each(function(){ + $(this).removeClass('active');}); + if($('#menu_group_'+system.cur_state().split('.')[1]).length){ + $('#menu_group_'+system.cur_state().split('.')[1]).parent().addClass('active'); + } else { + $('#menu_all').parent().addClass('active');} +} +function init_saimod_sys_api_list(){ + api_menu();} +function init_saimod_sys_api_delete(){ + $('#del_api_del').click(function() { + $.ajax({ url: './sai.php', + data: { sai_mod: '.SYSTEM.SAI.saimod_sys_api', + action: 'deletecall', + ID: $(this).attr('api_id'), + group: $(this).attr('api_group')}, + type: 'GET', + success: function(data) { + console.log("api call deleted"); + $('#api_deletedialog').html('

Api call deleted!

'); + $('#del_api_del').hide(); + } + }); }); } \ No newline at end of file diff --git a/sai/modules/saimod_sys_api/qq/SYS_SAIMOD_API_DEL.php b/sai/modules/saimod_sys_api/qq/SYS_SAIMOD_API_DEL.php index be23730..64ac997 100644 --- a/sai/modules/saimod_sys_api/qq/SYS_SAIMOD_API_DEL.php +++ b/sai/modules/saimod_sys_api/qq/SYS_SAIMOD_API_DEL.php @@ -5,7 +5,7 @@ class SYS_SAIMOD_API_DEL extends \SYSTEM\DB\QP { protected static function query(){ return new \SYSTEM\DB\QQuery(get_class(), //pg -'DELETE FROM '.\SYSTEM\DBD\system_api::NAME_PG.' WHERE `ID` = $1;', +'DELETE FROM '.\SYSTEM\DBD\system_api::NAME_PG.' WHERE `ID` = $1 AND group = $2;', //mys -'DELETE FROM '.\SYSTEM\DBD\system_api::NAME_MYS.' WHERE `ID` = ?;' +'DELETE FROM '.\SYSTEM\DBD\system_api::NAME_MYS.' WHERE `ID` = ? AND `group` = ?;' );}} diff --git a/sai/modules/saimod_sys_api/qq/SYS_SAIMOD_API_GET.php b/sai/modules/saimod_sys_api/qq/SYS_SAIMOD_API_GET.php new file mode 100644 index 0000000..f0543e0 --- /dev/null +++ b/sai/modules/saimod_sys_api/qq/SYS_SAIMOD_API_GET.php @@ -0,0 +1,11 @@ +next()){ - $vars2 = array( 'active' => ($first ? 'active' : ''), + $vars2 = array( 'active' => ($first ? '' : ''), 'tab_id' => $r['group']); $first = false; $vars['tabopts'] .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_api/tpl/tabopt.tpl'), $vars2); } - if(\SYSTEM\system::isSystemDbInfoPG()){ + /*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;'); @@ -41,17 +39,27 @@ class saimod_sys_api extends \SYSTEM\SAI\SaiModule { foreach($tabs as $tab){ $tab['active'] = ($first ? 'active' : ''); $first = false; - $vars['tabs'] .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_api/tpl/tab.tpl'), $tab);} + $vars['tabs'] .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_api/tpl/tab.tpl'), $tab);}*/ return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_api/tpl/tabs.tpl'), $vars); - -/* $result = ""; - $result .= ''.''.$r['ID'].''.''.$r['group'].''.''.$r['type'].''.''.$r['parentID'].''.''.$r['parentValue'].''.''.$r['name'].''.''.$r['verify'].''.''; - return $result;*/ } - public static function sai_mod__system_sai_saimod_sys_api_action_deletedialog($ID){ - $res = \SYSTEM\DBD\SYS_SAIMOD_API_SINGLE_SELECT::Q1(array($ID)); + public static function sai_mod__system_sai_saimod_sys_api_action_list($group=null){ + $res = \SYSTEM\DBD\SYS_SAIMOD_API_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_api/tpl/list_entry.tpl'), $r); + } + return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_api/tpl/tab.tpl'), $tab); + } + + public static function sai_mod__system_sai_saimod_sys_api_action_deletedialog($ID,$group){ + $res = \SYSTEM\DBD\SYS_SAIMOD_API_SINGLE_SELECT::Q1(array($ID,$group)); return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_api/tpl/delete_dialog.tpl'), $res); } @@ -64,10 +72,10 @@ class saimod_sys_api extends \SYSTEM\SAI\SaiModule { return \SYSTEM\LOG\JsonResult::ok(); } - public static function sai_mod__system_sai_saimod_sys_api_action_deletecall($ID){ + public static function sai_mod__system_sai_saimod_sys_api_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_API_DEL::QI(array($ID)); + \SYSTEM\DBD\SYS_SAIMOD_API_DEL::QI(array($ID,$group)); return \SYSTEM\LOG\JsonResult::ok(); } diff --git a/sai/modules/saimod_sys_api/tpl/delete_dialog.tpl b/sai/modules/saimod_sys_api/tpl/delete_dialog.tpl index 54505c1..aaee966 100644 --- a/sai/modules/saimod_sys_api/tpl/delete_dialog.tpl +++ b/sai/modules/saimod_sys_api/tpl/delete_dialog.tpl @@ -22,5 +22,5 @@ - - + + diff --git a/sai/modules/saimod_sys_api/tpl/list_entry.tpl b/sai/modules/saimod_sys_api/tpl/list_entry.tpl index b7d9845..8fa6641 100644 --- a/sai/modules/saimod_sys_api/tpl/list_entry.tpl +++ b/sai/modules/saimod_sys_api/tpl/list_entry.tpl @@ -1,4 +1,4 @@ - + ${ID} ${group} ${type} diff --git a/sai/modules/saimod_sys_api/tpl/tab.tpl b/sai/modules/saimod_sys_api/tpl/tab.tpl index 7e43161..ecdbde4 100644 --- a/sai/modules/saimod_sys_api/tpl/tab.tpl +++ b/sai/modules/saimod_sys_api/tpl/tab.tpl @@ -1,14 +1,12 @@ -
- - - - - - - - - - - ${content} -
IDGroupTypeParentIDParentValueNameVerify
-
\ No newline at end of file + + + + + + + + + + + ${content} +
IDGroupTypeParentIDParentValueNameVerify
\ No newline at end of file diff --git a/sai/modules/saimod_sys_api/tpl/tabopt.tpl b/sai/modules/saimod_sys_api/tpl/tabopt.tpl index cf223b0..1315e72 100644 --- a/sai/modules/saimod_sys_api/tpl/tabopt.tpl +++ b/sai/modules/saimod_sys_api/tpl/tabopt.tpl @@ -1 +1 @@ -
  • Group ${tab_id}
  • \ No newline at end of file +
  • Group ${tab_id}
  • \ No newline at end of file diff --git a/sai/modules/saimod_sys_api/tpl/tabs.tpl b/sai/modules/saimod_sys_api/tpl/tabs.tpl index aa9102c..b21b49d 100644 --- a/sai/modules/saimod_sys_api/tpl/tabs.tpl +++ b/sai/modules/saimod_sys_api/tpl/tabs.tpl @@ -1,16 +1,15 @@ -
    -

    System API

    -
    -
    -
    - -
    - ${tabs} +

    System API

    +
    +
    + +
    +
    +
    -
    - +
    @@ -28,9 +27,6 @@ - - +
    ID Group
    - -
    -
    + \ No newline at end of file