From 450857f4e0c3c2af43b7b576f5c9f4e48045ed35 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=B5=9C=EC=A4=80=ED=9D=A0?= Date: Wed, 16 Aug 2023 19:27:26 +0900 Subject: [PATCH] Apply .gitignore --- .gitignore | 152 - LICENSE | 22 - README.md | 67 - app/.htaccess | 6 - app/Common.php | 15 - app/Config/App.php | 450 - app/Config/Autoload.php | 97 - app/Config/Boot/development.php | 32 - app/Config/Boot/production.php | 21 - app/Config/Boot/testing.php | 32 - app/Config/CURLRequest.php | 20 - app/Config/Cache.php | 169 - app/Config/Constants.php | 297 - app/Config/ContentSecurityPolicy.php | 176 - app/Config/Cookie.php | 105 - app/Config/Database.php | 84 - app/Config/DocTypes.php | 43 - app/Config/Email.php | 117 - app/Config/Encryption.php | 83 - app/Config/Events.php | 48 - app/Config/Exceptions.php | 77 - app/Config/Feature.php | 30 - app/Config/Filters.php | 66 - app/Config/ForeignCharacters.php | 9 - app/Config/Format.php | 77 - app/Config/Generators.php | 40 - app/Config/Honeypot.php | 42 - app/Config/Images.php | 31 - app/Config/Kint.php | 51 - app/Config/Logger.php | 150 - app/Config/Migrations.php | 52 - app/Config/Mimes.php | 530 - app/Config/Modules.php | 76 - app/Config/Pager.php | 39 - app/Config/Paths.php | 75 - app/Config/Publisher.php | 28 - app/Config/Routes.php | 202 - app/Config/Routes_Shoppinmall.php | 188 - app/Config/Security.php | 101 - app/Config/Services.php | 32 - app/Config/Session.php | 102 - app/Config/Toolbar.php | 91 - app/Config/UserAgents.php | 252 - app/Config/Validation.php | 44 - app/Config/View.php | 56 - app/Controllers/Admin/AdminController.php | 19 - app/Controllers/Admin/BillingController.php | 46 - app/Controllers/Admin/BoardController.php | 121 - app/Controllers/Admin/CategoryController.php | 126 - app/Controllers/Admin/Home.php | 44 - app/Controllers/Admin/OrderController.php | 60 - app/Controllers/Admin/ProductController.php | 89 - app/Controllers/Admin/SitepageController.php | 47 - app/Controllers/Admin/UserController.php | 68 - app/Controllers/Admin/UserSNSController.php | 46 - app/Controllers/BaseController.php | 672 - app/Controllers/Front/BillingController.php | 72 - app/Controllers/Front/BoardController.php | 160 - app/Controllers/Front/FrontController.php | 69 - .../Front/Order/CartController.php | 164 - .../Front/Order/OrderController.php | 96 - .../Front/Order/Payment/CardController.php | 115 - .../Front/Order/Payment/DepositController.php | 80 - .../Front/Order/Payment/PaymentController.php | 107 - app/Controllers/Front/ProductController.php | 83 - app/Controllers/Front/SitepageController.php | 67 - app/Controllers/Front/UserController.php | 141 - app/Controllers/Home.php | 45 - app/Controllers/Trait/UpDownloadTrait.php | 95 - app/Database/Migrations/.gitkeep | 0 app/Database/Seeds/.gitkeep | 0 app/Database/Seeds/UserSeeder.php | 41 - app/Database/base.sql | 100 - app/Database/shoppingmall.sql | 176 - app/Entities/BaseEntity.php | 19 - app/Entities/BaseHierarchyEntity.php | 23 - app/Entities/BillingEntity.php | 31 - app/Entities/BoardEntity.php | 34 - app/Entities/CategoryEntity.php | 25 - app/Entities/OrderEntity.php | 27 - app/Entities/ProductEntity.php | 31 - app/Entities/SitepageEntity.php | 17 - app/Entities/UserEntity.php | 21 - app/Entities/UserSNSEntity.php | 17 - app/Filters/.gitkeep | 0 app/Filters/AuthFilter.php | 65 - app/Helpers/.gitkeep | 0 app/Helpers/Billing_helper.php | 201 - app/Helpers/Board_helper.php | 206 - app/Helpers/Card_helper.php | 103 - app/Helpers/Category_helper.php | 164 - app/Helpers/Common_helper.php | 223 - app/Helpers/Deposit_helper.php | 77 - app/Helpers/Order_helper.php | 198 - app/Helpers/Product_helper.php | 185 - app/Helpers/Sitepage_helper.php | 161 - app/Helpers/UserSNS_helper.php | 150 - app/Helpers/User_helper.php | 162 - app/Language/.gitkeep | 0 app/Language/ko/Billing.php | 21 - app/Language/ko/Board.php | 22 - app/Language/ko/Card.php | 16 - app/Language/ko/Cart.php | 9 - app/Language/ko/Category.php | 34 - app/Language/ko/Deposit.php | 9 - app/Language/ko/Order.php | 34 - app/Language/ko/Product.php | 29 - app/Language/ko/Sitepage.php | 15 - app/Language/ko/User.php | 25 - app/Language/ko/UserSNS.php | 22 - app/Language/ko/Validation.php | 4 - app/Libraries/.gitkeep | 0 app/Libraries/Adapter/API/API.php | 82 - app/Libraries/Adapter/API/CurlAPI.php | 209 - app/Libraries/Adapter/API/GuzzleAPI.php | 85 - app/Libraries/Adapter/API/LocalAdapter.php | 53 - app/Libraries/Adapter/Adapter.php | 15 - app/Libraries/Adapter/Auth/Auth.php | 82 - app/Libraries/Adapter/Auth/GoogleAuth.php | 131 - app/Libraries/Adapter/Auth/LocalAuth.php | 32 - .../Adapter/Payment/CookiePayment.php | 66 - app/Libraries/Adapter/Payment/Payment.php | 29 - app/Models/.gitkeep | 0 app/Models/BaseHierarchyModel.php | 67 - app/Models/BaseModel.php | 288 - app/Models/BillingModel.php | 94 - app/Models/BoardModel.php | 115 - app/Models/CategoryModel.php | 138 - app/Models/OrderModel.php | 120 - app/Models/ProductModel.php | 134 - app/Models/SitepageModel.php | 90 - app/Models/UserModel.php | 101 - app/Models/UserSNSModel.php | 71 - app/ThirdParty/.gitkeep | 0 app/Views/admin/billing/index.php | 48 - app/Views/admin/board/index.php | 48 - app/Views/admin/board/insert.php | 24 - app/Views/admin/board/reply.php | 24 - app/Views/admin/board/update.php | 24 - app/Views/admin/board/view.php | 19 - app/Views/admin/category/index.php | 48 - app/Views/admin/category/insert.php | 24 - .../admin/category/leftmenu_template.php | 14 - app/Views/admin/category/reply.php | 24 - app/Views/admin/category/update.php | 24 - app/Views/admin/category/view.php | 19 - app/Views/admin/order/index.php | 48 - app/Views/admin/order/update.php | 24 - app/Views/admin/order/view.php | 19 - app/Views/admin/product/index.php | 48 - app/Views/admin/product/insert.php | 24 - app/Views/admin/product/update.php | 24 - app/Views/admin/product/view.php | 19 - app/Views/admin/sitepage/index.php | 48 - app/Views/admin/sitepage/insert.php | 24 - app/Views/admin/sitepage/update.php | 24 - app/Views/admin/sitepage/view.php | 19 - app/Views/admin/user/index.php | 48 - app/Views/admin/user/insert.php | 24 - app/Views/admin/user/update.php | 24 - app/Views/admin/user/view.php | 19 - app/Views/admin/usersns/index.php | 48 - app/Views/admin/usersns/view.php | 19 - app/Views/admin/welcome_message.php | 5 - app/Views/errors/cli/error_404.php | 7 - app/Views/errors/cli/error_exception.php | 65 - app/Views/errors/cli/production.php | 5 - app/Views/errors/html/debug.css | 197 - app/Views/errors/html/debug.js | 116 - app/Views/errors/html/error_404.php | 84 - app/Views/errors/html/error_exception.php | 397 - app/Views/errors/html/production.php | 25 - app/Views/front/billing/index.php | 34 - app/Views/front/board/index.php | 52 - app/Views/front/board/insert.php | 24 - app/Views/front/board/reply.php | 24 - app/Views/front/board/update.php | 24 - app/Views/front/board/view.php | 21 - app/Views/front/order/card/update.php | 32 - app/Views/front/order/deposit/billing.php | 23 - app/Views/front/order/deposit/update.php | 44 - app/Views/front/order/index.php | 40 - app/Views/front/order/view.php | 21 - app/Views/front/product/index.php | 42 - app/Views/front/product/view.php | 75 - app/Views/front/sitepage/index.php | 14 - app/Views/front/user/index.php | 41 - app/Views/front/user/insert.php | 24 - app/Views/front/user/login.php | 41 - app/Views/front/user/login_v1.php | 37 - app/Views/front/user/update.php | 24 - app/Views/layouts/admin.php | 49 - app/Views/layouts/admin/left_menu.php | 10 - app/Views/layouts/admin/left_menu/base.php | 9 - app/Views/layouts/admin/left_menu/board.php | 16 - .../layouts/admin/left_menu/shoppingmall.php | 16 - app/Views/layouts/admin/make_password.php | 4 - app/Views/layouts/admin/top_navigator.php | 20 - .../admin/top_navigator/make_password.php | 5 - .../admin/top_navigator/member_link.php | 14 - .../layouts/admin/top_navigator/search.php | 4 - app/Views/layouts/empty.php | 34 - app/Views/layouts/front.php | 60 - app/Views/layouts/front/copyright.php | 12 - app/Views/layouts/front/left_menu.php | 6 - .../layouts/front/left_menu/leftmenu_11.php | 16 - .../layouts/front/left_menu/leftmenu_14.php | 13 - .../layouts/front/left_menu/leftmenu_15.php | 13 - .../layouts/front/left_menu/leftmenu_17.php | 13 - .../layouts/front/left_menu/leftmenu_18.php | 13 - .../layouts/front/left_menu/leftmenu_20.php | 13 - .../layouts/front/left_menu/leftmenu_21.php | 13 - .../layouts/front/left_menu/leftmenu_22.php | 16 - .../layouts/front/left_menu/leftmenu_24.php | 16 - .../layouts/front/left_menu/leftmenu_25.php | 16 - .../layouts/front/left_menu/leftmenu_26.php | 16 - .../layouts/front/left_menu/leftmenu_28.php | 16 - .../layouts/front/left_menu/leftmenu_3.php | 13 - .../layouts/front/left_menu/leftmenu_4.php | 13 - .../layouts/front/left_menu/leftmenu_5.php | 13 - .../layouts/front/left_menu/leftmenu_6.php | 13 - .../layouts/front/left_menu/leftmenu_8.php | 13 - .../layouts/front/left_menu/leftmenu_9.php | 13 - app/Views/layouts/front/top_menu.php | 44 - .../front/top_menu/top_menu_aboutus.php | 13 - .../front/top_menu/top_menu_hosting.php | 13 - .../front/top_menu/top_menu_network.php | 13 - .../front/top_menu/top_menu_peripheral.php | 14 - .../front/top_menu/top_menu_server.php | 13 - .../front/top_menu/top_menu_service.php | 13 - .../front/top_menu/top_menu_support.php | 13 - app/Views/layouts/front/top_navigator.php | 21 - .../front/top_navigator/member_link.php | 14 - .../layouts/front/top_navigator/search.php | 4 - .../front/top_navigator/top_center.php | 5 - app/Views/layouts/main.php | 71 - app/Views/layouts/main/board.php | 3 - app/Views/layouts/main/copyright.php | 12 - app/Views/layouts/main/main.php | 51 - app/Views/layouts/main/top_menu.php | 40 - .../main/top_menu/top_menu_aboutus.php | 13 - .../main/top_menu/top_menu_hosting.php | 13 - .../main/top_menu/top_menu_network.php | 13 - .../layouts/main/top_menu/top_menu_server.php | 13 - .../main/top_menu/top_menu_service.php | 13 - .../main/top_menu/top_menu_support.php | 13 - app/Views/layouts/main/top_navigator.php | 21 - .../main/top_navigator/member_link.php | 14 - .../layouts/main/top_navigator/search.php | 4 - .../layouts/main/top_navigator/top_center.php | 5 - app/Views/templates/Pagers/bootstrap_full.php | 34 - .../templates/Pagers/bootstrap_simple.php | 17 - app/Views/templates/admin/footer.php | 36 - app/Views/templates/admin/header.php | 9 - app/Views/templates/admin/index_head.php | 19 - app/Views/templates/empty/footer.php | 2 - app/Views/templates/empty/header.php | 1 - app/Views/templates/front/footer.php | 35 - app/Views/templates/front/header.php | 11 - app/Views/templates/front/index_head.php | 14 - .../templates/front/index_head_product.php | 17 - app/Views/welcome_message.php | 223 - app/index.html | 11 - builds | 125 - cfmgr_dataflow.png | Bin 127030 -> 0 bytes cfmgr_dataflow.xml | 1 - composer.json | 43 - phpunit.xml.dist | 57 - preload.php | 113 - public/.htaccess | 49 - public/css/admin.css | 53 - public/css/admin/content.css | 95 - public/css/admin/left_menu.css | 20 - public/css/admin/member_link.css | 17 - public/css/empty.css | 14 - public/css/front.css | 54 - public/css/front/billing.css | 18 - public/css/front/content.css | 96 - public/css/front/copyright.css | 8 - public/css/front/left_menu.css | 57 - public/css/front/login.css | 46 - public/css/front/login_v1.css | 50 - public/css/front/sitepage.css | 69 - public/css/front/top_menu.css | 70 - public/css/front/top_navigator.css | 24 - public/css/main.css | 196 - public/css/main/content.css | 96 - public/css/main/copyright.css | 8 - public/css/main/left_menu.css | 57 - public/css/main/login.css | 46 - public/css/main/login_v1.css | 50 - public/css/main/sitepage.css | 69 - public/css/main/top_menu.css | 72 - public/css/main/top_navigator.css | 24 - public/css/style.css | 33 - public/favicon.ico | Bin 5430 -> 0 bytes public/images/auth/google_login_button.png | Bin 2280 -> 0 bytes public/images/banner/sub_visual1.jpg | Bin 156725 -> 0 bytes public/images/banner/sub_visual2.jpg | Bin 65350 -> 0 bytes public/images/banner/sub_visual3.jpg | Bin 181277 -> 0 bytes public/images/banner/sub_visual4.jpg | Bin 103135 -> 0 bytes public/images/common/adminbg.png | Bin 147749 -> 0 bytes public/images/common/btn_login.png | Bin 23014 -> 0 bytes public/images/common/excel.png | Bin 881 -> 0 bytes public/images/common/menu_on.gif | Bin 2290 -> 0 bytes public/images/common/top.png | Bin 2565 -> 0 bytes public/images/common/top_skype.png | Bin 2166 -> 0 bytes public/images/main/bg_bnr.jpg | Bin 290719 -> 0 bytes public/images/main/bg_notice.gif | Bin 52245 -> 0 bytes public/images/main/icon1.png | Bin 3304 -> 0 bytes public/images/main/icon2.png | Bin 4430 -> 0 bytes public/images/main/icon3.png | Bin 3754 -> 0 bytes public/images/main/visual1.jpg | Bin 382312 -> 0 bytes public/images/main/visual2.jpg | Bin 430511 -> 0 bytes public/images/main/visual3.jpg | Bin 236665 -> 0 bytes public/images/sub/com_icon1.png | Bin 2532 -> 0 bytes public/images/sub/com_icon2.png | Bin 4746 -> 0 bytes public/images/sub/com_icon3.png | Bin 5005 -> 0 bytes public/images/sub/product_img1.jpg | Bin 29965 -> 0 bytes public/images/sub/product_img2.jpg | Bin 27995 -> 0 bytes public/images/sub/product_img3.jpg | Bin 31325 -> 0 bytes public/images/sub/sub1_1.jpg | Bin 148056 -> 0 bytes public/images/sub/sub2_1.jpg | Bin 40912 -> 0 bytes public/images/sub/sub2_1_icon.gif | Bin 3293 -> 0 bytes public/images/sub/sub2_1_skype.gif | Bin 1574 -> 0 bytes public/images/sub/sub2_2_tit.png | Bin 7001 -> 0 bytes public/images/sub/sub3_1.jpg | Bin 79848 -> 0 bytes public/images/sub/sub_visual1.jpg | Bin 156725 -> 0 bytes public/images/sub/sub_visual2.jpg | Bin 65350 -> 0 bytes public/images/sub/sub_visual3.jpg | Bin 181277 -> 0 bytes public/images/sub/sub_visual4.jpg | Bin 103135 -> 0 bytes public/index.php | 67 - public/js/admin.js | 104 - public/js/admin/side_menu.js | 14 - public/js/empty.js | 6 - public/js/front.js | 93 - public/js/main.js | 93 - public/js/popup.js | 54 - public/robots.txt | 2 - public/vendors/tinymce/tinymce/.npmignore | 2 - public/vendors/tinymce/tinymce/CHANGELOG.md | 3275 -- public/vendors/tinymce/tinymce/README.md | 71 - public/vendors/tinymce/tinymce/bower.json | 27 - public/vendors/tinymce/tinymce/composer.json | 52 - .../tinymce/tinymce/icons/default/icons.js | 194 - .../tinymce/icons/default/icons.min.js | 1 - .../tinymce/tinymce/icons/default/index.js | 7 - public/vendors/tinymce/tinymce/license.txt | 21 - .../tinymce/tinymce/models/dom/index.js | 7 - .../tinymce/tinymce/models/dom/model.js | 8040 ---- .../tinymce/tinymce/models/dom/model.min.js | 4 - public/vendors/tinymce/tinymce/package.json | 32 - .../tinymce/plugins/accordion/index.js | 7 - .../tinymce/plugins/accordion/plugin.js | 1033 - .../tinymce/plugins/accordion/plugin.min.js | 4 - .../tinymce/tinymce/plugins/advlist/index.js | 7 - .../tinymce/tinymce/plugins/advlist/plugin.js | 259 - .../tinymce/plugins/advlist/plugin.min.js | 4 - .../tinymce/tinymce/plugins/anchor/index.js | 7 - .../tinymce/tinymce/plugins/anchor/plugin.js | 214 - .../tinymce/plugins/anchor/plugin.min.js | 4 - .../tinymce/tinymce/plugins/autolink/index.js | 7 - .../tinymce/plugins/autolink/plugin.js | 228 - .../tinymce/plugins/autolink/plugin.min.js | 4 - .../tinymce/plugins/autoresize/index.js | 7 - .../tinymce/plugins/autoresize/plugin.js | 192 - .../tinymce/plugins/autoresize/plugin.min.js | 4 - .../tinymce/tinymce/plugins/autosave/index.js | 7 - .../tinymce/plugins/autosave/plugin.js | 233 - .../tinymce/plugins/autosave/plugin.min.js | 4 - .../tinymce/tinymce/plugins/charmap/index.js | 7 - .../tinymce/tinymce/plugins/charmap/plugin.js | 1658 - .../tinymce/plugins/charmap/plugin.min.js | 4 - .../tinymce/tinymce/plugins/code/index.js | 7 - .../tinymce/tinymce/plugins/code/plugin.js | 85 - .../tinymce/plugins/code/plugin.min.js | 4 - .../tinymce/plugins/codesample/index.js | 7 - .../tinymce/plugins/codesample/plugin.js | 2463 -- .../tinymce/plugins/codesample/plugin.min.js | 4 - .../tinymce/plugins/directionality/index.js | 7 - .../tinymce/plugins/directionality/plugin.js | 395 - .../plugins/directionality/plugin.min.js | 4 - .../tinymce/plugins/emoticons/index.js | 7 - .../plugins/emoticons/js/emojiimages.js | 1 - .../plugins/emoticons/js/emojiimages.min.js | 3 - .../tinymce/plugins/emoticons/js/emojis.js | 1 - .../plugins/emoticons/js/emojis.min.js | 2 - .../tinymce/plugins/emoticons/plugin.js | 595 - .../tinymce/plugins/emoticons/plugin.min.js | 4 - .../tinymce/plugins/fullscreen/index.js | 7 - .../tinymce/plugins/fullscreen/plugin.js | 1196 - .../tinymce/plugins/fullscreen/plugin.min.js | 4 - .../tinymce/tinymce/plugins/help/index.js | 7 - .../tinymce/plugins/help/js/i18n/keynav/ar.js | 90 - .../plugins/help/js/i18n/keynav/bg_BG.js | 90 - .../tinymce/plugins/help/js/i18n/keynav/ca.js | 90 - .../tinymce/plugins/help/js/i18n/keynav/cs.js | 90 - .../tinymce/plugins/help/js/i18n/keynav/da.js | 90 - .../tinymce/plugins/help/js/i18n/keynav/de.js | 90 - .../tinymce/plugins/help/js/i18n/keynav/el.js | 90 - .../tinymce/plugins/help/js/i18n/keynav/en.js | 90 - .../tinymce/plugins/help/js/i18n/keynav/es.js | 90 - .../tinymce/plugins/help/js/i18n/keynav/eu.js | 90 - .../tinymce/plugins/help/js/i18n/keynav/fa.js | 90 - .../tinymce/plugins/help/js/i18n/keynav/fi.js | 90 - .../plugins/help/js/i18n/keynav/fr_FR.js | 90 - .../plugins/help/js/i18n/keynav/he_IL.js | 90 - .../tinymce/plugins/help/js/i18n/keynav/hi.js | 90 - .../tinymce/plugins/help/js/i18n/keynav/hr.js | 90 - .../plugins/help/js/i18n/keynav/hu_HU.js | 90 - .../tinymce/plugins/help/js/i18n/keynav/id.js | 90 - .../tinymce/plugins/help/js/i18n/keynav/it.js | 90 - .../tinymce/plugins/help/js/i18n/keynav/ja.js | 90 - .../tinymce/plugins/help/js/i18n/keynav/kk.js | 90 - .../plugins/help/js/i18n/keynav/ko_KR.js | 90 - .../tinymce/plugins/help/js/i18n/keynav/ms.js | 90 - .../plugins/help/js/i18n/keynav/nb_NO.js | 90 - .../tinymce/plugins/help/js/i18n/keynav/nl.js | 90 - .../tinymce/plugins/help/js/i18n/keynav/pl.js | 90 - .../plugins/help/js/i18n/keynav/pt_BR.js | 90 - .../plugins/help/js/i18n/keynav/pt_PT.js | 90 - .../tinymce/plugins/help/js/i18n/keynav/ro.js | 90 - .../tinymce/plugins/help/js/i18n/keynav/ru.js | 90 - .../tinymce/plugins/help/js/i18n/keynav/sk.js | 90 - .../plugins/help/js/i18n/keynav/sl_SI.js | 90 - .../plugins/help/js/i18n/keynav/sv_SE.js | 90 - .../plugins/help/js/i18n/keynav/th_TH.js | 90 - .../tinymce/plugins/help/js/i18n/keynav/tr.js | 90 - .../tinymce/plugins/help/js/i18n/keynav/uk.js | 90 - .../tinymce/plugins/help/js/i18n/keynav/vi.js | 90 - .../plugins/help/js/i18n/keynav/zh_CN.js | 84 - .../plugins/help/js/i18n/keynav/zh_TW.js | 90 - .../tinymce/tinymce/plugins/help/plugin.js | 898 - .../tinymce/plugins/help/plugin.min.js | 4 - .../tinymce/tinymce/plugins/image/index.js | 7 - .../tinymce/tinymce/plugins/image/plugin.js | 1504 - .../tinymce/plugins/image/plugin.min.js | 4 - .../tinymce/plugins/importcss/index.js | 7 - .../tinymce/plugins/importcss/plugin.js | 344 - .../tinymce/plugins/importcss/plugin.min.js | 4 - .../tinymce/plugins/insertdatetime/index.js | 7 - .../tinymce/plugins/insertdatetime/plugin.js | 187 - .../plugins/insertdatetime/plugin.min.js | 4 - .../tinymce/tinymce/plugins/link/index.js | 7 - .../tinymce/tinymce/plugins/link/plugin.js | 1241 - .../tinymce/plugins/link/plugin.min.js | 4 - .../tinymce/tinymce/plugins/lists/index.js | 7 - .../tinymce/tinymce/plugins/lists/plugin.js | 1948 - .../tinymce/plugins/lists/plugin.min.js | 4 - .../tinymce/tinymce/plugins/media/index.js | 7 - .../tinymce/tinymce/plugins/media/plugin.js | 1235 - .../tinymce/plugins/media/plugin.min.js | 4 - .../tinymce/plugins/nonbreaking/index.js | 7 - .../tinymce/plugins/nonbreaking/plugin.js | 123 - .../tinymce/plugins/nonbreaking/plugin.min.js | 4 - .../tinymce/plugins/pagebreak/index.js | 7 - .../tinymce/plugins/pagebreak/plugin.js | 117 - .../tinymce/plugins/pagebreak/plugin.min.js | 4 - .../tinymce/tinymce/plugins/preview/index.js | 7 - .../tinymce/tinymce/plugins/preview/plugin.js | 97 - .../tinymce/plugins/preview/plugin.min.js | 4 - .../tinymce/plugins/quickbars/index.js | 7 - .../tinymce/plugins/quickbars/plugin.js | 438 - .../tinymce/plugins/quickbars/plugin.min.js | 4 - .../tinymce/tinymce/plugins/save/index.js | 7 - .../tinymce/tinymce/plugins/save/plugin.js | 118 - .../tinymce/plugins/save/plugin.min.js | 4 - .../tinymce/plugins/searchreplace/index.js | 7 - .../tinymce/plugins/searchreplace/plugin.js | 1093 - .../plugins/searchreplace/plugin.min.js | 4 - .../tinymce/tinymce/plugins/table/index.js | 7 - .../tinymce/tinymce/plugins/table/plugin.js | 3462 -- .../tinymce/plugins/table/plugin.min.js | 4 - .../tinymce/tinymce/plugins/template/index.js | 7 - .../tinymce/plugins/template/plugin.js | 567 - .../tinymce/plugins/template/plugin.min.js | 4 - .../tinymce/plugins/visualblocks/index.js | 7 - .../tinymce/plugins/visualblocks/plugin.js | 98 - .../plugins/visualblocks/plugin.min.js | 4 - .../tinymce/plugins/visualchars/index.js | 7 - .../tinymce/plugins/visualchars/plugin.js | 560 - .../tinymce/plugins/visualchars/plugin.min.js | 4 - .../tinymce/plugins/wordcount/index.js | 7 - .../tinymce/plugins/wordcount/plugin.js | 405 - .../tinymce/plugins/wordcount/plugin.min.js | 4 - .../tinymce/skins/content/dark/content.css | 66 - .../skins/content/dark/content.min.css | 1 - .../tinymce/skins/content/default/content.css | 61 - .../skins/content/default/content.min.css | 1 - .../skins/content/document/content.css | 66 - .../skins/content/document/content.min.css | 1 - .../skins/content/tinymce-5-dark/content.css | 66 - .../content/tinymce-5-dark/content.min.css | 1 - .../skins/content/tinymce-5/content.css | 61 - .../skins/content/tinymce-5/content.min.css | 1 - .../tinymce/skins/content/writer/content.css | 62 - .../skins/content/writer/content.min.css | 1 - .../tinymce/skins/ui/oxide-dark/content.css | 766 - .../skins/ui/oxide-dark/content.inline.css | 779 - .../ui/oxide-dark/content.inline.min.css | 1 - .../skins/ui/oxide-dark/content.min.css | 1 - .../tinymce/skins/ui/oxide-dark/skin.css | 3709 -- .../tinymce/skins/ui/oxide-dark/skin.min.css | 1 - .../skins/ui/oxide-dark/skin.shadowdom.css | 30 - .../ui/oxide-dark/skin.shadowdom.min.css | 1 - .../tinymce/skins/ui/oxide/content.css | 785 - .../tinymce/skins/ui/oxide/content.inline.css | 779 - .../skins/ui/oxide/content.inline.min.css | 1 - .../tinymce/skins/ui/oxide/content.min.css | 1 - .../tinymce/tinymce/skins/ui/oxide/skin.css | 3706 -- .../tinymce/skins/ui/oxide/skin.min.css | 1 - .../tinymce/skins/ui/oxide/skin.shadowdom.css | 30 - .../skins/ui/oxide/skin.shadowdom.min.css | 1 - .../skins/ui/tinymce-5-dark/content.css | 766 - .../ui/tinymce-5-dark/content.inline.css | 779 - .../ui/tinymce-5-dark/content.inline.min.css | 1 - .../skins/ui/tinymce-5-dark/content.min.css | 1 - .../tinymce/skins/ui/tinymce-5-dark/skin.css | 3800 -- .../skins/ui/tinymce-5-dark/skin.min.css | 1 - .../ui/tinymce-5-dark/skin.shadowdom.css | 30 - .../ui/tinymce-5-dark/skin.shadowdom.min.css | 1 - .../tinymce/skins/ui/tinymce-5/content.css | 785 - .../skins/ui/tinymce-5/content.inline.css | 779 - .../skins/ui/tinymce-5/content.inline.min.css | 1 - .../skins/ui/tinymce-5/content.min.css | 1 - .../tinymce/skins/ui/tinymce-5/skin.css | 3800 -- .../tinymce/skins/ui/tinymce-5/skin.min.css | 1 - .../skins/ui/tinymce-5/skin.shadowdom.css | 30 - .../skins/ui/tinymce-5/skin.shadowdom.min.css | 1 - .../tinymce/tinymce/themes/silver/index.js | 7 - .../tinymce/tinymce/themes/silver/theme.js | 30361 --------------- .../tinymce/themes/silver/theme.min.js | 4 - public/vendors/tinymce/tinymce/tinymce.d.ts | 3211 -- public/vendors/tinymce/tinymce/tinymce.js | 31297 ---------------- public/vendors/tinymce/tinymce/tinymce.min.js | 4 - spark | 99 - tests/OOPExampleTest.php | 31 - tests/README.md | 122 - .../2020-02-22-222222_example_migration.php | 37 - .../_support/Database/Seeds/ExampleSeeder.php | 41 - tests/_support/Libraries/ConfigReader.php | 17 - tests/_support/Models/ExampleModel.php | 24 - tests/database/ExampleDatabaseTest.php | 46 - tests/session/ExampleSessionTest.php | 18 - tests/unit/HealthTest.php | 50 - writable/.htaccess | 6 - writable/api/index.html | 11 - writable/billing/index.html | 11 - writable/cache/index.html | 11 - writable/download/index.html | 11 - writable/excel/index.html | 11 - writable/logs/index.html | 11 - writable/uploads/index.html | 11 - 553 files changed, 143540 deletions(-) delete mode 100644 .gitignore delete mode 100644 LICENSE delete mode 100644 README.md delete mode 100644 app/.htaccess delete mode 100644 app/Common.php delete mode 100644 app/Config/App.php delete mode 100644 app/Config/Autoload.php delete mode 100644 app/Config/Boot/development.php delete mode 100644 app/Config/Boot/production.php delete mode 100644 app/Config/Boot/testing.php delete mode 100644 app/Config/CURLRequest.php delete mode 100644 app/Config/Cache.php delete mode 100644 app/Config/Constants.php delete mode 100644 app/Config/ContentSecurityPolicy.php delete mode 100644 app/Config/Cookie.php delete mode 100644 app/Config/Database.php delete mode 100644 app/Config/DocTypes.php delete mode 100644 app/Config/Email.php delete mode 100644 app/Config/Encryption.php delete mode 100644 app/Config/Events.php delete mode 100644 app/Config/Exceptions.php delete mode 100644 app/Config/Feature.php delete mode 100644 app/Config/Filters.php delete mode 100644 app/Config/ForeignCharacters.php delete mode 100644 app/Config/Format.php delete mode 100644 app/Config/Generators.php delete mode 100644 app/Config/Honeypot.php delete mode 100644 app/Config/Images.php delete mode 100644 app/Config/Kint.php delete mode 100644 app/Config/Logger.php delete mode 100644 app/Config/Migrations.php delete mode 100644 app/Config/Mimes.php delete mode 100644 app/Config/Modules.php delete mode 100644 app/Config/Pager.php delete mode 100644 app/Config/Paths.php delete mode 100644 app/Config/Publisher.php delete mode 100644 app/Config/Routes.php delete mode 100644 app/Config/Routes_Shoppinmall.php delete mode 100644 app/Config/Security.php delete mode 100644 app/Config/Services.php delete mode 100644 app/Config/Session.php delete mode 100644 app/Config/Toolbar.php delete mode 100644 app/Config/UserAgents.php delete mode 100644 app/Config/Validation.php delete mode 100644 app/Config/View.php delete mode 100644 app/Controllers/Admin/AdminController.php delete mode 100644 app/Controllers/Admin/BillingController.php delete mode 100644 app/Controllers/Admin/BoardController.php delete mode 100644 app/Controllers/Admin/CategoryController.php delete mode 100644 app/Controllers/Admin/Home.php delete mode 100644 app/Controllers/Admin/OrderController.php delete mode 100644 app/Controllers/Admin/ProductController.php delete mode 100644 app/Controllers/Admin/SitepageController.php delete mode 100644 app/Controllers/Admin/UserController.php delete mode 100644 app/Controllers/Admin/UserSNSController.php delete mode 100644 app/Controllers/BaseController.php delete mode 100644 app/Controllers/Front/BillingController.php delete mode 100644 app/Controllers/Front/BoardController.php delete mode 100644 app/Controllers/Front/FrontController.php delete mode 100644 app/Controllers/Front/Order/CartController.php delete mode 100644 app/Controllers/Front/Order/OrderController.php delete mode 100644 app/Controllers/Front/Order/Payment/CardController.php delete mode 100644 app/Controllers/Front/Order/Payment/DepositController.php delete mode 100644 app/Controllers/Front/Order/Payment/PaymentController.php delete mode 100644 app/Controllers/Front/ProductController.php delete mode 100644 app/Controllers/Front/SitepageController.php delete mode 100644 app/Controllers/Front/UserController.php delete mode 100644 app/Controllers/Home.php delete mode 100644 app/Controllers/Trait/UpDownloadTrait.php delete mode 100644 app/Database/Migrations/.gitkeep delete mode 100644 app/Database/Seeds/.gitkeep delete mode 100644 app/Database/Seeds/UserSeeder.php delete mode 100644 app/Database/base.sql delete mode 100644 app/Database/shoppingmall.sql delete mode 100644 app/Entities/BaseEntity.php delete mode 100644 app/Entities/BaseHierarchyEntity.php delete mode 100644 app/Entities/BillingEntity.php delete mode 100644 app/Entities/BoardEntity.php delete mode 100644 app/Entities/CategoryEntity.php delete mode 100644 app/Entities/OrderEntity.php delete mode 100644 app/Entities/ProductEntity.php delete mode 100644 app/Entities/SitepageEntity.php delete mode 100644 app/Entities/UserEntity.php delete mode 100644 app/Entities/UserSNSEntity.php delete mode 100644 app/Filters/.gitkeep delete mode 100644 app/Filters/AuthFilter.php delete mode 100644 app/Helpers/.gitkeep delete mode 100644 app/Helpers/Billing_helper.php delete mode 100644 app/Helpers/Board_helper.php delete mode 100644 app/Helpers/Card_helper.php delete mode 100644 app/Helpers/Category_helper.php delete mode 100644 app/Helpers/Common_helper.php delete mode 100644 app/Helpers/Deposit_helper.php delete mode 100644 app/Helpers/Order_helper.php delete mode 100644 app/Helpers/Product_helper.php delete mode 100644 app/Helpers/Sitepage_helper.php delete mode 100644 app/Helpers/UserSNS_helper.php delete mode 100644 app/Helpers/User_helper.php delete mode 100644 app/Language/.gitkeep delete mode 100644 app/Language/ko/Billing.php delete mode 100644 app/Language/ko/Board.php delete mode 100644 app/Language/ko/Card.php delete mode 100644 app/Language/ko/Cart.php delete mode 100644 app/Language/ko/Category.php delete mode 100644 app/Language/ko/Deposit.php delete mode 100644 app/Language/ko/Order.php delete mode 100644 app/Language/ko/Product.php delete mode 100644 app/Language/ko/Sitepage.php delete mode 100644 app/Language/ko/User.php delete mode 100644 app/Language/ko/UserSNS.php delete mode 100644 app/Language/ko/Validation.php delete mode 100644 app/Libraries/.gitkeep delete mode 100644 app/Libraries/Adapter/API/API.php delete mode 100644 app/Libraries/Adapter/API/CurlAPI.php delete mode 100644 app/Libraries/Adapter/API/GuzzleAPI.php delete mode 100644 app/Libraries/Adapter/API/LocalAdapter.php delete mode 100644 app/Libraries/Adapter/Adapter.php delete mode 100644 app/Libraries/Adapter/Auth/Auth.php delete mode 100644 app/Libraries/Adapter/Auth/GoogleAuth.php delete mode 100644 app/Libraries/Adapter/Auth/LocalAuth.php delete mode 100644 app/Libraries/Adapter/Payment/CookiePayment.php delete mode 100644 app/Libraries/Adapter/Payment/Payment.php delete mode 100644 app/Models/.gitkeep delete mode 100644 app/Models/BaseHierarchyModel.php delete mode 100644 app/Models/BaseModel.php delete mode 100644 app/Models/BillingModel.php delete mode 100644 app/Models/BoardModel.php delete mode 100644 app/Models/CategoryModel.php delete mode 100644 app/Models/OrderModel.php delete mode 100644 app/Models/ProductModel.php delete mode 100644 app/Models/SitepageModel.php delete mode 100644 app/Models/UserModel.php delete mode 100644 app/Models/UserSNSModel.php delete mode 100644 app/ThirdParty/.gitkeep delete mode 100644 app/Views/admin/billing/index.php delete mode 100644 app/Views/admin/board/index.php delete mode 100644 app/Views/admin/board/insert.php delete mode 100644 app/Views/admin/board/reply.php delete mode 100644 app/Views/admin/board/update.php delete mode 100644 app/Views/admin/board/view.php delete mode 100644 app/Views/admin/category/index.php delete mode 100644 app/Views/admin/category/insert.php delete mode 100644 app/Views/admin/category/leftmenu_template.php delete mode 100644 app/Views/admin/category/reply.php delete mode 100644 app/Views/admin/category/update.php delete mode 100644 app/Views/admin/category/view.php delete mode 100644 app/Views/admin/order/index.php delete mode 100644 app/Views/admin/order/update.php delete mode 100644 app/Views/admin/order/view.php delete mode 100644 app/Views/admin/product/index.php delete mode 100644 app/Views/admin/product/insert.php delete mode 100644 app/Views/admin/product/update.php delete mode 100644 app/Views/admin/product/view.php delete mode 100644 app/Views/admin/sitepage/index.php delete mode 100644 app/Views/admin/sitepage/insert.php delete mode 100644 app/Views/admin/sitepage/update.php delete mode 100644 app/Views/admin/sitepage/view.php delete mode 100644 app/Views/admin/user/index.php delete mode 100644 app/Views/admin/user/insert.php delete mode 100644 app/Views/admin/user/update.php delete mode 100644 app/Views/admin/user/view.php delete mode 100644 app/Views/admin/usersns/index.php delete mode 100644 app/Views/admin/usersns/view.php delete mode 100644 app/Views/admin/welcome_message.php delete mode 100644 app/Views/errors/cli/error_404.php delete mode 100644 app/Views/errors/cli/error_exception.php delete mode 100644 app/Views/errors/cli/production.php delete mode 100644 app/Views/errors/html/debug.css delete mode 100644 app/Views/errors/html/debug.js delete mode 100644 app/Views/errors/html/error_404.php delete mode 100644 app/Views/errors/html/error_exception.php delete mode 100644 app/Views/errors/html/production.php delete mode 100644 app/Views/front/billing/index.php delete mode 100644 app/Views/front/board/index.php delete mode 100644 app/Views/front/board/insert.php delete mode 100644 app/Views/front/board/reply.php delete mode 100644 app/Views/front/board/update.php delete mode 100644 app/Views/front/board/view.php delete mode 100644 app/Views/front/order/card/update.php delete mode 100644 app/Views/front/order/deposit/billing.php delete mode 100644 app/Views/front/order/deposit/update.php delete mode 100644 app/Views/front/order/index.php delete mode 100644 app/Views/front/order/view.php delete mode 100644 app/Views/front/product/index.php delete mode 100644 app/Views/front/product/view.php delete mode 100644 app/Views/front/sitepage/index.php delete mode 100644 app/Views/front/user/index.php delete mode 100644 app/Views/front/user/insert.php delete mode 100644 app/Views/front/user/login.php delete mode 100644 app/Views/front/user/login_v1.php delete mode 100644 app/Views/front/user/update.php delete mode 100644 app/Views/layouts/admin.php delete mode 100644 app/Views/layouts/admin/left_menu.php delete mode 100644 app/Views/layouts/admin/left_menu/base.php delete mode 100644 app/Views/layouts/admin/left_menu/board.php delete mode 100644 app/Views/layouts/admin/left_menu/shoppingmall.php delete mode 100644 app/Views/layouts/admin/make_password.php delete mode 100644 app/Views/layouts/admin/top_navigator.php delete mode 100644 app/Views/layouts/admin/top_navigator/make_password.php delete mode 100644 app/Views/layouts/admin/top_navigator/member_link.php delete mode 100644 app/Views/layouts/admin/top_navigator/search.php delete mode 100644 app/Views/layouts/empty.php delete mode 100644 app/Views/layouts/front.php delete mode 100644 app/Views/layouts/front/copyright.php delete mode 100644 app/Views/layouts/front/left_menu.php delete mode 100644 app/Views/layouts/front/left_menu/leftmenu_11.php delete mode 100644 app/Views/layouts/front/left_menu/leftmenu_14.php delete mode 100644 app/Views/layouts/front/left_menu/leftmenu_15.php delete mode 100644 app/Views/layouts/front/left_menu/leftmenu_17.php delete mode 100644 app/Views/layouts/front/left_menu/leftmenu_18.php delete mode 100644 app/Views/layouts/front/left_menu/leftmenu_20.php delete mode 100644 app/Views/layouts/front/left_menu/leftmenu_21.php delete mode 100644 app/Views/layouts/front/left_menu/leftmenu_22.php delete mode 100644 app/Views/layouts/front/left_menu/leftmenu_24.php delete mode 100644 app/Views/layouts/front/left_menu/leftmenu_25.php delete mode 100644 app/Views/layouts/front/left_menu/leftmenu_26.php delete mode 100644 app/Views/layouts/front/left_menu/leftmenu_28.php delete mode 100644 app/Views/layouts/front/left_menu/leftmenu_3.php delete mode 100644 app/Views/layouts/front/left_menu/leftmenu_4.php delete mode 100644 app/Views/layouts/front/left_menu/leftmenu_5.php delete mode 100644 app/Views/layouts/front/left_menu/leftmenu_6.php delete mode 100644 app/Views/layouts/front/left_menu/leftmenu_8.php delete mode 100644 app/Views/layouts/front/left_menu/leftmenu_9.php delete mode 100644 app/Views/layouts/front/top_menu.php delete mode 100644 app/Views/layouts/front/top_menu/top_menu_aboutus.php delete mode 100644 app/Views/layouts/front/top_menu/top_menu_hosting.php delete mode 100644 app/Views/layouts/front/top_menu/top_menu_network.php delete mode 100644 app/Views/layouts/front/top_menu/top_menu_peripheral.php delete mode 100644 app/Views/layouts/front/top_menu/top_menu_server.php delete mode 100644 app/Views/layouts/front/top_menu/top_menu_service.php delete mode 100644 app/Views/layouts/front/top_menu/top_menu_support.php delete mode 100644 app/Views/layouts/front/top_navigator.php delete mode 100644 app/Views/layouts/front/top_navigator/member_link.php delete mode 100644 app/Views/layouts/front/top_navigator/search.php delete mode 100644 app/Views/layouts/front/top_navigator/top_center.php delete mode 100644 app/Views/layouts/main.php delete mode 100644 app/Views/layouts/main/board.php delete mode 100644 app/Views/layouts/main/copyright.php delete mode 100644 app/Views/layouts/main/main.php delete mode 100644 app/Views/layouts/main/top_menu.php delete mode 100644 app/Views/layouts/main/top_menu/top_menu_aboutus.php delete mode 100644 app/Views/layouts/main/top_menu/top_menu_hosting.php delete mode 100644 app/Views/layouts/main/top_menu/top_menu_network.php delete mode 100644 app/Views/layouts/main/top_menu/top_menu_server.php delete mode 100644 app/Views/layouts/main/top_menu/top_menu_service.php delete mode 100644 app/Views/layouts/main/top_menu/top_menu_support.php delete mode 100644 app/Views/layouts/main/top_navigator.php delete mode 100644 app/Views/layouts/main/top_navigator/member_link.php delete mode 100644 app/Views/layouts/main/top_navigator/search.php delete mode 100644 app/Views/layouts/main/top_navigator/top_center.php delete mode 100644 app/Views/templates/Pagers/bootstrap_full.php delete mode 100644 app/Views/templates/Pagers/bootstrap_simple.php delete mode 100644 app/Views/templates/admin/footer.php delete mode 100644 app/Views/templates/admin/header.php delete mode 100644 app/Views/templates/admin/index_head.php delete mode 100644 app/Views/templates/empty/footer.php delete mode 100644 app/Views/templates/empty/header.php delete mode 100644 app/Views/templates/front/footer.php delete mode 100644 app/Views/templates/front/header.php delete mode 100644 app/Views/templates/front/index_head.php delete mode 100644 app/Views/templates/front/index_head_product.php delete mode 100644 app/Views/welcome_message.php delete mode 100644 app/index.html delete mode 100644 builds delete mode 100644 cfmgr_dataflow.png delete mode 100644 cfmgr_dataflow.xml delete mode 100644 composer.json delete mode 100644 phpunit.xml.dist delete mode 100644 preload.php delete mode 100644 public/.htaccess delete mode 100644 public/css/admin.css delete mode 100644 public/css/admin/content.css delete mode 100644 public/css/admin/left_menu.css delete mode 100644 public/css/admin/member_link.css delete mode 100644 public/css/empty.css delete mode 100644 public/css/front.css delete mode 100644 public/css/front/billing.css delete mode 100644 public/css/front/content.css delete mode 100644 public/css/front/copyright.css delete mode 100644 public/css/front/left_menu.css delete mode 100644 public/css/front/login.css delete mode 100644 public/css/front/login_v1.css delete mode 100644 public/css/front/sitepage.css delete mode 100644 public/css/front/top_menu.css delete mode 100644 public/css/front/top_navigator.css delete mode 100644 public/css/main.css delete mode 100644 public/css/main/content.css delete mode 100644 public/css/main/copyright.css delete mode 100644 public/css/main/left_menu.css delete mode 100644 public/css/main/login.css delete mode 100644 public/css/main/login_v1.css delete mode 100644 public/css/main/sitepage.css delete mode 100644 public/css/main/top_menu.css delete mode 100644 public/css/main/top_navigator.css delete mode 100644 public/css/style.css delete mode 100644 public/favicon.ico delete mode 100644 public/images/auth/google_login_button.png delete mode 100644 public/images/banner/sub_visual1.jpg delete mode 100644 public/images/banner/sub_visual2.jpg delete mode 100644 public/images/banner/sub_visual3.jpg delete mode 100644 public/images/banner/sub_visual4.jpg delete mode 100644 public/images/common/adminbg.png delete mode 100644 public/images/common/btn_login.png delete mode 100644 public/images/common/excel.png delete mode 100644 public/images/common/menu_on.gif delete mode 100644 public/images/common/top.png delete mode 100644 public/images/common/top_skype.png delete mode 100644 public/images/main/bg_bnr.jpg delete mode 100644 public/images/main/bg_notice.gif delete mode 100644 public/images/main/icon1.png delete mode 100644 public/images/main/icon2.png delete mode 100644 public/images/main/icon3.png delete mode 100644 public/images/main/visual1.jpg delete mode 100644 public/images/main/visual2.jpg delete mode 100644 public/images/main/visual3.jpg delete mode 100644 public/images/sub/com_icon1.png delete mode 100644 public/images/sub/com_icon2.png delete mode 100644 public/images/sub/com_icon3.png delete mode 100644 public/images/sub/product_img1.jpg delete mode 100644 public/images/sub/product_img2.jpg delete mode 100644 public/images/sub/product_img3.jpg delete mode 100644 public/images/sub/sub1_1.jpg delete mode 100644 public/images/sub/sub2_1.jpg delete mode 100644 public/images/sub/sub2_1_icon.gif delete mode 100644 public/images/sub/sub2_1_skype.gif delete mode 100644 public/images/sub/sub2_2_tit.png delete mode 100644 public/images/sub/sub3_1.jpg delete mode 100644 public/images/sub/sub_visual1.jpg delete mode 100644 public/images/sub/sub_visual2.jpg delete mode 100644 public/images/sub/sub_visual3.jpg delete mode 100644 public/images/sub/sub_visual4.jpg delete mode 100644 public/index.php delete mode 100644 public/js/admin.js delete mode 100644 public/js/admin/side_menu.js delete mode 100644 public/js/empty.js delete mode 100644 public/js/front.js delete mode 100644 public/js/main.js delete mode 100644 public/js/popup.js delete mode 100644 public/robots.txt delete mode 100644 public/vendors/tinymce/tinymce/.npmignore delete mode 100644 public/vendors/tinymce/tinymce/CHANGELOG.md delete mode 100644 public/vendors/tinymce/tinymce/README.md delete mode 100644 public/vendors/tinymce/tinymce/bower.json delete mode 100644 public/vendors/tinymce/tinymce/composer.json delete mode 100644 public/vendors/tinymce/tinymce/icons/default/icons.js delete mode 100644 public/vendors/tinymce/tinymce/icons/default/icons.min.js delete mode 100644 public/vendors/tinymce/tinymce/icons/default/index.js delete mode 100644 public/vendors/tinymce/tinymce/license.txt delete mode 100644 public/vendors/tinymce/tinymce/models/dom/index.js delete mode 100644 public/vendors/tinymce/tinymce/models/dom/model.js delete mode 100644 public/vendors/tinymce/tinymce/models/dom/model.min.js delete mode 100644 public/vendors/tinymce/tinymce/package.json delete mode 100644 public/vendors/tinymce/tinymce/plugins/accordion/index.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/accordion/plugin.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/accordion/plugin.min.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/advlist/index.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/advlist/plugin.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/advlist/plugin.min.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/anchor/index.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/anchor/plugin.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/anchor/plugin.min.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/autolink/index.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/autolink/plugin.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/autolink/plugin.min.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/autoresize/index.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/autoresize/plugin.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/autoresize/plugin.min.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/autosave/index.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/autosave/plugin.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/autosave/plugin.min.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/charmap/index.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/charmap/plugin.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/charmap/plugin.min.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/code/index.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/code/plugin.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/code/plugin.min.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/codesample/index.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/codesample/plugin.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/codesample/plugin.min.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/directionality/index.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/directionality/plugin.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/directionality/plugin.min.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/emoticons/index.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/emoticons/js/emojiimages.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/emoticons/js/emojiimages.min.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/emoticons/js/emojis.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/emoticons/js/emojis.min.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/emoticons/plugin.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/emoticons/plugin.min.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/fullscreen/index.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/fullscreen/plugin.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/fullscreen/plugin.min.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/index.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/ar.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/bg_BG.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/ca.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/cs.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/da.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/de.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/el.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/en.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/es.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/eu.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/fa.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/fi.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/fr_FR.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/he_IL.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/hi.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/hr.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/hu_HU.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/id.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/it.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/ja.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/kk.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/ko_KR.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/ms.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/nb_NO.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/nl.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/pl.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/pt_BR.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/pt_PT.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/ro.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/ru.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/sk.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/sl_SI.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/sv_SE.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/th_TH.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/tr.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/uk.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/vi.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/zh_CN.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/js/i18n/keynav/zh_TW.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/plugin.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/help/plugin.min.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/image/index.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/image/plugin.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/image/plugin.min.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/importcss/index.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/importcss/plugin.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/importcss/plugin.min.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/insertdatetime/index.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/insertdatetime/plugin.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/insertdatetime/plugin.min.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/link/index.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/link/plugin.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/link/plugin.min.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/lists/index.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/lists/plugin.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/lists/plugin.min.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/media/index.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/media/plugin.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/media/plugin.min.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/nonbreaking/index.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/nonbreaking/plugin.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/nonbreaking/plugin.min.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/pagebreak/index.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/pagebreak/plugin.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/pagebreak/plugin.min.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/preview/index.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/preview/plugin.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/preview/plugin.min.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/quickbars/index.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/quickbars/plugin.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/quickbars/plugin.min.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/save/index.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/save/plugin.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/save/plugin.min.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/searchreplace/index.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/searchreplace/plugin.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/searchreplace/plugin.min.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/table/index.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/table/plugin.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/table/plugin.min.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/template/index.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/template/plugin.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/template/plugin.min.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/visualblocks/index.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/visualblocks/plugin.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/visualblocks/plugin.min.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/visualchars/index.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/visualchars/plugin.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/visualchars/plugin.min.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/wordcount/index.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/wordcount/plugin.js delete mode 100644 public/vendors/tinymce/tinymce/plugins/wordcount/plugin.min.js delete mode 100644 public/vendors/tinymce/tinymce/skins/content/dark/content.css delete mode 100644 public/vendors/tinymce/tinymce/skins/content/dark/content.min.css delete mode 100644 public/vendors/tinymce/tinymce/skins/content/default/content.css delete mode 100644 public/vendors/tinymce/tinymce/skins/content/default/content.min.css delete mode 100644 public/vendors/tinymce/tinymce/skins/content/document/content.css delete mode 100644 public/vendors/tinymce/tinymce/skins/content/document/content.min.css delete mode 100644 public/vendors/tinymce/tinymce/skins/content/tinymce-5-dark/content.css delete mode 100644 public/vendors/tinymce/tinymce/skins/content/tinymce-5-dark/content.min.css delete mode 100644 public/vendors/tinymce/tinymce/skins/content/tinymce-5/content.css delete mode 100644 public/vendors/tinymce/tinymce/skins/content/tinymce-5/content.min.css delete mode 100644 public/vendors/tinymce/tinymce/skins/content/writer/content.css delete mode 100644 public/vendors/tinymce/tinymce/skins/content/writer/content.min.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/oxide-dark/content.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/oxide-dark/content.inline.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/oxide-dark/content.inline.min.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/oxide-dark/content.min.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/oxide-dark/skin.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/oxide-dark/skin.min.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/oxide-dark/skin.shadowdom.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/oxide-dark/skin.shadowdom.min.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/oxide/content.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/oxide/content.inline.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/oxide/content.inline.min.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/oxide/content.min.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/oxide/skin.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/oxide/skin.min.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/oxide/skin.shadowdom.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/oxide/skin.shadowdom.min.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/tinymce-5-dark/content.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/tinymce-5-dark/content.inline.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/tinymce-5-dark/content.inline.min.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/tinymce-5-dark/content.min.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/tinymce-5-dark/skin.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/tinymce-5-dark/skin.min.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/tinymce-5-dark/skin.shadowdom.min.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/tinymce-5/content.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/tinymce-5/content.inline.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/tinymce-5/content.inline.min.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/tinymce-5/content.min.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/tinymce-5/skin.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/tinymce-5/skin.min.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/tinymce-5/skin.shadowdom.css delete mode 100644 public/vendors/tinymce/tinymce/skins/ui/tinymce-5/skin.shadowdom.min.css delete mode 100644 public/vendors/tinymce/tinymce/themes/silver/index.js delete mode 100644 public/vendors/tinymce/tinymce/themes/silver/theme.js delete mode 100644 public/vendors/tinymce/tinymce/themes/silver/theme.min.js delete mode 100644 public/vendors/tinymce/tinymce/tinymce.d.ts delete mode 100644 public/vendors/tinymce/tinymce/tinymce.js delete mode 100644 public/vendors/tinymce/tinymce/tinymce.min.js delete mode 100644 spark delete mode 100644 tests/OOPExampleTest.php delete mode 100644 tests/README.md delete mode 100644 tests/_support/Database/Migrations/2020-02-22-222222_example_migration.php delete mode 100644 tests/_support/Database/Seeds/ExampleSeeder.php delete mode 100644 tests/_support/Libraries/ConfigReader.php delete mode 100644 tests/_support/Models/ExampleModel.php delete mode 100644 tests/database/ExampleDatabaseTest.php delete mode 100644 tests/session/ExampleSessionTest.php delete mode 100644 tests/unit/HealthTest.php delete mode 100644 writable/.htaccess delete mode 100644 writable/api/index.html delete mode 100644 writable/billing/index.html delete mode 100644 writable/cache/index.html delete mode 100644 writable/download/index.html delete mode 100644 writable/excel/index.html delete mode 100644 writable/logs/index.html delete mode 100644 writable/uploads/index.html diff --git a/.gitignore b/.gitignore deleted file mode 100644 index d8626d5..0000000 --- a/.gitignore +++ /dev/null @@ -1,152 +0,0 @@ -#------------------------- -# Operating Specific Junk Files -#------------------------- - -# OS X -.DS_Store -.AppleDouble -.LSOverride - -# OS X Thumbnails -._* - -# Windows image file caches -Thumbs.db -ehthumbs.db -Desktop.ini - -# Recycle Bin used on file shares -$RECYCLE.BIN/ - -# Windows Installer files -*.cab -*.msi -*.msm -*.msp - -# Windows shortcuts -*.lnk - -# Linux -*~ - -# KDE directory preferences -.directory - -# Linux trash folder which might appear on any partition or disk -.Trash-* - -#------------------------- -# Environment Files -#------------------------- -# These should never be under version control, -# as it poses a security risk. -.env -.vagrant -Vagrantfile - -#------------------------- -# Temporary Files -#------------------------- -writable/cache/* -!writable/cache/index.html - -writable/logs/* -!writable/logs/index.html - -writable/session/* -!writable/session/index.html - -writable/uploads/* -!writable/uploads/index.html - -writable/debugbar/* - -php_errors.log - -#mapurl 결과물 -public/mapurl/index.html - -#추가 upload/download 파일 -writable/HPILO/* -!writable/HPILO/index.html - -writable/api/* -!writable/api/index.html - -writable/billing/* -!writable/billing/index.html - -writable/download/* -!writable/download/index.html - -writable/excel/* -!writable/excel/index.html - -public/uploads/* -public/upload_images/* - -#leftmenu 파일 -Views/layouts/front/left_menu/* -Views/layouts/main/board.php - -#------------------------- -# User Guide Temp Files -#------------------------- -user_guide_src/build/* -user_guide_src/cilexer/build/* -user_guide_src/cilexer/dist/* -user_guide_src/cilexer/pycilexer.egg-info/* - -#------------------------- -# Test Files -#------------------------- -tests/coverage* - -# Don't save phpunit under version control. -phpunit - -#------------------------- -# Composer -#------------------------- -composer.lock -vendor/ - -#------------------------- -# IDE / Development Files -#------------------------- - -# Modules Testing -_modules/* - -# phpenv local config -.php-version - -# Jetbrains editors (PHPStorm, etc) -.idea/ -*.iml - -# Netbeans -nbproject/ -build/ -nbbuild/ -nbdist/ -nbactions.xml -nb-configuration.xml -.nb-gradle/ - -# Sublime Text -*.tmlanguage.cache -*.tmPreferences.cache -*.stTheme.cache -*.sublime-workspace -*.sublime-project -.phpintel -/api/ - -# Visual Studio Code -.vscode/ - -/results/ -/phpunit*.xml -/.phpunit.*.cache \ No newline at end of file diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 0119e5f..0000000 --- a/LICENSE +++ /dev/null @@ -1,22 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2014-2019 British Columbia Institute of Technology -Copyright (c) 2019-2023 CodeIgniter Foundation - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/README.md b/README.md deleted file mode 100644 index ccbcf47..0000000 --- a/README.md +++ /dev/null @@ -1,67 +0,0 @@ -#Tips -#참고 : https://github.com/bundanining/Shopping-Cart-Solution-CodeIgniter -vscode와 Git의 대소문자 구분시키기 -git config core.ignorecase false - -# 1. CodeIgniter 4 Application Starter - -`composer create-project codeigniter4/appstarter 프로젝트명` - -## 2. Setup - -php.ini에 extension=intl 필요 -apache의 DocumentRoot "패키지명/public" 수정 후 restart 필요 -Copy `env` to `.env` and tailor for your app, specifically the baseURL and any database settings. -.env 수정 -CI_ENVIRONMENT = development - -# 3. 필요한 추가 패키지 - -composer require saleh7/proxmox-ve_php_api - -## 4. Running Development Server - -php spark serve - -## 5. Web접속 - -개발용 -> localhost:8080 -실서버 -> https://proxmox.idcjp.jp - -## 6. new Controller추가시 Config\Routes.php에 Routing설정 필요 - -$routes->get('/ProxmoxAPI', 'ProxmoxAPI::index'); - -## 7. composer.json의 "psr-4" 수정시 reload - -"psr-4": { -"Tests\\Support\\": "tests/\_support" -"APP\\": "app" -} -composer dump-autoload - -## 8. php spark 사용법 (https://onlinewebtutorblog.com/how-to-work-with-codeigniter-4-model-and-entity-tutorial/) - -- User Table 관련 - php spark migrate:create create_user_table --> table 생성 - php spark migrate --> table 적용 - php spark make:migration update_and_addfield_to_users_table --> 기존 table 내용변경없이 column변경시 - php spark migrate:refresh --> table 수정후 재생성 - php spark migrate:rollback - php spark migrate:status --> 상태보기 - -- 초기 데이터 넣기 - php spark make:seeder user --suffix - php spark db:seed UsersSeeder - -- mvc 생성 --suffix 추가필요 - php spark make:model user --suffix - php spark make:controller user --suffix - php spark make:entity user --suffix - -- auth용 - php spark make:filter AuthGuard - -## 9. Login관련 참조 - -https://www.jurisic.org/post/2022/11/28/How-to-make-simple-Authentication-with-CodeIgniter-4 diff --git a/app/.htaccess b/app/.htaccess deleted file mode 100644 index f24db0a..0000000 --- a/app/.htaccess +++ /dev/null @@ -1,6 +0,0 @@ - - Require all denied - - - Deny from all - diff --git a/app/Common.php b/app/Common.php deleted file mode 100644 index 23e3e61..0000000 --- a/app/Common.php +++ /dev/null @@ -1,15 +0,0 @@ - - */ - public array $allowedHostnames = []; - - /** - * -------------------------------------------------------------------------- - * Index File - * -------------------------------------------------------------------------- - * - * Typically this will be your index.php file, unless you've renamed it to - * something else. If you are using mod_rewrite to remove the page set this - * variable so that it is blank. - */ - //public string $indexPage = 'index.php'; - public string $indexPage = ''; - /** - * -------------------------------------------------------------------------- - * URI PROTOCOL - * -------------------------------------------------------------------------- - * - * This item determines which server global should be used to retrieve the - * URI string. The default setting of 'REQUEST_URI' works for most servers. - * If your links do not seem to work, try one of the other delicious flavors: - * - * 'REQUEST_URI' Uses $_SERVER['REQUEST_URI'] - * 'QUERY_STRING' Uses $_SERVER['QUERY_STRING'] - * 'PATH_INFO' Uses $_SERVER['PATH_INFO'] - * - * WARNING: If you set this to 'PATH_INFO', URIs will always be URL-decoded! - */ - public string $uriProtocol = 'REQUEST_URI'; - - /** - * -------------------------------------------------------------------------- - * Default Locale - * -------------------------------------------------------------------------- - * - * The Locale roughly represents the language and location that your visitor - * is viewing the site from. It affects the language strings and other - * strings (like currency markers, numbers, etc), that your program - * should run under for this request. - */ - public string $defaultLocale = 'en'; - - /** - * -------------------------------------------------------------------------- - * Negotiate Locale - * -------------------------------------------------------------------------- - * - * If true, the current Request object will automatically determine the - * language to use based on the value of the Accept-Language header. - * - * If false, no automatic detection will be performed. - */ - public bool $negotiateLocale = false; - - /** - * -------------------------------------------------------------------------- - * Supported Locales - * -------------------------------------------------------------------------- - * - * If $negotiateLocale is true, this array lists the locales supported - * by the application in descending order of priority. If no match is - * found, the first locale will be used. - * - * @var string[] - */ - public array $supportedLocales = ['en']; - - /** - * -------------------------------------------------------------------------- - * Application Timezone - * -------------------------------------------------------------------------- - * - * The default timezone that will be used in your application to display - * dates with the date helper, and can be retrieved through app_timezone() - */ - public string $appTimezone = 'UTC'; - - /** - * -------------------------------------------------------------------------- - * Default Character Set - * -------------------------------------------------------------------------- - * - * This determines which character set is used by default in various methods - * that require a character set to be provided. - * - * @see http://php.net/htmlspecialchars for a list of supported charsets. - */ - public string $charset = 'UTF-8'; - - /** - * -------------------------------------------------------------------------- - * URI PROTOCOL - * -------------------------------------------------------------------------- - * - * If true, this will force every request made to this application to be - * made via a secure connection (HTTPS). If the incoming request is not - * secure, the user will be redirected to a secure version of the page - * and the HTTP Strict Transport Security header will be set. - */ - public bool $forceGlobalSecureRequests = false; - - /** - * -------------------------------------------------------------------------- - * Session Driver - * -------------------------------------------------------------------------- - * - * The session storage driver to use: - * - `CodeIgniter\Session\Handlers\FileHandler` - * - `CodeIgniter\Session\Handlers\DatabaseHandler` - * - `CodeIgniter\Session\Handlers\MemcachedHandler` - * - `CodeIgniter\Session\Handlers\RedisHandler` - * - * @deprecated use Config\Session::$driver instead. - */ - public string $sessionDriver = FileHandler::class; - - /** - * -------------------------------------------------------------------------- - * Session Cookie Name - * -------------------------------------------------------------------------- - * - * The session cookie name, must contain only [0-9a-z_-] characters - * - * @deprecated use Config\Session::$cookieName instead. - */ - public string $sessionCookieName = 'ci_session'; - - /** - * -------------------------------------------------------------------------- - * Session Expiration - * -------------------------------------------------------------------------- - * - * The number of SECONDS you want the session to last. - * Setting to 0 (zero) means expire when the browser is closed. - * - * @deprecated use Config\Session::$expiration instead. - */ - public int $sessionExpiration = 7200; - - /** - * -------------------------------------------------------------------------- - * Session Save Path - * -------------------------------------------------------------------------- - * - * The location to save sessions to and is driver dependent. - * - * For the 'files' driver, it's a path to a writable directory. - * WARNING: Only absolute paths are supported! - * - * For the 'database' driver, it's a table name. - * Please read up the manual for the format with other session drivers. - * - * IMPORTANT: You are REQUIRED to set a valid save path! - * - * @deprecated use Config\Session::$savePath instead. - */ - public string $sessionSavePath = WRITEPATH . 'session'; - - /** - * -------------------------------------------------------------------------- - * Session Match IP - * -------------------------------------------------------------------------- - * - * Whether to match the user's IP address when reading the session data. - * - * WARNING: If you're using the database driver, don't forget to update - * your session table's PRIMARY KEY when changing this setting. - * - * @deprecated use Config\Session::$matchIP instead. - */ - public bool $sessionMatchIP = false; - - /** - * -------------------------------------------------------------------------- - * Session Time to Update - * -------------------------------------------------------------------------- - * - * How many seconds between CI regenerating the session ID. - * - * @deprecated use Config\Session::$timeToUpdate instead. - */ - public int $sessionTimeToUpdate = 300; - - /** - * -------------------------------------------------------------------------- - * Session Regenerate Destroy - * -------------------------------------------------------------------------- - * - * Whether to destroy session data associated with the old session ID - * when auto-regenerating the session ID. When set to FALSE, the data - * will be later deleted by the garbage collector. - * - * @deprecated use Config\Session::$regenerateDestroy instead. - */ - public bool $sessionRegenerateDestroy = false; - - /** - * -------------------------------------------------------------------------- - * Session Database Group - * -------------------------------------------------------------------------- - * - * DB Group for the database session. - * - * @deprecated use Config\Session::$DBGroup instead. - */ - public ?string $sessionDBGroup = null; - - /** - * -------------------------------------------------------------------------- - * Cookie Prefix - * -------------------------------------------------------------------------- - * - * Set a cookie name prefix if you need to avoid collisions. - * - * @deprecated use Config\Cookie::$prefix property instead. - */ - public string $cookiePrefix = ''; - - /** - * -------------------------------------------------------------------------- - * Cookie Domain - * -------------------------------------------------------------------------- - * - * Set to `.your-domain.com` for site-wide cookies. - * - * @deprecated use Config\Cookie::$domain property instead. - */ - public string $cookieDomain = ''; - - /** - * -------------------------------------------------------------------------- - * Cookie Path - * -------------------------------------------------------------------------- - * - * Typically will be a forward slash. - * - * @deprecated use Config\Cookie::$path property instead. - */ - public string $cookiePath = '/'; - - /** - * -------------------------------------------------------------------------- - * Cookie Secure - * -------------------------------------------------------------------------- - * - * Cookie will only be set if a secure HTTPS connection exists. - * - * @deprecated use Config\Cookie::$secure property instead. - */ - public bool $cookieSecure = false; - - /** - * -------------------------------------------------------------------------- - * Cookie HttpOnly - * -------------------------------------------------------------------------- - * - * Cookie will only be accessible via HTTP(S) (no JavaScript). - * - * @deprecated use Config\Cookie::$httponly property instead. - */ - public bool $cookieHTTPOnly = true; - - /** - * -------------------------------------------------------------------------- - * Cookie SameSite - * -------------------------------------------------------------------------- - * - * Configure cookie SameSite setting. Allowed values are: - * - None - * - Lax - * - Strict - * - '' - * - * Alternatively, you can use the constant names: - * - `Cookie::SAMESITE_NONE` - * - `Cookie::SAMESITE_LAX` - * - `Cookie::SAMESITE_STRICT` - * - * Defaults to `Lax` for compatibility with modern browsers. Setting `''` - * (empty string) means default SameSite attribute set by browsers (`Lax`) - * will be set on cookies. If set to `None`, `$cookieSecure` must also be set. - * - * @deprecated use Config\Cookie::$samesite property instead. - */ - public ?string $cookieSameSite = 'Lax'; - - /** - * -------------------------------------------------------------------------- - * Reverse Proxy IPs - * -------------------------------------------------------------------------- - * - * If your server is behind a reverse proxy, you must whitelist the proxy - * IP addresses from which CodeIgniter should trust headers such as - * X-Forwarded-For or Client-IP in order to properly identify - * the visitor's IP address. - * - * You need to set a proxy IP address or IP address with subnets and - * the HTTP header for the client IP address. - * - * Here are some examples: - * [ - * '10.0.1.200' => 'X-Forwarded-For', - * '192.168.5.0/24' => 'X-Real-IP', - * ] - * - * @var array - */ - public array $proxyIPs = []; - - /** - * -------------------------------------------------------------------------- - * CSRF Token Name - * -------------------------------------------------------------------------- - * - * The token name. - * - * @deprecated Use `Config\Security` $tokenName property instead of using this property. - */ - public string $CSRFTokenName = 'csrf_test_name'; - - /** - * -------------------------------------------------------------------------- - * CSRF Header Name - * -------------------------------------------------------------------------- - * - * The header name. - * - * @deprecated Use `Config\Security` $headerName property instead of using this property. - */ - public string $CSRFHeaderName = 'X-CSRF-TOKEN'; - - /** - * -------------------------------------------------------------------------- - * CSRF Cookie Name - * -------------------------------------------------------------------------- - * - * The cookie name. - * - * @deprecated Use `Config\Security` $cookieName property instead of using this property. - */ - public string $CSRFCookieName = 'csrf_cookie_name'; - - /** - * -------------------------------------------------------------------------- - * CSRF Expire - * -------------------------------------------------------------------------- - * - * The number in seconds the token should expire. - * - * @deprecated Use `Config\Security` $expire property instead of using this property. - */ - public int $CSRFExpire = 7200; - - /** - * -------------------------------------------------------------------------- - * CSRF Regenerate - * -------------------------------------------------------------------------- - * - * Regenerate token on every submission? - * - * @deprecated Use `Config\Security` $regenerate property instead of using this property. - */ - public bool $CSRFRegenerate = true; - - /** - * -------------------------------------------------------------------------- - * CSRF Redirect - * -------------------------------------------------------------------------- - * - * Redirect to previous page with error on failure? - * - * @deprecated Use `Config\Security` $redirect property instead of using this property. - */ - public bool $CSRFRedirect = false; - - /** - * -------------------------------------------------------------------------- - * CSRF SameSite - * -------------------------------------------------------------------------- - * - * Setting for CSRF SameSite cookie token. Allowed values are: - * - None - * - Lax - * - Strict - * - '' - * - * Defaults to `Lax` as recommended in this link: - * - * @see https://portswigger.net/web-security/csrf/samesite-cookies - * - * @deprecated `Config\Cookie` $samesite property is used. - */ - public string $CSRFSameSite = 'Lax'; - - /** - * -------------------------------------------------------------------------- - * Content Security Policy - * -------------------------------------------------------------------------- - * - * Enables the Response's Content Secure Policy to restrict the sources that - * can be used for images, scripts, CSS files, audio, video, etc. If enabled, - * the Response object will populate default values for the policy from the - * `ContentSecurityPolicy.php` file. Controllers can always add to those - * restrictions at run time. - * - * For a better understanding of CSP, see these documents: - * - * @see http://www.html5rocks.com/en/tutorials/security/content-security-policy/ - * @see http://www.w3.org/TR/CSP/ - */ - public bool $CSPEnabled = false; -} diff --git a/app/Config/Autoload.php b/app/Config/Autoload.php deleted file mode 100644 index abd9df9..0000000 --- a/app/Config/Autoload.php +++ /dev/null @@ -1,97 +0,0 @@ - SYSTEMPATH, - * 'App' => APPPATH - * ]; - * - * @var array|string> - * @phpstan-var array> - */ - public $psr4 = [ - APP_NAMESPACE => APPPATH, // For custom app namespace - 'Config' => APPPATH . 'Config', - ]; - - /** - * ------------------------------------------------------------------- - * Class Map - * ------------------------------------------------------------------- - * The class map provides a map of class names and their exact - * location on the drive. Classes loaded in this manner will have - * slightly faster performance because they will not have to be - * searched for within one or more directories as they would if they - * were being autoloaded through a namespace. - * - * Prototype: - * $classmap = [ - * 'MyClass' => '/path/to/class/file.php' - * ]; - * - * @var array - */ - public $classmap = []; - - /** - * ------------------------------------------------------------------- - * Files - * ------------------------------------------------------------------- - * The files array provides a list of paths to __non-class__ files - * that will be autoloaded. This can be useful for bootstrap operations - * or for loading functions. - * - * Prototype: - * $files = [ - * '/path/to/my/file.php', - * ]; - * - * @var string[] - * @phpstan-var list - */ - public $files = []; - - /** - * ------------------------------------------------------------------- - * Helpers - * ------------------------------------------------------------------- - * Prototype: - * $helpers = [ - * 'form', - * ]; - * - * @var string[] - * @phpstan-var list - */ - public $helpers = []; -} diff --git a/app/Config/Boot/development.php b/app/Config/Boot/development.php deleted file mode 100644 index 05a8612..0000000 --- a/app/Config/Boot/development.php +++ /dev/null @@ -1,32 +0,0 @@ - - */ - public array $file = [ - 'storePath' => WRITEPATH . 'cache/', - 'mode' => 0640, - ]; - - /** - * ------------------------------------------------------------------------- - * Memcached settings - * ------------------------------------------------------------------------- - * Your Memcached servers can be specified below, if you are using - * the Memcached drivers. - * - * @see https://codeigniter.com/user_guide/libraries/caching.html#memcached - * - * @var array - */ - public array $memcached = [ - 'host' => '127.0.0.1', - 'port' => 11211, - 'weight' => 1, - 'raw' => false, - ]; - - /** - * ------------------------------------------------------------------------- - * Redis settings - * ------------------------------------------------------------------------- - * Your Redis server can be specified below, if you are using - * the Redis or Predis drivers. - * - * @var array - */ - public array $redis = [ - 'host' => '127.0.0.1', - 'password' => null, - 'port' => 6379, - 'timeout' => 0, - 'database' => 0, - ]; - - /** - * -------------------------------------------------------------------------- - * Available Cache Handlers - * -------------------------------------------------------------------------- - * - * This is an array of cache engine alias' and class names. Only engines - * that are listed here are allowed to be used. - * - * @var array - */ - public array $validHandlers = [ - 'dummy' => DummyHandler::class, - 'file' => FileHandler::class, - 'memcached' => MemcachedHandler::class, - 'predis' => PredisHandler::class, - 'redis' => RedisHandler::class, - 'wincache' => WincacheHandler::class, - ]; -} diff --git a/app/Config/Constants.php b/app/Config/Constants.php deleted file mode 100644 index b05e584..0000000 --- a/app/Config/Constants.php +++ /dev/null @@ -1,297 +0,0 @@ - [ - 'path' => 'layouts' . DIRECTORY_SEPARATOR . 'empty', - 'stylesheets' => [ - '', - '', - '', - ], - 'javascripts' => [ - '', - ] - ], - 'front' => [ - 'path' => 'layouts' . DIRECTORY_SEPARATOR . 'front', - 'stylesheets' => [ - '', - '', - '', - '', - '', - '', - '', - '', - ], - 'javascripts' => [ - '', - '', - '', - '', - '', - ] - ], - 'admin' => [ - 'path' => 'layouts' . DIRECTORY_SEPARATOR . 'admin', - 'stylesheets' => [ - '', - '', - '', - '', - '', - '', - '', - '', - ], - 'javascripts' => [ - '', - '', - '', - '', - '', - ] - ], - 'main' => [ - 'path' => 'layouts' . DIRECTORY_SEPARATOR . 'main', - 'stylesheets' => [ - '', - '', - '', - '', - '', - '', - '', - '', - ], - 'javascripts' => [ - '', - '', - '', - '', - '', - ] - ], -]); - -//URL -define('URLS', [ - 'LOGIN' => '/front/user/login', - 'SIGNUP' => '/front/user/signup', - 'LOGOUT' => '/front/user/logout', - 'Order' => '/front/order', - 'addCart' => '/front/order/addCart', - 'cancelCart' => '/front/order/cancelCart', - 'cardPayment' => '/front/order/payment/card', - 'depositPayment' => '/front/order/payment/deposit', -]); -//SESSION 관련 -define('SESSION_NAMES', [ - 'RETURN_URL' => "return_url", - 'ISLOGIN' => "islogined", - 'AUTH' => 'auth', - 'CART' => 'cart' -]); -define('AUTH_FIELDS', ['ID' => 'id', 'TITLE' => 'title', 'ROLE' => 'role']); -//월이용권 상품의 Category번호 -define('RENTAL_PRODUCT_CATEGORYS', [5, 8]); -//인증 관련 -define('AUTH_ADAPTERS', [ - 'Local' => [ - 'DEBUG' => getenv("auth.loca.debug") ?: false, - ], - 'Google' => [ - 'DEBUG' => getenv("auth.google.debug") ?: false, - 'ICON' => getenv("auth.google.icon") ?: '', - 'CLIENT_ID' => getenv("auth.google.client.id"), - 'CLIENT_KEY' => getenv("auth.google.client.key"), - 'CALLBACK_URL' => getenv("auth.google.client.callback_url"), - 'TOKEN_NAME' => getenv('auth.google.client.token_name') ?: "access_token", - ], -]); - -define("MALLS", [ - "support" => "support@idcjp.jp", - "master" => "master@idcjp.jp", - "title" => "Mall Master" -]); - -//Upload , Download 관련 -define('PATHS', [ - 'EXCEL' => WRITEPATH . "excel/", - 'BILLING' => WRITEPATH . "billing/", - 'UPLOAD' => WRITEPATH . "uploads/", - 'UPLOAD_IMAGE' => FCPATH . 'upload_images/', - 'DOWNLOAD' => WRITEPATH . "download/", - 'API' => WRITEPATH . "api/", -]); -foreach (PATHS as $key => $path) { - if (!is_dir($path)) { - mkdir($path, 0755); - } -} - -//아이콘 및 Sound관련 -define('ICONS', [ - 'LOGIN' => '', - 'LOGOUT' => '', - 'LOCK' => '', - 'NEW' => '', - 'REPLY' => '', - 'DELETE' => '', - 'RELOAD' => '', - 'SETUP' => '', - 'FLAG' => '', - 'SEARCH' => '', - 'EXCEL' => '', - 'HOME' => '', - 'PLAY' => '', - 'CART' => '', - 'CARD' => '', - 'DEPOSIT' => '', - 'UP' => '', - 'DOWN' => '', - 'LEFT' => '', - 'RIGHT' => '', - 'IMAGE_FILE' => '', -]); -define('CLASS_ICONS', [ - 'USER' => '', - 'USERSNS' => '', - 'BOARD' => '', - 'SITEPAGE' => '', - 'CATEGORY' => '', - 'PRODUCT' => '', - 'ORDER' => '', - 'BILLING' => '', - 'CART' => '', - 'CARD' => '', - 'DEPOSIT' => '', -]); -define('CLASS_TOP_BANNER', [ - 'USER' => '', - 'USERSNS' => '', - 'ORDER' => '', - 'BILLING' => '', - 'CARD' => '', - 'DEPOSIT' => '', - 'PRODUCT' => '', - 'SITEPAGE' => '', - 'BOARD' => '', -]); -define('AUDIOS', [ - 'Alram_GetEmail' => '', -]); - -//Default값 정의 -define('DEFAULTS', [ - 'CATEGORY_USER' => getenv('default.category.user') ?: 22, - 'CATEGORY_ORDER' => getenv('default.category.order') ?: 11, - 'CATEGORY_BILLING' => getenv('default.category.billing') ?: 28, - 'ROLE' => getenv('default.role') ?: "guest", - 'STATUS' => getenv('default.status') ?: "use", - 'EMPTY' => getenv('default.empty') ?: "", - 'PERPAGE' => getenv('default.perpage') ?: 20, - 'DELIMITER_FILE' => getenv('default.delimiter.file') ?: "||", - 'DELIMITER_ROLE' => getenv('default.delimiter.role') ?: ",", -]); - -//API Adapter초기갑 정의 -define('API', [ - 'SSL_VERIFY' => getenv('api.ssl') == 'true' ? true : false, - 'COOKIE_FILE' => PATHS['API'] . getenv('api.cookie.file') ?: "api-cookie_" . date("Ymd") . ".log", - 'DEBUG_FILE' => PATHS['API'] . getenv('api.debug.file') ?: "api-debug_" . date("Ymd") . ".log", -]); diff --git a/app/Config/ContentSecurityPolicy.php b/app/Config/ContentSecurityPolicy.php deleted file mode 100644 index 18612e1..0000000 --- a/app/Config/ContentSecurityPolicy.php +++ /dev/null @@ -1,176 +0,0 @@ -` element. - * - * Will default to self if not overridden - * - * @var string|string[]|null - */ - public $baseURI; - - /** - * Lists the URLs for workers and embedded frame contents - * - * @var string|string[] - */ - public $childSrc = 'self'; - - /** - * Limits the origins that you can connect to (via XHR, - * WebSockets, and EventSource). - * - * @var string|string[] - */ - public $connectSrc = 'self'; - - /** - * Specifies the origins that can serve web fonts. - * - * @var string|string[] - */ - public $fontSrc; - - /** - * Lists valid endpoints for submission from `
` tags. - * - * @var string|string[] - */ - public $formAction = 'self'; - - /** - * Specifies the sources that can embed the current page. - * This directive applies to ``, `'; - } - }; - const getFlashHtml = data => { - let html = ''; - if (data.poster) { - html += ''; - } - html += ''; - return html; - }; - const getAudioHtml = (data, audioTemplateCallback) => { - if (audioTemplateCallback) { - return audioTemplateCallback(data); - } else { - return ''; - } - }; - const getVideoHtml = (data, videoTemplateCallback) => { - if (videoTemplateCallback) { - return videoTemplateCallback(data); - } else { - return ''; - } - }; - const getScriptHtml = data => { - return ''; - }; - const dataToHtml = (editor, dataIn) => { - var _a; - const data = global$5.extend({}, dataIn); - if (!data.source) { - global$5.extend(data, htmlToData((_a = data.embed) !== null && _a !== void 0 ? _a : '', editor.schema)); - if (!data.source) { - return ''; - } - } - if (!data.altsource) { - data.altsource = ''; - } - if (!data.poster) { - data.poster = ''; - } - data.source = editor.convertURL(data.source, 'source'); - data.altsource = editor.convertURL(data.altsource, 'source'); - data.sourcemime = guess(data.source); - data.altsourcemime = guess(data.altsource); - data.poster = editor.convertURL(data.poster, 'poster'); - const pattern = matchPattern(data.source); - if (pattern) { - data.source = pattern.url; - data.type = pattern.type; - data.allowfullscreen = pattern.allowFullscreen; - data.width = data.width || String(pattern.w); - data.height = data.height || String(pattern.h); - } - if (data.embed) { - return updateHtml(data.embed, data, true, editor.schema); - } else { - const audioTemplateCallback = getAudioTemplateCallback(editor); - const videoTemplateCallback = getVideoTemplateCallback(editor); - const iframeTemplateCallback = getIframeTemplateCallback(editor); - data.width = data.width || '300'; - data.height = data.height || '150'; - global$5.each(data, (value, key) => { - data[key] = editor.dom.encode('' + value); - }); - if (data.type === 'iframe') { - return getIframeHtml(data, iframeTemplateCallback); - } else if (data.sourcemime === 'application/x-shockwave-flash') { - return getFlashHtml(data); - } else if (data.sourcemime.indexOf('audio') !== -1) { - return getAudioHtml(data, audioTemplateCallback); - } else if (data.type === 'script') { - return getScriptHtml(data); - } else { - return getVideoHtml(data, videoTemplateCallback); - } - } - }; - - const isMediaElement = element => element.hasAttribute('data-mce-object') || element.hasAttribute('data-ephox-embed-iri'); - const setup$2 = editor => { - editor.on('click keyup touchend', () => { - const selectedNode = editor.selection.getNode(); - if (selectedNode && editor.dom.hasClass(selectedNode, 'mce-preview-object')) { - if (editor.dom.getAttrib(selectedNode, 'data-mce-selected')) { - selectedNode.setAttribute('data-mce-selected', '2'); - } - } - }); - editor.on('ObjectSelected', e => { - const objectType = e.target.getAttribute('data-mce-object'); - if (objectType === 'script') { - e.preventDefault(); - } - }); - editor.on('ObjectResized', e => { - const target = e.target; - if (target.getAttribute('data-mce-object')) { - let html = target.getAttribute('data-mce-html'); - if (html) { - html = unescape(html); - target.setAttribute('data-mce-html', escape(updateHtml(html, { - width: String(e.width), - height: String(e.height) - }, false, editor.schema))); - } - } - }); - }; - - const cache = {}; - const embedPromise = (data, dataToHtml, handler) => { - return new Promise((res, rej) => { - const wrappedResolve = response => { - if (response.html) { - cache[data.source] = response; - } - return res({ - url: data.source, - html: response.html ? response.html : dataToHtml(data) - }); - }; - if (cache[data.source]) { - wrappedResolve(cache[data.source]); - } else { - handler({ url: data.source }, wrappedResolve, rej); - } - }); - }; - const defaultPromise = (data, dataToHtml) => Promise.resolve({ - html: dataToHtml(data), - url: data.source - }); - const loadedData = editor => data => dataToHtml(editor, data); - const getEmbedHtml = (editor, data) => { - const embedHandler = getUrlResolver(editor); - return embedHandler ? embedPromise(data, loadedData(editor), embedHandler) : defaultPromise(data, loadedData(editor)); - }; - const isCached = url => has(cache, url); - - const extractMeta = (sourceInput, data) => get$1(data, sourceInput).bind(mainData => get$1(mainData, 'meta')); - const getValue = (data, metaData, sourceInput) => prop => { - const getFromData = () => get$1(data, prop); - const getFromMetaData = () => get$1(metaData, prop); - const getNonEmptyValue = c => get$1(c, 'value').bind(v => v.length > 0 ? Optional.some(v) : Optional.none()); - const getFromValueFirst = () => getFromData().bind(child => isObject(child) ? getNonEmptyValue(child).orThunk(getFromMetaData) : getFromMetaData().orThunk(() => Optional.from(child))); - const getFromMetaFirst = () => getFromMetaData().orThunk(() => getFromData().bind(child => isObject(child) ? getNonEmptyValue(child) : Optional.from(child))); - return { [prop]: (prop === sourceInput ? getFromValueFirst() : getFromMetaFirst()).getOr('') }; - }; - const getDimensions = (data, metaData) => { - const dimensions = {}; - get$1(data, 'dimensions').each(dims => { - each$1([ - 'width', - 'height' - ], prop => { - get$1(metaData, prop).orThunk(() => get$1(dims, prop)).each(value => dimensions[prop] = value); - }); - }); - return dimensions; - }; - const unwrap = (data, sourceInput) => { - const metaData = sourceInput && sourceInput !== 'dimensions' ? extractMeta(sourceInput, data).getOr({}) : {}; - const get = getValue(data, metaData, sourceInput); - return { - ...get('source'), - ...get('altsource'), - ...get('poster'), - ...get('embed'), - ...getDimensions(data, metaData) - }; - }; - const wrap = data => { - const wrapped = { - ...data, - source: { value: get$1(data, 'source').getOr('') }, - altsource: { value: get$1(data, 'altsource').getOr('') }, - poster: { value: get$1(data, 'poster').getOr('') } - }; - each$1([ - 'width', - 'height' - ], prop => { - get$1(data, prop).each(value => { - const dimensions = wrapped.dimensions || {}; - dimensions[prop] = value; - wrapped.dimensions = dimensions; - }); - }); - return wrapped; - }; - const handleError = editor => error => { - const errorMessage = error && error.msg ? 'Media embed handler error: ' + error.msg : 'Media embed handler threw unknown error.'; - editor.notificationManager.open({ - type: 'error', - text: errorMessage - }); - }; - const getEditorData = editor => { - const element = editor.selection.getNode(); - const snippet = isMediaElement(element) ? editor.serializer.serialize(element, { selection: true }) : ''; - const data = htmlToData(snippet, editor.schema); - const getDimensionsOfElement = () => { - if (isEmbedIframe(data.source, data.type)) { - const rect = editor.dom.getRect(element); - return { - width: rect.w.toString().replace(/px$/, ''), - height: rect.h.toString().replace(/px$/, '') - }; - } else { - return {}; - } - }; - const dimensions = getDimensionsOfElement(); - return { - embed: snippet, - ...data, - ...dimensions - }; - }; - const addEmbedHtml = (api, editor) => response => { - if (isString(response.url) && response.url.trim().length > 0) { - const html = response.html; - const snippetData = htmlToData(html, editor.schema); - const nuData = { - ...snippetData, - source: response.url, - embed: html - }; - api.setData(wrap(nuData)); - } - }; - const selectPlaceholder = (editor, beforeObjects) => { - const afterObjects = editor.dom.select('*[data-mce-object]'); - for (let i = 0; i < beforeObjects.length; i++) { - for (let y = afterObjects.length - 1; y >= 0; y--) { - if (beforeObjects[i] === afterObjects[y]) { - afterObjects.splice(y, 1); - } - } - } - editor.selection.select(afterObjects[0]); - }; - const handleInsert = (editor, html) => { - const beforeObjects = editor.dom.select('*[data-mce-object]'); - editor.insertContent(html); - selectPlaceholder(editor, beforeObjects); - editor.nodeChanged(); - }; - const isEmbedIframe = (url, mediaDataType) => isNonNullable(mediaDataType) && mediaDataType === 'ephox-embed-iri' && isNonNullable(matchPattern(url)); - const shouldInsertAsNewIframe = (prevData, newData) => { - const hasDimensionsChanged = (prevData, newData) => prevData.width !== newData.width || prevData.height !== newData.height; - return hasDimensionsChanged(prevData, newData) && isEmbedIframe(newData.source, prevData.type); - }; - const submitForm = (prevData, newData, editor) => { - var _a; - newData.embed = shouldInsertAsNewIframe(prevData, newData) && hasDimensions(editor) ? dataToHtml(editor, { - ...newData, - embed: '' - }) : updateHtml((_a = newData.embed) !== null && _a !== void 0 ? _a : '', newData, false, editor.schema); - if (newData.embed && (prevData.source === newData.source || isCached(newData.source))) { - handleInsert(editor, newData.embed); - } else { - getEmbedHtml(editor, newData).then(response => { - handleInsert(editor, response.html); - }).catch(handleError(editor)); - } - }; - const showDialog = editor => { - const editorData = getEditorData(editor); - const currentData = Cell(editorData); - const initialData = wrap(editorData); - const handleSource = (prevData, api) => { - const serviceData = unwrap(api.getData(), 'source'); - if (prevData.source !== serviceData.source) { - addEmbedHtml(win, editor)({ - url: serviceData.source, - html: '' - }); - getEmbedHtml(editor, serviceData).then(addEmbedHtml(win, editor)).catch(handleError(editor)); - } - }; - const handleEmbed = api => { - var _a; - const data = unwrap(api.getData()); - const dataFromEmbed = htmlToData((_a = data.embed) !== null && _a !== void 0 ? _a : '', editor.schema); - api.setData(wrap(dataFromEmbed)); - }; - const handleUpdate = (api, sourceInput, prevData) => { - const dialogData = unwrap(api.getData(), sourceInput); - const data = shouldInsertAsNewIframe(prevData, dialogData) && hasDimensions(editor) ? { - ...dialogData, - embed: '' - } : dialogData; - const embed = dataToHtml(editor, data); - api.setData(wrap({ - ...data, - embed - })); - }; - const mediaInput = [{ - name: 'source', - type: 'urlinput', - filetype: 'media', - label: 'Source' - }]; - const sizeInput = !hasDimensions(editor) ? [] : [{ - type: 'sizeinput', - name: 'dimensions', - label: 'Constrain proportions', - constrain: true - }]; - const generalTab = { - title: 'General', - name: 'general', - items: flatten([ - mediaInput, - sizeInput - ]) - }; - const embedTextarea = { - type: 'textarea', - name: 'embed', - label: 'Paste your embed code below:' - }; - const embedTab = { - title: 'Embed', - items: [embedTextarea] - }; - const advancedFormItems = []; - if (hasAltSource(editor)) { - advancedFormItems.push({ - name: 'altsource', - type: 'urlinput', - filetype: 'media', - label: 'Alternative source URL' - }); - } - if (hasPoster(editor)) { - advancedFormItems.push({ - name: 'poster', - type: 'urlinput', - filetype: 'image', - label: 'Media poster (Image URL)' - }); - } - const advancedTab = { - title: 'Advanced', - name: 'advanced', - items: advancedFormItems - }; - const tabs = [ - generalTab, - embedTab - ]; - if (advancedFormItems.length > 0) { - tabs.push(advancedTab); - } - const body = { - type: 'tabpanel', - tabs - }; - const win = editor.windowManager.open({ - title: 'Insert/Edit Media', - size: 'normal', - body, - buttons: [ - { - type: 'cancel', - name: 'cancel', - text: 'Cancel' - }, - { - type: 'submit', - name: 'save', - text: 'Save', - primary: true - } - ], - onSubmit: api => { - const serviceData = unwrap(api.getData()); - submitForm(currentData.get(), serviceData, editor); - api.close(); - }, - onChange: (api, detail) => { - switch (detail.name) { - case 'source': - handleSource(currentData.get(), api); - break; - case 'embed': - handleEmbed(api); - break; - case 'dimensions': - case 'altsource': - case 'poster': - handleUpdate(api, detail.name, currentData.get()); - break; - } - currentData.set(unwrap(api.getData())); - }, - initialData - }); - }; - - const get = editor => { - const showDialog$1 = () => { - showDialog(editor); - }; - return { showDialog: showDialog$1 }; - }; - - const register$1 = editor => { - const showDialog$1 = () => { - showDialog(editor); - }; - editor.addCommand('mceMedia', showDialog$1); - }; - - const checkRange = (str, substr, start) => substr === '' || str.length >= substr.length && str.substr(start, start + substr.length) === substr; - const startsWith = (str, prefix) => { - return checkRange(str, prefix, 0); - }; - - var global = tinymce.util.Tools.resolve('tinymce.Env'); - - const isLiveEmbedNode = node => { - const name = node.name; - return name === 'iframe' || name === 'video' || name === 'audio'; - }; - const getDimension = (node, styles, dimension, defaultValue = null) => { - const value = node.attr(dimension); - if (isNonNullable(value)) { - return value; - } else if (!has(styles, dimension)) { - return defaultValue; - } else { - return null; - } - }; - const setDimensions = (node, previewNode, styles) => { - const useDefaults = previewNode.name === 'img' || node.name === 'video'; - const defaultWidth = useDefaults ? '300' : null; - const fallbackHeight = node.name === 'audio' ? '30' : '150'; - const defaultHeight = useDefaults ? fallbackHeight : null; - previewNode.attr({ - width: getDimension(node, styles, 'width', defaultWidth), - height: getDimension(node, styles, 'height', defaultHeight) - }); - }; - const appendNodeContent = (editor, nodeName, previewNode, html) => { - const newNode = Parser(editor.schema).parse(html, { context: nodeName }); - while (newNode.firstChild) { - previewNode.append(newNode.firstChild); - } - }; - const createPlaceholderNode = (editor, node) => { - const name = node.name; - const placeHolder = new global$2('img', 1); - retainAttributesAndInnerHtml(editor, node, placeHolder); - setDimensions(node, placeHolder, {}); - placeHolder.attr({ - 'style': node.attr('style'), - 'src': global.transparentSrc, - 'data-mce-object': name, - 'class': 'mce-object mce-object-' + name - }); - return placeHolder; - }; - const createPreviewNode = (editor, node) => { - var _a; - const name = node.name; - const previewWrapper = new global$2('span', 1); - previewWrapper.attr({ - 'contentEditable': 'false', - 'style': node.attr('style'), - 'data-mce-object': name, - 'class': 'mce-preview-object mce-object-' + name - }); - retainAttributesAndInnerHtml(editor, node, previewWrapper); - const styles = editor.dom.parseStyle((_a = node.attr('style')) !== null && _a !== void 0 ? _a : ''); - const previewNode = new global$2(name, 1); - setDimensions(node, previewNode, styles); - previewNode.attr({ - src: node.attr('src'), - style: node.attr('style'), - class: node.attr('class') - }); - if (name === 'iframe') { - previewNode.attr({ - allowfullscreen: node.attr('allowfullscreen'), - frameborder: '0' - }); - } else { - const attrs = [ - 'controls', - 'crossorigin', - 'currentTime', - 'loop', - 'muted', - 'poster', - 'preload' - ]; - each$1(attrs, attrName => { - previewNode.attr(attrName, node.attr(attrName)); - }); - const sanitizedHtml = previewWrapper.attr('data-mce-html'); - if (isNonNullable(sanitizedHtml)) { - appendNodeContent(editor, name, previewNode, unescape(sanitizedHtml)); - } - } - const shimNode = new global$2('span', 1); - shimNode.attr('class', 'mce-shim'); - previewWrapper.append(previewNode); - previewWrapper.append(shimNode); - return previewWrapper; - }; - const retainAttributesAndInnerHtml = (editor, sourceNode, targetNode) => { - var _a; - const attribs = (_a = sourceNode.attributes) !== null && _a !== void 0 ? _a : []; - let ai = attribs.length; - while (ai--) { - const attrName = attribs[ai].name; - let attrValue = attribs[ai].value; - if (attrName !== 'width' && attrName !== 'height' && attrName !== 'style' && !startsWith(attrName, 'data-mce-')) { - if (attrName === 'data' || attrName === 'src') { - attrValue = editor.convertURL(attrValue, attrName); - } - targetNode.attr('data-mce-p-' + attrName, attrValue); - } - } - const serializer = global$1({ inner: true }, editor.schema); - const tempNode = new global$2('div', 1); - each$1(sourceNode.children(), child => tempNode.append(child)); - const innerHtml = serializer.serialize(tempNode); - if (innerHtml) { - targetNode.attr('data-mce-html', escape(innerHtml)); - targetNode.empty(); - } - }; - const isPageEmbedWrapper = node => { - const nodeClass = node.attr('class'); - return isString(nodeClass) && /\btiny-pageembed\b/.test(nodeClass); - }; - const isWithinEmbedWrapper = node => { - let tempNode = node; - while (tempNode = tempNode.parent) { - if (tempNode.attr('data-ephox-embed-iri') || isPageEmbedWrapper(tempNode)) { - return true; - } - } - return false; - }; - const placeHolderConverter = editor => nodes => { - let i = nodes.length; - let node; - while (i--) { - node = nodes[i]; - if (!node.parent) { - continue; - } - if (node.parent.attr('data-mce-object')) { - continue; - } - if (isLiveEmbedNode(node) && hasLiveEmbeds(editor)) { - if (!isWithinEmbedWrapper(node)) { - node.replace(createPreviewNode(editor, node)); - } - } else { - if (!isWithinEmbedWrapper(node)) { - node.replace(createPlaceholderNode(editor, node)); - } - } - } - }; - - const parseAndSanitize = (editor, context, html) => { - const getEditorOption = editor.options.get; - const sanitize = getEditorOption('xss_sanitization'); - const validate = shouldFilterHtml(editor); - return Parser(editor.schema, { - sanitize, - validate - }).parse(html, { context }); - }; - - const setup$1 = editor => { - editor.on('PreInit', () => { - const {schema, serializer, parser} = editor; - const boolAttrs = schema.getBoolAttrs(); - each$1('webkitallowfullscreen mozallowfullscreen'.split(' '), name => { - boolAttrs[name] = {}; - }); - each({ embed: ['wmode'] }, (attrs, name) => { - const rule = schema.getElementRule(name); - if (rule) { - each$1(attrs, attr => { - rule.attributes[attr] = {}; - rule.attributesOrder.push(attr); - }); - } - }); - parser.addNodeFilter('iframe,video,audio,object,embed,script', placeHolderConverter(editor)); - serializer.addAttributeFilter('data-mce-object', (nodes, name) => { - var _a; - let i = nodes.length; - while (i--) { - const node = nodes[i]; - if (!node.parent) { - continue; - } - const realElmName = node.attr(name); - const realElm = new global$2(realElmName, 1); - if (realElmName !== 'audio' && realElmName !== 'script') { - const className = node.attr('class'); - if (className && className.indexOf('mce-preview-object') !== -1 && node.firstChild) { - realElm.attr({ - width: node.firstChild.attr('width'), - height: node.firstChild.attr('height') - }); - } else { - realElm.attr({ - width: node.attr('width'), - height: node.attr('height') - }); - } - } - realElm.attr({ style: node.attr('style') }); - const attribs = (_a = node.attributes) !== null && _a !== void 0 ? _a : []; - let ai = attribs.length; - while (ai--) { - const attrName = attribs[ai].name; - if (attrName.indexOf('data-mce-p-') === 0) { - realElm.attr(attrName.substr(11), attribs[ai].value); - } - } - if (realElmName === 'script') { - realElm.attr('type', 'text/javascript'); - } - const innerHtml = node.attr('data-mce-html'); - if (innerHtml) { - const fragment = parseAndSanitize(editor, realElmName, unescape(innerHtml)); - each$1(fragment.children(), child => realElm.append(child)); - } - node.replace(realElm); - } - }); - }); - editor.on('SetContent', () => { - const dom = editor.dom; - each$1(dom.select('span.mce-preview-object'), elm => { - if (dom.select('span.mce-shim', elm).length === 0) { - dom.add(elm, 'span', { class: 'mce-shim' }); - } - }); - }); - }; - - const setup = editor => { - editor.on('ResolveName', e => { - let name; - if (e.target.nodeType === 1 && (name = e.target.getAttribute('data-mce-object'))) { - e.name = name; - } - }); - }; - - const onSetupEditable = editor => api => { - const nodeChanged = () => { - api.setEnabled(editor.selection.isEditable()); - }; - editor.on('NodeChange', nodeChanged); - nodeChanged(); - return () => { - editor.off('NodeChange', nodeChanged); - }; - }; - const register = editor => { - const onAction = () => editor.execCommand('mceMedia'); - editor.ui.registry.addToggleButton('media', { - tooltip: 'Insert/edit media', - icon: 'embed', - onAction, - onSetup: buttonApi => { - const selection = editor.selection; - buttonApi.setActive(isMediaElement(selection.getNode())); - const unbindSelectorChanged = selection.selectorChangedWithUnbind('img[data-mce-object],span[data-mce-object],div[data-ephox-embed-iri]', buttonApi.setActive).unbind; - const unbindEditable = onSetupEditable(editor)(buttonApi); - return () => { - unbindSelectorChanged(); - unbindEditable(); - }; - } - }); - editor.ui.registry.addMenuItem('media', { - icon: 'embed', - text: 'Media...', - onAction, - onSetup: onSetupEditable(editor) - }); - }; - - var Plugin = () => { - global$6.add('media', editor => { - register$2(editor); - register$1(editor); - register(editor); - setup(editor); - setup$1(editor); - setup$2(editor); - return get(editor); - }); - }; - - Plugin(); - -})(); diff --git a/public/vendors/tinymce/tinymce/plugins/media/plugin.min.js b/public/vendors/tinymce/tinymce/plugins/media/plugin.min.js deleted file mode 100644 index 78ec5b0..0000000 --- a/public/vendors/tinymce/tinymce/plugins/media/plugin.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TinyMCE version 6.6.0 (2023-07-12) - */ -!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(r=o=e,(a=String).prototype.isPrototypeOf(r)||(null===(s=o.constructor)||void 0===s?void 0:s.name)===a.name)?"string":t;var r,o,a,s})(t)===e,r=t("string"),o=t("object"),a=t("array"),s=e=>!(e=>null==e)(e);class i{constructor(e,t){this.tag=e,this.value=t}static some(e){return new i(!0,e)}static none(){return i.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?i.some(e(this.value)):i.none()}bind(e){return this.tag?e(this.value):i.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:i.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return s(e)?i.some(e):i.none()}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}i.singletonNone=new i(!1);const n=Array.prototype.push,c=(e,t)=>{for(let r=0,o=e.length;r{const t=[];for(let r=0,o=e.length;rh(e,t)?i.from(e[t]):i.none(),h=(e,t)=>u.call(e,t),p=e=>t=>t.options.get(e),g=p("audio_template_callback"),b=p("video_template_callback"),w=p("iframe_template_callback"),v=p("media_live_embeds"),y=p("media_filter_html"),f=p("media_url_resolver"),x=p("media_alt_source"),_=p("media_poster"),j=p("media_dimensions");var k=tinymce.util.Tools.resolve("tinymce.util.Tools"),O=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),A=tinymce.util.Tools.resolve("tinymce.html.DomParser");const S=O.DOM,$=e=>e.replace(/px$/,""),C=e=>{const t=e.attr("style"),r=t?S.parseStyle(t):{};return{type:"ephox-embed-iri",source:e.attr("data-ephox-embed-iri"),altsource:"",poster:"",width:d(r,"max-width").map($).getOr(""),height:d(r,"max-height").map($).getOr("")}},D=(e,t)=>{let r={};for(let o=A({validate:!1,forced_root_block:!1},t).parse(e);o;o=o.walk())if(1===o.type){const e=o.name;if(o.attr("data-ephox-embed-iri")){r=C(o);break}r.source||"param"!==e||(r.source=o.attr("movie")),"iframe"!==e&&"object"!==e&&"embed"!==e&&"video"!==e&&"audio"!==e||(r.type||(r.type=e),r=k.extend(o.attributes.map,r)),"script"===e&&(r={type:"script",source:o.attr("src")}),"source"===e&&(r.source?r.altsource||(r.altsource=o.attr("src")):r.source=o.attr("src")),"img"!==e||r.poster||(r.poster=o.attr("src"))}return r.source=r.source||r.src||"",r.altsource=r.altsource||"",r.poster=r.poster||"",r},T=e=>{var t;const r=null!==(t=e.toLowerCase().split(".").pop())&&void 0!==t?t:"";return d({mp3:"audio/mpeg",m4a:"audio/x-m4a",wav:"audio/wav",mp4:"video/mp4",webm:"video/webm",ogg:"video/ogg",swf:"application/x-shockwave-flash"},r).getOr("")};var z=tinymce.util.Tools.resolve("tinymce.html.Node"),F=tinymce.util.Tools.resolve("tinymce.html.Serializer");const M=(e,t={})=>A({forced_root_block:!1,validate:!1,allow_conditional_comments:!0,...t},e),N=O.DOM,R=e=>/^[0-9.]+$/.test(e)?e+"px":e,E=(e,t)=>{const r=t.attr("style"),o=r?N.parseStyle(r):{};s(e.width)&&(o["max-width"]=R(e.width)),s(e.height)&&(o["max-height"]=R(e.height)),t.attr("style",N.serializeStyle(o))},U=["source","altsource"],P=(e,t,r,o)=>{let a=0,s=0;const i=M(o);i.addNodeFilter("source",(e=>a=e.length));const n=i.parse(e);for(let e=n;e;e=e.walk())if(1===e.type){const o=e.name;if(e.attr("data-ephox-embed-iri")){E(t,e);break}switch(o){case"video":case"object":case"embed":case"img":case"iframe":void 0!==t.height&&void 0!==t.width&&(e.attr("width",t.width),e.attr("height",t.height))}if(r)switch(o){case"video":e.attr("poster",t.poster),e.attr("src",null);for(let r=a;r<2;r++)if(t[U[r]]){const o=new z("source",1);o.attr("src",t[U[r]]),o.attr("type",t[U[r]+"mime"]||null),e.append(o)}break;case"iframe":e.attr("src",t.source);break;case"object":const r=e.getAll("img").length>0;if(t.poster&&!r){e.attr("src",t.poster);const r=new z("img",1);r.attr("src",t.poster),r.attr("width",t.width),r.attr("height",t.height),e.append(r)}break;case"source":if(s<2&&(e.attr("src",t[U[s]]),e.attr("type",t[U[s]+"mime"]||null),!t[U[s]])){e.remove();continue}s++;break;case"img":t.poster||e.remove()}}return F({},o).serialize(n)},L=[{regex:/youtu\.be\/([\w\-_\?&=.]+)/i,type:"iframe",w:560,h:314,url:"www.youtube.com/embed/$1",allowFullscreen:!0},{regex:/youtube\.com(.+)v=([^&]+)(&([a-z0-9&=\-_]+))?/i,type:"iframe",w:560,h:314,url:"www.youtube.com/embed/$2?$4",allowFullscreen:!0},{regex:/youtube.com\/embed\/([a-z0-9\?&=\-_]+)/i,type:"iframe",w:560,h:314,url:"www.youtube.com/embed/$1",allowFullscreen:!0},{regex:/vimeo\.com\/([0-9]+)\?h=(\w+)/,type:"iframe",w:425,h:350,url:"player.vimeo.com/video/$1?h=$2&title=0&byline=0&portrait=0&color=8dc7dc",allowFullscreen:!0},{regex:/vimeo\.com\/(.*)\/([0-9]+)\?h=(\w+)/,type:"iframe",w:425,h:350,url:"player.vimeo.com/video/$2?h=$3&title=0&byline=0",allowFullscreen:!0},{regex:/vimeo\.com\/([0-9]+)/,type:"iframe",w:425,h:350,url:"player.vimeo.com/video/$1?title=0&byline=0&portrait=0&color=8dc7dc",allowFullscreen:!0},{regex:/vimeo\.com\/(.*)\/([0-9]+)/,type:"iframe",w:425,h:350,url:"player.vimeo.com/video/$2?title=0&byline=0",allowFullscreen:!0},{regex:/maps\.google\.([a-z]{2,3})\/maps\/(.+)msid=(.+)/,type:"iframe",w:425,h:350,url:'maps.google.com/maps/ms?msid=$2&output=embed"',allowFullscreen:!1},{regex:/dailymotion\.com\/video\/([^_]+)/,type:"iframe",w:480,h:270,url:"www.dailymotion.com/embed/video/$1",allowFullscreen:!0},{regex:/dai\.ly\/([^_]+)/,type:"iframe",w:480,h:270,url:"www.dailymotion.com/embed/video/$1",allowFullscreen:!0}],I=(e,t)=>{const r=(e=>{const t=e.match(/^(https?:\/\/|www\.)(.+)$/i);return t&&t.length>1?"www."===t[1]?"https://":t[1]:"https://"})(t),o=e.regex.exec(t);let a=r+e.url;if(s(o))for(let e=0;eo[e]?o[e]:""));return a.replace(/\?$/,"")},B=e=>{const t=L.filter((t=>t.regex.test(e)));return t.length>0?k.extend({},t[0],{url:I(t[0],e)}):null},G=(e,t)=>{var r;const o=k.extend({},t);if(!o.source&&(k.extend(o,D(null!==(r=o.embed)&&void 0!==r?r:"",e.schema)),!o.source))return"";o.altsource||(o.altsource=""),o.poster||(o.poster=""),o.source=e.convertURL(o.source,"source"),o.altsource=e.convertURL(o.altsource,"source"),o.sourcemime=T(o.source),o.altsourcemime=T(o.altsource),o.poster=e.convertURL(o.poster,"poster");const a=B(o.source);if(a&&(o.source=a.url,o.type=a.type,o.allowfullscreen=a.allowFullscreen,o.width=o.width||String(a.w),o.height=o.height||String(a.h)),o.embed)return P(o.embed,o,!0,e.schema);{const t=g(e),r=b(e),a=w(e);return o.width=o.width||"300",o.height=o.height||"150",k.each(o,((t,r)=>{o[r]=e.dom.encode(""+t)})),"iframe"===o.type?((e,t)=>{if(t)return t(e);{const t=e.allowfullscreen?' allowFullscreen="1"':"";return'"}})(o,a):"application/x-shockwave-flash"===o.sourcemime?(e=>{let t='';return e.poster&&(t+=''),t+="",t})(o):-1!==o.sourcemime.indexOf("audio")?((e,t)=>t?t(e):'")(o,t):"script"===o.type?(e=>' '; - const directionality = editor.getBody().dir; - const dirAttr = directionality ? ' dir="' + encode(directionality) + '"' : ''; - const previewHtml = '' + '' + '' + headHtml + '' + '' + editor.getContent() + preventClicksOnLinksScript + '' + ''; - return previewHtml; - }; - - const open = editor => { - const content = getPreviewHtml(editor); - const dataApi = editor.windowManager.open({ - title: 'Preview', - size: 'large', - body: { - type: 'panel', - items: [{ - name: 'preview', - type: 'iframe', - sandboxed: true, - transparent: false - }] - }, - buttons: [{ - type: 'cancel', - name: 'close', - text: 'Close', - primary: true - }], - initialData: { preview: content } - }); - dataApi.focus('close'); - }; - - const register$1 = editor => { - editor.addCommand('mcePreview', () => { - open(editor); - }); - }; - - const register = editor => { - const onAction = () => editor.execCommand('mcePreview'); - editor.ui.registry.addButton('preview', { - icon: 'preview', - tooltip: 'Preview', - onAction - }); - editor.ui.registry.addMenuItem('preview', { - icon: 'preview', - text: 'Preview', - onAction - }); - }; - - var Plugin = () => { - global$2.add('preview', editor => { - register$1(editor); - register(editor); - }); - }; - - Plugin(); - -})(); diff --git a/public/vendors/tinymce/tinymce/plugins/preview/plugin.min.js b/public/vendors/tinymce/tinymce/plugins/preview/plugin.min.js deleted file mode 100644 index 941319a..0000000 --- a/public/vendors/tinymce/tinymce/plugins/preview/plugin.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TinyMCE version 6.6.0 (2023-07-12) - */ -!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=tinymce.util.Tools.resolve("tinymce.Env"),o=tinymce.util.Tools.resolve("tinymce.util.Tools");const n=e=>t=>t.options.get(e),i=n("content_style"),s=n("content_css_cors"),c=n("body_class"),r=n("body_id");e.add("preview",(e=>{(e=>{e.addCommand("mcePreview",(()=>{(e=>{const n=(e=>{var n;let l="";const a=e.dom.encode,d=null!==(n=i(e))&&void 0!==n?n:"";l+='';const m=s(e)?' crossorigin="anonymous"':"";o.each(e.contentCSS,(t=>{l+='"})),d&&(l+='");const y=r(e),u=c(e),v=' '; - const directionality = editor.getBody().dir; - const dirAttr = directionality ? ' dir="' + encode(directionality) + '"' : ''; - previewHtml = '' + '' + '' + '' + contentCssEntries + preventClicksOnLinksScript + '' + '' + previewHtml + '' + ''; - } - return replaceTemplateValues(previewHtml, getPreviewReplaceValues(editor)); - }; - const open = (editor, templateList) => { - const createTemplates = () => { - if (!templateList || templateList.length === 0) { - const message = editor.translate('No templates defined.'); - editor.notificationManager.open({ - text: message, - type: 'info' - }); - return Optional.none(); - } - return Optional.from(global$2.map(templateList, (template, index) => { - const isUrlTemplate = t => t.url !== undefined; - return { - selected: index === 0, - text: template.title, - value: { - url: isUrlTemplate(template) ? Optional.from(template.url) : Optional.none(), - content: !isUrlTemplate(template) ? Optional.from(template.content) : Optional.none(), - description: template.description - } - }; - })); - }; - const createSelectBoxItems = templates => map(templates, t => ({ - text: t.text, - value: t.text - })); - const findTemplate = (templates, templateTitle) => find(templates, t => t.text === templateTitle); - const loadFailedAlert = api => { - editor.windowManager.alert('Could not load the specified template.', () => api.focus('template')); - }; - const getTemplateContent = t => t.value.url.fold(() => Promise.resolve(t.value.content.getOr('')), url => fetch(url).then(res => res.ok ? res.text() : Promise.reject())); - const onChange = (templates, updateDialog) => (api, change) => { - if (change.name === 'template') { - const newTemplateTitle = api.getData().template; - findTemplate(templates, newTemplateTitle).each(t => { - api.block('Loading...'); - getTemplateContent(t).then(previewHtml => { - updateDialog(api, t, previewHtml); - }).catch(() => { - updateDialog(api, t, ''); - api.setEnabled('save', false); - loadFailedAlert(api); - }); - }); - } - }; - const onSubmit = templates => api => { - const data = api.getData(); - findTemplate(templates, data.template).each(t => { - getTemplateContent(t).then(previewHtml => { - editor.execCommand('mceInsertTemplate', false, previewHtml); - api.close(); - }).catch(() => { - api.setEnabled('save', false); - loadFailedAlert(api); - }); - }); - }; - const openDialog = templates => { - const selectBoxItems = createSelectBoxItems(templates); - const buildDialogSpec = (bodyItems, initialData) => ({ - title: 'Insert Template', - size: 'large', - body: { - type: 'panel', - items: bodyItems - }, - initialData, - buttons: [ - { - type: 'cancel', - name: 'cancel', - text: 'Cancel' - }, - { - type: 'submit', - name: 'save', - text: 'Save', - primary: true - } - ], - onSubmit: onSubmit(templates), - onChange: onChange(templates, updateDialog) - }); - const updateDialog = (dialogApi, template, previewHtml) => { - const content = getPreviewContent(editor, previewHtml); - const bodyItems = [ - { - type: 'listbox', - name: 'template', - label: 'Templates', - items: selectBoxItems - }, - { - type: 'htmlpanel', - html: `

