From 57d46dd57ea3f5d5675eac85f548b8358b811328 Mon Sep 17 00:00:00 2001 From: David Stephens Date: Wed, 22 Nov 2017 23:27:33 +0000 Subject: [PATCH 1/7] Mega rejig! --- {mods/art => art/general}/CONNECT1.ANS | Bin {mods/art => art/general}/DOORMANY.ANS | Bin {mods/art => art/general}/GNSPMPT.ANS | Bin {mods/art => art/general}/LOGPMPT.ANS | Bin {mods/art => art/general}/NEWSCAN.ANS | Bin {mods/art => art/general}/NEWUSER1.ANS | Bin {mods/art => art/general}/ONEADD.ANS | Bin {mods/art => art/general}/ONELINER.ANS | Bin {mods/art => art/general}/PRELOGAD.ANS | Bin {mods/art => art/general}/WELCOME1.ANS | 0 {mods/art => art/general}/WELCOME2.ANS | Bin .../general}/demo_edit_text_view.ans | Bin .../general}/demo_edit_text_view1.ans | Bin .../general}/demo_fse_local_user.ans | Bin .../general}/demo_fse_netmail_body.ans | Bin .../general}/demo_fse_netmail_footer_edit.ans | Bin .../demo_fse_netmail_footer_edit_menu.ans | Bin .../general}/demo_fse_netmail_header.ans | Bin .../general}/demo_fse_netmail_help.ans | Bin .../general}/demo_horizontal_menu_view1.ans | Bin .../general}/demo_mask_edit_text_view1.ans | Bin .../demo_multi_line_edit_text_view1.ans | Bin .../art => art/general}/demo_selection_vm.ans | Bin .../general}/demo_spin_and_toggle.ans | Bin .../general}/demo_vertical_menu_view1.ans | Bin {mods/art => art/general}/erc.ans | Bin {mods/art => art/general}/menu_prompt.ans | Bin .../general}/msg_area_footer_view.ans | Bin {mods/art => art/general}/msg_area_list.ans | Bin .../general}/msg_area_post_header.ans | Bin .../general}/msg_area_view_header.ans | Bin {mods/art => art/general}/test.ans | 0 .../themes/luciano_blocktronics/BBSADD.ANS | Bin .../themes/luciano_blocktronics/BBSLIST.ANS | Bin .../themes/luciano_blocktronics/CCHANGE.ANS | Bin .../themes/luciano_blocktronics/CHANGE.ANS | Bin .../themes/luciano_blocktronics/CONFSCR.ANS | Bin .../themes/luciano_blocktronics/DONE.ANS | Bin .../themes/luciano_blocktronics/DOORMNU.ANS | Bin .../themes/luciano_blocktronics/FAREASEL.ANS | Bin .../themes/luciano_blocktronics/FBHELP.ANS | Bin .../themes/luciano_blocktronics/FBNORES.ANS | Bin .../themes/luciano_blocktronics/FBRWSE.ANS | Bin .../themes/luciano_blocktronics/FDETAIL.ANS | Bin .../themes/luciano_blocktronics/FDETGEN.ANS | Bin .../themes/luciano_blocktronics/FDETLST.ANS | Bin .../themes/luciano_blocktronics/FDETNFO.ANS | Bin .../themes/luciano_blocktronics/FDLMGR.ANS | Bin .../themes/luciano_blocktronics/FEMPTYQ.ANS | Bin .../themes/luciano_blocktronics/FFILEDT.ANS | Bin .../themes/luciano_blocktronics/FILPMPT.ANS | Bin .../themes/luciano_blocktronics/FMENU.ANS | Bin .../themes/luciano_blocktronics/FNEWBRWSE.ANS | Bin .../themes/luciano_blocktronics/FORGOTPW.ANS | Bin .../luciano_blocktronics/FORGOTPWSENT.ANS | Bin .../themes/luciano_blocktronics/FPROSEL.ANS | Bin .../themes/luciano_blocktronics/FSEARCH.ANS | Bin .../themes/luciano_blocktronics/IDLELOG.ANS | Bin .../themes/luciano_blocktronics/LASTCALL.ANS | Bin .../themes/luciano_blocktronics/LETTER.ANS | Bin .../themes/luciano_blocktronics/MAILMNU.ANS | Bin .../themes/luciano_blocktronics/MATRIX.ANS | Bin .../themes/luciano_blocktronics/MMENU.ANS | Bin .../themes/luciano_blocktronics/MNUPRMT.ANS | Bin .../themes/luciano_blocktronics/MSGBODY.ANS | Bin .../themes/luciano_blocktronics/MSGEFTR.ANS | Bin .../themes/luciano_blocktronics/MSGEHDR.ANS | Bin .../themes/luciano_blocktronics/MSGEHLP.ANS | Bin .../themes/luciano_blocktronics/MSGEMFT.ANS | Bin .../themes/luciano_blocktronics/MSGLIST.ANS | Bin .../themes/luciano_blocktronics/MSGMNU.ANS | Bin .../themes/luciano_blocktronics/MSGPMPT.ANS | Bin .../themes/luciano_blocktronics/MSGQUOT.ANS | Bin .../themes/luciano_blocktronics/MSGVFTR.ANS | Bin .../themes/luciano_blocktronics/MSGVHDR.ANS | Bin .../themes/luciano_blocktronics/MSGVHLP.ANS | Bin .../themes/luciano_blocktronics/NEWMSGS.ANS | Bin .../themes/luciano_blocktronics/NUA.ANS | Bin .../themes/luciano_blocktronics/ONEADD.ANS | Bin .../themes/luciano_blocktronics/ONELINER.ANS | Bin .../themes/luciano_blocktronics/PAUSE.ANS | Bin .../themes/luciano_blocktronics/RATEFILE.ANS | Bin .../themes/luciano_blocktronics/RUMORADD.ANS | Bin .../themes/luciano_blocktronics/RUMORS.ANS | Bin .../themes/luciano_blocktronics/STATUS.ANS | Bin .../themes/luciano_blocktronics/SYSSTAT.ANS | Bin .../themes/luciano_blocktronics/TBRIDGE.ANS | Bin .../themes/luciano_blocktronics/TOONODE.ANS | Bin .../themes/luciano_blocktronics/ULCHECK.ANS | Bin .../themes/luciano_blocktronics/ULDETAIL.ANS | Bin .../themes/luciano_blocktronics/ULDUPES.ANS | Bin .../themes/luciano_blocktronics/ULNOAREA.ANS | Bin .../themes/luciano_blocktronics/ULOPTS.ANS | Bin .../themes/luciano_blocktronics/USERLOG.ANS | Bin .../themes/luciano_blocktronics/USERLST.ANS | Bin .../themes/luciano_blocktronics/WHOSON.ANS | Bin .../themes/luciano_blocktronics/theme.hjson | 0 {mods => config}/menu.hjson | 0 {mods => config}/prompt.hjson | 0 core/config.js | 15 ++++---- core/config_util.js | 9 +++-- core/module_util.js | 1 + core/oputil/oputil_common.js | 2 +- mods/{ => system}/abracadabra.js | 10 +++--- mods/{ => system}/bbs_link.js | 6 ++-- mods/{ => system}/bbs_list.js | 14 ++++---- mods/{ => system}/erc_client.js | 4 +-- mods/{ => system}/file_area_filter_edit.js | 10 +++--- mods/{ => system}/file_area_list.js | 34 +++++++++--------- mods/{ => system}/file_base_area_select.js | 8 ++--- .../file_base_download_manager.js | 16 ++++----- mods/{ => system}/file_base_search.js | 8 ++--- .../file_base_web_download_manager.js | 20 +++++------ .../file_transfer_protocol_select.js | 8 ++--- mods/{ => system}/last_callers.js | 10 +++--- mods/{ => system}/msg_area_list.js | 12 +++---- mods/{ => system}/msg_area_post_fse.js | 4 +-- mods/{ => system}/msg_area_reply_fse.js | 2 +- mods/{ => system}/msg_area_view_fse.js | 4 +-- mods/{ => system}/msg_conf_list.js | 12 +++---- mods/{ => system}/msg_list.js | 10 +++--- mods/{ => system}/nua.js | 12 +++---- mods/{ => system}/onelinerz.js | 12 +++---- mods/{ => system}/rumorz.js | 14 ++++---- mods/{ => system}/telnet_bridge.js | 6 ++-- mods/{ => system}/upload.js | 28 +++++++-------- mods/{ => system}/user_list.js | 8 ++--- mods/{ => system}/whos_online.js | 8 ++--- mods/user/.keep | 0 129 files changed, 153 insertions(+), 154 deletions(-) rename {mods/art => art/general}/CONNECT1.ANS (100%) rename {mods/art => art/general}/DOORMANY.ANS (100%) rename {mods/art => art/general}/GNSPMPT.ANS (100%) rename {mods/art => art/general}/LOGPMPT.ANS (100%) rename {mods/art => art/general}/NEWSCAN.ANS (100%) rename {mods/art => art/general}/NEWUSER1.ANS (100%) rename {mods/art => art/general}/ONEADD.ANS (100%) rename {mods/art => art/general}/ONELINER.ANS (100%) rename {mods/art => art/general}/PRELOGAD.ANS (100%) rename {mods/art => art/general}/WELCOME1.ANS (100%) rename {mods/art => art/general}/WELCOME2.ANS (100%) rename {mods/art => art/general}/demo_edit_text_view.ans (100%) rename {mods/art => art/general}/demo_edit_text_view1.ans (100%) rename {mods/art => art/general}/demo_fse_local_user.ans (100%) rename {mods/art => art/general}/demo_fse_netmail_body.ans (100%) rename {mods/art => art/general}/demo_fse_netmail_footer_edit.ans (100%) rename {mods/art => art/general}/demo_fse_netmail_footer_edit_menu.ans (100%) rename {mods/art => art/general}/demo_fse_netmail_header.ans (100%) rename {mods/art => art/general}/demo_fse_netmail_help.ans (100%) rename {mods/art => art/general}/demo_horizontal_menu_view1.ans (100%) rename {mods/art => art/general}/demo_mask_edit_text_view1.ans (100%) rename {mods/art => art/general}/demo_multi_line_edit_text_view1.ans (100%) rename {mods/art => art/general}/demo_selection_vm.ans (100%) rename {mods/art => art/general}/demo_spin_and_toggle.ans (100%) rename {mods/art => art/general}/demo_vertical_menu_view1.ans (100%) rename {mods/art => art/general}/erc.ans (100%) rename {mods/art => art/general}/menu_prompt.ans (100%) rename {mods/art => art/general}/msg_area_footer_view.ans (100%) rename {mods/art => art/general}/msg_area_list.ans (100%) rename {mods/art => art/general}/msg_area_post_header.ans (100%) rename {mods/art => art/general}/msg_area_view_header.ans (100%) rename {mods/art => art/general}/test.ans (100%) rename {mods => art}/themes/luciano_blocktronics/BBSADD.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/BBSLIST.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/CCHANGE.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/CHANGE.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/CONFSCR.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/DONE.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/DOORMNU.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/FAREASEL.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/FBHELP.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/FBNORES.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/FBRWSE.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/FDETAIL.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/FDETGEN.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/FDETLST.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/FDETNFO.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/FDLMGR.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/FEMPTYQ.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/FFILEDT.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/FILPMPT.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/FMENU.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/FNEWBRWSE.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/FORGOTPW.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/FORGOTPWSENT.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/FPROSEL.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/FSEARCH.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/IDLELOG.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/LASTCALL.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/LETTER.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/MAILMNU.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/MATRIX.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/MMENU.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/MNUPRMT.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/MSGBODY.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/MSGEFTR.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/MSGEHDR.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/MSGEHLP.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/MSGEMFT.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/MSGLIST.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/MSGMNU.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/MSGPMPT.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/MSGQUOT.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/MSGVFTR.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/MSGVHDR.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/MSGVHLP.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/NEWMSGS.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/NUA.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/ONEADD.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/ONELINER.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/PAUSE.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/RATEFILE.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/RUMORADD.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/RUMORS.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/STATUS.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/SYSSTAT.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/TBRIDGE.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/TOONODE.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/ULCHECK.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/ULDETAIL.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/ULDUPES.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/ULNOAREA.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/ULOPTS.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/USERLOG.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/USERLST.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/WHOSON.ANS (100%) rename {mods => art}/themes/luciano_blocktronics/theme.hjson (100%) rename {mods => config}/menu.hjson (100%) rename {mods => config}/prompt.hjson (100%) rename mods/{ => system}/abracadabra.js (94%) rename mods/{ => system}/bbs_link.js (96%) rename mods/{ => system}/bbs_list.js (96%) rename mods/{ => system}/erc_client.js (97%) rename mods/{ => system}/file_area_filter_edit.js (95%) rename mods/{ => system}/file_area_list.js (94%) rename mods/{ => system}/file_base_area_select.js (88%) rename mods/{ => system}/file_base_download_manager.js (92%) rename mods/{ => system}/file_base_search.js (89%) rename mods/{ => system}/file_base_web_download_manager.js (91%) rename mods/{ => system}/file_transfer_protocol_select.js (93%) rename mods/{ => system}/last_callers.js (92%) rename mods/{ => system}/msg_area_list.js (91%) rename mods/{ => system}/msg_area_post_fse.js (90%) rename mods/{ => system}/msg_area_reply_fse.js (81%) rename mods/{ => system}/msg_area_view_fse.js (95%) rename mods/{ => system}/msg_conf_list.js (89%) rename mods/{ => system}/msg_list.js (95%) rename mods/{ => system}/nua.js (91%) rename mods/{ => system}/onelinerz.js (95%) rename mods/{ => system}/rumorz.js (92%) rename mods/{ => system}/telnet_bridge.js (94%) rename mods/{ => system}/upload.js (94%) rename mods/{ => system}/user_list.js (91%) rename mods/{ => system}/whos_online.js (87%) create mode 100644 mods/user/.keep diff --git a/mods/art/CONNECT1.ANS b/art/general/CONNECT1.ANS similarity index 100% rename from mods/art/CONNECT1.ANS rename to art/general/CONNECT1.ANS diff --git a/mods/art/DOORMANY.ANS b/art/general/DOORMANY.ANS similarity index 100% rename from mods/art/DOORMANY.ANS rename to art/general/DOORMANY.ANS diff --git a/mods/art/GNSPMPT.ANS b/art/general/GNSPMPT.ANS similarity index 100% rename from mods/art/GNSPMPT.ANS rename to art/general/GNSPMPT.ANS diff --git a/mods/art/LOGPMPT.ANS b/art/general/LOGPMPT.ANS similarity index 100% rename from mods/art/LOGPMPT.ANS rename to art/general/LOGPMPT.ANS diff --git a/mods/art/NEWSCAN.ANS b/art/general/NEWSCAN.ANS similarity index 100% rename from mods/art/NEWSCAN.ANS rename to art/general/NEWSCAN.ANS diff --git a/mods/art/NEWUSER1.ANS b/art/general/NEWUSER1.ANS similarity index 100% rename from mods/art/NEWUSER1.ANS rename to art/general/NEWUSER1.ANS diff --git a/mods/art/ONEADD.ANS b/art/general/ONEADD.ANS similarity index 100% rename from mods/art/ONEADD.ANS rename to art/general/ONEADD.ANS diff --git a/mods/art/ONELINER.ANS b/art/general/ONELINER.ANS similarity index 100% rename from mods/art/ONELINER.ANS rename to art/general/ONELINER.ANS diff --git a/mods/art/PRELOGAD.ANS b/art/general/PRELOGAD.ANS similarity index 100% rename from mods/art/PRELOGAD.ANS rename to art/general/PRELOGAD.ANS diff --git a/mods/art/WELCOME1.ANS b/art/general/WELCOME1.ANS similarity index 100% rename from mods/art/WELCOME1.ANS rename to art/general/WELCOME1.ANS diff --git a/mods/art/WELCOME2.ANS b/art/general/WELCOME2.ANS similarity index 100% rename from mods/art/WELCOME2.ANS rename to art/general/WELCOME2.ANS diff --git a/mods/art/demo_edit_text_view.ans b/art/general/demo_edit_text_view.ans similarity index 100% rename from mods/art/demo_edit_text_view.ans rename to art/general/demo_edit_text_view.ans diff --git a/mods/art/demo_edit_text_view1.ans b/art/general/demo_edit_text_view1.ans similarity index 100% rename from mods/art/demo_edit_text_view1.ans rename to art/general/demo_edit_text_view1.ans diff --git a/mods/art/demo_fse_local_user.ans b/art/general/demo_fse_local_user.ans similarity index 100% rename from mods/art/demo_fse_local_user.ans rename to art/general/demo_fse_local_user.ans diff --git a/mods/art/demo_fse_netmail_body.ans b/art/general/demo_fse_netmail_body.ans similarity index 100% rename from mods/art/demo_fse_netmail_body.ans rename to art/general/demo_fse_netmail_body.ans diff --git a/mods/art/demo_fse_netmail_footer_edit.ans b/art/general/demo_fse_netmail_footer_edit.ans similarity index 100% rename from mods/art/demo_fse_netmail_footer_edit.ans rename to art/general/demo_fse_netmail_footer_edit.ans diff --git a/mods/art/demo_fse_netmail_footer_edit_menu.ans b/art/general/demo_fse_netmail_footer_edit_menu.ans similarity index 100% rename from mods/art/demo_fse_netmail_footer_edit_menu.ans rename to art/general/demo_fse_netmail_footer_edit_menu.ans diff --git a/mods/art/demo_fse_netmail_header.ans b/art/general/demo_fse_netmail_header.ans similarity index 100% rename from mods/art/demo_fse_netmail_header.ans rename to art/general/demo_fse_netmail_header.ans diff --git a/mods/art/demo_fse_netmail_help.ans b/art/general/demo_fse_netmail_help.ans similarity index 100% rename from mods/art/demo_fse_netmail_help.ans rename to art/general/demo_fse_netmail_help.ans diff --git a/mods/art/demo_horizontal_menu_view1.ans b/art/general/demo_horizontal_menu_view1.ans similarity index 100% rename from mods/art/demo_horizontal_menu_view1.ans rename to art/general/demo_horizontal_menu_view1.ans diff --git a/mods/art/demo_mask_edit_text_view1.ans b/art/general/demo_mask_edit_text_view1.ans similarity index 100% rename from mods/art/demo_mask_edit_text_view1.ans rename to art/general/demo_mask_edit_text_view1.ans diff --git a/mods/art/demo_multi_line_edit_text_view1.ans b/art/general/demo_multi_line_edit_text_view1.ans similarity index 100% rename from mods/art/demo_multi_line_edit_text_view1.ans rename to art/general/demo_multi_line_edit_text_view1.ans diff --git a/mods/art/demo_selection_vm.ans b/art/general/demo_selection_vm.ans similarity index 100% rename from mods/art/demo_selection_vm.ans rename to art/general/demo_selection_vm.ans diff --git a/mods/art/demo_spin_and_toggle.ans b/art/general/demo_spin_and_toggle.ans similarity index 100% rename from mods/art/demo_spin_and_toggle.ans rename to art/general/demo_spin_and_toggle.ans diff --git a/mods/art/demo_vertical_menu_view1.ans b/art/general/demo_vertical_menu_view1.ans similarity index 100% rename from mods/art/demo_vertical_menu_view1.ans rename to art/general/demo_vertical_menu_view1.ans diff --git a/mods/art/erc.ans b/art/general/erc.ans similarity index 100% rename from mods/art/erc.ans rename to art/general/erc.ans diff --git a/mods/art/menu_prompt.ans b/art/general/menu_prompt.ans similarity index 100% rename from mods/art/menu_prompt.ans rename to art/general/menu_prompt.ans diff --git a/mods/art/msg_area_footer_view.ans b/art/general/msg_area_footer_view.ans similarity index 100% rename from mods/art/msg_area_footer_view.ans rename to art/general/msg_area_footer_view.ans diff --git a/mods/art/msg_area_list.ans b/art/general/msg_area_list.ans similarity index 100% rename from mods/art/msg_area_list.ans rename to art/general/msg_area_list.ans diff --git a/mods/art/msg_area_post_header.ans b/art/general/msg_area_post_header.ans similarity index 100% rename from mods/art/msg_area_post_header.ans rename to art/general/msg_area_post_header.ans diff --git a/mods/art/msg_area_view_header.ans b/art/general/msg_area_view_header.ans similarity index 100% rename from mods/art/msg_area_view_header.ans rename to art/general/msg_area_view_header.ans diff --git a/mods/art/test.ans b/art/general/test.ans similarity index 100% rename from mods/art/test.ans rename to art/general/test.ans diff --git a/mods/themes/luciano_blocktronics/BBSADD.ANS b/art/themes/luciano_blocktronics/BBSADD.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/BBSADD.ANS rename to art/themes/luciano_blocktronics/BBSADD.ANS diff --git a/mods/themes/luciano_blocktronics/BBSLIST.ANS b/art/themes/luciano_blocktronics/BBSLIST.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/BBSLIST.ANS rename to art/themes/luciano_blocktronics/BBSLIST.ANS diff --git a/mods/themes/luciano_blocktronics/CCHANGE.ANS b/art/themes/luciano_blocktronics/CCHANGE.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/CCHANGE.ANS rename to art/themes/luciano_blocktronics/CCHANGE.ANS diff --git a/mods/themes/luciano_blocktronics/CHANGE.ANS b/art/themes/luciano_blocktronics/CHANGE.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/CHANGE.ANS rename to art/themes/luciano_blocktronics/CHANGE.ANS diff --git a/mods/themes/luciano_blocktronics/CONFSCR.ANS b/art/themes/luciano_blocktronics/CONFSCR.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/CONFSCR.ANS rename to art/themes/luciano_blocktronics/CONFSCR.ANS diff --git a/mods/themes/luciano_blocktronics/DONE.ANS b/art/themes/luciano_blocktronics/DONE.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/DONE.ANS rename to art/themes/luciano_blocktronics/DONE.ANS diff --git a/mods/themes/luciano_blocktronics/DOORMNU.ANS b/art/themes/luciano_blocktronics/DOORMNU.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/DOORMNU.ANS rename to art/themes/luciano_blocktronics/DOORMNU.ANS diff --git a/mods/themes/luciano_blocktronics/FAREASEL.ANS b/art/themes/luciano_blocktronics/FAREASEL.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/FAREASEL.ANS rename to art/themes/luciano_blocktronics/FAREASEL.ANS diff --git a/mods/themes/luciano_blocktronics/FBHELP.ANS b/art/themes/luciano_blocktronics/FBHELP.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/FBHELP.ANS rename to art/themes/luciano_blocktronics/FBHELP.ANS diff --git a/mods/themes/luciano_blocktronics/FBNORES.ANS b/art/themes/luciano_blocktronics/FBNORES.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/FBNORES.ANS rename to art/themes/luciano_blocktronics/FBNORES.ANS diff --git a/mods/themes/luciano_blocktronics/FBRWSE.ANS b/art/themes/luciano_blocktronics/FBRWSE.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/FBRWSE.ANS rename to art/themes/luciano_blocktronics/FBRWSE.ANS diff --git a/mods/themes/luciano_blocktronics/FDETAIL.ANS b/art/themes/luciano_blocktronics/FDETAIL.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/FDETAIL.ANS rename to art/themes/luciano_blocktronics/FDETAIL.ANS diff --git a/mods/themes/luciano_blocktronics/FDETGEN.ANS b/art/themes/luciano_blocktronics/FDETGEN.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/FDETGEN.ANS rename to art/themes/luciano_blocktronics/FDETGEN.ANS diff --git a/mods/themes/luciano_blocktronics/FDETLST.ANS b/art/themes/luciano_blocktronics/FDETLST.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/FDETLST.ANS rename to art/themes/luciano_blocktronics/FDETLST.ANS diff --git a/mods/themes/luciano_blocktronics/FDETNFO.ANS b/art/themes/luciano_blocktronics/FDETNFO.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/FDETNFO.ANS rename to art/themes/luciano_blocktronics/FDETNFO.ANS diff --git a/mods/themes/luciano_blocktronics/FDLMGR.ANS b/art/themes/luciano_blocktronics/FDLMGR.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/FDLMGR.ANS rename to art/themes/luciano_blocktronics/FDLMGR.ANS diff --git a/mods/themes/luciano_blocktronics/FEMPTYQ.ANS b/art/themes/luciano_blocktronics/FEMPTYQ.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/FEMPTYQ.ANS rename to art/themes/luciano_blocktronics/FEMPTYQ.ANS diff --git a/mods/themes/luciano_blocktronics/FFILEDT.ANS b/art/themes/luciano_blocktronics/FFILEDT.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/FFILEDT.ANS rename to art/themes/luciano_blocktronics/FFILEDT.ANS diff --git a/mods/themes/luciano_blocktronics/FILPMPT.ANS b/art/themes/luciano_blocktronics/FILPMPT.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/FILPMPT.ANS rename to art/themes/luciano_blocktronics/FILPMPT.ANS diff --git a/mods/themes/luciano_blocktronics/FMENU.ANS b/art/themes/luciano_blocktronics/FMENU.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/FMENU.ANS rename to art/themes/luciano_blocktronics/FMENU.ANS diff --git a/mods/themes/luciano_blocktronics/FNEWBRWSE.ANS b/art/themes/luciano_blocktronics/FNEWBRWSE.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/FNEWBRWSE.ANS rename to art/themes/luciano_blocktronics/FNEWBRWSE.ANS diff --git a/mods/themes/luciano_blocktronics/FORGOTPW.ANS b/art/themes/luciano_blocktronics/FORGOTPW.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/FORGOTPW.ANS rename to art/themes/luciano_blocktronics/FORGOTPW.ANS diff --git a/mods/themes/luciano_blocktronics/FORGOTPWSENT.ANS b/art/themes/luciano_blocktronics/FORGOTPWSENT.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/FORGOTPWSENT.ANS rename to art/themes/luciano_blocktronics/FORGOTPWSENT.ANS diff --git a/mods/themes/luciano_blocktronics/FPROSEL.ANS b/art/themes/luciano_blocktronics/FPROSEL.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/FPROSEL.ANS rename to art/themes/luciano_blocktronics/FPROSEL.ANS diff --git a/mods/themes/luciano_blocktronics/FSEARCH.ANS b/art/themes/luciano_blocktronics/FSEARCH.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/FSEARCH.ANS rename to art/themes/luciano_blocktronics/FSEARCH.ANS diff --git a/mods/themes/luciano_blocktronics/IDLELOG.ANS b/art/themes/luciano_blocktronics/IDLELOG.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/IDLELOG.ANS rename to art/themes/luciano_blocktronics/IDLELOG.ANS diff --git a/mods/themes/luciano_blocktronics/LASTCALL.ANS b/art/themes/luciano_blocktronics/LASTCALL.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/LASTCALL.ANS rename to art/themes/luciano_blocktronics/LASTCALL.ANS diff --git a/mods/themes/luciano_blocktronics/LETTER.ANS b/art/themes/luciano_blocktronics/LETTER.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/LETTER.ANS rename to art/themes/luciano_blocktronics/LETTER.ANS diff --git a/mods/themes/luciano_blocktronics/MAILMNU.ANS b/art/themes/luciano_blocktronics/MAILMNU.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/MAILMNU.ANS rename to art/themes/luciano_blocktronics/MAILMNU.ANS diff --git a/mods/themes/luciano_blocktronics/MATRIX.ANS b/art/themes/luciano_blocktronics/MATRIX.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/MATRIX.ANS rename to art/themes/luciano_blocktronics/MATRIX.ANS diff --git a/mods/themes/luciano_blocktronics/MMENU.ANS b/art/themes/luciano_blocktronics/MMENU.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/MMENU.ANS rename to art/themes/luciano_blocktronics/MMENU.ANS diff --git a/mods/themes/luciano_blocktronics/MNUPRMT.ANS b/art/themes/luciano_blocktronics/MNUPRMT.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/MNUPRMT.ANS rename to art/themes/luciano_blocktronics/MNUPRMT.ANS diff --git a/mods/themes/luciano_blocktronics/MSGBODY.ANS b/art/themes/luciano_blocktronics/MSGBODY.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/MSGBODY.ANS rename to art/themes/luciano_blocktronics/MSGBODY.ANS diff --git a/mods/themes/luciano_blocktronics/MSGEFTR.ANS b/art/themes/luciano_blocktronics/MSGEFTR.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/MSGEFTR.ANS rename to art/themes/luciano_blocktronics/MSGEFTR.ANS diff --git a/mods/themes/luciano_blocktronics/MSGEHDR.ANS b/art/themes/luciano_blocktronics/MSGEHDR.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/MSGEHDR.ANS rename to art/themes/luciano_blocktronics/MSGEHDR.ANS diff --git a/mods/themes/luciano_blocktronics/MSGEHLP.ANS b/art/themes/luciano_blocktronics/MSGEHLP.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/MSGEHLP.ANS rename to art/themes/luciano_blocktronics/MSGEHLP.ANS diff --git a/mods/themes/luciano_blocktronics/MSGEMFT.ANS b/art/themes/luciano_blocktronics/MSGEMFT.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/MSGEMFT.ANS rename to art/themes/luciano_blocktronics/MSGEMFT.ANS diff --git a/mods/themes/luciano_blocktronics/MSGLIST.ANS b/art/themes/luciano_blocktronics/MSGLIST.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/MSGLIST.ANS rename to art/themes/luciano_blocktronics/MSGLIST.ANS diff --git a/mods/themes/luciano_blocktronics/MSGMNU.ANS b/art/themes/luciano_blocktronics/MSGMNU.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/MSGMNU.ANS rename to art/themes/luciano_blocktronics/MSGMNU.ANS diff --git a/mods/themes/luciano_blocktronics/MSGPMPT.ANS b/art/themes/luciano_blocktronics/MSGPMPT.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/MSGPMPT.ANS rename to art/themes/luciano_blocktronics/MSGPMPT.ANS diff --git a/mods/themes/luciano_blocktronics/MSGQUOT.ANS b/art/themes/luciano_blocktronics/MSGQUOT.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/MSGQUOT.ANS rename to art/themes/luciano_blocktronics/MSGQUOT.ANS diff --git a/mods/themes/luciano_blocktronics/MSGVFTR.ANS b/art/themes/luciano_blocktronics/MSGVFTR.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/MSGVFTR.ANS rename to art/themes/luciano_blocktronics/MSGVFTR.ANS diff --git a/mods/themes/luciano_blocktronics/MSGVHDR.ANS b/art/themes/luciano_blocktronics/MSGVHDR.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/MSGVHDR.ANS rename to art/themes/luciano_blocktronics/MSGVHDR.ANS diff --git a/mods/themes/luciano_blocktronics/MSGVHLP.ANS b/art/themes/luciano_blocktronics/MSGVHLP.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/MSGVHLP.ANS rename to art/themes/luciano_blocktronics/MSGVHLP.ANS diff --git a/mods/themes/luciano_blocktronics/NEWMSGS.ANS b/art/themes/luciano_blocktronics/NEWMSGS.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/NEWMSGS.ANS rename to art/themes/luciano_blocktronics/NEWMSGS.ANS diff --git a/mods/themes/luciano_blocktronics/NUA.ANS b/art/themes/luciano_blocktronics/NUA.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/NUA.ANS rename to art/themes/luciano_blocktronics/NUA.ANS diff --git a/mods/themes/luciano_blocktronics/ONEADD.ANS b/art/themes/luciano_blocktronics/ONEADD.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/ONEADD.ANS rename to art/themes/luciano_blocktronics/ONEADD.ANS diff --git a/mods/themes/luciano_blocktronics/ONELINER.ANS b/art/themes/luciano_blocktronics/ONELINER.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/ONELINER.ANS rename to art/themes/luciano_blocktronics/ONELINER.ANS diff --git a/mods/themes/luciano_blocktronics/PAUSE.ANS b/art/themes/luciano_blocktronics/PAUSE.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/PAUSE.ANS rename to art/themes/luciano_blocktronics/PAUSE.ANS diff --git a/mods/themes/luciano_blocktronics/RATEFILE.ANS b/art/themes/luciano_blocktronics/RATEFILE.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/RATEFILE.ANS rename to art/themes/luciano_blocktronics/RATEFILE.ANS diff --git a/mods/themes/luciano_blocktronics/RUMORADD.ANS b/art/themes/luciano_blocktronics/RUMORADD.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/RUMORADD.ANS rename to art/themes/luciano_blocktronics/RUMORADD.ANS diff --git a/mods/themes/luciano_blocktronics/RUMORS.ANS b/art/themes/luciano_blocktronics/RUMORS.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/RUMORS.ANS rename to art/themes/luciano_blocktronics/RUMORS.ANS diff --git a/mods/themes/luciano_blocktronics/STATUS.ANS b/art/themes/luciano_blocktronics/STATUS.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/STATUS.ANS rename to art/themes/luciano_blocktronics/STATUS.ANS diff --git a/mods/themes/luciano_blocktronics/SYSSTAT.ANS b/art/themes/luciano_blocktronics/SYSSTAT.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/SYSSTAT.ANS rename to art/themes/luciano_blocktronics/SYSSTAT.ANS diff --git a/mods/themes/luciano_blocktronics/TBRIDGE.ANS b/art/themes/luciano_blocktronics/TBRIDGE.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/TBRIDGE.ANS rename to art/themes/luciano_blocktronics/TBRIDGE.ANS diff --git a/mods/themes/luciano_blocktronics/TOONODE.ANS b/art/themes/luciano_blocktronics/TOONODE.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/TOONODE.ANS rename to art/themes/luciano_blocktronics/TOONODE.ANS diff --git a/mods/themes/luciano_blocktronics/ULCHECK.ANS b/art/themes/luciano_blocktronics/ULCHECK.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/ULCHECK.ANS rename to art/themes/luciano_blocktronics/ULCHECK.ANS diff --git a/mods/themes/luciano_blocktronics/ULDETAIL.ANS b/art/themes/luciano_blocktronics/ULDETAIL.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/ULDETAIL.ANS rename to art/themes/luciano_blocktronics/ULDETAIL.ANS diff --git a/mods/themes/luciano_blocktronics/ULDUPES.ANS b/art/themes/luciano_blocktronics/ULDUPES.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/ULDUPES.ANS rename to art/themes/luciano_blocktronics/ULDUPES.ANS diff --git a/mods/themes/luciano_blocktronics/ULNOAREA.ANS b/art/themes/luciano_blocktronics/ULNOAREA.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/ULNOAREA.ANS rename to art/themes/luciano_blocktronics/ULNOAREA.ANS diff --git a/mods/themes/luciano_blocktronics/ULOPTS.ANS b/art/themes/luciano_blocktronics/ULOPTS.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/ULOPTS.ANS rename to art/themes/luciano_blocktronics/ULOPTS.ANS diff --git a/mods/themes/luciano_blocktronics/USERLOG.ANS b/art/themes/luciano_blocktronics/USERLOG.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/USERLOG.ANS rename to art/themes/luciano_blocktronics/USERLOG.ANS diff --git a/mods/themes/luciano_blocktronics/USERLST.ANS b/art/themes/luciano_blocktronics/USERLST.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/USERLST.ANS rename to art/themes/luciano_blocktronics/USERLST.ANS diff --git a/mods/themes/luciano_blocktronics/WHOSON.ANS b/art/themes/luciano_blocktronics/WHOSON.ANS similarity index 100% rename from mods/themes/luciano_blocktronics/WHOSON.ANS rename to art/themes/luciano_blocktronics/WHOSON.ANS diff --git a/mods/themes/luciano_blocktronics/theme.hjson b/art/themes/luciano_blocktronics/theme.hjson similarity index 100% rename from mods/themes/luciano_blocktronics/theme.hjson rename to art/themes/luciano_blocktronics/theme.hjson diff --git a/mods/menu.hjson b/config/menu.hjson similarity index 100% rename from mods/menu.hjson rename to config/menu.hjson diff --git a/mods/prompt.hjson b/config/prompt.hjson similarity index 100% rename from mods/prompt.hjson rename to config/prompt.hjson diff --git a/core/config.js b/core/config.js index 367143b6..fa7d346c 100644 --- a/core/config.js +++ b/core/config.js @@ -111,11 +111,8 @@ function init(configPath, options, cb) { } function getDefaultPath() { - const base = miscUtil.resolvePath('~/'); - if(base) { - // e.g. /home/users/joeuser/.config/enigma-bbs/config.hjson - return paths.join(base, '.config', 'enigma-bbs', 'config.hjson'); - } + // e.g. /enigma-bbs-install-path/config/config.hjson + return './config/config.hjson'; } function getDefaultConfig() { @@ -193,15 +190,17 @@ function getDefaultConfig() { }, paths : { - mods : paths.join(__dirname, './../mods/'), + config : paths.join(__dirname, './../config/'), + mods : paths.join(__dirname, './../mods/system'), + userMods : paths.join(__dirname, './../mods/user'), loginServers : paths.join(__dirname, './servers/login/'), contentServers : paths.join(__dirname, './servers/content/'), scannerTossers : paths.join(__dirname, './scanner_tossers/'), mailers : paths.join(__dirname, './mailers/') , - art : paths.join(__dirname, './../mods/art/'), - themes : paths.join(__dirname, './../mods/themes/'), + art : paths.join(__dirname, './../art/general/'), + themes : paths.join(__dirname, './../art/themes/'), logs : paths.join(__dirname, './../logs/'), // :TODO: set up based on system, e.g. /var/logs/enigmabbs or such db : paths.join(__dirname, './../db/'), modsDb : paths.join(__dirname, './../db/mods/'), diff --git a/core/config_util.js b/core/config_util.js index f078f758..3ed7b98c 100644 --- a/core/config_util.js +++ b/core/config_util.js @@ -1,16 +1,15 @@ /* jslint node: true */ 'use strict'; - -var configCache = require('./config_cache.js'); - -var paths = require('path'); +const Config = require('./config.js').config; +const configCache = require('./config_cache.js'); +const paths = require('path'); exports.getFullConfig = getFullConfig; function getFullConfig(filePath, cb) { // |filePath| is assumed to be in 'mods' if it's only a file name if('.' === paths.dirname(filePath)) { - filePath = paths.join(__dirname, '../mods', filePath); + filePath = paths.join(Config.paths.config, filePath); } configCache.getConfig(filePath, function loaded(err, configJson) { diff --git a/core/module_util.js b/core/module_util.js index 67e87306..b730d0ca 100644 --- a/core/module_util.js +++ b/core/module_util.js @@ -102,6 +102,7 @@ function loadModulesForCategory(category, iterator, complete) { function getModulePaths() { return [ Config.paths.mods, + Config.paths.userMods, Config.paths.loginServers, Config.paths.contentServers, Config.paths.scannerTossers, diff --git a/core/oputil/oputil_common.js b/core/oputil/oputil_common.js index 21e1a6d0..14edd518 100644 --- a/core/oputil/oputil_common.js +++ b/core/oputil/oputil_common.js @@ -45,7 +45,7 @@ function printUsageAndSetExitCode(errMsg, exitCode) { } function getDefaultConfigPath() { - return resolvePath('~/.config/enigma-bbs/config.hjson'); + return './config/config.hjson'; } function getConfigPath() { diff --git a/mods/abracadabra.js b/mods/system/abracadabra.js similarity index 94% rename from mods/abracadabra.js rename to mods/system/abracadabra.js index a84d2c63..595f84d4 100644 --- a/mods/abracadabra.js +++ b/mods/system/abracadabra.js @@ -1,11 +1,11 @@ /* jslint node: true */ 'use strict'; -const MenuModule = require('../core/menu_module.js').MenuModule; -const DropFile = require('../core/dropfile.js').DropFile; -const door = require('../core/door.js'); -const theme = require('../core/theme.js'); -const ansi = require('../core/ansi_term.js'); +const MenuModule = require('../../core/menu_module.js').MenuModule; +const DropFile = require('../../core/dropfile.js').DropFile; +const door = require('../../core/door.js'); +const theme = require('../../core/theme.js'); +const ansi = require('../../core/ansi_term.js'); const async = require('async'); const assert = require('assert'); diff --git a/mods/bbs_link.js b/mods/system/bbs_link.js similarity index 96% rename from mods/bbs_link.js rename to mods/system/bbs_link.js index 0cf0a5db..1d5492df 100644 --- a/mods/bbs_link.js +++ b/mods/system/bbs_link.js @@ -1,8 +1,8 @@ /* jslint node: true */ 'use strict'; -const MenuModule = require('../core/menu_module.js').MenuModule; -const resetScreen = require('../core/ansi_term.js').resetScreen; +const MenuModule = require('../../core/menu_module.js').MenuModule; +const resetScreen = require('../../core/ansi_term.js').resetScreen; const async = require('async'); const _ = require('lodash'); @@ -10,7 +10,7 @@ const http = require('http'); const net = require('net'); const crypto = require('crypto'); -const packageJson = require('../package.json'); +const packageJson = require('../../package.json'); /* Expected configuration block: diff --git a/mods/bbs_list.js b/mods/system/bbs_list.js similarity index 96% rename from mods/bbs_list.js rename to mods/system/bbs_list.js index ec964a36..8ae94c6c 100644 --- a/mods/bbs_list.js +++ b/mods/system/bbs_list.js @@ -2,18 +2,18 @@ 'use strict'; // ENiGMA½ -const MenuModule = require('../core/menu_module.js').MenuModule; +const MenuModule = require('../../core/menu_module.js').MenuModule; const { getModDatabasePath, getTransactionDatabase -} = require('../core/database.js'); +} = require('../../core/database.js'); -const ViewController = require('../core/view_controller.js').ViewController; -const ansi = require('../core/ansi_term.js'); -const theme = require('../core/theme.js'); -const User = require('../core/user.js'); -const stringFormat = require('../core/string_format.js'); +const ViewController = require('../../core/view_controller.js').ViewController; +const ansi = require('../../core/ansi_term.js'); +const theme = require('../../core/theme.js'); +const User = require('../../core/user.js'); +const stringFormat = require('../../core/string_format.js'); // deps const async = require('async'); diff --git a/mods/erc_client.js b/mods/system/erc_client.js similarity index 97% rename from mods/erc_client.js rename to mods/system/erc_client.js index 02b42ad5..cdc71521 100644 --- a/mods/erc_client.js +++ b/mods/system/erc_client.js @@ -1,8 +1,8 @@ /* jslint node: true */ 'use strict'; -const MenuModule = require('../core/menu_module.js').MenuModule; -const stringFormat = require('../core/string_format.js'); +const MenuModule = require('../../core/menu_module.js').MenuModule; +const stringFormat = require('../../core/string_format.js'); // deps const async = require('async'); diff --git a/mods/file_area_filter_edit.js b/mods/system/file_area_filter_edit.js similarity index 95% rename from mods/file_area_filter_edit.js rename to mods/system/file_area_filter_edit.js index cb3322f9..0ff8b37d 100644 --- a/mods/file_area_filter_edit.js +++ b/mods/system/file_area_filter_edit.js @@ -2,11 +2,11 @@ 'use strict'; // ENiGMA½ -const MenuModule = require('../core/menu_module.js').MenuModule; -const ViewController = require('../core/view_controller.js').ViewController; -const getSortedAvailableFileAreas = require('../core/file_base_area.js').getSortedAvailableFileAreas; -const FileBaseFilters = require('../core/file_base_filter.js'); -const stringFormat = require('../core/string_format.js'); +const MenuModule = require('../../core/menu_module.js').MenuModule; +const ViewController = require('../../core/view_controller.js').ViewController; +const getSortedAvailableFileAreas = require('../../core/file_base_area.js').getSortedAvailableFileAreas; +const FileBaseFilters = require('../../core/file_base_filter.js'); +const stringFormat = require('../../core/string_format.js'); // deps const async = require('async'); diff --git a/mods/file_area_list.js b/mods/system/file_area_list.js similarity index 94% rename from mods/file_area_list.js rename to mods/system/file_area_list.js index 0c24f9f8..5359e48e 100644 --- a/mods/file_area_list.js +++ b/mods/system/file_area_list.js @@ -2,23 +2,23 @@ 'use strict'; // ENiGMA½ -const MenuModule = require('../core/menu_module.js').MenuModule; -const ViewController = require('../core/view_controller.js').ViewController; -const ansi = require('../core/ansi_term.js'); -const theme = require('../core/theme.js'); -const FileEntry = require('../core/file_entry.js'); -const stringFormat = require('../core/string_format.js'); -const FileArea = require('../core/file_base_area.js'); -const Errors = require('../core/enig_error.js').Errors; -const ErrNotEnabled = require('../core/enig_error.js').ErrorReasons.NotEnabled; -const ArchiveUtil = require('../core/archive_util.js'); -const Config = require('../core/config.js').config; -const DownloadQueue = require('../core/download_queue.js'); -const FileAreaWeb = require('../core/file_area_web.js'); -const FileBaseFilters = require('../core/file_base_filter.js'); -const resolveMimeType = require('../core/mime_util.js').resolveMimeType; -const isAnsi = require('../core/string_util.js').isAnsi; -const controlCodesToAnsi = require('../core/color_codes.js').controlCodesToAnsi; +const MenuModule = require('../../core/menu_module.js').MenuModule; +const ViewController = require('../../core/view_controller.js').ViewController; +const ansi = require('../../core/ansi_term.js'); +const theme = require('../../core/theme.js'); +const FileEntry = require('../../core/file_entry.js'); +const stringFormat = require('../../core/string_format.js'); +const FileArea = require('../../core/file_base_area.js'); +const Errors = require('../../core/enig_error.js').Errors; +const ErrNotEnabled = require('../../core/enig_error.js').ErrorReasons.NotEnabled; +const ArchiveUtil = require('../../core/archive_util.js'); +const Config = require('../../core/config.js').config; +const DownloadQueue = require('../../core/download_queue.js'); +const FileAreaWeb = require('../../core/file_area_web.js'); +const FileBaseFilters = require('../../core/file_base_filter.js'); +const resolveMimeType = require('../../core/mime_util.js').resolveMimeType; +const isAnsi = require('../../core/string_util.js').isAnsi; +const controlCodesToAnsi = require('../../core/color_codes.js').controlCodesToAnsi; // deps const async = require('async'); diff --git a/mods/file_base_area_select.js b/mods/system/file_base_area_select.js similarity index 88% rename from mods/file_base_area_select.js rename to mods/system/file_base_area_select.js index ca182d6c..38b7eba7 100644 --- a/mods/file_base_area_select.js +++ b/mods/system/file_base_area_select.js @@ -2,10 +2,10 @@ 'use strict'; // enigma-bbs -const MenuModule = require('../core/menu_module.js').MenuModule; -const stringFormat = require('../core/string_format.js'); -const getSortedAvailableFileAreas = require('../core/file_base_area.js').getSortedAvailableFileAreas; -const StatLog = require('../core/stat_log.js'); +const MenuModule = require('../../core/menu_module.js').MenuModule; +const stringFormat = require('../../core/string_format.js'); +const getSortedAvailableFileAreas = require('../../core/file_base_area.js').getSortedAvailableFileAreas; +const StatLog = require('../../core/stat_log.js'); // deps const async = require('async'); diff --git a/mods/file_base_download_manager.js b/mods/system/file_base_download_manager.js similarity index 92% rename from mods/file_base_download_manager.js rename to mods/system/file_base_download_manager.js index 382a7305..15a892f1 100644 --- a/mods/file_base_download_manager.js +++ b/mods/system/file_base_download_manager.js @@ -2,14 +2,14 @@ 'use strict'; // ENiGMA½ -const MenuModule = require('../core/menu_module.js').MenuModule; -const ViewController = require('../core/view_controller.js').ViewController; -const DownloadQueue = require('../core/download_queue.js'); -const theme = require('../core/theme.js'); -const ansi = require('../core/ansi_term.js'); -const Errors = require('../core/enig_error.js').Errors; -const stringFormat = require('../core/string_format.js'); -const FileAreaWeb = require('../core/file_area_web.js'); +const MenuModule = require('../../core/menu_module.js').MenuModule; +const ViewController = require('../../core/view_controller.js').ViewController; +const DownloadQueue = require('../../core/download_queue.js'); +const theme = require('../../core/theme.js'); +const ansi = require('../../core/ansi_term.js'); +const Errors = require('../../core/enig_error.js').Errors; +const stringFormat = require('../../core/string_format.js'); +const FileAreaWeb = require('../../core/file_area_web.js'); // deps const async = require('async'); diff --git a/mods/file_base_search.js b/mods/system/file_base_search.js similarity index 89% rename from mods/file_base_search.js rename to mods/system/file_base_search.js index e984e1a4..d3ebd1db 100644 --- a/mods/file_base_search.js +++ b/mods/system/file_base_search.js @@ -2,10 +2,10 @@ 'use strict'; // ENiGMA½ -const MenuModule = require('../core/menu_module.js').MenuModule; -const ViewController = require('../core/view_controller.js').ViewController; -const getSortedAvailableFileAreas = require('../core/file_base_area.js').getSortedAvailableFileAreas; -const FileBaseFilters = require('../core/file_base_filter.js'); +const MenuModule = require('../../core/menu_module.js').MenuModule; +const ViewController = require('../../core/view_controller.js').ViewController; +const getSortedAvailableFileAreas = require('../../core/file_base_area.js').getSortedAvailableFileAreas; +const FileBaseFilters = require('../../core/file_base_filter.js'); // deps const async = require('async'); diff --git a/mods/file_base_web_download_manager.js b/mods/system/file_base_web_download_manager.js similarity index 91% rename from mods/file_base_web_download_manager.js rename to mods/system/file_base_web_download_manager.js index d171cfdb..9acad951 100644 --- a/mods/file_base_web_download_manager.js +++ b/mods/system/file_base_web_download_manager.js @@ -2,16 +2,16 @@ 'use strict'; // ENiGMA½ -const MenuModule = require('../core/menu_module.js').MenuModule; -const ViewController = require('../core/view_controller.js').ViewController; -const DownloadQueue = require('../core/download_queue.js'); -const theme = require('../core/theme.js'); -const ansi = require('../core/ansi_term.js'); -const Errors = require('../core/enig_error.js').Errors; -const stringFormat = require('../core/string_format.js'); -const FileAreaWeb = require('../core/file_area_web.js'); -const ErrNotEnabled = require('../core/enig_error.js').ErrorReasons.NotEnabled; -const Config = require('../core/config.js').config; +const MenuModule = require('../../core/menu_module.js').MenuModule; +const ViewController = require('../../core/view_controller.js').ViewController; +const DownloadQueue = require('../../core/download_queue.js'); +const theme = require('../../core/theme.js'); +const ansi = require('../../core/ansi_term.js'); +const Errors = require('../../core/enig_error.js').Errors; +const stringFormat = require('../../core/string_format.js'); +const FileAreaWeb = require('../../core/file_area_web.js'); +const ErrNotEnabled = require('../../core/enig_error.js').ErrorReasons.NotEnabled; +const Config = require('../../core/config.js').config; // deps const async = require('async'); diff --git a/mods/file_transfer_protocol_select.js b/mods/system/file_transfer_protocol_select.js similarity index 93% rename from mods/file_transfer_protocol_select.js rename to mods/system/file_transfer_protocol_select.js index 6efa5a93..c731dff2 100644 --- a/mods/file_transfer_protocol_select.js +++ b/mods/system/file_transfer_protocol_select.js @@ -2,10 +2,10 @@ 'use strict'; // enigma-bbs -const MenuModule = require('../core/menu_module.js').MenuModule; -const Config = require('../core/config.js').config; -const stringFormat = require('../core/string_format.js'); -const ViewController = require('../core/view_controller.js').ViewController; +const MenuModule = require('../../core/menu_module.js').MenuModule; +const Config = require('../../core/config.js').config; +const stringFormat = require('../../core/string_format.js'); +const ViewController = require('../../core/view_controller.js').ViewController; // deps const async = require('async'); diff --git a/mods/last_callers.js b/mods/system/last_callers.js similarity index 92% rename from mods/last_callers.js rename to mods/system/last_callers.js index afb429d8..85d4bef0 100644 --- a/mods/last_callers.js +++ b/mods/system/last_callers.js @@ -2,11 +2,11 @@ 'use strict'; // ENiGMA½ -const MenuModule = require('../core/menu_module.js').MenuModule; -const ViewController = require('../core/view_controller.js').ViewController; -const StatLog = require('../core/stat_log.js'); -const User = require('../core/user.js'); -const stringFormat = require('../core/string_format.js'); +const MenuModule = require('../../core/menu_module.js').MenuModule; +const ViewController = require('../../core/view_controller.js').ViewController; +const StatLog = require('../../core/stat_log.js'); +const User = require('../../core/user.js'); +const stringFormat = require('../../core/string_format.js'); // deps const moment = require('moment'); diff --git a/mods/msg_area_list.js b/mods/system/msg_area_list.js similarity index 91% rename from mods/msg_area_list.js rename to mods/system/msg_area_list.js index a6a0df4c..51b18953 100644 --- a/mods/msg_area_list.js +++ b/mods/system/msg_area_list.js @@ -2,12 +2,12 @@ 'use strict'; // ENiGMA½ -const MenuModule = require('../core/menu_module.js').MenuModule; -const ViewController = require('../core/view_controller.js').ViewController; -const messageArea = require('../core/message_area.js'); -const displayThemeArt = require('../core/theme.js').displayThemeArt; -const resetScreen = require('../core/ansi_term.js').resetScreen; -const stringFormat = require('../core/string_format.js'); +const MenuModule = require('../../core/menu_module.js').MenuModule; +const ViewController = require('../../core/view_controller.js').ViewController; +const messageArea = require('../../core/message_area.js'); +const displayThemeArt = require('../../core/theme.js').displayThemeArt; +const resetScreen = require('../../core/ansi_term.js').resetScreen; +const stringFormat = require('../../core/string_format.js'); // deps const async = require('async'); diff --git a/mods/msg_area_post_fse.js b/mods/system/msg_area_post_fse.js similarity index 90% rename from mods/msg_area_post_fse.js rename to mods/system/msg_area_post_fse.js index 21b5d068..a0671f85 100644 --- a/mods/msg_area_post_fse.js +++ b/mods/system/msg_area_post_fse.js @@ -1,8 +1,8 @@ /* jslint node: true */ 'use strict'; -const FullScreenEditorModule = require('../core/fse.js').FullScreenEditorModule; -const persistMessage = require('../core/message_area.js').persistMessage; +const FullScreenEditorModule = require('../../core/fse.js').FullScreenEditorModule; +const persistMessage = require('../../core/message_area.js').persistMessage; const _ = require('lodash'); const async = require('async'); diff --git a/mods/msg_area_reply_fse.js b/mods/system/msg_area_reply_fse.js similarity index 81% rename from mods/msg_area_reply_fse.js rename to mods/system/msg_area_reply_fse.js index d1cb5faa..497c8de7 100644 --- a/mods/msg_area_reply_fse.js +++ b/mods/system/msg_area_reply_fse.js @@ -1,7 +1,7 @@ /* jslint node: true */ 'use strict'; -var FullScreenEditorModule = require('../core/fse.js').FullScreenEditorModule; +var FullScreenEditorModule = require('../../core/fse.js').FullScreenEditorModule; exports.getModule = AreaReplyFSEModule; diff --git a/mods/msg_area_view_fse.js b/mods/system/msg_area_view_fse.js similarity index 95% rename from mods/msg_area_view_fse.js rename to mods/system/msg_area_view_fse.js index de4657f1..7cb5a1b8 100644 --- a/mods/msg_area_view_fse.js +++ b/mods/system/msg_area_view_fse.js @@ -2,8 +2,8 @@ 'use strict'; // ENiGMA½ -const FullScreenEditorModule = require('../core/fse.js').FullScreenEditorModule; -const Message = require('../core/message.js'); +const FullScreenEditorModule = require('../../core/fse.js').FullScreenEditorModule; +const Message = require('../../core/message.js'); // deps const _ = require('lodash'); diff --git a/mods/msg_conf_list.js b/mods/system/msg_conf_list.js similarity index 89% rename from mods/msg_conf_list.js rename to mods/system/msg_conf_list.js index 91c24de4..06e9d59b 100644 --- a/mods/msg_conf_list.js +++ b/mods/system/msg_conf_list.js @@ -2,12 +2,12 @@ 'use strict'; // ENiGMA½ -const MenuModule = require('../core/menu_module.js').MenuModule; -const ViewController = require('../core/view_controller.js').ViewController; -const messageArea = require('../core/message_area.js'); -const displayThemeArt = require('../core/theme.js').displayThemeArt; -const resetScreen = require('../core/ansi_term.js').resetScreen; -const stringFormat = require('../core/string_format.js'); +const MenuModule = require('../../core/menu_module.js').MenuModule; +const ViewController = require('../../core/view_controller.js').ViewController; +const messageArea = require('../../core/message_area.js'); +const displayThemeArt = require('../../core/theme.js').displayThemeArt; +const resetScreen = require('../../core/ansi_term.js').resetScreen; +const stringFormat = require('../../core/string_format.js'); // deps const async = require('async'); diff --git a/mods/msg_list.js b/mods/system/msg_list.js similarity index 95% rename from mods/msg_list.js rename to mods/system/msg_list.js index bc80e27b..28d1b609 100644 --- a/mods/msg_list.js +++ b/mods/system/msg_list.js @@ -2,11 +2,11 @@ 'use strict'; // ENiGMA½ -const MenuModule = require('../core/menu_module.js').MenuModule; -const ViewController = require('../core/view_controller.js').ViewController; -const messageArea = require('../core/message_area.js'); -const stringFormat = require('../core/string_format.js'); -const MessageAreaConfTempSwitcher = require('../core/mod_mixins.js').MessageAreaConfTempSwitcher; +const MenuModule = require('../../core/menu_module.js').MenuModule; +const ViewController = require('../../core/view_controller.js').ViewController; +const messageArea = require('../../core/message_area.js'); +const stringFormat = require('../../core/string_format.js'); +const MessageAreaConfTempSwitcher = require('../../core/mod_mixins.js').MessageAreaConfTempSwitcher; // deps const async = require('async'); diff --git a/mods/nua.js b/mods/system/nua.js similarity index 91% rename from mods/nua.js rename to mods/system/nua.js index 878e0581..7b4611d6 100644 --- a/mods/nua.js +++ b/mods/system/nua.js @@ -2,12 +2,12 @@ 'use strict'; // ENiGMA½ -const MenuModule = require('../core/menu_module.js').MenuModule; -const User = require('../core/user.js'); -const theme = require('../core/theme.js'); -const login = require('../core/system_menu_method.js').login; -const Config = require('../core/config.js').config; -const messageArea = require('../core/message_area.js'); +const MenuModule = require('../../core/menu_module.js').MenuModule; +const User = require('../../core/user.js'); +const theme = require('../../core/theme.js'); +const login = require('../../core/system_menu_method.js').login; +const Config = require('../../core/config.js').config; +const messageArea = require('../../core/message_area.js'); exports.moduleInfo = { name : 'NUA', diff --git a/mods/onelinerz.js b/mods/system/onelinerz.js similarity index 95% rename from mods/onelinerz.js rename to mods/system/onelinerz.js index 065c0a30..416124c6 100644 --- a/mods/onelinerz.js +++ b/mods/system/onelinerz.js @@ -2,17 +2,17 @@ 'use strict'; // ENiGMA½ -const MenuModule = require('../core/menu_module.js').MenuModule; +const MenuModule = require('../../core/menu_module.js').MenuModule; const { getModDatabasePath, getTransactionDatabase -} = require('../core/database.js'); +} = require('../../core/database.js'); -const ViewController = require('../core/view_controller.js').ViewController; -const theme = require('../core/theme.js'); -const ansi = require('../core/ansi_term.js'); -const stringFormat = require('../core/string_format.js'); +const ViewController = require('../../core/view_controller.js').ViewController; +const theme = require('../../core/theme.js'); +const ansi = require('../../core/ansi_term.js'); +const stringFormat = require('../../core/string_format.js'); // deps const sqlite3 = require('sqlite3'); diff --git a/mods/rumorz.js b/mods/system/rumorz.js similarity index 92% rename from mods/rumorz.js rename to mods/system/rumorz.js index 20aace03..e85271dc 100644 --- a/mods/rumorz.js +++ b/mods/system/rumorz.js @@ -2,13 +2,13 @@ 'use strict'; // ENiGMA½ -const MenuModule = require('../core/menu_module.js').MenuModule; -const ViewController = require('../core/view_controller.js').ViewController; -const theme = require('../core/theme.js'); -const resetScreen = require('../core/ansi_term.js').resetScreen; -const StatLog = require('../core/stat_log.js'); -const renderStringLength = require('../core/string_util.js').renderStringLength; -const stringFormat = require('../core/string_format.js'); +const MenuModule = require('../../core/menu_module.js').MenuModule; +const ViewController = require('../../core/view_controller.js').ViewController; +const theme = require('../../core/theme.js'); +const resetScreen = require('../../core/ansi_term.js').resetScreen; +const StatLog = require('../../core/stat_log.js'); +const renderStringLength = require('../../core/string_util.js').renderStringLength; +const stringFormat = require('../../core/string_format.js'); // deps const async = require('async'); diff --git a/mods/telnet_bridge.js b/mods/system/telnet_bridge.js similarity index 94% rename from mods/telnet_bridge.js rename to mods/system/telnet_bridge.js index 1dbb1ae9..42c73217 100644 --- a/mods/telnet_bridge.js +++ b/mods/system/telnet_bridge.js @@ -2,9 +2,9 @@ 'use strict'; // ENiGMA½ -const MenuModule = require('../core/menu_module.js').MenuModule; -const resetScreen = require('../core/ansi_term.js').resetScreen; -const setSyncTermFontWithAlias = require('../core/ansi_term.js').setSyncTermFontWithAlias; +const MenuModule = require('../../core/menu_module.js').MenuModule; +const resetScreen = require('../../core/ansi_term.js').resetScreen; +const setSyncTermFontWithAlias = require('../../core/ansi_term.js').setSyncTermFontWithAlias; // deps const async = require('async'); diff --git a/mods/upload.js b/mods/system/upload.js similarity index 94% rename from mods/upload.js rename to mods/system/upload.js index 30c84c48..8e545452 100644 --- a/mods/upload.js +++ b/mods/system/upload.js @@ -2,20 +2,20 @@ 'use strict'; // enigma-bbs -const MenuModule = require('../core/menu_module.js').MenuModule; -const stringFormat = require('../core/string_format.js'); -const getSortedAvailableFileAreas = require('../core/file_base_area.js').getSortedAvailableFileAreas; -const getAreaDefaultStorageDirectory = require('../core/file_base_area.js').getAreaDefaultStorageDirectory; -const scanFile = require('../core/file_base_area.js').scanFile; -const getFileAreaByTag = require('../core/file_base_area.js').getFileAreaByTag; -const getDescFromFileName = require('../core/file_base_area.js').getDescFromFileName; -const ansiGoto = require('../core/ansi_term.js').goto; -const moveFileWithCollisionHandling = require('../core/file_util.js').moveFileWithCollisionHandling; -const pathWithTerminatingSeparator = require('../core/file_util.js').pathWithTerminatingSeparator; -const Log = require('../core/logger.js').log; -const Errors = require('../core/enig_error.js').Errors; -const FileEntry = require('../core/file_entry.js'); -const isAnsi = require('../core/string_util.js').isAnsi; +const MenuModule = require('../../core/menu_module.js').MenuModule; +const stringFormat = require('../../core/string_format.js'); +const getSortedAvailableFileAreas = require('../../core/file_base_area.js').getSortedAvailableFileAreas; +const getAreaDefaultStorageDirectory = require('../../core/file_base_area.js').getAreaDefaultStorageDirectory; +const scanFile = require('../../core/file_base_area.js').scanFile; +const getFileAreaByTag = require('../../core/file_base_area.js').getFileAreaByTag; +const getDescFromFileName = require('../../core/file_base_area.js').getDescFromFileName; +const ansiGoto = require('../../core/ansi_term.js').goto; +const moveFileWithCollisionHandling = require('../../core/file_util.js').moveFileWithCollisionHandling; +const pathWithTerminatingSeparator = require('../../core/file_util.js').pathWithTerminatingSeparator; +const Log = require('../../core/logger.js').log; +const Errors = require('../../core/enig_error.js').Errors; +const FileEntry = require('../../core/file_entry.js'); +const isAnsi = require('../../core/string_util.js').isAnsi; // deps const async = require('async'); diff --git a/mods/user_list.js b/mods/system/user_list.js similarity index 91% rename from mods/user_list.js rename to mods/system/user_list.js index b2a88e79..7b85b331 100644 --- a/mods/user_list.js +++ b/mods/system/user_list.js @@ -1,10 +1,10 @@ /* jslint node: true */ 'use strict'; -const MenuModule = require('../core/menu_module.js').MenuModule; -const User = require('../core/user.js'); -const ViewController = require('../core/view_controller.js').ViewController; -const stringFormat = require('../core/string_format.js'); +const MenuModule = require('../../core/menu_module.js').MenuModule; +const User = require('../../core/user.js'); +const ViewController = require('../../core/view_controller.js').ViewController; +const stringFormat = require('../../core/string_format.js'); const moment = require('moment'); const async = require('async'); diff --git a/mods/whos_online.js b/mods/system/whos_online.js similarity index 87% rename from mods/whos_online.js rename to mods/system/whos_online.js index a0a87829..cec3bb4b 100644 --- a/mods/whos_online.js +++ b/mods/system/whos_online.js @@ -2,10 +2,10 @@ 'use strict'; // ENiGMA½ -const MenuModule = require('../core/menu_module.js').MenuModule; -const ViewController = require('../core/view_controller.js').ViewController; -const getActiveNodeList = require('../core/client_connections.js').getActiveNodeList; -const stringFormat = require('../core/string_format.js'); +const MenuModule = require('../../core/menu_module.js').MenuModule; +const ViewController = require('../../core/view_controller.js').ViewController; +const getActiveNodeList = require('../../core/client_connections.js').getActiveNodeList; +const stringFormat = require('../../core/string_format.js'); // deps const async = require('async'); diff --git a/mods/user/.keep b/mods/user/.keep new file mode 100644 index 00000000..e69de29b From 618ecc07142ad580a865148fd5b0a4364872eae1 Mon Sep 17 00:00:00 2001 From: David Stephens Date: Fri, 24 Nov 2017 23:23:15 +0000 Subject: [PATCH 2/7] Move modules in mods into /core --- config/menu.hjson | 70 +++++++++---------- {mods/system => core}/abracadabra.js | 10 +-- {mods/system => core}/bbs_link.js | 6 +- {mods/system => core}/bbs_list.js | 14 ++-- {mods/system => core}/erc_client.js | 4 +- .../system => core}/file_area_filter_edit.js | 10 +-- {mods/system => core}/file_area_list.js | 34 ++++----- .../system => core}/file_base_area_select.js | 8 +-- .../file_base_download_manager.js | 16 ++--- {mods/system => core}/file_base_search.js | 8 +-- .../file_base_web_download_manager.js | 20 +++--- .../file_transfer_protocol_select.js | 8 +-- {mods/system => core}/last_callers.js | 10 +-- core/module_util.js | 1 - {mods/system => core}/msg_area_list.js | 12 ++-- {mods/system => core}/msg_area_post_fse.js | 4 +- {mods/system => core}/msg_area_reply_fse.js | 2 +- {mods/system => core}/msg_area_view_fse.js | 4 +- {mods/system => core}/msg_conf_list.js | 12 ++-- {mods/system => core}/msg_list.js | 10 +-- {mods/system => core}/nua.js | 12 ++-- {mods/system => core}/onelinerz.js | 12 ++-- {mods/system => core}/rumorz.js | 14 ++-- {mods/system => core}/telnet_bridge.js | 6 +- {mods/system => core}/upload.js | 28 ++++---- {mods/system => core}/user_list.js | 8 +-- {mods/system => core}/whos_online.js | 8 +-- mods/{user => }/.keep | 0 28 files changed, 175 insertions(+), 176 deletions(-) rename {mods/system => core}/abracadabra.js (94%) rename {mods/system => core}/bbs_link.js (96%) rename {mods/system => core}/bbs_list.js (96%) rename {mods/system => core}/erc_client.js (97%) rename {mods/system => core}/file_area_filter_edit.js (95%) rename {mods/system => core}/file_area_list.js (94%) rename {mods/system => core}/file_base_area_select.js (88%) rename {mods/system => core}/file_base_download_manager.js (92%) rename {mods/system => core}/file_base_search.js (89%) rename {mods/system => core}/file_base_web_download_manager.js (91%) rename {mods/system => core}/file_transfer_protocol_select.js (93%) rename {mods/system => core}/last_callers.js (92%) rename {mods/system => core}/msg_area_list.js (91%) rename {mods/system => core}/msg_area_post_fse.js (90%) rename {mods/system => core}/msg_area_reply_fse.js (81%) rename {mods/system => core}/msg_area_view_fse.js (95%) rename {mods/system => core}/msg_conf_list.js (89%) rename {mods/system => core}/msg_list.js (95%) rename {mods/system => core}/nua.js (91%) rename {mods/system => core}/onelinerz.js (95%) rename {mods/system => core}/rumorz.js (92%) rename {mods/system => core}/telnet_bridge.js (94%) rename {mods/system => core}/upload.js (94%) rename {mods/system => core}/user_list.js (91%) rename {mods/system => core}/whos_online.js (87%) rename mods/{user => }/.keep (100%) diff --git a/config/menu.hjson b/config/menu.hjson index b445ec85..ce5e8a38 100644 --- a/config/menu.hjson +++ b/config/menu.hjson @@ -220,7 +220,7 @@ } newUserApplication: { - module: nua + module: @systemModule:nua art: NUA options: { menuFlags: [ "noHistory" ] @@ -341,7 +341,7 @@ // Canceling this form logs off vs falling back to matrix // newUserApplicationSsh: { - module: nua + module: @systemModule:nua art: NUA fallback: logoff options: { @@ -445,7 +445,7 @@ newUserFeedbackToSysOp: { desc: Feedback to SysOp - module: msg_area_post_fse + module: @systemModule:msg_area_post_fse next: [ { acs: AS2 @@ -579,7 +579,7 @@ fullLoginSequenceLastCallers: { desc: Last Callers - module: last_callers + module: @systemModule:last_callers art: LASTCALL options: { pause: true @@ -589,7 +589,7 @@ } fullLoginSequenceWhosOnline: { desc: Who's Online - module: whos_online + module: @systemModule:whos_online art: WHOSON options: { pause: true } next: fullLoginSequenceOnelinerz @@ -597,7 +597,7 @@ fullLoginSequenceOnelinerz: { desc: Viewing Onelinerz - module: onelinerz + module: @systemModule:onelinerz next: [ { // calls >= 2 @@ -732,7 +732,7 @@ newScanMessageList: { desc: New Messages - module: msg_list + module: @systemModule:msg_list art: NEWMSGS config: { menuViewPost: messageAreaViewPost @@ -772,7 +772,7 @@ } newScanFileBaseList: { - module: file_area_list + module: @systemModule:file_area_list desc: New Files config: { art: { @@ -1019,14 +1019,14 @@ mainMenuLastCallers: { desc: Last Callers - module: last_callers + module: @systemModule:last_callers art: LASTCALL options: { pause: true } } mainMenuWhosOnline: { desc: Who's Online - module: whos_online + module: @systemModule:whos_online art: WHOSON options: { pause: true } } @@ -1045,7 +1045,7 @@ mainMenuUserList: { desc: User Listing - module: user_list + module: @systemModule:user_list art: USERLST form: { 0: { @@ -1166,7 +1166,7 @@ mainMenuFeedbackToSysOp: { desc: Feedback to SysOp - module: msg_area_post_fse + module: @systemModule:msg_area_post_fse config: { art: { header: MSGEHDR @@ -1286,7 +1286,7 @@ mainMenuOnelinerz: { desc: Viewing Onelinerz - module: onelinerz + module: @systemModule:onelinerz options: { cls: true } @@ -1372,7 +1372,7 @@ mainMenuRumorz: { desc: Rumorz - module: rumorz + module: @systemModule:rumorz options: { cls: true } @@ -1458,7 +1458,7 @@ ercClient: { art: erc - module: erc_client + module: @systemModule:erc_client config: { host: localhost port: 5001 @@ -1510,7 +1510,7 @@ bbsList: { desc: Viewing BBS List - module: bbs_list + module: @systemModule:bbs_list options: { cls: true } @@ -1661,7 +1661,7 @@ // doorPimpWars: { desc: Playing PimpWars - module: abracadabra + module: @systemModule:abracadabra config: { name: PimpWars dropFileType: DORINFO @@ -1684,7 +1684,7 @@ // doorTradeWars2002BBSLink: { desc: Playing TW 2002 (BBSLink) - module: bbs_link + module: @systemModule:bbs_link config: { sysCode: XXXXXXXX authCode: XXXXXXXX @@ -1716,7 +1716,7 @@ telnetBridgeAgency: { desc: Connected to HappyLand BBS - module: telnet_bridge + module: @systemModule:telnet_bridge config: { host: agency.bbs.geek.nz } @@ -1779,7 +1779,7 @@ messageAreaChangeCurrentConference: { art: CCHANGE - module: msg_conf_list + module: @systemModule:msg_conf_list form: { 0: { mci: { @@ -1810,7 +1810,7 @@ messageAreaChangeCurrentArea: { // :TODO: rename this art to ACHANGE art: CHANGE - module: msg_area_list + module: @systemModule:msg_area_list form: { 0: { mci: { @@ -1839,7 +1839,7 @@ } messageAreaMessageList: { - module: msg_list + module: @systemModule:msg_list art: MSGLIST config: { menuViewPost: messageAreaViewPost @@ -1875,7 +1875,7 @@ } messageAreaViewPost: { - module: msg_area_view_fse + module: @systemModule:msg_area_view_fse config: { art: { header: MSGVHDR @@ -1991,7 +1991,7 @@ } messageAreaReplyPost: { - module: msg_area_post_fse + module: @systemModule:msg_area_post_fse config: { art: { header: MSGEHDR @@ -2150,7 +2150,7 @@ // :TODO: messageAreaSelect (change msg areas -> call @systemMethod -> fallback to menu messageAreaNewPost: { desc: Posting message, - module: msg_area_post_fse + module: @systemModule:msg_area_post_fse config: { art: { header: MSGEHDR @@ -2306,7 +2306,7 @@ mailMenuCreateMessage: { desc: Mailing Someone - module: msg_area_post_fse + module: @systemModule:msg_area_post_fse config: { art: { header: MSGEHDR @@ -2423,7 +2423,7 @@ } mailMenuInbox: { - module: msg_list + module: @systemModule:msg_list art: MSGLIST config: { menuViewPost: messageAreaViewPost @@ -2501,7 +2501,7 @@ } fileBaseListEntries: { - module: file_area_list + module: @systemModule:file_area_list desc: Browsing Files config: { art: { @@ -2669,7 +2669,7 @@ fileBaseBrowseByAreaSelect: { desc: Browsing File Areas - module: file_base_area_select + module: @systemModule:file_base_area_select art: FAREASEL form: { 0: { @@ -2725,7 +2725,7 @@ } fileBaseSearch: { - module: file_base_search + module: @systemModule:file_base_search desc: Searching Files art: FSEARCH form: { @@ -2799,7 +2799,7 @@ fileAreaFilterEditor: { desc: File Filter Editor - module: file_area_filter_edit + module: @systemModule:file_area_filter_edit art: FFILEDT form: { 0: { @@ -2889,7 +2889,7 @@ fileBaseDownloadManager: { desc: Download Manager - module: file_base_download_manager + module: @systemModule:file_base_download_manager config: { art: { queueManager: FDLMGR @@ -2950,7 +2950,7 @@ fileBaseWebDownloadManager: { desc: Web D/L Manager - module: file_base_web_download_manager + module: @systemModule:file_base_web_download_manager config: { art: { queueManager: FWDLMGR @@ -3017,7 +3017,7 @@ fileTransferProtocolSelection: { desc: Protocol selection - module: file_transfer_protocol_select + module: @systemModule:file_transfer_protocol_select art: FPROSEL form: { 0: { @@ -3049,7 +3049,7 @@ fileBaseUploadFiles: { desc: Uploading - module: upload + module: @systemModule:upload config: { art: { options: ULOPTS diff --git a/mods/system/abracadabra.js b/core/abracadabra.js similarity index 94% rename from mods/system/abracadabra.js rename to core/abracadabra.js index 595f84d4..85d1e205 100644 --- a/mods/system/abracadabra.js +++ b/core/abracadabra.js @@ -1,11 +1,11 @@ /* jslint node: true */ 'use strict'; -const MenuModule = require('../../core/menu_module.js').MenuModule; -const DropFile = require('../../core/dropfile.js').DropFile; -const door = require('../../core/door.js'); -const theme = require('../../core/theme.js'); -const ansi = require('../../core/ansi_term.js'); +const MenuModule = require('./menu_module.js').MenuModule; +const DropFile = require('./dropfile.js').DropFile; +const door = require('./door.js'); +const theme = require('./theme.js'); +const ansi = require('./ansi_term.js'); const async = require('async'); const assert = require('assert'); diff --git a/mods/system/bbs_link.js b/core/bbs_link.js similarity index 96% rename from mods/system/bbs_link.js rename to core/bbs_link.js index 1d5492df..be341115 100644 --- a/mods/system/bbs_link.js +++ b/core/bbs_link.js @@ -1,8 +1,8 @@ /* jslint node: true */ 'use strict'; -const MenuModule = require('../../core/menu_module.js').MenuModule; -const resetScreen = require('../../core/ansi_term.js').resetScreen; +const MenuModule = require('./menu_module.js').MenuModule; +const resetScreen = require('./ansi_term.js').resetScreen; const async = require('async'); const _ = require('lodash'); @@ -10,7 +10,7 @@ const http = require('http'); const net = require('net'); const crypto = require('crypto'); -const packageJson = require('../../package.json'); +const packageJson = require('../package.json'); /* Expected configuration block: diff --git a/mods/system/bbs_list.js b/core/bbs_list.js similarity index 96% rename from mods/system/bbs_list.js rename to core/bbs_list.js index 8ae94c6c..33a7ff59 100644 --- a/mods/system/bbs_list.js +++ b/core/bbs_list.js @@ -2,18 +2,18 @@ 'use strict'; // ENiGMA½ -const MenuModule = require('../../core/menu_module.js').MenuModule; +const MenuModule = require('./menu_module.js').MenuModule; const { getModDatabasePath, getTransactionDatabase -} = require('../../core/database.js'); +} = require('./database.js'); -const ViewController = require('../../core/view_controller.js').ViewController; -const ansi = require('../../core/ansi_term.js'); -const theme = require('../../core/theme.js'); -const User = require('../../core/user.js'); -const stringFormat = require('../../core/string_format.js'); +const ViewController = require('./view_controller.js').ViewController; +const ansi = require('./ansi_term.js'); +const theme = require('./theme.js'); +const User = require('./user.js'); +const stringFormat = require('./string_format.js'); // deps const async = require('async'); diff --git a/mods/system/erc_client.js b/core/erc_client.js similarity index 97% rename from mods/system/erc_client.js rename to core/erc_client.js index cdc71521..4fb549f6 100644 --- a/mods/system/erc_client.js +++ b/core/erc_client.js @@ -1,8 +1,8 @@ /* jslint node: true */ 'use strict'; -const MenuModule = require('../../core/menu_module.js').MenuModule; -const stringFormat = require('../../core/string_format.js'); +const MenuModule = require('./menu_module.js').MenuModule; +const stringFormat = require('./string_format.js'); // deps const async = require('async'); diff --git a/mods/system/file_area_filter_edit.js b/core/file_area_filter_edit.js similarity index 95% rename from mods/system/file_area_filter_edit.js rename to core/file_area_filter_edit.js index 0ff8b37d..4a53096c 100644 --- a/mods/system/file_area_filter_edit.js +++ b/core/file_area_filter_edit.js @@ -2,11 +2,11 @@ 'use strict'; // ENiGMA½ -const MenuModule = require('../../core/menu_module.js').MenuModule; -const ViewController = require('../../core/view_controller.js').ViewController; -const getSortedAvailableFileAreas = require('../../core/file_base_area.js').getSortedAvailableFileAreas; -const FileBaseFilters = require('../../core/file_base_filter.js'); -const stringFormat = require('../../core/string_format.js'); +const MenuModule = require('./menu_module.js').MenuModule; +const ViewController = require('./view_controller.js').ViewController; +const getSortedAvailableFileAreas = require('./file_base_area.js').getSortedAvailableFileAreas; +const FileBaseFilters = require('./file_base_filter.js'); +const stringFormat = require('./string_format.js'); // deps const async = require('async'); diff --git a/mods/system/file_area_list.js b/core/file_area_list.js similarity index 94% rename from mods/system/file_area_list.js rename to core/file_area_list.js index 5359e48e..3bcfd7c2 100644 --- a/mods/system/file_area_list.js +++ b/core/file_area_list.js @@ -2,23 +2,23 @@ 'use strict'; // ENiGMA½ -const MenuModule = require('../../core/menu_module.js').MenuModule; -const ViewController = require('../../core/view_controller.js').ViewController; -const ansi = require('../../core/ansi_term.js'); -const theme = require('../../core/theme.js'); -const FileEntry = require('../../core/file_entry.js'); -const stringFormat = require('../../core/string_format.js'); -const FileArea = require('../../core/file_base_area.js'); -const Errors = require('../../core/enig_error.js').Errors; -const ErrNotEnabled = require('../../core/enig_error.js').ErrorReasons.NotEnabled; -const ArchiveUtil = require('../../core/archive_util.js'); -const Config = require('../../core/config.js').config; -const DownloadQueue = require('../../core/download_queue.js'); -const FileAreaWeb = require('../../core/file_area_web.js'); -const FileBaseFilters = require('../../core/file_base_filter.js'); -const resolveMimeType = require('../../core/mime_util.js').resolveMimeType; -const isAnsi = require('../../core/string_util.js').isAnsi; -const controlCodesToAnsi = require('../../core/color_codes.js').controlCodesToAnsi; +const MenuModule = require('./menu_module.js').MenuModule; +const ViewController = require('./view_controller.js').ViewController; +const ansi = require('./ansi_term.js'); +const theme = require('./theme.js'); +const FileEntry = require('./file_entry.js'); +const stringFormat = require('./string_format.js'); +const FileArea = require('./file_base_area.js'); +const Errors = require('./enig_error.js').Errors; +const ErrNotEnabled = require('./enig_error.js').ErrorReasons.NotEnabled; +const ArchiveUtil = require('./archive_util.js'); +const Config = require('./config.js').config; +const DownloadQueue = require('./download_queue.js'); +const FileAreaWeb = require('./file_area_web.js'); +const FileBaseFilters = require('./file_base_filter.js'); +const resolveMimeType = require('./mime_util.js').resolveMimeType; +const isAnsi = require('./string_util.js').isAnsi; +const controlCodesToAnsi = require('./color_codes.js').controlCodesToAnsi; // deps const async = require('async'); diff --git a/mods/system/file_base_area_select.js b/core/file_base_area_select.js similarity index 88% rename from mods/system/file_base_area_select.js rename to core/file_base_area_select.js index 38b7eba7..8abb668e 100644 --- a/mods/system/file_base_area_select.js +++ b/core/file_base_area_select.js @@ -2,10 +2,10 @@ 'use strict'; // enigma-bbs -const MenuModule = require('../../core/menu_module.js').MenuModule; -const stringFormat = require('../../core/string_format.js'); -const getSortedAvailableFileAreas = require('../../core/file_base_area.js').getSortedAvailableFileAreas; -const StatLog = require('../../core/stat_log.js'); +const MenuModule = require('./menu_module.js').MenuModule; +const stringFormat = require('./string_format.js'); +const getSortedAvailableFileAreas = require('./file_base_area.js').getSortedAvailableFileAreas; +const StatLog = require('./stat_log.js'); // deps const async = require('async'); diff --git a/mods/system/file_base_download_manager.js b/core/file_base_download_manager.js similarity index 92% rename from mods/system/file_base_download_manager.js rename to core/file_base_download_manager.js index 15a892f1..7444af56 100644 --- a/mods/system/file_base_download_manager.js +++ b/core/file_base_download_manager.js @@ -2,14 +2,14 @@ 'use strict'; // ENiGMA½ -const MenuModule = require('../../core/menu_module.js').MenuModule; -const ViewController = require('../../core/view_controller.js').ViewController; -const DownloadQueue = require('../../core/download_queue.js'); -const theme = require('../../core/theme.js'); -const ansi = require('../../core/ansi_term.js'); -const Errors = require('../../core/enig_error.js').Errors; -const stringFormat = require('../../core/string_format.js'); -const FileAreaWeb = require('../../core/file_area_web.js'); +const MenuModule = require('./menu_module.js').MenuModule; +const ViewController = require('./view_controller.js').ViewController; +const DownloadQueue = require('./download_queue.js'); +const theme = require('./theme.js'); +const ansi = require('./ansi_term.js'); +const Errors = require('./enig_error.js').Errors; +const stringFormat = require('./string_format.js'); +const FileAreaWeb = require('./file_area_web.js'); // deps const async = require('async'); diff --git a/mods/system/file_base_search.js b/core/file_base_search.js similarity index 89% rename from mods/system/file_base_search.js rename to core/file_base_search.js index d3ebd1db..adb618d0 100644 --- a/mods/system/file_base_search.js +++ b/core/file_base_search.js @@ -2,10 +2,10 @@ 'use strict'; // ENiGMA½ -const MenuModule = require('../../core/menu_module.js').MenuModule; -const ViewController = require('../../core/view_controller.js').ViewController; -const getSortedAvailableFileAreas = require('../../core/file_base_area.js').getSortedAvailableFileAreas; -const FileBaseFilters = require('../../core/file_base_filter.js'); +const MenuModule = require('./menu_module.js').MenuModule; +const ViewController = require('./view_controller.js').ViewController; +const getSortedAvailableFileAreas = require('./file_base_area.js').getSortedAvailableFileAreas; +const FileBaseFilters = require('./file_base_filter.js'); // deps const async = require('async'); diff --git a/mods/system/file_base_web_download_manager.js b/core/file_base_web_download_manager.js similarity index 91% rename from mods/system/file_base_web_download_manager.js rename to core/file_base_web_download_manager.js index 9acad951..dea7c5a8 100644 --- a/mods/system/file_base_web_download_manager.js +++ b/core/file_base_web_download_manager.js @@ -2,16 +2,16 @@ 'use strict'; // ENiGMA½ -const MenuModule = require('../../core/menu_module.js').MenuModule; -const ViewController = require('../../core/view_controller.js').ViewController; -const DownloadQueue = require('../../core/download_queue.js'); -const theme = require('../../core/theme.js'); -const ansi = require('../../core/ansi_term.js'); -const Errors = require('../../core/enig_error.js').Errors; -const stringFormat = require('../../core/string_format.js'); -const FileAreaWeb = require('../../core/file_area_web.js'); -const ErrNotEnabled = require('../../core/enig_error.js').ErrorReasons.NotEnabled; -const Config = require('../../core/config.js').config; +const MenuModule = require('./menu_module.js').MenuModule; +const ViewController = require('./view_controller.js').ViewController; +const DownloadQueue = require('./download_queue.js'); +const theme = require('./theme.js'); +const ansi = require('./ansi_term.js'); +const Errors = require('./enig_error.js').Errors; +const stringFormat = require('./string_format.js'); +const FileAreaWeb = require('./file_area_web.js'); +const ErrNotEnabled = require('./enig_error.js').ErrorReasons.NotEnabled; +const Config = require('./config.js').config; // deps const async = require('async'); diff --git a/mods/system/file_transfer_protocol_select.js b/core/file_transfer_protocol_select.js similarity index 93% rename from mods/system/file_transfer_protocol_select.js rename to core/file_transfer_protocol_select.js index c731dff2..f1b3dbed 100644 --- a/mods/system/file_transfer_protocol_select.js +++ b/core/file_transfer_protocol_select.js @@ -2,10 +2,10 @@ 'use strict'; // enigma-bbs -const MenuModule = require('../../core/menu_module.js').MenuModule; -const Config = require('../../core/config.js').config; -const stringFormat = require('../../core/string_format.js'); -const ViewController = require('../../core/view_controller.js').ViewController; +const MenuModule = require('./menu_module.js').MenuModule; +const Config = require('./config.js').config; +const stringFormat = require('./string_format.js'); +const ViewController = require('./view_controller.js').ViewController; // deps const async = require('async'); diff --git a/mods/system/last_callers.js b/core/last_callers.js similarity index 92% rename from mods/system/last_callers.js rename to core/last_callers.js index 85d4bef0..3a889468 100644 --- a/mods/system/last_callers.js +++ b/core/last_callers.js @@ -2,11 +2,11 @@ 'use strict'; // ENiGMA½ -const MenuModule = require('../../core/menu_module.js').MenuModule; -const ViewController = require('../../core/view_controller.js').ViewController; -const StatLog = require('../../core/stat_log.js'); -const User = require('../../core/user.js'); -const stringFormat = require('../../core/string_format.js'); +const MenuModule = require('./menu_module.js').MenuModule; +const ViewController = require('./view_controller.js').ViewController; +const StatLog = require('./stat_log.js'); +const User = require('./user.js'); +const stringFormat = require('./string_format.js'); // deps const moment = require('moment'); diff --git a/core/module_util.js b/core/module_util.js index b730d0ca..67e87306 100644 --- a/core/module_util.js +++ b/core/module_util.js @@ -102,7 +102,6 @@ function loadModulesForCategory(category, iterator, complete) { function getModulePaths() { return [ Config.paths.mods, - Config.paths.userMods, Config.paths.loginServers, Config.paths.contentServers, Config.paths.scannerTossers, diff --git a/mods/system/msg_area_list.js b/core/msg_area_list.js similarity index 91% rename from mods/system/msg_area_list.js rename to core/msg_area_list.js index 51b18953..eaedbef8 100644 --- a/mods/system/msg_area_list.js +++ b/core/msg_area_list.js @@ -2,12 +2,12 @@ 'use strict'; // ENiGMA½ -const MenuModule = require('../../core/menu_module.js').MenuModule; -const ViewController = require('../../core/view_controller.js').ViewController; -const messageArea = require('../../core/message_area.js'); -const displayThemeArt = require('../../core/theme.js').displayThemeArt; -const resetScreen = require('../../core/ansi_term.js').resetScreen; -const stringFormat = require('../../core/string_format.js'); +const MenuModule = require('./menu_module.js').MenuModule; +const ViewController = require('./view_controller.js').ViewController; +const messageArea = require('./message_area.js'); +const displayThemeArt = require('./theme.js').displayThemeArt; +const resetScreen = require('./ansi_term.js').resetScreen; +const stringFormat = require('./string_format.js'); // deps const async = require('async'); diff --git a/mods/system/msg_area_post_fse.js b/core/msg_area_post_fse.js similarity index 90% rename from mods/system/msg_area_post_fse.js rename to core/msg_area_post_fse.js index a0671f85..c13f39a6 100644 --- a/mods/system/msg_area_post_fse.js +++ b/core/msg_area_post_fse.js @@ -1,8 +1,8 @@ /* jslint node: true */ 'use strict'; -const FullScreenEditorModule = require('../../core/fse.js').FullScreenEditorModule; -const persistMessage = require('../../core/message_area.js').persistMessage; +const FullScreenEditorModule = require('./fse.js').FullScreenEditorModule; +const persistMessage = require('./message_area.js').persistMessage; const _ = require('lodash'); const async = require('async'); diff --git a/mods/system/msg_area_reply_fse.js b/core/msg_area_reply_fse.js similarity index 81% rename from mods/system/msg_area_reply_fse.js rename to core/msg_area_reply_fse.js index 497c8de7..24ee5377 100644 --- a/mods/system/msg_area_reply_fse.js +++ b/core/msg_area_reply_fse.js @@ -1,7 +1,7 @@ /* jslint node: true */ 'use strict'; -var FullScreenEditorModule = require('../../core/fse.js').FullScreenEditorModule; +var FullScreenEditorModule = require('./fse.js').FullScreenEditorModule; exports.getModule = AreaReplyFSEModule; diff --git a/mods/system/msg_area_view_fse.js b/core/msg_area_view_fse.js similarity index 95% rename from mods/system/msg_area_view_fse.js rename to core/msg_area_view_fse.js index 7cb5a1b8..02915f79 100644 --- a/mods/system/msg_area_view_fse.js +++ b/core/msg_area_view_fse.js @@ -2,8 +2,8 @@ 'use strict'; // ENiGMA½ -const FullScreenEditorModule = require('../../core/fse.js').FullScreenEditorModule; -const Message = require('../../core/message.js'); +const FullScreenEditorModule = require('./fse.js').FullScreenEditorModule; +const Message = require('./message.js'); // deps const _ = require('lodash'); diff --git a/mods/system/msg_conf_list.js b/core/msg_conf_list.js similarity index 89% rename from mods/system/msg_conf_list.js rename to core/msg_conf_list.js index 06e9d59b..6f42cf36 100644 --- a/mods/system/msg_conf_list.js +++ b/core/msg_conf_list.js @@ -2,12 +2,12 @@ 'use strict'; // ENiGMA½ -const MenuModule = require('../../core/menu_module.js').MenuModule; -const ViewController = require('../../core/view_controller.js').ViewController; -const messageArea = require('../../core/message_area.js'); -const displayThemeArt = require('../../core/theme.js').displayThemeArt; -const resetScreen = require('../../core/ansi_term.js').resetScreen; -const stringFormat = require('../../core/string_format.js'); +const MenuModule = require('./menu_module.js').MenuModule; +const ViewController = require('./view_controller.js').ViewController; +const messageArea = require('./message_area.js'); +const displayThemeArt = require('./theme.js').displayThemeArt; +const resetScreen = require('./ansi_term.js').resetScreen; +const stringFormat = require('./string_format.js'); // deps const async = require('async'); diff --git a/mods/system/msg_list.js b/core/msg_list.js similarity index 95% rename from mods/system/msg_list.js rename to core/msg_list.js index 28d1b609..e5a69e80 100644 --- a/mods/system/msg_list.js +++ b/core/msg_list.js @@ -2,11 +2,11 @@ 'use strict'; // ENiGMA½ -const MenuModule = require('../../core/menu_module.js').MenuModule; -const ViewController = require('../../core/view_controller.js').ViewController; -const messageArea = require('../../core/message_area.js'); -const stringFormat = require('../../core/string_format.js'); -const MessageAreaConfTempSwitcher = require('../../core/mod_mixins.js').MessageAreaConfTempSwitcher; +const MenuModule = require('./menu_module.js').MenuModule; +const ViewController = require('./view_controller.js').ViewController; +const messageArea = require('./message_area.js'); +const stringFormat = require('./string_format.js'); +const MessageAreaConfTempSwitcher = require('./mod_mixins.js').MessageAreaConfTempSwitcher; // deps const async = require('async'); diff --git a/mods/system/nua.js b/core/nua.js similarity index 91% rename from mods/system/nua.js rename to core/nua.js index 7b4611d6..7939e739 100644 --- a/mods/system/nua.js +++ b/core/nua.js @@ -2,12 +2,12 @@ 'use strict'; // ENiGMA½ -const MenuModule = require('../../core/menu_module.js').MenuModule; -const User = require('../../core/user.js'); -const theme = require('../../core/theme.js'); -const login = require('../../core/system_menu_method.js').login; -const Config = require('../../core/config.js').config; -const messageArea = require('../../core/message_area.js'); +const MenuModule = require('./menu_module.js').MenuModule; +const User = require('./user.js'); +const theme = require('./theme.js'); +const login = require('./system_menu_method.js').login; +const Config = require('./config.js').config; +const messageArea = require('./message_area.js'); exports.moduleInfo = { name : 'NUA', diff --git a/mods/system/onelinerz.js b/core/onelinerz.js similarity index 95% rename from mods/system/onelinerz.js rename to core/onelinerz.js index 416124c6..9e89addf 100644 --- a/mods/system/onelinerz.js +++ b/core/onelinerz.js @@ -2,17 +2,17 @@ 'use strict'; // ENiGMA½ -const MenuModule = require('../../core/menu_module.js').MenuModule; +const MenuModule = require('./menu_module.js').MenuModule; const { getModDatabasePath, getTransactionDatabase -} = require('../../core/database.js'); +} = require('./database.js'); -const ViewController = require('../../core/view_controller.js').ViewController; -const theme = require('../../core/theme.js'); -const ansi = require('../../core/ansi_term.js'); -const stringFormat = require('../../core/string_format.js'); +const ViewController = require('./view_controller.js').ViewController; +const theme = require('./theme.js'); +const ansi = require('./ansi_term.js'); +const stringFormat = require('./string_format.js'); // deps const sqlite3 = require('sqlite3'); diff --git a/mods/system/rumorz.js b/core/rumorz.js similarity index 92% rename from mods/system/rumorz.js rename to core/rumorz.js index e85271dc..b83853f0 100644 --- a/mods/system/rumorz.js +++ b/core/rumorz.js @@ -2,13 +2,13 @@ 'use strict'; // ENiGMA½ -const MenuModule = require('../../core/menu_module.js').MenuModule; -const ViewController = require('../../core/view_controller.js').ViewController; -const theme = require('../../core/theme.js'); -const resetScreen = require('../../core/ansi_term.js').resetScreen; -const StatLog = require('../../core/stat_log.js'); -const renderStringLength = require('../../core/string_util.js').renderStringLength; -const stringFormat = require('../../core/string_format.js'); +const MenuModule = require('./menu_module.js').MenuModule; +const ViewController = require('./view_controller.js').ViewController; +const theme = require('./theme.js'); +const resetScreen = require('./ansi_term.js').resetScreen; +const StatLog = require('./stat_log.js'); +const renderStringLength = require('./string_util.js').renderStringLength; +const stringFormat = require('./string_format.js'); // deps const async = require('async'); diff --git a/mods/system/telnet_bridge.js b/core/telnet_bridge.js similarity index 94% rename from mods/system/telnet_bridge.js rename to core/telnet_bridge.js index 42c73217..3232228a 100644 --- a/mods/system/telnet_bridge.js +++ b/core/telnet_bridge.js @@ -2,9 +2,9 @@ 'use strict'; // ENiGMA½ -const MenuModule = require('../../core/menu_module.js').MenuModule; -const resetScreen = require('../../core/ansi_term.js').resetScreen; -const setSyncTermFontWithAlias = require('../../core/ansi_term.js').setSyncTermFontWithAlias; +const MenuModule = require('./menu_module.js').MenuModule; +const resetScreen = require('./ansi_term.js').resetScreen; +const setSyncTermFontWithAlias = require('./ansi_term.js').setSyncTermFontWithAlias; // deps const async = require('async'); diff --git a/mods/system/upload.js b/core/upload.js similarity index 94% rename from mods/system/upload.js rename to core/upload.js index 8e545452..5a49a0ca 100644 --- a/mods/system/upload.js +++ b/core/upload.js @@ -2,20 +2,20 @@ 'use strict'; // enigma-bbs -const MenuModule = require('../../core/menu_module.js').MenuModule; -const stringFormat = require('../../core/string_format.js'); -const getSortedAvailableFileAreas = require('../../core/file_base_area.js').getSortedAvailableFileAreas; -const getAreaDefaultStorageDirectory = require('../../core/file_base_area.js').getAreaDefaultStorageDirectory; -const scanFile = require('../../core/file_base_area.js').scanFile; -const getFileAreaByTag = require('../../core/file_base_area.js').getFileAreaByTag; -const getDescFromFileName = require('../../core/file_base_area.js').getDescFromFileName; -const ansiGoto = require('../../core/ansi_term.js').goto; -const moveFileWithCollisionHandling = require('../../core/file_util.js').moveFileWithCollisionHandling; -const pathWithTerminatingSeparator = require('../../core/file_util.js').pathWithTerminatingSeparator; -const Log = require('../../core/logger.js').log; -const Errors = require('../../core/enig_error.js').Errors; -const FileEntry = require('../../core/file_entry.js'); -const isAnsi = require('../../core/string_util.js').isAnsi; +const MenuModule = require('./menu_module.js').MenuModule; +const stringFormat = require('./string_format.js'); +const getSortedAvailableFileAreas = require('./file_base_area.js').getSortedAvailableFileAreas; +const getAreaDefaultStorageDirectory = require('./file_base_area.js').getAreaDefaultStorageDirectory; +const scanFile = require('./file_base_area.js').scanFile; +const getFileAreaByTag = require('./file_base_area.js').getFileAreaByTag; +const getDescFromFileName = require('./file_base_area.js').getDescFromFileName; +const ansiGoto = require('./ansi_term.js').goto; +const moveFileWithCollisionHandling = require('./file_util.js').moveFileWithCollisionHandling; +const pathWithTerminatingSeparator = require('./file_util.js').pathWithTerminatingSeparator; +const Log = require('./logger.js').log; +const Errors = require('./enig_error.js').Errors; +const FileEntry = require('./file_entry.js'); +const isAnsi = require('./string_util.js').isAnsi; // deps const async = require('async'); diff --git a/mods/system/user_list.js b/core/user_list.js similarity index 91% rename from mods/system/user_list.js rename to core/user_list.js index 7b85b331..be85c586 100644 --- a/mods/system/user_list.js +++ b/core/user_list.js @@ -1,10 +1,10 @@ /* jslint node: true */ 'use strict'; -const MenuModule = require('../../core/menu_module.js').MenuModule; -const User = require('../../core/user.js'); -const ViewController = require('../../core/view_controller.js').ViewController; -const stringFormat = require('../../core/string_format.js'); +const MenuModule = require('./menu_module.js').MenuModule; +const User = require('./user.js'); +const ViewController = require('./view_controller.js').ViewController; +const stringFormat = require('./string_format.js'); const moment = require('moment'); const async = require('async'); diff --git a/mods/system/whos_online.js b/core/whos_online.js similarity index 87% rename from mods/system/whos_online.js rename to core/whos_online.js index cec3bb4b..6abd76ef 100644 --- a/mods/system/whos_online.js +++ b/core/whos_online.js @@ -2,10 +2,10 @@ 'use strict'; // ENiGMA½ -const MenuModule = require('../../core/menu_module.js').MenuModule; -const ViewController = require('../../core/view_controller.js').ViewController; -const getActiveNodeList = require('../../core/client_connections.js').getActiveNodeList; -const stringFormat = require('../../core/string_format.js'); +const MenuModule = require('./menu_module.js').MenuModule; +const ViewController = require('./view_controller.js').ViewController; +const getActiveNodeList = require('./client_connections.js').getActiveNodeList; +const stringFormat = require('./string_format.js'); // deps const async = require('async'); diff --git a/mods/user/.keep b/mods/.keep similarity index 100% rename from mods/user/.keep rename to mods/.keep From 32557975d9a589b9365bb0e8c51d6c132acd32cb Mon Sep 17 00:00:00 2001 From: David Stephens Date: Fri, 24 Nov 2017 23:33:45 +0000 Subject: [PATCH 3/7] Update mod paths in config.js --- core/config.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/core/config.js b/core/config.js index fa7d346c..506b5c28 100644 --- a/core/config.js +++ b/core/config.js @@ -191,8 +191,7 @@ function getDefaultConfig() { paths : { config : paths.join(__dirname, './../config/'), - mods : paths.join(__dirname, './../mods/system'), - userMods : paths.join(__dirname, './../mods/user'), + mods : paths.join(__dirname, './../mods/'), loginServers : paths.join(__dirname, './servers/login/'), contentServers : paths.join(__dirname, './servers/content/'), From 521e38d7e9ad10669e095767e2a4bb97ebaca60d Mon Sep 17 00:00:00 2001 From: David Stephens Date: Sat, 25 Nov 2017 22:45:19 +0000 Subject: [PATCH 4/7] Supply config path to main.js and oputil.js, rather than specific config file --- core/bbs.js | 8 +++++--- core/config.js | 4 ++-- core/config_util.js | 2 +- core/oputil/oputil_common.js | 5 +++-- 4 files changed, 11 insertions(+), 8 deletions(-) diff --git a/core/bbs.js b/core/bbs.js index 02058bce..43bf7cf3 100644 --- a/core/bbs.js +++ b/core/bbs.js @@ -29,11 +29,12 @@ const ENIGMA_COPYRIGHT = 'ENiGMA½ Copyright (c) 2014-2017 Bryan Ashby'; const HELP = `${ENIGMA_COPYRIGHT} usage: main.js +eg : main.js --config /enigma_install_path/config/ valid args: --version : display version --help : displays this help - --config PATH : override default config.hjson path + --config PATH : override default config path `; function printHelpAndExit() { @@ -56,7 +57,8 @@ function main() { return callback(null, configOverridePath || conf.getDefaultPath(), _.isString(configOverridePath)); }, function initConfig(configPath, configPathSupplied, callback) { - conf.init(resolvePath(configPath), function configInit(err) { + const configFile = configPath + 'config.hjson'; + conf.init(resolvePath(configFile), function configInit(err) { // // If the user supplied a path and we can't read/parse it @@ -65,7 +67,7 @@ function main() { if(err) { if('ENOENT' === err.code) { if(configPathSupplied) { - console.error('Configuration file does not exist: ' + configPath); + console.error('Configuration file does not exist: ' + configFile); } else { configPathSupplied = null; // make non-fatal; we'll go with defaults } diff --git a/core/config.js b/core/config.js index 506b5c28..a33efb99 100644 --- a/core/config.js +++ b/core/config.js @@ -111,8 +111,8 @@ function init(configPath, options, cb) { } function getDefaultPath() { - // e.g. /enigma-bbs-install-path/config/config.hjson - return './config/config.hjson'; + // e.g. /enigma-bbs-install-path/config/ + return './config/'; } function getDefaultConfig() { diff --git a/core/config_util.js b/core/config_util.js index 3ed7b98c..40723d9a 100644 --- a/core/config_util.js +++ b/core/config_util.js @@ -7,7 +7,7 @@ const paths = require('path'); exports.getFullConfig = getFullConfig; function getFullConfig(filePath, cb) { - // |filePath| is assumed to be in 'mods' if it's only a file name + // |filePath| is assumed to be in the config path if it's only a file name if('.' === paths.dirname(filePath)) { filePath = paths.join(Config.paths.config, filePath); } diff --git a/core/oputil/oputil_common.js b/core/oputil/oputil_common.js index 14edd518..e175a166 100644 --- a/core/oputil/oputil_common.js +++ b/core/oputil/oputil_common.js @@ -45,11 +45,12 @@ function printUsageAndSetExitCode(errMsg, exitCode) { } function getDefaultConfigPath() { - return './config/config.hjson'; + return './config/'; } function getConfigPath() { - return argv.config ? argv.config : config.getDefaultPath(); + const baseConfigPath = argv.config ? argv.config : config.getDefaultPath(); + return baseConfigPath + 'config.hjson'; } function initConfig(cb) { From 3e268f4b27cb4e6f938931d1dc5a9bbfd1b43531 Mon Sep 17 00:00:00 2001 From: David Stephens Date: Sat, 25 Nov 2017 23:08:38 +0000 Subject: [PATCH 5/7] Update docs to reflect config changes --- docs/config.md | 4 +--- docs/index.md | 4 ++-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/docs/config.md b/docs/config.md index 4e510b35..e2122f9f 100644 --- a/docs/config.md +++ b/docs/config.md @@ -2,9 +2,7 @@ Configuration files in ENiGMA½ are simple UTF-8 encoded [HJSON](http://hjson.org/) files. HJSON is just like JSON but simplified and much more resilient to human error. ## System Configuration -The main system configuration file, `config.hjson` both overrides defaults and provides additional configuration such as message areas. The default path is `~/.config/enigma-bbs/config.hjson` though you can override this with the `--config` parameter when invoking `main.js`. Values found in core/config.js may be overridden by simply providing the object members you wish replace. - -**Windows note**: **~** resolves to *C:\Users\YOURLOGINNAME\* on modern Windows installations, e.g. `C:\Users\NuSkooler\.config\enigma-bbs\config.hjson` +The main system configuration file, `config.hjson` both overrides defaults and provides additional configuration such as message areas. The default path is `/enigma-bbs-install-path/config.hjson` though you can override the `config.hjson` location with the `--config` parameter when invoking `main.js`. Values found in `core/config.js` may be overridden by simply providing the object members you wish replace. ### Creating a Configuration Your initial configuration skeleton can be created using the `oputil.js` command line utility. From your enigma-bbs root directory: diff --git a/docs/index.md b/docs/index.md index 909ff836..99f83e32 100644 --- a/docs/index.md +++ b/docs/index.md @@ -55,7 +55,7 @@ openssl genrsa -des3 -out ./misc/ssh_private_key.pem 2048 ``` ### Create a Minimal Config -The main system configuration is handled via `~/.config/enigma-bbs/config.hjson`. This is a [HJSON](http://hjson.org/) file (compiliant JSON is also OK). See [Configuration](config.md) for more information. +The main system configuration is handled via `/enigma-bbs-install-path/config/config.hjson`. This is a [HJSON](http://hjson.org/) file (compiliant JSON is also OK). See [Configuration](config.md) for more information. #### Via oputil.js `oputil.js` can be utilized to generate your **initial** configuration. **This is the recommended way for all new users**: @@ -110,7 +110,7 @@ Below is an _example_ configuration. It is recommended that you at least **start Read the Points of Interest below for more info. Also check-out all the other documentation files in the [docs](.) directory. ## Points of Interest -* **The first user you create via register/applying (user ID = 1) will be automatically be added to the `sysops` group. And thus becomes SysOp.** (aka root) +* **The first user you create via register/applying (user ID = 1) will be automatically be added to the `sysops` group, and thus becomes SysOp.** (aka root) * Default port for Telnet is 8888 and for SSH 8889 * Note that on *nix systems port such as telnet/23 are privileged (e.g. require root). See [this SO article](http://stackoverflow.com/questions/16573668/best-practices-when-running-node-js-with-port-80-ubuntu-linode) for some tips on using these ports on your system if desired. * All data is stored by default in Sqlite3 database files, within the `db` sub folder. Including user data, messages, system logs and file meta data. From b25b96d9dec5a46da8fa1ba2daf4b357f7e1b992 Mon Sep 17 00:00:00 2001 From: David Stephens Date: Sun, 26 Nov 2017 09:09:11 +0000 Subject: [PATCH 6/7] * Move default cert path into config * Update docs to reflect changes * More doc tweaks for new structure --- core/config.js | 18 +++++++++--------- docs/config.md | 2 +- docs/index.md | 2 +- docs/menu_system.md | 2 +- docs/modding.md | 2 +- docs/mods.md | 2 +- 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/core/config.js b/core/config.js index a33efb99..73f0fa28 100644 --- a/core/config.js +++ b/core/config.js @@ -124,8 +124,8 @@ function getDefaultConfig() { loginAttempts : 3, - menuFile : 'menu.hjson', // Override to use something else, e.g. demo.hjson. Can be a full path (defaults to ./mods) - promptFile : 'prompt.hjson', // Override to use soemthing else, e.g. myprompt.hjson. Can be a full path (defaults to ./mods) + menuFile : 'menu.hjson', // Override to use something else, e.g. demo.hjson. Can be a full path (defaults to ./config) + promptFile : 'prompt.hjson', // Override to use soemthing else, e.g. myprompt.hjson. Can be a full path (defaults to ./config) }, // :TODO: see notes below about 'theme' section - move this! @@ -215,18 +215,18 @@ function getDefaultConfig() { }, ssh : { port : 8889, - enabled : false, // defualt to false as PK/pass in config.hjson are required + enabled : false, // default to false as PK/pass in config.hjson are required // // Private key in PEM format // // Generating your PK: - // > openssl genrsa -des3 -out ./misc/ssh_private_key.pem 2048 + // > openssl genrsa -des3 -out ./config/ssh_private_key.pem 2048 // // Then, set servers.ssh.privateKeyPass to the password you use above // in your config.hjson // - privateKeyPem : paths.join(__dirname, './../misc/ssh_private_key.pem'), + privateKeyPem : paths.join(__dirname, './../config/ssh_private_key.pem'), firstMenu : 'sshConnected', firstMenuNewUser : 'sshConnectedNewUser', }, @@ -234,8 +234,8 @@ function getDefaultConfig() { port : 8810, // ws:// enabled : false, securePort : 8811, // wss:// - must provide certPem and keyPem - certPem : paths.join(__dirname, './../misc/https_cert.pem'), - keyPem : paths.join(__dirname, './../misc/https_cert_key.pem'), + certPem : paths.join(__dirname, './../config/https_cert.pem'), + keyPem : paths.join(__dirname, './../config/https_cert_key.pem'), }, }, @@ -271,8 +271,8 @@ function getDefaultConfig() { https : { enabled : false, port : 8443, - certPem : paths.join(__dirname, './../misc/https_cert.pem'), - keyPem : paths.join(__dirname, './../misc/https_cert_key.pem'), + certPem : paths.join(__dirname, './../config/https_cert.pem'), + keyPem : paths.join(__dirname, './../config/https_cert_key.pem'), } } }, diff --git a/docs/config.md b/docs/config.md index e2122f9f..98a6730f 100644 --- a/docs/config.md +++ b/docs/config.md @@ -2,7 +2,7 @@ Configuration files in ENiGMA½ are simple UTF-8 encoded [HJSON](http://hjson.org/) files. HJSON is just like JSON but simplified and much more resilient to human error. ## System Configuration -The main system configuration file, `config.hjson` both overrides defaults and provides additional configuration such as message areas. The default path is `/enigma-bbs-install-path/config.hjson` though you can override the `config.hjson` location with the `--config` parameter when invoking `main.js`. Values found in `core/config.js` may be overridden by simply providing the object members you wish replace. +The main system configuration file, `config.hjson` both overrides defaults and provides additional configuration such as message areas. The default path is `/enigma-bbs-install-path/config/config.hjson` though you can override the `config.hjson` location with the `--config` parameter when invoking `main.js`. Values found in `core/config.js` may be overridden by simply providing the object members you wish replace. ### Creating a Configuration Your initial configuration skeleton can be created using the `oputil.js` command line utility. From your enigma-bbs root directory: diff --git a/docs/index.md b/docs/index.md index 99f83e32..2320829c 100644 --- a/docs/index.md +++ b/docs/index.md @@ -51,7 +51,7 @@ npm install ## Generate a SSH Private Key To utilize the SSH server, a SSH Private Key will need generated. This step can be skipped if you do not wish to enable SSH access. ```bash -openssl genrsa -des3 -out ./misc/ssh_private_key.pem 2048 +openssl genrsa -des3 -out ./config/ssh_private_key.pem 2048 ``` ### Create a Minimal Config diff --git a/docs/menu_system.md b/docs/menu_system.md index 026ef648..aef51199 100644 --- a/docs/menu_system.md +++ b/docs/menu_system.md @@ -3,7 +3,7 @@ ENiGMA½'s menu system is highly flexible and moddable. The possibilities are al This document and others will refer to `menu.hjson`. This should be seen as an alias to `yourboardname.hjson` (or whatever you reference in `config.hjson` using the `menuFile` property — see below). By modifying your `menu.hjson` you will be able to create a custom experience unique to your board. -The default `menu.hjson` file lives within the `mods` directory. It is **highly recommended** to specify another file by setting the `menuFile` property in your `config.hjson` file: +The default `menu.hjson` file lives within the `config` directory. It is **highly recommended** to specify another file by setting the `menuFile` property in your `config.hjson` file: ```hjson general: { /* Can also specify a full path */ diff --git a/docs/modding.md b/docs/modding.md index 9449a91e..609729b4 100644 --- a/docs/modding.md +++ b/docs/modding.md @@ -7,7 +7,7 @@ See [Configuration](config.md) See [Menu System](menu_system.md) ## Theming -Take a look at how the default `luciano_blocktronics` theme found under `mods/themes` works! +Take a look at how the default `luciano_blocktronics` theme found under `art/themes` works! TODO document me! diff --git a/docs/mods.md b/docs/mods.md index 3abc7e2f..f73a3fc6 100644 --- a/docs/mods.md +++ b/docs/mods.md @@ -1,5 +1,5 @@ # Mods - +Custom mods should be added to `/enigma-install-path/mods`. ## Existing Mods * **Married Bob Fetch Event**: An event for fetching the latest Married Bob ANSI's for display on you board. ACiDic release [ACD-MB4E.ZIP](https://l33t.codes/outgoing/ACD/ACD-MB4E.ZIP). Can also be [found on GitHub](https://github.com/NuSkooler/enigma-bbs-married_bob_evt) From 10044b6749fc08fed83d89653a1acacbf792fa56 Mon Sep 17 00:00:00 2001 From: David Stephens Date: Sun, 26 Nov 2017 18:26:56 +0000 Subject: [PATCH 7/7] Switch to xxhash to save farmhash jiggery-pokery when initialising Docker image --- core/art.js | 4 ++-- package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/core/art.js b/core/art.js index 28657fc0..19e0bafe 100644 --- a/core/art.js +++ b/core/art.js @@ -14,7 +14,7 @@ const paths = require('path'); const assert = require('assert'); const iconv = require('iconv-lite'); const _ = require('lodash'); -const farmhash = require('farmhash'); +const xxhash = require('xxhash'); exports.getArt = getArt; exports.getArtFromPath = getArtFromPath; @@ -288,7 +288,7 @@ function display(client, art, options, cb) { } if(!options.disableMciCache) { - artHash = farmhash.hash32(art); + artHash = xxhash.hash(new Buffer(art), 0xCAFEBABE); // see if we have a mciMap cached for this art if(client.mciCache) { diff --git a/package.json b/package.json index 29bd16da..566a454d 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,6 @@ "buffers": "NuSkooler/node-buffers", "bunyan": "^1.8.12", "exiftool": "^0.0.3", - "farmhash": "^2.0.4", "fs-extra": "^4.0.1", "graceful-fs": "^4.1.11", "hashids": "^1.1.1", @@ -52,6 +51,7 @@ "uuid": "^3.1.0", "uuid-parse": "^1.0.0", "ws": "^3.1.0", + "xxhash": "^0.2.4", "yazl" : "^2.4.2" }, "devDependencies": {},