From 84d7aa9cd49b630673d243738d154f37e8f252a4 Mon Sep 17 00:00:00 2001 From: "kilian (ksmachome)" Date: Tue, 11 Feb 2020 16:20:25 +0100 Subject: [PATCH] v20200210 --- .gitignore | 1 + CGI/api/db.cgi | 12 +- CGI/api/lib/dksdb.pm | 82 +- CGI/api/lib/sendemail.pm | 4 +- CGI/api/parsestatement.cgi | 2 +- CGI/api/playlist.cgi | 4 +- CGI/api/report.cgi | 1 - CGI/tmpl/app/invoicejournal/index.tt | 31 +- .../module/invoicejournal/index.tt | 48 +- .../module/invoicejournal/invoice.js | 132 +- CGI/tmpl/macro/fields.tt | 2 +- CGI/tmpl/skeleton/module.tt | 2 +- .../templates/invoices/dks-deutsch.tt | 6 +- desktopapp/main.js | 84 + desktopapp/package-lock.json | 718 +++++ desktopapp/package.json | 14 + desktopapp/renderer.js | 79 + htdocs/css/w3pro.css | 24 +- htdocs/js/admin.js | 2 +- htdocs/js/formsave.js | 1 + htdocs/vendor/choices/choices.css | 16 +- .../css/bootstrap/tabulator_bootstrap.css | 842 ------ .../css/bootstrap/tabulator_bootstrap.min.css | 3 - .../bootstrap/tabulator_bootstrap.min.css.map | 1 - .../css/bootstrap/tabulator_bootstrap4.css | 1045 ------- .../bootstrap/tabulator_bootstrap4.min.css | 3 - .../tabulator_bootstrap4.min.css.map | 1 - .../tabulator/css/bulma/tabulator_bulma.css | 847 ------ .../css/bulma/tabulator_bulma.min.css | 3 - .../css/bulma/tabulator_bulma.min.css.map | 1 - .../css/semantic-ui/tabulator_semantic-ui.css | 1322 --------- .../semantic-ui/tabulator_semantic-ui.min.css | 3 - .../tabulator_semantic-ui.min.css.map | 1 - htdocs/vendor/tabulator/css/tabulator.css | 22 +- htdocs/vendor/tabulator/css/tabulator.min.css | 4 +- .../tabulator/css/tabulator.min.css.map | 2 +- .../tabulator/css/tabulator_midnight.css | 10 +- .../tabulator/css/tabulator_midnight.min.css | 4 +- .../css/tabulator_midnight.min.css.map | 2 +- .../vendor/tabulator/css/tabulator_modern.css | 10 +- .../tabulator/css/tabulator_modern.min.css | 4 +- .../css/tabulator_modern.min.css.map | 2 +- .../vendor/tabulator/css/tabulator_simple.css | 10 +- .../tabulator/css/tabulator_simple.min.css | 4 +- .../css/tabulator_simple.min.css.map | 2 +- .../vendor/tabulator/css/tabulator_site.css | 10 +- .../tabulator/css/tabulator_site.min.css | 4 +- .../tabulator/css/tabulator_site.min.css.map | 2 +- htdocs/vendor/tabulator/js/jquery_wrapper.js | 46 - .../vendor/tabulator/js/jquery_wrapper.min.js | 2 - .../vendor/tabulator/js/modules/accessor.js | 2 +- .../tabulator/js/modules/accessor.min.js | 2 +- htdocs/vendor/tabulator/js/modules/ajax.js | 5 +- .../vendor/tabulator/js/modules/ajax.min.js | 4 +- .../js/modules/calculation_colums.js | 5 +- .../js/modules/calculation_colums.min.js | 4 +- .../vendor/tabulator/js/modules/clipboard.js | 69 +- .../tabulator/js/modules/clipboard.min.js | 4 +- .../vendor/tabulator/js/modules/data_tree.js | 8 +- .../tabulator/js/modules/data_tree.min.js | 4 +- .../vendor/tabulator/js/modules/download.js | 62 +- .../tabulator/js/modules/download.min.js | 4 +- htdocs/vendor/tabulator/js/modules/edit.js | 156 +- .../vendor/tabulator/js/modules/edit.min.js | 4 +- htdocs/vendor/tabulator/js/modules/filter.js | 47 +- .../vendor/tabulator/js/modules/filter.min.js | 4 +- htdocs/vendor/tabulator/js/modules/format.js | 145 +- .../vendor/tabulator/js/modules/format.min.js | 4 +- .../tabulator/js/modules/frozen_columns.js | 2 +- .../js/modules/frozen_columns.min.js | 2 +- .../tabulator/js/modules/frozen_rows.js | 2 +- .../tabulator/js/modules/frozen_rows.min.js | 2 +- .../vendor/tabulator/js/modules/group_rows.js | 30 +- .../tabulator/js/modules/group_rows.min.js | 4 +- htdocs/vendor/tabulator/js/modules/history.js | 10 +- .../tabulator/js/modules/history.min.js | 4 +- .../tabulator/js/modules/html_table_export.js | 16 +- .../js/modules/html_table_export.min.js | 4 +- .../tabulator/js/modules/html_table_import.js | 2 +- .../js/modules/html_table_import.min.js | 2 +- .../tabulator/js/modules/keybindings.js | 10 +- .../tabulator/js/modules/keybindings.min.js | 4 +- .../tabulator/js/modules/moveable_columns.js | 2 +- .../js/modules/moveable_columns.min.js | 2 +- .../tabulator/js/modules/moveable_rows.js | 2 +- .../tabulator/js/modules/moveable_rows.min.js | 2 +- htdocs/vendor/tabulator/js/modules/mutator.js | 17 +- .../tabulator/js/modules/mutator.min.js | 4 +- htdocs/vendor/tabulator/js/modules/page.js | 14 +- .../vendor/tabulator/js/modules/page.min.js | 4 +- .../tabulator/js/modules/persistence.js | 324 ++- .../tabulator/js/modules/persistence.min.js | 4 +- htdocs/vendor/tabulator/js/modules/print.js | 2 +- .../vendor/tabulator/js/modules/print.min.js | 2 +- .../tabulator/js/modules/reactive_data.js | 2 +- .../tabulator/js/modules/reactive_data.min.js | 2 +- .../tabulator/js/modules/resize_columns.js | 6 +- .../js/modules/resize_columns.min.js | 4 +- .../tabulator/js/modules/resize_rows.js | 6 +- .../tabulator/js/modules/resize_rows.min.js | 4 +- .../tabulator/js/modules/resize_table.js | 10 +- .../tabulator/js/modules/resize_table.min.js | 4 +- .../tabulator/js/modules/responsive_layout.js | 64 +- .../js/modules/responsive_layout.min.js | 4 +- .../vendor/tabulator/js/modules/select_row.js | 46 +- .../tabulator/js/modules/select_row.min.js | 4 +- htdocs/vendor/tabulator/js/modules/sort.js | 6 +- .../vendor/tabulator/js/modules/sort.min.js | 4 +- .../vendor/tabulator/js/modules/validate.js | 15 +- .../tabulator/js/modules/validate.min.js | 4 +- htdocs/vendor/tabulator/js/tabulator.js | 2570 ++++++++++++----- htdocs/vendor/tabulator/js/tabulator.min.js | 22 +- htdocs/vendor/tabulator/js/tabulator_core.js | 1161 +++++--- .../vendor/tabulator/js/tabulator_core.min.js | 11 +- htdocs/vendor/tinymce.old/LICENSE.TXT | 504 ---- htdocs/vendor/tinymce.old/changelog.txt | 951 ------ .../js/tinymce/jquery.tinymce.min.js | 1 - .../vendor/tinymce.old/js/tinymce/langs/de.js | 260 -- .../tinymce.old/js/tinymce/langs/fr_FR.js | 261 -- .../tinymce.old/js/tinymce/langs/readme.md | 3 - .../vendor/tinymce.old/js/tinymce/license.txt | 504 ---- .../js/tinymce/plugins/advlist/plugin.min.js | 1 - .../js/tinymce/plugins/anchor/plugin.min.js | 1 - .../js/tinymce/plugins/autolink/plugin.min.js | 1 - .../tinymce/plugins/autoresize/plugin.min.js | 1 - .../js/tinymce/plugins/autosave/plugin.min.js | 1 - .../js/tinymce/plugins/bbcode/plugin.min.js | 1 - .../js/tinymce/plugins/charmap/plugin.min.js | 1 - .../js/tinymce/plugins/code/plugin.min.js | 1 - .../tinymce/plugins/codesample/css/prism.css | 138 - .../tinymce/plugins/codesample/plugin.min.js | 1 - .../tinymce/plugins/colorpicker/plugin.min.js | 1 - .../tinymce/plugins/contextmenu/plugin.min.js | 1 - .../plugins/directionality/plugin.min.js | 1 - .../plugins/emoticons/img/smiley-cool.gif | Bin 354 -> 0 bytes .../plugins/emoticons/img/smiley-cry.gif | Bin 329 -> 0 bytes .../emoticons/img/smiley-embarassed.gif | Bin 331 -> 0 bytes .../emoticons/img/smiley-foot-in-mouth.gif | Bin 342 -> 0 bytes .../plugins/emoticons/img/smiley-frown.gif | Bin 340 -> 0 bytes .../plugins/emoticons/img/smiley-innocent.gif | Bin 336 -> 0 bytes .../plugins/emoticons/img/smiley-kiss.gif | Bin 338 -> 0 bytes .../plugins/emoticons/img/smiley-laughing.gif | Bin 343 -> 0 bytes .../emoticons/img/smiley-money-mouth.gif | Bin 321 -> 0 bytes .../plugins/emoticons/img/smiley-sealed.gif | Bin 323 -> 0 bytes .../plugins/emoticons/img/smiley-smile.gif | Bin 344 -> 0 bytes .../emoticons/img/smiley-surprised.gif | Bin 338 -> 0 bytes .../emoticons/img/smiley-tongue-out.gif | Bin 328 -> 0 bytes .../emoticons/img/smiley-undecided.gif | Bin 337 -> 0 bytes .../plugins/emoticons/img/smiley-wink.gif | Bin 350 -> 0 bytes .../plugins/emoticons/img/smiley-yell.gif | Bin 336 -> 0 bytes .../tinymce/plugins/emoticons/plugin.min.js | 1 - .../js/tinymce/plugins/fullpage/plugin.min.js | 1 - .../tinymce/plugins/fullscreen/plugin.min.js | 1 - .../js/tinymce/plugins/help/img/logo.png | Bin 13208 -> 0 bytes .../js/tinymce/plugins/help/plugin.min.js | 1 - .../js/tinymce/plugins/hr/plugin.min.js | 1 - .../js/tinymce/plugins/image/plugin.min.js | 1 - .../tinymce/plugins/imagetools/plugin.min.js | 1 - .../tinymce/plugins/importcss/plugin.min.js | 1 - .../plugins/insertdatetime/plugin.min.js | 1 - .../plugins/legacyoutput/plugin.min.js | 1 - .../js/tinymce/plugins/link/plugin.min.js | 1 - .../js/tinymce/plugins/lists/plugin.min.js | 1 - .../js/tinymce/plugins/media/plugin.min.js | 1 - .../tinymce/plugins/nonbreaking/plugin.min.js | 1 - .../tinymce/plugins/noneditable/plugin.min.js | 1 - .../tinymce/plugins/pagebreak/plugin.min.js | 1 - .../js/tinymce/plugins/paste/plugin.min.js | 1 - .../js/tinymce/plugins/preview/plugin.min.js | 1 - .../js/tinymce/plugins/print/plugin.min.js | 1 - .../js/tinymce/plugins/save/plugin.min.js | 1 - .../plugins/searchreplace/plugin.min.js | 1 - .../plugins/spellchecker/plugin.min.js | 1 - .../js/tinymce/plugins/tabfocus/plugin.min.js | 1 - .../js/tinymce/plugins/table/plugin.min.js | 1 - .../js/tinymce/plugins/template/plugin.min.js | 1 - .../tinymce/plugins/textcolor/plugin.min.js | 1 - .../tinymce/plugins/textpattern/plugin.min.js | 1 - .../js/tinymce/plugins/toc/plugin.min.js | 1 - .../plugins/visualblocks/css/visualblocks.css | 154 - .../plugins/visualblocks/plugin.min.js | 1 - .../tinymce/plugins/visualchars/plugin.min.js | 1 - .../tinymce/plugins/wordcount/plugin.min.js | 1 - .../skins/lightgray/content.inline.min.css | 1 - .../tinymce/skins/lightgray/content.min.css | 1 - .../skins/lightgray/content.mobile.min.css | 1 - .../skins/lightgray/fonts/tinymce-mobile.woff | Bin 4624 -> 0 bytes .../skins/lightgray/fonts/tinymce-small.eot | Bin 9492 -> 0 bytes .../skins/lightgray/fonts/tinymce-small.svg | 63 - .../skins/lightgray/fonts/tinymce-small.ttf | Bin 9304 -> 0 bytes .../skins/lightgray/fonts/tinymce-small.woff | Bin 9380 -> 0 bytes .../tinymce/skins/lightgray/fonts/tinymce.eot | Bin 18808 -> 0 bytes .../tinymce/skins/lightgray/fonts/tinymce.svg | 131 - .../tinymce/skins/lightgray/fonts/tinymce.ttf | Bin 18644 -> 0 bytes .../skins/lightgray/fonts/tinymce.woff | Bin 18720 -> 0 bytes .../js/tinymce/skins/lightgray/img/anchor.gif | Bin 53 -> 0 bytes .../js/tinymce/skins/lightgray/img/loader.gif | Bin 2608 -> 0 bytes .../js/tinymce/skins/lightgray/img/object.gif | Bin 152 -> 0 bytes .../js/tinymce/skins/lightgray/img/trans.gif | Bin 43 -> 0 bytes .../js/tinymce/skins/lightgray/skin.min.css | 1 - .../skins/lightgray/skin.mobile.min.css | 2 - .../js/tinymce/themes/inlite/theme.min.js | 1 - .../js/tinymce/themes/mobile/theme.min.js | 1 - .../js/tinymce/themes/modern/theme.min.js | 1 - .../tinymce.old/js/tinymce/tinymce.min.js | 2 - 205 files changed, 4627 insertions(+), 8829 deletions(-) create mode 100644 desktopapp/main.js create mode 100644 desktopapp/package-lock.json create mode 100644 desktopapp/package.json create mode 100644 desktopapp/renderer.js delete mode 100644 htdocs/vendor/tabulator/css/bootstrap/tabulator_bootstrap.css delete mode 100644 htdocs/vendor/tabulator/css/bootstrap/tabulator_bootstrap.min.css delete mode 100644 htdocs/vendor/tabulator/css/bootstrap/tabulator_bootstrap.min.css.map delete mode 100644 htdocs/vendor/tabulator/css/bootstrap/tabulator_bootstrap4.css delete mode 100644 htdocs/vendor/tabulator/css/bootstrap/tabulator_bootstrap4.min.css delete mode 100644 htdocs/vendor/tabulator/css/bootstrap/tabulator_bootstrap4.min.css.map delete mode 100644 htdocs/vendor/tabulator/css/bulma/tabulator_bulma.css delete mode 100644 htdocs/vendor/tabulator/css/bulma/tabulator_bulma.min.css delete mode 100644 htdocs/vendor/tabulator/css/bulma/tabulator_bulma.min.css.map delete mode 100644 htdocs/vendor/tabulator/css/semantic-ui/tabulator_semantic-ui.css delete mode 100644 htdocs/vendor/tabulator/css/semantic-ui/tabulator_semantic-ui.min.css delete mode 100644 htdocs/vendor/tabulator/css/semantic-ui/tabulator_semantic-ui.min.css.map delete mode 100644 htdocs/vendor/tabulator/js/jquery_wrapper.js delete mode 100644 htdocs/vendor/tabulator/js/jquery_wrapper.min.js delete mode 100644 htdocs/vendor/tinymce.old/LICENSE.TXT delete mode 100644 htdocs/vendor/tinymce.old/changelog.txt delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/jquery.tinymce.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/langs/de.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/langs/fr_FR.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/langs/readme.md delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/license.txt delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/advlist/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/anchor/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/autolink/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/autoresize/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/autosave/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/bbcode/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/charmap/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/code/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/codesample/css/prism.css delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/codesample/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/colorpicker/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/contextmenu/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/directionality/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/emoticons/img/smiley-cool.gif delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/emoticons/img/smiley-cry.gif delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/emoticons/img/smiley-embarassed.gif delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/emoticons/img/smiley-foot-in-mouth.gif delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/emoticons/img/smiley-frown.gif delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/emoticons/img/smiley-innocent.gif delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/emoticons/img/smiley-kiss.gif delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/emoticons/img/smiley-laughing.gif delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/emoticons/img/smiley-money-mouth.gif delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/emoticons/img/smiley-sealed.gif delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/emoticons/img/smiley-smile.gif delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/emoticons/img/smiley-surprised.gif delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/emoticons/img/smiley-tongue-out.gif delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/emoticons/img/smiley-undecided.gif delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/emoticons/img/smiley-wink.gif delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/emoticons/img/smiley-yell.gif delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/emoticons/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/fullpage/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/fullscreen/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/help/img/logo.png delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/help/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/hr/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/image/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/imagetools/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/importcss/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/insertdatetime/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/legacyoutput/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/link/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/lists/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/media/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/nonbreaking/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/noneditable/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/pagebreak/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/paste/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/preview/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/print/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/save/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/searchreplace/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/spellchecker/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/tabfocus/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/table/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/template/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/textcolor/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/textpattern/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/toc/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/visualblocks/css/visualblocks.css delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/visualblocks/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/visualchars/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/plugins/wordcount/plugin.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/skins/lightgray/content.inline.min.css delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/skins/lightgray/content.min.css delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/skins/lightgray/content.mobile.min.css delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/skins/lightgray/fonts/tinymce-mobile.woff delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/skins/lightgray/fonts/tinymce-small.eot delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/skins/lightgray/fonts/tinymce-small.svg delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/skins/lightgray/fonts/tinymce-small.ttf delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/skins/lightgray/fonts/tinymce-small.woff delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/skins/lightgray/fonts/tinymce.eot delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/skins/lightgray/fonts/tinymce.svg delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/skins/lightgray/fonts/tinymce.ttf delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/skins/lightgray/fonts/tinymce.woff delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/skins/lightgray/img/anchor.gif delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/skins/lightgray/img/loader.gif delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/skins/lightgray/img/object.gif delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/skins/lightgray/img/trans.gif delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/skins/lightgray/skin.min.css delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/skins/lightgray/skin.mobile.min.css delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/themes/inlite/theme.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/themes/mobile/theme.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/themes/modern/theme.min.js delete mode 100644 htdocs/vendor/tinymce.old/js/tinymce/tinymce.min.js diff --git a/.gitignore b/.gitignore index d7aaf69..2cb9b7e 100644 --- a/.gitignore +++ b/.gitignore @@ -13,4 +13,5 @@ data/invoicejournal/tmp/* data/rpinas/* data/invoicejournal/output/* data/invoicejournal/templates/tmp/* +desktopapp/node_modules/* diff --git a/CGI/api/db.cgi b/CGI/api/db.cgi index 40afbb8..6b0aa96 100755 --- a/CGI/api/db.cgi +++ b/CGI/api/db.cgi @@ -60,7 +60,7 @@ if (($cgi->request_method() eq "GET") || ($cgi->request_method() eq "POST")){ $sql .= " WHERE ".$p->{filter}.";"; } $html->{result}->{view} = $p->{get}; - $html->{result}->{sqldata} = $db->query($sql); + $html->{result}->{sqldata} = $db->queryarray($sql); } elsif (exists($p->{set})){ my $type = "ins"; @@ -87,14 +87,20 @@ if (($cgi->request_method() eq "GET") || ($cgi->request_method() eq "POST")){ if ($type eq "ins"){ @sql = $db->create_ddl_insert($x); + }else { @sql = $db->create_ddl_update($x); } if (scalar(@sql) > 0 ){ + my $rid = $db->exec($sql[0]); - if (keys(%{$rid}) > 0 ){ + if ($type eq "ins" && exists($p->{return})){ + my $rid = $db->query('select seq as id from sqlite_sequence where name="'.$p->{return}.'";'); + $html->{result} = $rid; + } else { $html->{result} = $rid->{0}; } + } } elsif (exists($p->{del})){ @@ -116,7 +122,7 @@ if (($cgi->request_method() eq "GET") || ($cgi->request_method() eq "POST")){ $html->{result} = $db->querybykey($p->{key},$p->{sql}); } else { - $html->{result} = $db->query($p->{sql}); + $html->{result} = $db->queryarray($p->{sql}); } } elsif (exists($p->{exec})){ diff --git a/CGI/api/lib/dksdb.pm b/CGI/api/lib/dksdb.pm index 3e48626..b39988f 100644 --- a/CGI/api/lib/dksdb.pm +++ b/CGI/api/lib/dksdb.pm @@ -51,21 +51,15 @@ sub query(){ # print FILE "$stat\n"; # close FILE; my $sth = $dbh->prepare($stat) or return ("ERROR: query: ".$dbh->errstr. "- SQL: ".$stat); - $sth->execute() or return ("query: ".$sth->errstr);; - while(my $data = $sth->fetchrow_hashref()) - { - my $row = (); - foreach my $k (keys %{$data}){ - $row->{$k} = decode("utf-8",$data->{$k}); - } - push @retdata,$row; + $sth->execute() or return ("query: ".$sth->errstr);; + my $data = $sth->fetchrow_hashref(); + my $row = (); + foreach my $k (keys %{$data}){ + $row->{$k} = decode("utf-8",$data->{$k}); } - - - $sth->finish(); - $dbh->disconnect(); - - return \@retdata; + $sth->finish(); + $dbh->disconnect(); + return $row; } sub querybykey(){ @@ -147,43 +141,43 @@ sub exec(){ my $retdata; my $dbh = DBI->connect(((exists($self->{dsn}))?$self->{dsn}:$sitecfg->{dsn}),((exists($self->{dbuser}))?$self->{dbuser}:$sitecfg->{dbuser}),((exists($self->{dbpassword}))?$self->{pbpassword}:$sitecfg->{dbpassword}),{PrintError=>0,RaiseError=>0,AutoCommit=>1}) or return $retdata->{error} = "exec Connection Error!".$!; # $stat = decode("UTF-8", $stat); - open FILE,">>tmp/sql.log"; - print FILE "\n==\n$stat\n==\n"; - close FILE; - my $sth = $dbh->prepare($stat) or return $retdata->{error} = "exec ".$dbh->errstr. "- SQL: ".$stat; - $retdata->{success} = $dbh->do($stat) or return $retdata->{error} = "dbexec ".$dbh->errstr. "- SQL: ".$stat; + # open FILE,">>tmp/sql.log"; + # print FILE "\n==\n$stat\n==\n"; + # close FILE; + my $sth = $dbh->prepare($stat) or return $retdata->{error} = "queryarray ".$dbh->errstr. "- SQL: ".$stat; + $retdata->{success} = $dbh->do($stat) or return $retdata->{error} = "queryarray ".$dbh->errstr. "- SQL: ".$stat; $dbh->disconnect(); return $retdata; } -# sub dbqueryarray(){ -# my $self = shift; -# my $stat = shift; -# my @retdata = (); -# my $dbh = DBI->connect(((exists($self->{dsn}))?$self->{dsn}:$sitecfg->{dsn}),$sitecfg->{dbuser},$sitecfg->{dbpassword},{PrintError=>0,RaiseError=>0,AutoCommit=>1}) or return ({"error" => "dbqueryarray Connection Error!".$!}); -# #$stat = encode("utf8", $stat); -# #open FILE,">>/tmp/sql.log"; -# #print "$stat\n"; -# # close FILE; -# my $sth = $dbh->prepare($stat); +sub queryarray(){ + my $self = shift; + my $stat = shift; + my @retdata = (); + my $dbh = DBI->connect(((exists($self->{dsn}))?$self->{dsn}:$sitecfg->{dsn}),((exists($self->{dbuser}))?$self->{dbuser}:$sitecfg->{dbuser}),((exists($self->{dbpassword}))?$self->{pbpassword}:$sitecfg->{dbpassword}),{PrintError=>0,RaiseError=>0,AutoCommit=>1}) or return ("exec Connection Error!".$!); + #$stat = encode("utf8", $stat); + #open FILE,">>/tmp/sql.log"; + #print "$stat\n"; + # close FILE; + my $sth = $dbh->prepare($stat); -# $sth->execute() or print "dbqueryarray: ".$sth->errstr; -# my $count = 0; + $sth->execute() or print "queryarray: ".$sth->errstr; + my $count = 0; -# while(my $data = $sth->fetchrow_hashref()) -# { -# my $row = (); -# foreach my $k (keys %{$data}){ -# $row->{$k} = decode("utf-8",$data->{$k}); -# } -# push @retdata,$row; -# } + while(my $data = $sth->fetchrow_hashref()) + { + my $row = (); + foreach my $k (keys %{$data}){ + $row->{$k} = decode("utf-8",$data->{$k}); + } + push @retdata,$row; + } -# $sth->finish(); -# $dbh->disconnect(); -# #%retdata = sort {$a <=> $b} keys %retdata; -# return \@retdata; -# } + $sth->finish(); + $dbh->disconnect(); + #%retdata = sort {$a <=> $b} keys %retdata; + return \@retdata; +} sub create_ddl_insert(){ diff --git a/CGI/api/lib/sendemail.pm b/CGI/api/lib/sendemail.pm index 58ed8fb..953d382 100644 --- a/CGI/api/lib/sendemail.pm +++ b/CGI/api/lib/sendemail.pm @@ -31,7 +31,7 @@ sub sendemail(){ my $maildata = (); my $db = dksdb->new(); my $send = -1; - my $tmpl = $db->query("select *,ml.mailtemplate from mailtemplates mt join maillayouts ml on (mt.id_maillayout=ml.id) where templatename='".$template."';"); + my $tmpl = $db->queryarray("select *,ml.mailtemplate from mailtemplates mt join maillayouts ml on (mt.id_maillayout=ml.id) where templatename='".$template."';"); if (keys(%{$tmpl}) > 0){ $tmpl = $tmpl->{0}; } @@ -49,7 +49,7 @@ sub sendemail(){ # open (LOG,">>tmp/sendmail.log"); # print LOG "TEMPLATE DATA:".$datasql."\n"; # close(LOG); - $maildata = $db->query($datasql); + $maildata = $db->queryarray($datasql); $body = $tmpl->{'emailtext'}; $subject = $tmpl->{'mailsubject'}; diff --git a/CGI/api/parsestatement.cgi b/CGI/api/parsestatement.cgi index 7ba5728..0ef17b9 100755 --- a/CGI/api/parsestatement.cgi +++ b/CGI/api/parsestatement.cgi @@ -49,7 +49,7 @@ if (exists($p->{file}) && -f $docpath.'/'.$p->{file}){ my $updates = 0; my $inserts = 0; foreach my $i (keys(%{$sdata})){ - my @tr = $db->query("select id from banktransactions where transactionident='".$sdata->{$i}->{transactionident}."';"); + my @tr = $db->queryarray("select id from banktransactions where transactionident='".$sdata->{$i}->{transactionident}."';"); my $tid=0; if (scalar(@tr) > 1){ $tid = int($tr[0]->{id}); diff --git a/CGI/api/playlist.cgi b/CGI/api/playlist.cgi index d65dc7a..fdb8dc6 100755 --- a/CGI/api/playlist.cgi +++ b/CGI/api/playlist.cgi @@ -40,7 +40,7 @@ if (exists($p->{app}) && exists($p->{db}) && exists($p->{fn}) ) { } $html->{conn} = $dbredirect; my $db = dksdb->new($dbredirect); - my $stres = $db->query("select id,name,spotrotation from stations where id='".$p->{id_station}."';"); + my $stres = $db->queryarray("select id,name,spotrotation from stations where id='".$p->{id_station}."';"); my $station = @$stres[0]; $html->{station} = $station; my $savetopath = $cfg->{plpath}.'/'.$station->{name}; @@ -54,7 +54,7 @@ if (exists($p->{app}) && exists($p->{db}) && exists($p->{fn}) ) { chomp($f); if (($f =~ /\.m3u$/) && ($f ge $p->{datefrom}.'.m3u') && ($f le $p->{dateto}.'.m3u')){ my $cdate = substr($f,0,-4); - my $spt = $db->query("select sp.id,sp.folder || '/' || sp.file || '|' || sp.seconds || '|' || sp.folder || '|' || sp.name as spot from spots sp join stationspots ssp on (sp.id=ssp.id_spot) join stations st on (ssp.id_station = st.id) where date('".$cdate."') between sp.startdate and sp.enddate and st.id=".$p->{id_station}."; "); + my $spt = $db->queryarray("select sp.id,sp.folder || '/' || sp.file || '|' || sp.seconds || '|' || sp.folder || '|' || sp.name as spot from spots sp join stationspots ssp on (sp.id=ssp.id_spot) join stations st on (ssp.id_station = st.id) where date('".$cdate."') between sp.startdate and sp.enddate and st.id=".$p->{id_station}."; "); my $sptcnt = 0; my $sptpos = 0; my $apos = 0; diff --git a/CGI/api/report.cgi b/CGI/api/report.cgi index c3c2dd6..4012918 100755 --- a/CGI/api/report.cgi +++ b/CGI/api/report.cgi @@ -47,7 +47,6 @@ if ($sitecfg->{dbtype} eq "SQLite"){ # } # $html->{p} = $p; # $html->{sess} =$sess; -#my $datapath = $ENV{"DOCUMENT_ROOT"}.dirname(dirname($scriptpath)).'/data/'; if (($cgi->request_method() eq "GET") || ($cgi->request_method() eq "POST")){ # my @params = $cgi->param(); diff --git a/CGI/tmpl/app/invoicejournal/index.tt b/CGI/tmpl/app/invoicejournal/index.tt index 5e61cd2..d33ccdf 100644 --- a/CGI/tmpl/app/invoicejournal/index.tt +++ b/CGI/tmpl/app/invoicejournal/index.tt @@ -9,40 +9,43 @@ + Invoice Journal - +
-
- +
+ + + Invoice Journal
-
-
+
- +