${ htmlEscape(template.value.description) }

` - }, - { - label: 'Preview', - type: 'iframe', - name: 'preview', - sandboxed: false, - transparent: false - } - ]; - const initialData = { - template: template.text, - preview: content - }; - dialogApi.unblock(); - dialogApi.redial(buildDialogSpec(bodyItems, initialData)); - dialogApi.focus('template'); - }; - const dialogApi = editor.windowManager.open(buildDialogSpec([], { - template: '', - preview: '' - })); - dialogApi.block('Loading...'); - getTemplateContent(templates[0]).then(previewHtml => { - updateDialog(dialogApi, templates[0], previewHtml); - }).catch(() => { - updateDialog(dialogApi, templates[0], ''); - dialogApi.setEnabled('save', false); - loadFailedAlert(dialogApi); - }); - }; - const optTemplates = createTemplates(); - optTemplates.each(openDialog); - }; - - const showDialog = editor => templates => { - open(editor, templates); - }; - const register$1 = editor => { - editor.addCommand('mceInsertTemplate', curry(insertTemplate, editor)); - editor.addCommand('mceTemplate', createTemplateList(editor, showDialog(editor))); - }; - - const setup = editor => { - editor.on('PreProcess', o => { - const dom = editor.dom, dateFormat = getMdateFormat(editor); - global$2.each(dom.select('div', o.node), e => { - if (dom.hasClass(e, 'mceTmpl')) { - global$2.each(dom.select('*', e), e => { - if (hasAnyClasses(dom, e, getModificationDateClasses(editor))) { - e.innerHTML = getDateTime(editor, dateFormat); - } - }); - replaceVals(editor, e); - } - }); - }); - }; - - const onSetupEditable = editor => api => { - const nodeChanged = () => { - api.setEnabled(editor.selection.isEditable()); - }; - editor.on('NodeChange', nodeChanged); - nodeChanged(); - return () => { - editor.off('NodeChange', nodeChanged); - }; - }; - const register = editor => { - const onAction = () => editor.execCommand('mceTemplate'); - editor.ui.registry.addButton('template', { - icon: 'template', - tooltip: 'Insert template', - onSetup: onSetupEditable(editor), - onAction - }); - editor.ui.registry.addMenuItem('template', { - icon: 'template', - text: 'Insert template...', - onSetup: onSetupEditable(editor), - onAction - }); - }; - - var Plugin = () => { - global$3.add('template', editor => { - register$2(editor); - register(editor); - register$1(editor); - setup(editor); - }); - }; - - Plugin(); - -})(); diff --git a/public/vendors/tinymce/tinymce/plugins/template/plugin.min.js b/public/vendors/tinymce/tinymce/plugins/template/plugin.min.js deleted file mode 100644 index 528dd06..0000000 --- a/public/vendors/tinymce/tinymce/plugins/template/plugin.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/** - * TinyMCE version 6.6.0 (2023-07-12) - */ -!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager");const t=e=>t=>(e=>{const t=typeof e;return null===e?"null":"object"===t&&Array.isArray(e)?"array":"object"===t&&(a=n=e,(r=String).prototype.isPrototypeOf(a)||(null===(s=n.constructor)||void 0===s?void 0:s.name)===r.name)?"string":t;var a,n,r,s})(t)===e,a=t("string"),n=t("object"),r=t("array"),s=("function",e=>"function"==typeof e);const l=(!1,()=>false);var o=tinymce.util.Tools.resolve("tinymce.util.Tools");const c=e=>t=>t.options.get(e),i=c("template_cdate_classes"),u=c("template_mdate_classes"),m=c("template_selected_content_classes"),p=c("template_preview_replace_values"),d=c("template_replace_values"),h=c("templates"),g=c("template_cdate_format"),v=c("template_mdate_format"),f=c("content_style"),y=c("content_css_cors"),b=c("body_class"),_=(e,t)=>{if((e=""+e).length{const n="Sun Mon Tue Wed Thu Fri Sat Sun".split(" "),r="Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday".split(" "),s="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),l="January February March April May June July August September October November December".split(" ");return(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=t.replace("%D","%m/%d/%Y")).replace("%r","%I:%M:%S %p")).replace("%Y",""+a.getFullYear())).replace("%y",""+a.getYear())).replace("%m",_(a.getMonth()+1,2))).replace("%d",_(a.getDate(),2))).replace("%H",""+_(a.getHours(),2))).replace("%M",""+_(a.getMinutes(),2))).replace("%S",""+_(a.getSeconds(),2))).replace("%I",""+((a.getHours()+11)%12+1))).replace("%p",a.getHours()<12?"AM":"PM")).replace("%B",""+e.translate(l[a.getMonth()]))).replace("%b",""+e.translate(s[a.getMonth()]))).replace("%A",""+e.translate(r[a.getDay()]))).replace("%a",""+e.translate(n[a.getDay()]))).replace("%%","%")};class T{constructor(e,t){this.tag=e,this.value=t}static some(e){return new T(!0,e)}static none(){return T.singletonNone}fold(e,t){return this.tag?t(this.value):e()}isSome(){return this.tag}isNone(){return!this.tag}map(e){return this.tag?T.some(e(this.value)):T.none()}bind(e){return this.tag?e(this.value):T.none()}exists(e){return this.tag&&e(this.value)}forall(e){return!this.tag||e(this.value)}filter(e){return!this.tag||e(this.value)?this:T.none()}getOr(e){return this.tag?this.value:e}or(e){return this.tag?this:e}getOrThunk(e){return this.tag?this.value:e()}orThunk(e){return this.tag?this:e()}getOrDie(e){if(this.tag)return this.value;throw new Error(null!=e?e:"Called getOrDie on None")}static from(e){return null==e?T.none():T.some(e)}getOrNull(){return this.tag?this.value:null}getOrUndefined(){return this.value}each(e){this.tag&&e(this.value)}toArray(){return this.tag?[this.value]:[]}toString(){return this.tag?`some(${this.value})`:"none()"}}T.singletonNone=new T(!1);const S=Object.hasOwnProperty;var x=tinymce.util.Tools.resolve("tinymce.html.Serializer");const C={'"':""","<":"<",">":">","&":"&","'":"'"},w=e=>e.replace(/["'<>&]/g,(e=>{return(t=C,a=e,((e,t)=>S.call(e,t))(t,a)?T.from(t[a]):T.none()).getOr(e);var t,a})),O=(e,t,a)=>((a,n)=>{for(let n=0,s=a.length;nx({validate:!0},e.schema).serialize(e.parser.parse(t,{insert:!0})),D=(e,t)=>(o.each(t,((t,a)=>{s(t)&&(t=t(a)),e=e.replace(new RegExp("\\{\\$"+a.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+"\\}","g"),t)})),e),N=(e,t)=>{const a=e.dom,n=d(e);o.each(a.select("*",t),(e=>{o.each(n,((t,n)=>{a.hasClass(e,n)&&s(t)&&t(e)}))}))},I=(e,t,a)=>{const n=e.dom,r=e.selection.getContent();a=D(a,d(e));let s=n.create("div",{},A(e,a));const l=n.select(".mceTmpl",s);l&&l.length>0&&(s=n.create("div"),s.appendChild(l[0].cloneNode(!0))),o.each(n.select("*",s),(t=>{O(n,t,i(e))&&(t.innerHTML=M(e,g(e))),O(n,t,u(e))&&(t.innerHTML=M(e,v(e))),O(n,t,m(e))&&(t.innerHTML=r)})),N(e,s),e.execCommand("mceInsertContent",!1,s.innerHTML),e.addVisual()};var E=tinymce.util.Tools.resolve("tinymce.Env");const k=(e,t)=>{const a=(e,t)=>((e,t,a)=>{for(let n=0,r=e.length;ne.text===t),l),n=t=>{e.windowManager.alert("Could not load the specified template.",(()=>t.focus("template")))},r=e=>e.value.url.fold((()=>Promise.resolve(e.value.content.getOr(""))),(e=>fetch(e).then((e=>e.ok?e.text():Promise.reject())))),s=(e,t)=>(s,l)=>{if("template"===l.name){const l=s.getData().template;a(e,l).each((e=>{s.block("Loading..."),r(e).then((a=>{t(s,e,a)})).catch((()=>{t(s,e,""),s.setEnabled("save",!1),n(s)}))}))}},c=t=>s=>{const l=s.getData();a(t,l.template).each((t=>{r(t).then((t=>{e.execCommand("mceInsertTemplate",!1,t),s.close()})).catch((()=>{s.setEnabled("save",!1),n(s)}))}))};(()=>{if(!t||0===t.length){const t=e.translate("No templates defined.");return e.notificationManager.open({text:t,type:"info"}),T.none()}return T.from(o.map(t,((e,t)=>{const a=e=>void 0!==e.url;return{selected:0===t,text:e.title,value:{url:a(e)?T.from(e.url):T.none(),content:a(e)?T.none():T.from(e.content),description:e.description}}})))})().each((t=>{const a=(e=>((e,t)=>{const a=e.length,n=new Array(a);for(let t=0;t({title:"Insert Template",size:"large",body:{type:"panel",items:e},initialData:a,buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],onSubmit:c(t),onChange:s(t,i)}),i=(t,n,r)=>{const s=((e,t)=>{var a;let n=A(e,t);if(-1===t.indexOf("")){let t="";const r=null!==(a=f(e))&&void 0!==a?a:"",s=y(e)?' crossorigin="anonymous"':"";o.each(e.contentCSS,(a=>{t+='"})),r&&(t+='");const l=b(e),c=e.dom.encode,i='