From 9a9e5e8b8b34a0a1cb661668973c196c377b0563 Mon Sep 17 00:00:00 2001 From: rylon Date: Thu, 16 Apr 2015 15:55:44 +0200 Subject: [PATCH] saimod text working (including save and delete), jsonresult fail --- dbd/qq/SYS_TEXT_DELETE.php | 11 ++++++ dbd/qq/SYS_TEXT_DELETE_TAGS.php | 11 ++++++ dbd/qq/SYS_TEXT_GET_ID_COUNT.php | 12 ++++++ dbd/qq/SYS_TEXT_RENAME.php | 11 ++++++ dbd/qq/SYS_TEXT_RENAME_TAGS.php | 11 ++++++ dbd/qq/SYS_TEXT_SAVE.php | 13 +++++++ dbd/qq/SYS_TEXT_SAVE_TAG.php | 12 ++++++ .../data/{sai_api.sql => system_sai_api.sql} | 26 +++++-------- log/result/JsonResult.php | 2 + page/text.php | 24 ++++++++++++ .../saimod_sys_text/js/saimod_sys_text.js | 38 +++++++++++++++++++ .../saimod_sys_text/saimod_sys_text.php | 14 +++---- .../tpl/saimod_sys_text_edit_editor.tpl | 8 ++-- 13 files changed, 165 insertions(+), 28 deletions(-) create mode 100644 dbd/qq/SYS_TEXT_DELETE.php create mode 100644 dbd/qq/SYS_TEXT_DELETE_TAGS.php create mode 100644 dbd/qq/SYS_TEXT_GET_ID_COUNT.php create mode 100644 dbd/qq/SYS_TEXT_RENAME.php create mode 100644 dbd/qq/SYS_TEXT_RENAME_TAGS.php create mode 100644 dbd/qq/SYS_TEXT_SAVE.php create mode 100644 dbd/qq/SYS_TEXT_SAVE_TAG.php rename dbd/sql/mysql/data/{sai_api.sql => system_sai_api.sql} (94%) diff --git a/dbd/qq/SYS_TEXT_DELETE.php b/dbd/qq/SYS_TEXT_DELETE.php new file mode 100644 index 0000000..74c962e --- /dev/null +++ b/dbd/qq/SYS_TEXT_DELETE.php @@ -0,0 +1,11 @@ + text) @@ -41,4 +42,27 @@ class text { return self::get($id, \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_DEFAULT_LANG));} return $res ? $res['text'] : ''; } + + public static function save($id, $new_id, $lang, $tags, $text){ + if($new_id == self::NEW_ENTRY){ + return false;} + //Insert + if(!\SYSTEM\DBD\SYS_TEXT_SAVE::QI(array($id,$lang,$text, \SYSTEM\SECURITY\Security::getUser()->id,\SYSTEM\SECURITY\Security::getUser()->id))){ + return false;} + //Insert tags + foreach($tags as $tag){ + if($tag){\SYSTEM\DBD\SYS_TEXT_SAVE_TAG::QI(array($id,$tag));}} + //Rename + \SYSTEM\DBD\SYS_TEXT_RENAME::QI(array($new_id,$id)); + \SYSTEM\DBD\SYS_TEXT_RENAME_TAGS::QI(array($new_id,$id)); + return true; + } + + public static function delete($id, $lang = null){ + if(!\SYSTEM\DBD\SYS_TEXT_DELETE::QI(array($id,$lang))){ + return false;} + if(\SYSTEM\DBD\SYS_TEXT_GET_ID_COUNT::Q1(array($id))['count'] == 0){ + \SYSTEM\DBD\SYS_TEXT_DELETE_TAGS::QI(array($id));} + return true; + } } \ No newline at end of file diff --git a/sai/modules/saimod_sys_text/js/saimod_sys_text.js b/sai/modules/saimod_sys_text/js/saimod_sys_text.js index ac88dd1..44a62eb 100644 --- a/sai/modules/saimod_sys_text/js/saimod_sys_text.js +++ b/sai/modules/saimod_sys_text/js/saimod_sys_text.js @@ -34,6 +34,44 @@ function init_saimod_sys_text_editor(){ text_menu(); text2_menu(); init_tinymce(); + + $('#btn_save').click(function(){ + $.ajax({ type :'GET', + url : './sai.php', + data : { sai_mod: '.SYSTEM.SAI.saimod_sys_text', + action: 'save', + id: $(this).attr('text_id'), + new_id: $('#input_new_id').val(), + lang: $(this).attr('text_lang'), + tags: JSON.stringify($('#input_tags').val().split(',').map(function(s) { return s.trim() })), + text: encodeURIComponent(tinyMCE.activeEditor.getContent({format : 'raw'}))}, + success : function(data) { + if(data.status){ + alert('success'); + system.reload(); + }else{ + alert('Problem: '+data);} + } + }); + }); + + $('#btn_delete').click(function(){ + //Ask if delete all langs of this tag - 3 button dialog required + $.ajax({ type :'GET', + url : './sai.php', + data : { sai_mod: '.SYSTEM.SAI.saimod_sys_text', + action: 'delete', + id: $(this).attr('text_id'), + lang: $(this).attr('text_lang')}, + success : function(data) { + if(data.status){ + alert('success'); + system.reload(); + }else{ + alert('Problem: '+data);} + } + }); + }); }; function init_tinymce(){ diff --git a/sai/modules/saimod_sys_text/saimod_sys_text.php b/sai/modules/saimod_sys_text/saimod_sys_text.php index 4a1d448..971d79b 100644 --- a/sai/modules/saimod_sys_text/saimod_sys_text.php +++ b/sai/modules/saimod_sys_text/saimod_sys_text.php @@ -1,12 +1,11 @@ next()){ $vars['tabopts'] .= \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_text/tpl/tabopt.tpl'), $r);} @@ -26,7 +25,7 @@ class saimod_sys_text extends \SYSTEM\SAI\SaiModule { return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_text/tpl/saimod_sys_text_list.tpl'), array('entries' => $entries)); } - public static function sai_mod__SYSTEM_SAI_saimod_sys_text_action_edittext($id, $lang){ + public static function sai_mod__SYSTEM_SAI_saimod_sys_text_action_edittext($lang,$id){ $langs = \SYSTEM\CONFIG\config::get(\SYSTEM\CONFIG\config_ids::SYS_CONFIG_LANGS); $vars = array(); $vars['tabopts'] = ''; @@ -53,12 +52,11 @@ class saimod_sys_text extends \SYSTEM\SAI\SaiModule { return \SYSTEM\PAGE\replace::replaceFile(\SYSTEM\SERVERPATH(new \SYSTEM\PSAI(),'modules/saimod_sys_text/tpl/saimod_sys_text_edit_editor.tpl'), $vars); } - //Dont save to id self::NEW_ENTRY - /*public static function sai_mod__SYSTEM_SAI_saimod_sys_text_action_save($id, $new_id, $lang, $tags){ - return \SYSTEM\DBD\SYS_SAIMOD_LOCALE_ADD::QI(array($id, $category)) ? \SYSTEM\LOG\JsonResult::ok() : \SYSTEM\LOG\JsonResult::error(new \SYSTEM\LOG\WARNING("no data added"));}*/ + public static function sai_mod__SYSTEM_SAI_saimod_sys_text_action_save($id, $new_id, $lang, $tags, $text){ + return \SYSTEM\PAGE\text::save($id, $new_id, $lang, \json_decode($tags), urldecode($text)) ? \SYSTEM\LOG\JsonResult::ok() : \SYSTEM\LOG\JsonResult::fail();} - /*public static function sai_mod__SYSTEM_SAI_saimod_sys_text_action_delete($id, $lang = null){ - return \SYSTEM\DBD\SYS_SAIMOD_LOCALE_DEL::QI(array($id)) ? \SYSTEM\LOG\JsonResult::ok() : \SYSTEM\LOG\JsonResult::error(new \SYSTEM\LOG\WARNING("could not delete the permitted data"));}*/ + public static function sai_mod__SYSTEM_SAI_saimod_sys_text_action_delete($id, $lang = null){ + return \SYSTEM\PAGE\text::delete($id, $lang) ? \SYSTEM\LOG\JsonResult::ok() : \SYSTEM\LOG\JsonResult::fail();} public static function html_li_menu(){return '
  • Text
  • ';} public static function right_public(){return false;} diff --git a/sai/modules/saimod_sys_text/tpl/saimod_sys_text_edit_editor.tpl b/sai/modules/saimod_sys_text/tpl/saimod_sys_text_edit_editor.tpl index 1be5f57..9dbe42f 100644 --- a/sai/modules/saimod_sys_text/tpl/saimod_sys_text_edit_editor.tpl +++ b/sai/modules/saimod_sys_text/tpl/saimod_sys_text_edit_editor.tpl @@ -1,8 +1,8 @@ -Text ID: +Text ID:
    - +
    - - \ No newline at end of file + + \ No newline at end of file