├── .env.examples ├── LICENSE.md ├── README.md ├── app ├── .htaccess ├── Common.php ├── Config │ ├── App.php │ ├── Autoload.php │ ├── Boot │ │ ├── development.php │ │ ├── production.php │ │ └── testing.php │ ├── Cache.php │ ├── Constants.php │ ├── ContentSecurityPolicy.php │ ├── Database.php │ ├── DocTypes.php │ ├── Email.php │ ├── Encryption.php │ ├── Events.php │ ├── Exceptions.php │ ├── Filters.php │ ├── ForeignCharacters.php │ ├── Format.php │ ├── Honeypot.php │ ├── Images.php │ ├── Kint.php │ ├── Logger.php │ ├── Migrations.php │ ├── Mimes.php │ ├── Modules.php │ ├── Pager.php │ ├── Paths.php │ ├── Routes.php │ ├── Services.php │ ├── Toolbar.php │ ├── UserAgents.php │ ├── Validation.php │ └── View.php ├── Controllers │ ├── BaseController.php │ └── base │ │ ├── DashboardController.php │ │ ├── DataController.php │ │ ├── PPPController.php │ │ └── PaymentController.php ├── Database │ ├── Migrations │ │ ├── .gitkeep │ │ ├── 2022-05-31-013017_AddUsers.php │ │ ├── 2022-05-31-013057_AddRouter.php │ │ ├── 2022-05-31-021511_AddPaymentMethod.php │ │ └── 2022-05-31-031223_AddTransaksi.php │ └── Seeds │ │ ├── .gitkeep │ │ └── UsersSeeder.php ├── Filters │ ├── .gitkeep │ ├── AuthRouter.php │ └── AuthUser.php ├── Helpers │ └── .gitkeep ├── Language │ └── .gitkeep ├── Libraries │ ├── .gitkeep │ ├── FormatHelper.php │ ├── Key.php │ ├── RandomizeHelper.php │ └── RouterosAPI.php ├── Models │ └── base │ │ ├── DashboardModel.php │ │ ├── ROSModel.php │ │ └── ROSPaymentModel.php ├── ThirdParty │ └── .gitkeep ├── Views │ ├── base │ │ └── dashboard │ │ │ ├── adduser.php │ │ │ ├── adduserprofile.php │ │ │ ├── dashboard.php │ │ │ ├── extendexpire.php │ │ │ ├── generateusers.php │ │ │ ├── layout.php │ │ │ ├── login.php │ │ │ ├── paymentpage.php │ │ │ ├── paymentreport.php │ │ │ ├── paymentsettings.php │ │ │ ├── pppprofiles.php │ │ │ ├── pppsecrets.php │ │ │ ├── router │ │ │ ├── addrouter.php │ │ │ ├── layout.php │ │ │ └── router.php │ │ │ ├── userlist.php │ │ │ └── userprofiles.php │ ├── errors │ │ ├── 404.php │ │ ├── cli │ │ │ ├── error_404.php │ │ │ ├── error_exception.php │ │ │ └── production.php │ │ ├── html │ │ │ ├── debug.css │ │ │ ├── debug.js │ │ │ ├── error_404.php │ │ │ ├── error_exception.php │ │ │ └── production.php │ │ ├── isolir.php │ │ └── isolir2.php │ ├── payment │ │ ├── chkstatus.php │ │ ├── chkvalidity.php │ │ ├── invoice.php │ │ ├── landing.php │ │ ├── pppoepayment.php │ │ ├── status.php │ │ ├── validity.php │ │ └── voucherpayment.php │ ├── pdf │ │ └── userspdf.php │ ├── template │ │ ├── tbeli.php │ │ ├── tchk.php │ │ ├── tinvoice.php │ │ ├── tperpanjang.php │ │ └── tstatus.php │ └── voucher │ │ └── temp.php └── index.html ├── composer.json ├── phpunit.xml.dist ├── public ├── .htaccess ├── assets │ ├── colors │ │ ├── color1.css │ │ ├── color1.css.map │ │ └── color1.scss │ ├── css │ │ ├── animated.css │ │ ├── custom.css │ │ ├── dark-style.css │ │ ├── dark-style.css.map │ │ ├── dark-style.scss │ │ ├── icons.css │ │ ├── skin-modes.css │ │ ├── skin-modes.css.map │ │ ├── skin-modes.scss │ │ ├── style.css │ │ ├── style.css.map │ │ ├── sweetalert2bulma.css │ │ ├── sweetalert2dark.css │ │ ├── transparent-style.css │ │ ├── transparent-style.css.map │ │ └── transparent-style.scss │ ├── iconfonts │ │ ├── bootstrapicons │ │ │ ├── bootstrap-icons.css │ │ │ └── fonts │ │ │ │ ├── bootstrap-icons.woff │ │ │ │ └── bootstrap-icons.woff2 │ │ ├── feather │ │ │ ├── feather.css │ │ │ └── fonts │ │ │ │ ├── feather-webfont.eot │ │ │ │ ├── feather-webfont.svg │ │ │ │ ├── feather-webfont.ttf │ │ │ │ └── feather-webfont.woff │ │ ├── font-awesome │ │ │ ├── css │ │ │ │ ├── font-awesome.css │ │ │ │ └── font-awesome.min.css │ │ │ └── fonts │ │ │ │ ├── FontAwesome.otf │ │ │ │ ├── fontawesome-webfont.eot │ │ │ │ ├── fontawesome-webfont.svg │ │ │ │ ├── fontawesome-webfont.ttf │ │ │ │ ├── fontawesome-webfont.woff │ │ │ │ └── fontawesome-webfont.woff2 │ │ ├── glyphicons │ │ │ ├── fonts │ │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ │ └── glyphicons-halflings-regular.woff2 │ │ │ └── glyphicon.css │ │ ├── ionicons │ │ │ ├── fonts │ │ │ │ ├── ionicons.eot │ │ │ │ ├── ionicons.svg │ │ │ │ ├── ionicons.ttf │ │ │ │ └── ionicons.woff │ │ │ └── ionicons.css │ │ ├── linearicons │ │ │ ├── Linearicons.css │ │ │ └── fonts │ │ │ │ ├── Linearicons-Free.eot │ │ │ │ ├── Linearicons-Free.svg │ │ │ │ ├── Linearicons-Free.ttf │ │ │ │ ├── Linearicons-Free.woff │ │ │ │ └── Linearicons-Free.woff2 │ │ ├── materialdesignicons │ │ │ ├── fonts │ │ │ │ ├── Material-Design-Iconic-Font.eot │ │ │ │ ├── Material-Design-Iconic-Font.svg │ │ │ │ ├── Material-Design-Iconic-Font.ttf │ │ │ │ ├── Material-Design-Iconic-Font.woff │ │ │ │ ├── Material-Design-Iconic-Font.woff2 │ │ │ │ ├── materialdesignicons-webfont.eot │ │ │ │ ├── materialdesignicons-webfont.svg │ │ │ │ ├── materialdesignicons-webfont.ttf │ │ │ │ ├── materialdesignicons-webfont.woff │ │ │ │ └── materialdesignicons-webfont.woff2 │ │ │ └── materialdesignicons.css │ │ ├── pe-icon-7-stroke │ │ │ ├── Pe-icon-7.css │ │ │ └── fonts │ │ │ │ ├── Pe-icon-7-stroke.eot │ │ │ │ ├── Pe-icon-7-stroke.svg │ │ │ │ ├── Pe-icon-7-stroke.ttf │ │ │ │ └── Pe-icon-7-stroke.woff │ │ ├── remixicon │ │ │ ├── fonts │ │ │ │ ├── remixicon.eot │ │ │ │ ├── remixicon.less │ │ │ │ ├── remixicon.ttf │ │ │ │ ├── remixicon.woff │ │ │ │ └── remixicon.woff2 │ │ │ └── remixicon.css │ │ ├── simple-line-icons │ │ │ ├── fonts │ │ │ │ ├── Simple-Line-Icons.eot │ │ │ │ ├── Simple-Line-Icons.svg │ │ │ │ ├── Simple-Line-Icons.ttf │ │ │ │ ├── Simple-Line-Icons.woff │ │ │ │ └── Simple-Line-Icons.woff2 │ │ │ └── simple-line-icons.css │ │ ├── themify │ │ │ ├── fonts │ │ │ │ ├── themify.eot │ │ │ │ ├── themify.svg │ │ │ │ ├── themify.ttf │ │ │ │ └── themify.woff │ │ │ └── themify.css │ │ ├── typicons │ │ │ ├── fonts │ │ │ │ ├── typicons.eot │ │ │ │ ├── typicons.svg │ │ │ │ ├── typicons.ttf │ │ │ │ └── typicons.woff │ │ │ └── typicons.css │ │ └── weathericons │ │ │ ├── fonts │ │ │ ├── weathericons-regular-webfont.eot │ │ │ ├── weathericons-regular-webfont.svg │ │ │ ├── weathericons-regular-webfont.ttf │ │ │ ├── weathericons-regular-webfont.woff │ │ │ └── weathericons-regular-webfont.woff2 │ │ │ └── weathericons.css │ ├── images │ │ ├── brand │ │ │ ├── loader-white.gif │ │ │ ├── loader.gif │ │ │ ├── logo-1.png │ │ │ ├── logo-2.png │ │ │ ├── logo-3.png │ │ │ ├── logo-4.png │ │ │ ├── logo-white.png │ │ │ ├── logo.png │ │ │ ├── wifi.png │ │ │ ├── wifi2.png │ │ │ └── wifi3.png │ │ └── users │ │ │ └── 1.jpg │ ├── js │ │ ├── advancedform.js │ │ ├── apexcharts.js │ │ ├── autofill-table.js │ │ ├── carousel.js │ │ ├── chart.js │ │ ├── charts.js │ │ ├── chat.js │ │ ├── circle-progress.min.js │ │ ├── construction.js │ │ ├── crypto-datatable.js │ │ ├── custom.js │ │ ├── custom1.js │ │ ├── datatable.js │ │ ├── datetime-table.js │ │ ├── echarts.js │ │ ├── flot.js │ │ ├── form-editor2.js │ │ ├── form-elements.js │ │ ├── form-validation.js │ │ ├── form-wizard.js │ │ ├── formeditor.js │ │ ├── formelementadvnced.js │ │ ├── fullcalendar.js │ │ ├── generate-otp.js │ │ ├── handlecounter.js │ │ ├── highcharts-theme.js │ │ ├── highcharts.js │ │ ├── index.js │ │ ├── index1.js │ │ ├── jquery.min.js │ │ ├── jquery.sparkline.min.js │ │ ├── jvectormap.js │ │ ├── map-leafleft.js │ │ ├── mapelmaps.js │ │ ├── modal.js │ │ ├── moment-data.js │ │ ├── moment-with-locales.js │ │ ├── morris.js │ │ ├── nvd3.js │ │ ├── owl-carousel.js │ │ ├── picker.js │ │ ├── qrious.min.js │ │ ├── range.js │ │ ├── rangeslider.js │ │ ├── select2.js │ │ ├── show-password.min.js │ │ ├── slider.js │ │ ├── sticky.js │ │ ├── summernote.js │ │ ├── sweet-alert.js │ │ ├── sweetalert2.all.min.js │ │ ├── sweetalert2.min.js │ │ ├── table-data.js │ │ ├── themeColors.js │ │ ├── timline.js │ │ ├── tooltip&popover.js │ │ └── widget.js │ ├── plugins │ │ ├── bootstrap │ │ │ ├── css │ │ │ │ ├── bootstrap-grid.css │ │ │ │ ├── bootstrap-grid.css.map │ │ │ │ ├── bootstrap-grid.min.css │ │ │ │ ├── bootstrap-grid.min.css.map │ │ │ │ ├── bootstrap-grid.rtl.css │ │ │ │ ├── bootstrap-grid.rtl.css.map │ │ │ │ ├── bootstrap-grid.rtl.min.css │ │ │ │ ├── bootstrap-grid.rtl.min.css.map │ │ │ │ ├── bootstrap-reboot.css │ │ │ │ ├── bootstrap-reboot.css.map │ │ │ │ ├── bootstrap-reboot.min.css │ │ │ │ ├── bootstrap-reboot.min.css.map │ │ │ │ ├── bootstrap-reboot.rtl.css │ │ │ │ ├── bootstrap-reboot.rtl.css.map │ │ │ │ ├── bootstrap-reboot.rtl.min.css │ │ │ │ ├── bootstrap-reboot.rtl.min.css.map │ │ │ │ ├── bootstrap-utilities.css │ │ │ │ ├── bootstrap-utilities.css.map │ │ │ │ ├── bootstrap-utilities.min.css │ │ │ │ ├── bootstrap-utilities.min.css.map │ │ │ │ ├── bootstrap-utilities.rtl.css │ │ │ │ ├── bootstrap-utilities.rtl.css.map │ │ │ │ ├── bootstrap-utilities.rtl.min.css │ │ │ │ ├── bootstrap-utilities.rtl.min.css.map │ │ │ │ ├── bootstrap.css │ │ │ │ ├── bootstrap.css.map │ │ │ │ ├── bootstrap.min.css │ │ │ │ ├── bootstrap.min.css.map │ │ │ │ ├── bootstrap.rtl.css │ │ │ │ ├── bootstrap.rtl.css.map │ │ │ │ ├── bootstrap.rtl.min.css │ │ │ │ └── bootstrap.rtl.min.css.map │ │ │ └── js │ │ │ │ ├── bootstrap.bundle.js │ │ │ │ ├── bootstrap.bundle.js.map │ │ │ │ ├── bootstrap.bundle.min.js │ │ │ │ ├── bootstrap.bundle.min.js.map │ │ │ │ ├── bootstrap.esm.js │ │ │ │ ├── bootstrap.esm.js.map │ │ │ │ ├── bootstrap.esm.min.js │ │ │ │ ├── bootstrap.esm.min.js.map │ │ │ │ ├── bootstrap.js │ │ │ │ ├── bootstrap.js.map │ │ │ │ ├── bootstrap.min.js │ │ │ │ ├── bootstrap.min.js.map │ │ │ │ ├── popper.min.js │ │ │ │ └── popper.min.js.map │ │ ├── datatable │ │ │ ├── dataTables.responsive.min.js │ │ │ ├── datatables.min.js │ │ │ ├── images │ │ │ │ ├── sort_asc.png │ │ │ │ ├── sort_asc_disabled.png │ │ │ │ ├── sort_both.png │ │ │ │ ├── sort_desc.png │ │ │ │ └── sort_desc_disabled.png │ │ │ ├── js │ │ │ │ ├── buttons.bootstrap5.min.js │ │ │ │ ├── buttons.colVis.min.js │ │ │ │ ├── buttons.html5.min.js │ │ │ │ ├── buttons.print.min.js │ │ │ │ ├── dataTables.bootstrap.js │ │ │ │ ├── dataTables.bootstrap.min.js │ │ │ │ ├── dataTables.bootstrap5.js │ │ │ │ ├── dataTables.bootstrap5.min.js │ │ │ │ ├── dataTables.buttons.min.js │ │ │ │ ├── dataTables.rowGroup.min.js │ │ │ │ ├── jquery.dataTables.min.js │ │ │ │ └── jszip.min.js │ │ │ ├── pdfmake │ │ │ │ ├── pdfmake.min.js │ │ │ │ └── vfs_fonts.js │ │ │ └── responsive.bootstrap5.min.js │ │ ├── sidebar │ │ │ └── sidebar.js │ │ └── sidemenu │ │ │ └── sidemenu.js │ ├── scss │ │ ├── _variables.scss │ │ ├── bootstrap │ │ │ ├── _accordion.scss │ │ │ ├── _alert.scss │ │ │ ├── _avatars.scss │ │ │ ├── _badges.scss │ │ │ ├── _blackquote.scss │ │ │ ├── _bootstrap-styles.scss │ │ │ ├── _breadcrumb.scss │ │ │ ├── _button.scss │ │ │ ├── _buttons.scss │ │ │ ├── _cards.scss │ │ │ ├── _carousel.scss │ │ │ ├── _dropdown.scss │ │ │ ├── _forms.scss │ │ │ ├── _grid.scss │ │ │ ├── _input-group.scss │ │ │ ├── _modal.scss │ │ │ ├── _navigation.scss │ │ │ ├── _pagination.scss │ │ │ ├── _panel.scss │ │ │ ├── _popover.scss │ │ │ ├── _progress.scss │ │ │ ├── _tables.scss │ │ │ ├── _tags.scss │ │ │ ├── _thumbnail.scss │ │ │ └── _tooltip.scss │ │ ├── custom │ │ │ ├── Fonts │ │ │ │ └── _fonts.scss │ │ │ ├── _components-col.scss │ │ │ ├── _custom-forms.scss │ │ │ ├── _custom-styles.scss │ │ │ ├── _file-manager.scss │ │ │ ├── _font.scss │ │ │ ├── _gallery.scss │ │ │ ├── _highlight.scss │ │ │ ├── _labels.scss │ │ │ ├── _list-group.scss │ │ │ ├── _media.scss │ │ │ ├── _navbar.scss │ │ │ ├── _pricing.scss │ │ │ ├── _rating.scss │ │ │ ├── _tabs-menu.scss │ │ │ └── _timeline.scss │ │ ├── layouts │ │ │ ├── _footer.scss │ │ │ ├── _header.scss │ │ │ ├── _horizontal-menu.scss │ │ │ ├── _icons-list.scss │ │ │ ├── _loaders.scss │ │ │ └── _rtl.scss │ │ ├── lib │ │ │ ├── _datepicker.scss │ │ │ ├── _jvector.scss │ │ │ ├── _select-group.scss │ │ │ └── _select2.scss │ │ ├── plugins │ │ │ ├── _accordion.scss │ │ │ ├── _autoFill.bootstrap5.min.scss │ │ │ ├── _bootstrap-datepicker.scss │ │ │ ├── _buttons.bootstrap5.scss │ │ │ ├── _c3-chart.scss │ │ │ ├── _calendar.scss │ │ │ ├── _classic.scss │ │ │ ├── _dataTables.bootstrap.scss │ │ │ ├── _dataTables.dateTime.min.scss │ │ │ ├── _date-picker.scss │ │ │ ├── _daterangepicker.scss │ │ │ ├── _dtree.scss │ │ │ ├── _edit-table.scss │ │ │ ├── _fancy_fileupload.scss │ │ │ ├── _fileupload.scss │ │ │ ├── _form-wizard-demo.scss │ │ │ ├── _fullcalendar.scss │ │ │ ├── _gallery.scss │ │ │ ├── _intlTelInput.scss │ │ │ ├── _ion.rangeSlider.scss │ │ │ ├── _ion.rangeSlider.skinFlat.scss │ │ │ ├── _ion.rangeSlider.skinSimple.scss │ │ │ ├── _jquery-jvectormap.scss │ │ │ ├── _jquery-ui.scss │ │ │ ├── _jquery.countdown.scss │ │ │ ├── _jquery.growl.scss │ │ │ ├── _jquery.steps.scss │ │ │ ├── _jquery.timepicker.scss │ │ │ ├── _jquery.transfer.scss │ │ │ ├── _jquerysctipttop.scss │ │ │ ├── _jquerytransfer-icon_font.scss │ │ │ ├── _keyTable.dataTables.min.scss │ │ │ ├── _leaflet.scss │ │ │ ├── _monolith.scss │ │ │ ├── _morris.scss │ │ │ ├── _multi.scss │ │ │ ├── _multiple-select.scss │ │ │ ├── _nano.scss │ │ │ ├── _notifIt.scss │ │ │ ├── _nv.d3.scss │ │ │ ├── _owl.carousel.scss │ │ │ ├── _perfect-scrollbar.scss │ │ │ ├── _quill.bubble.scss │ │ │ ├── _quill.snow.scss │ │ │ ├── _responsive.bootstrap.scss │ │ │ ├── _richtext.scss │ │ │ ├── _select2.min.scss │ │ │ ├── _sidebar.scss │ │ │ ├── _smart_wizard.scss │ │ │ ├── _smart_wizard_theme_arrows.scss │ │ │ ├── _smart_wizard_theme_circles.scss │ │ │ ├── _smart_wizard_theme_dots.scss │ │ │ ├── _spectrum.scss │ │ │ ├── _star-rating-svg.scss │ │ │ ├── _summernote.scss │ │ │ ├── _sumoselect.scss │ │ │ ├── _sweetalert.scss │ │ │ ├── _tabs.scss │ │ │ ├── _timeline.scss │ │ │ └── _treeview.scss │ │ ├── sidemenu │ │ │ ├── _closed-menu.scss │ │ │ ├── _default-menu.scss │ │ │ ├── _hover-submenu-style1.scss │ │ │ ├── _hover-submenu.scss │ │ │ └── _sidemenu-icontext.scss │ │ ├── style.scss │ │ ├── template │ │ │ ├── _calender.scss │ │ │ ├── _chart.scss │ │ │ ├── _chat.scss │ │ │ ├── _error-pages.scss │ │ │ ├── _form-wizard.scss │ │ │ ├── _range.scss │ │ │ ├── _ribbon.scss │ │ │ └── _widgets.scss │ │ └── utilities │ │ │ ├── _alignments.scss │ │ │ ├── _background.scss │ │ │ ├── _border.scss │ │ │ ├── _display.scss │ │ │ ├── _float-elements.scss │ │ │ ├── _height.scss │ │ │ ├── _margin.scss │ │ │ ├── _padding.scss │ │ │ ├── _position.scss │ │ │ ├── _typography.scss │ │ │ └── _width.scss │ └── switcher │ │ ├── css │ │ └── switcher.css │ │ ├── demo.css │ │ └── js │ │ └── switcher.js ├── index.php ├── mikpos_template.zip └── robots.txt ├── spark ├── system ├── .htaccess ├── API │ └── ResponseTrait.php ├── Autoloader │ ├── Autoloader.php │ └── FileLocator.php ├── CLI │ ├── BaseCommand.php │ ├── CLI.php │ ├── CommandRunner.php │ ├── Console.php │ └── Exceptions │ │ └── CLIException.php ├── Cache │ ├── CacheFactory.php │ ├── CacheInterface.php │ ├── Exceptions │ │ ├── CacheException.php │ │ └── ExceptionInterface.php │ └── Handlers │ │ ├── DummyHandler.php │ │ ├── FileHandler.php │ │ ├── MemcachedHandler.php │ │ ├── PredisHandler.php │ │ ├── RedisHandler.php │ │ └── WincacheHandler.php ├── CodeIgniter.php ├── Commands │ ├── Database │ │ ├── CreateMigration.php │ │ ├── Migrate.php │ │ ├── MigrateRefresh.php │ │ ├── MigrateRollback.php │ │ ├── MigrateStatus.php │ │ └── Seed.php │ ├── Help.php │ ├── ListCommands.php │ ├── Server │ │ ├── Serve.php │ │ └── rewrite.php │ ├── Sessions │ │ ├── CreateMigration.php │ │ └── Views │ │ │ └── migration.tpl.php │ └── Utilities │ │ ├── Namespaces.php │ │ └── Routes.php ├── Common.php ├── ComposerScripts.php ├── Config │ ├── AutoloadConfig.php │ ├── BaseConfig.php │ ├── BaseService.php │ ├── Config.php │ ├── DotEnv.php │ ├── ForeignCharacters.php │ ├── Routes.php │ ├── Services.php │ └── View.php ├── Controller.php ├── Database │ ├── BaseBuilder.php │ ├── BaseConnection.php │ ├── BasePreparedQuery.php │ ├── BaseResult.php │ ├── BaseUtils.php │ ├── Config.php │ ├── ConnectionInterface.php │ ├── Database.php │ ├── Exceptions │ │ ├── DataException.php │ │ ├── DatabaseException.php │ │ └── ExceptionInterface.php │ ├── Forge.php │ ├── Migration.php │ ├── MigrationRunner.php │ ├── ModelFactory.php │ ├── MySQLi │ │ ├── Builder.php │ │ ├── Connection.php │ │ ├── Forge.php │ │ ├── PreparedQuery.php │ │ ├── Result.php │ │ └── Utils.php │ ├── Postgre │ │ ├── Builder.php │ │ ├── Connection.php │ │ ├── Forge.php │ │ ├── PreparedQuery.php │ │ ├── Result.php │ │ └── Utils.php │ ├── PreparedQueryInterface.php │ ├── Query.php │ ├── QueryInterface.php │ ├── ResultInterface.php │ ├── SQLite3 │ │ ├── Builder.php │ │ ├── Connection.php │ │ ├── Forge.php │ │ ├── PreparedQuery.php │ │ ├── Result.php │ │ ├── Table.php │ │ └── Utils.php │ └── Seeder.php ├── Debug │ ├── Exceptions.php │ ├── Iterator.php │ ├── Timer.php │ ├── Toolbar.php │ └── Toolbar │ │ ├── Collectors │ │ ├── BaseCollector.php │ │ ├── Config.php │ │ ├── Database.php │ │ ├── Events.php │ │ ├── Files.php │ │ ├── History.php │ │ ├── Logs.php │ │ ├── Routes.php │ │ ├── Timers.php │ │ └── Views.php │ │ └── Views │ │ ├── _config.tpl │ │ ├── _database.tpl │ │ ├── _events.tpl │ │ ├── _files.tpl │ │ ├── _history.tpl │ │ ├── _logs.tpl │ │ ├── _routes.tpl │ │ ├── toolbar.css │ │ ├── toolbar.js │ │ ├── toolbar.tpl.php │ │ └── toolbarloader.js.php ├── Email │ └── Email.php ├── Encryption │ ├── EncrypterInterface.php │ ├── Encryption.php │ ├── Exceptions │ │ └── EncryptionException.php │ └── Handlers │ │ ├── BaseHandler.php │ │ └── OpenSSLHandler.php ├── Entity.php ├── Events │ └── Events.php ├── Exceptions │ ├── AlertError.php │ ├── CastException.php │ ├── ConfigException.php │ ├── CriticalError.php │ ├── DownloadException.php │ ├── EmergencyError.php │ ├── ExceptionInterface.php │ ├── FrameworkException.php │ ├── ModelException.php │ └── PageNotFoundException.php ├── Files │ ├── Exceptions │ │ ├── FileException.php │ │ └── FileNotFoundException.php │ └── File.php ├── Filters │ ├── CSRF.php │ ├── DebugToolbar.php │ ├── Exceptions │ │ └── FilterException.php │ ├── FilterInterface.php │ ├── Filters.php │ └── Honeypot.php ├── Format │ ├── Exceptions │ │ └── FormatException.php │ ├── FormatterInterface.php │ ├── JSONFormatter.php │ └── XMLFormatter.php ├── HTTP │ ├── CLIRequest.php │ ├── CURLRequest.php │ ├── ContentSecurityPolicy.php │ ├── DownloadResponse.php │ ├── Exceptions │ │ └── HTTPException.php │ ├── Files │ │ ├── FileCollection.php │ │ ├── UploadedFile.php │ │ └── UploadedFileInterface.php │ ├── Header.php │ ├── IncomingRequest.php │ ├── Message.php │ ├── Negotiate.php │ ├── RedirectResponse.php │ ├── Request.php │ ├── RequestInterface.php │ ├── Response.php │ ├── ResponseInterface.php │ ├── URI.php │ └── UserAgent.php ├── Helpers │ ├── array_helper.php │ ├── cookie_helper.php │ ├── date_helper.php │ ├── filesystem_helper.php │ ├── form_helper.php │ ├── html_helper.php │ ├── inflector_helper.php │ ├── number_helper.php │ ├── security_helper.php │ ├── text_helper.php │ ├── url_helper.php │ └── xml_helper.php ├── Honeypot │ ├── Exceptions │ │ └── HoneypotException.php │ └── Honeypot.php ├── I18n │ ├── Exceptions │ │ └── I18nException.php │ ├── Time.php │ └── TimeDifference.php ├── Images │ ├── Exceptions │ │ └── ImageException.php │ ├── Handlers │ │ ├── BaseHandler.php │ │ ├── GDHandler.php │ │ └── ImageMagickHandler.php │ ├── Image.php │ └── ImageHandlerInterface.php ├── Language │ ├── Language.php │ └── en │ │ ├── CLI.php │ │ ├── Cache.php │ │ ├── Cast.php │ │ ├── Core.php │ │ ├── Database.php │ │ ├── Email.php │ │ ├── Encryption.php │ │ ├── Entity.php │ │ ├── Files.php │ │ ├── Filters.php │ │ ├── Format.php │ │ ├── HTTP.php │ │ ├── Images.php │ │ ├── Language.php │ │ ├── Log.php │ │ ├── Migrations.php │ │ ├── Number.php │ │ ├── Pager.php │ │ ├── RESTful.php │ │ ├── Redirect.php │ │ ├── Router.php │ │ ├── Session.php │ │ ├── Time.php │ │ ├── Validation.php │ │ └── View.php ├── Log │ ├── Exceptions │ │ └── LogException.php │ ├── Handlers │ │ ├── BaseHandler.php │ │ ├── ChromeLoggerHandler.php │ │ ├── FileHandler.php │ │ └── HandlerInterface.php │ └── Logger.php ├── Model.php ├── Pager │ ├── Exceptions │ │ └── PagerException.php │ ├── Pager.php │ ├── PagerInterface.php │ ├── PagerRenderer.php │ └── Views │ │ ├── default_full.php │ │ ├── default_head.php │ │ └── default_simple.php ├── RESTful │ ├── ResourceController.php │ └── ResourcePresenter.php ├── Router │ ├── Exceptions │ │ ├── RedirectException.php │ │ └── RouterException.php │ ├── RouteCollection.php │ ├── RouteCollectionInterface.php │ ├── Router.php │ └── RouterInterface.php ├── Security │ ├── Exceptions │ │ └── SecurityException.php │ └── Security.php ├── Session │ ├── Exceptions │ │ └── SessionException.php │ ├── Handlers │ │ ├── ArrayHandler.php │ │ ├── BaseHandler.php │ │ ├── DatabaseHandler.php │ │ ├── FileHandler.php │ │ ├── MemcachedHandler.php │ │ └── RedisHandler.php │ ├── Session.php │ └── SessionInterface.php ├── Test │ ├── CIDatabaseTestCase.php │ ├── CIUnitTestCase.php │ ├── ControllerResponse.php │ ├── ControllerTester.php │ ├── DOMParser.php │ ├── FeatureResponse.php │ ├── FeatureTestCase.php │ ├── Filters │ │ └── CITestStreamFilter.php │ ├── Mock │ │ ├── MockAppConfig.php │ │ ├── MockAutoload.php │ │ ├── MockBuilder.php │ │ ├── MockCLIConfig.php │ │ ├── MockCURLRequest.php │ │ ├── MockCache.php │ │ ├── MockChromeLogger.php │ │ ├── MockCodeIgniter.php │ │ ├── MockCommon.php │ │ ├── MockConnection.php │ │ ├── MockEvents.php │ │ ├── MockFileLogger.php │ │ ├── MockIncomingRequest.php │ │ ├── MockLanguage.php │ │ ├── MockLogger.php │ │ ├── MockQuery.php │ │ ├── MockResourceController.php │ │ ├── MockResourcePresenter.php │ │ ├── MockResponse.php │ │ ├── MockResult.php │ │ ├── MockSecurity.php │ │ ├── MockServices.php │ │ ├── MockSession.php │ │ └── MockTable.php │ ├── ReflectionHelper.php │ ├── TestLogger.php │ └── bootstrap.php ├── ThirdParty │ ├── Escaper │ │ ├── Escaper.php │ │ └── Exception │ │ │ ├── ExceptionInterface.php │ │ │ ├── InvalidArgumentException.php │ │ │ └── RuntimeException.php │ ├── Kint │ │ ├── CallFinder.php │ │ ├── Kint.php │ │ ├── Object │ │ │ ├── BasicObject.php │ │ │ ├── BlobObject.php │ │ │ ├── ClosureObject.php │ │ │ ├── DateTimeObject.php │ │ │ ├── InstanceObject.php │ │ │ ├── MethodObject.php │ │ │ ├── ParameterObject.php │ │ │ ├── Representation │ │ │ │ ├── ColorRepresentation.php │ │ │ │ ├── DocstringRepresentation.php │ │ │ │ ├── MicrotimeRepresentation.php │ │ │ │ ├── Representation.php │ │ │ │ ├── SourceRepresentation.php │ │ │ │ └── SplFileInfoRepresentation.php │ │ │ ├── ResourceObject.php │ │ │ ├── StreamObject.php │ │ │ ├── ThrowableObject.php │ │ │ ├── TraceFrameObject.php │ │ │ └── TraceObject.php │ │ ├── Parser │ │ │ ├── ArrayObjectPlugin.php │ │ │ ├── Base64Plugin.php │ │ │ ├── BinaryPlugin.php │ │ │ ├── BlacklistPlugin.php │ │ │ ├── ClassMethodsPlugin.php │ │ │ ├── ClassStaticsPlugin.php │ │ │ ├── ClosurePlugin.php │ │ │ ├── ColorPlugin.php │ │ │ ├── DOMDocumentPlugin.php │ │ │ ├── DateTimePlugin.php │ │ │ ├── FsPathPlugin.php │ │ │ ├── IteratorPlugin.php │ │ │ ├── JsonPlugin.php │ │ │ ├── MicrotimePlugin.php │ │ │ ├── MysqliPlugin.php │ │ │ ├── Parser.php │ │ │ ├── Plugin.php │ │ │ ├── ProxyPlugin.php │ │ │ ├── SerializePlugin.php │ │ │ ├── SimpleXMLElementPlugin.php │ │ │ ├── SplFileInfoPlugin.php │ │ │ ├── SplObjectStoragePlugin.php │ │ │ ├── StreamPlugin.php │ │ │ ├── TablePlugin.php │ │ │ ├── ThrowablePlugin.php │ │ │ ├── TimestampPlugin.php │ │ │ ├── ToStringPlugin.php │ │ │ ├── TracePlugin.php │ │ │ └── XmlPlugin.php │ │ ├── Renderer │ │ │ ├── CliRenderer.php │ │ │ ├── PlainRenderer.php │ │ │ ├── Renderer.php │ │ │ ├── Rich │ │ │ │ ├── BinaryPlugin.php │ │ │ │ ├── BlacklistPlugin.php │ │ │ │ ├── CallablePlugin.php │ │ │ │ ├── ClosurePlugin.php │ │ │ │ ├── ColorPlugin.php │ │ │ │ ├── DepthLimitPlugin.php │ │ │ │ ├── DocstringPlugin.php │ │ │ │ ├── MicrotimePlugin.php │ │ │ │ ├── ObjectPluginInterface.php │ │ │ │ ├── Plugin.php │ │ │ │ ├── PluginInterface.php │ │ │ │ ├── RecursionPlugin.php │ │ │ │ ├── SimpleXMLElementPlugin.php │ │ │ │ ├── SourcePlugin.php │ │ │ │ ├── TabPluginInterface.php │ │ │ │ ├── TablePlugin.php │ │ │ │ ├── TimestampPlugin.php │ │ │ │ └── TraceFramePlugin.php │ │ │ ├── RichRenderer.php │ │ │ ├── Text │ │ │ │ ├── BlacklistPlugin.php │ │ │ │ ├── DepthLimitPlugin.php │ │ │ │ ├── MicrotimePlugin.php │ │ │ │ ├── Plugin.php │ │ │ │ ├── RecursionPlugin.php │ │ │ │ └── TracePlugin.php │ │ │ └── TextRenderer.php │ │ ├── Utils.php │ │ ├── init.php │ │ ├── init_helpers.php │ │ └── resources │ │ │ └── compiled │ │ │ ├── aante-light.css │ │ │ ├── microtime.js │ │ │ ├── original.css │ │ │ ├── plain.css │ │ │ ├── plain.js │ │ │ ├── rich.js │ │ │ ├── shared.js │ │ │ ├── solarized-dark.css │ │ │ └── solarized.css │ └── PSR │ │ └── Log │ │ ├── AbstractLogger.php │ │ ├── InvalidArgumentException.php │ │ ├── LogLevel.php │ │ ├── LoggerAwareInterface.php │ │ ├── LoggerAwareTrait.php │ │ ├── LoggerInterface.php │ │ ├── LoggerTrait.php │ │ └── NullLogger.php ├── Throttle │ ├── Throttler.php │ └── ThrottlerInterface.php ├── Typography │ └── Typography.php ├── Validation │ ├── CreditCardRules.php │ ├── Exceptions │ │ └── ValidationException.php │ ├── FileRules.php │ ├── FormatRules.php │ ├── Rules.php │ ├── Validation.php │ ├── ValidationInterface.php │ └── Views │ │ ├── list.php │ │ └── single.php ├── View │ ├── Cell.php │ ├── Exceptions │ │ └── ViewException.php │ ├── Filters.php │ ├── Parser.php │ ├── Plugins.php │ ├── RendererInterface.php │ ├── Table.php │ └── View.php ├── bootstrap.php └── index.html └── writable ├── .htaccess ├── cache └── index.html ├── debugbar ├── .gitkeep ├── debugbar_1598649126.json ├── debugbar_1598649129.json ├── debugbar_1598649147.json ├── debugbar_1598649156.json ├── debugbar_1598649157.json ├── debugbar_1598649159.json ├── debugbar_1598649182.json ├── debugbar_1598649183.json ├── debugbar_1598649186.json ├── debugbar_1598649205.json ├── debugbar_1598649206.json ├── debugbar_1612276235.json ├── debugbar_1612276236.json ├── debugbar_1612276279.json ├── debugbar_1612276288.json ├── debugbar_1652271000.json ├── debugbar_1652271003.json ├── debugbar_1652271108.json ├── debugbar_1652271121.json ├── debugbar_1652271126.json ├── debugbar_1652271130.json ├── debugbar_1652271132.json ├── debugbar_1652273785.json ├── debugbar_1652273786.json └── debugbar_1652273788.json ├── logs └── index.html ├── rev └── hehe │ └── index.html ├── session └── index.html └── uploads └── index.html /LICENSE.md: -------------------------------------------------------------------------------- 1 | VPN PANEL By Muhammad Naufal Azkia Custom License 2 | 3 | This software and its associated documentation are provided "as is," and the author, Muhammad Naufal Azkia, provides no warranty, express or implied, regarding its fitness for any particular purpose or non-infringement. However, in the event of any bugs or issues with the software, Muhammad Naufal Azkia warrants to make commercially reasonable efforts to address and rectify such bugs or issues within a reasonable time frame. 4 | 5 | Permissions: 6 | 7 | 1. The licensee is granted the right to use, copy, modify, and distribute this software and its documentation for personal or internal use only. 8 | 2. The licensee may not publish the repository containing this software or any derivative works to the public, including but not limited to public code repositories, without prior written consent from Muhammad Naufal Azkia. 9 | 3. The licensee may not sublicense, sell, or redistribute the source code of this software, in whole or in part, in any form, whether modified or unmodified, without prior written consent from Muhammad Naufal Azkia. 10 | 11 | Limitations: 12 | 13 | 1. This license does not grant any rights to any patents, trademarks, copyrights, or any other intellectual property rights except as expressly stated herein. 14 | 2. This license does not permit the licensee to use the names, trademarks, service marks, or logos of Muhammad Naufal Azkia except as required for reasonable and customary use in describing the origin of this software. 15 | -------------------------------------------------------------------------------- /app/.htaccess: -------------------------------------------------------------------------------- 1 | 2 | Require all denied 3 | 4 | 5 | Deny from all 6 | 7 | -------------------------------------------------------------------------------- /app/Common.php: -------------------------------------------------------------------------------- 1 | 0) 26 | { 27 | \ob_end_flush(); 28 | } 29 | 30 | \ob_start(function ($buffer) { 31 | return $buffer; 32 | }); 33 | } 34 | 35 | /* 36 | * -------------------------------------------------------------------- 37 | * Debug Toolbar Listeners. 38 | * -------------------------------------------------------------------- 39 | * If you delete, they will no longer be collected. 40 | */ 41 | if (ENVIRONMENT !== 'production') 42 | { 43 | Events::on('DBQuery', 'CodeIgniter\Debug\Toolbar\Collectors\Database::collect'); 44 | Services::toolbar()->respond(); 45 | } 46 | }); 47 | -------------------------------------------------------------------------------- /app/Config/Exceptions.php: -------------------------------------------------------------------------------- 1 | request = \Config\Services::request(); 11 | // $this->uri = $this->request->uri; 12 | 13 | // //==================filter untuk login dashboard=============== 14 | // if($_SERVER['HTTP_HOST'] == DOMAIN_UTAMA || $_SERVER['HTTP_HOST'] == DOMAIN_UTAMA_WWW){ 15 | // $this->filters = [ 16 | // 'authuser' => ['before' => ['user/*']] 17 | // ]; 18 | // } 19 | // } 20 | 21 | // Makes reading things below nicer, 22 | // and simpler to change out script that's used. 23 | public $aliases = [ 24 | 'csrf' => \CodeIgniter\Filters\CSRF::class, 25 | 'toolbar' => \CodeIgniter\Filters\DebugToolbar::class, 26 | 'honeypot' => \CodeIgniter\Filters\Honeypot::class, 27 | 'authuser' => \App\Filters\AuthUser::class, 28 | 'authrouter' => \App\Filters\AuthRouter::class, 29 | ]; 30 | 31 | // Always applied before every request 32 | public $globals = [ 33 | 'before' => [ 34 | //'honeypot' 35 | // 'csrf', 36 | // 'authuser' => ['user/*'], 37 | ], 38 | 'after' => [ 39 | 'toolbar', 40 | //'honeypot' 41 | ], 42 | ]; 43 | 44 | // Works on all of a particular HTTP method 45 | // (GET, POST, etc) as BEFORE filters only 46 | // like: 'post' => ['CSRF', 'throttle'], 47 | public $methods = []; 48 | 49 | // List filter aliases and any before/after uri patterns 50 | // that they should run on, like: 51 | // 'isLoggedIn' => ['before' => ['account/*', 'profiles/*']], 52 | public $filters = [ 53 | 'authrouter' => [ 'before' => ['u/*'] ], 54 | 'authuser' => [ 'before' => ['router/*'] ], 55 | ]; 56 | } 57 | -------------------------------------------------------------------------------- /app/Config/ForeignCharacters.php: -------------------------------------------------------------------------------- 1 | {label}'; 34 | } 35 | -------------------------------------------------------------------------------- /app/Config/Images.php: -------------------------------------------------------------------------------- 1 | \CodeIgniter\Images\Handlers\GDHandler::class, 29 | 'imagick' => \CodeIgniter\Images\Handlers\ImageMagickHandler::class, 30 | ]; 31 | } 32 | -------------------------------------------------------------------------------- /app/Config/Kint.php: -------------------------------------------------------------------------------- 1 | php spark migrate:create 41 | | 42 | | Typical formats: 43 | | YmdHis_ 44 | | Y-m-d-His_ 45 | | Y_m_d_His_ 46 | | 47 | */ 48 | public $timestampFormat = 'Y-m-d-His_'; 49 | 50 | } 51 | -------------------------------------------------------------------------------- /app/Config/Pager.php: -------------------------------------------------------------------------------- 1 | 'CodeIgniter\Pager\Views\default_full', 22 | 'default_simple' => 'CodeIgniter\Pager\Views\default_simple', 23 | 'default_head' => 'CodeIgniter\Pager\Views\default_head', 24 | ]; 25 | 26 | /* 27 | |-------------------------------------------------------------------------- 28 | | Items Per Page 29 | |-------------------------------------------------------------------------- 30 | | 31 | | The default number of results shown in a single page. 32 | | 33 | */ 34 | public $perPage = 20; 35 | } 36 | -------------------------------------------------------------------------------- /app/Config/Services.php: -------------------------------------------------------------------------------- 1 | 'CodeIgniter\Validation\Views\list', 30 | 'single' => 'CodeIgniter\Validation\Views\single', 31 | ]; 32 | 33 | //-------------------------------------------------------------------- 34 | // Rules 35 | //-------------------------------------------------------------------- 36 | } 37 | -------------------------------------------------------------------------------- /app/Config/View.php: -------------------------------------------------------------------------------- 1 | session = \Config\Services::session(); 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /app/Controllers/base/DataController.php: -------------------------------------------------------------------------------- 1 | DashboardModel = new DashboardModel(); 11 | $this->ros = new RouterosAPI(); 12 | $this->request = \Config\Services::request(); 13 | $this->uri = $this->request->uri; 14 | $this->key = new \App\Libraries\Key(); 15 | } 16 | 17 | public function get_scheduler_by_name() { 18 | $name = $this->uri->getSegment(5); 19 | $rosauth = $this->DashboardModel->get_router_by_router_id(); 20 | $this->ros->connect($rosauth[0]->router_host, $rosauth[0]->router_user, $this->key->de($rosauth[0]->router_pass)); 21 | $getprofile = $this->ros->comm("/system/scheduler/print", array("?name" => "$name")); 22 | $this->ros->disconnect; 23 | return json_encode($getprofile); 24 | } 25 | 26 | public function get_ppp_active_by_name() { 27 | $name = $this->uri->getSegment(5); 28 | $rosauth = $this->DashboardModel->get_router_by_router_id(); 29 | $this->ros->connect($rosauth[0]->router_host, $rosauth[0]->router_user, $this->key->de($rosauth[0]->router_pass)); 30 | $getprofile = $this->ros->comm("/ppp/active/print", array("?name" => "$name")); 31 | $this->ros->disconnect; 32 | return json_encode($getprofile); 33 | } 34 | 35 | } -------------------------------------------------------------------------------- /app/Database/Migrations/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/app/Database/Migrations/.gitkeep -------------------------------------------------------------------------------- /app/Database/Migrations/2022-05-31-013017_AddUsers.php: -------------------------------------------------------------------------------- 1 | forge->addField([ 11 | 'id' => [ 12 | 'type' => 'INT', 13 | 'constraint' => 11, 14 | 'auto_increment' => true, 15 | 'null' => false, 16 | ], 17 | 'username' => [ 18 | 'type' => 'VARCHAR', 19 | 'constraint' => '255', 20 | ], 21 | 'email' => [ 22 | 'type' => 'VARCHAR', 23 | 'constraint' => '255', 24 | ], 25 | 'password' => [ 26 | 'type' => 'VARCHAR', 27 | 'constraint' => '255', 28 | ], 29 | 'created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP', 30 | 'updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP', 31 | ]); 32 | $this->forge->addKey('id', TRUE); 33 | $attributes = ['ENGINE' => 'InnoDB']; 34 | $this->forge->createTable('users', TRUE, $attributes); 35 | } 36 | 37 | public function down() 38 | { 39 | $this->forge->dropTable('users', TRUE); 40 | } 41 | } -------------------------------------------------------------------------------- /app/Database/Seeds/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/app/Database/Seeds/.gitkeep -------------------------------------------------------------------------------- /app/Database/Seeds/UsersSeeder.php: -------------------------------------------------------------------------------- 1 | 1, 9 | 'username' => 'admin', 10 | 'email' => 'admin@example.com', 11 | 'password' => '21232f297a57a5a743894a0e4a801fc3', 12 | ]; 13 | $this->db->table('users')->emptyTable(); 14 | $this->db->table('users')->insert($data); 15 | } 16 | } -------------------------------------------------------------------------------- /app/Filters/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/app/Filters/.gitkeep -------------------------------------------------------------------------------- /app/Filters/AuthRouter.php: -------------------------------------------------------------------------------- 1 | has('routerlogged')) 13 | { 14 | return redirect()->to(base_url('/router/list')); 15 | } 16 | 17 | } 18 | 19 | //-------------------------------------------------------------------- 20 | 21 | public function after(RequestInterface $request, ResponseInterface $response, $arguments = null) 22 | { 23 | // Do something here 24 | } 25 | } -------------------------------------------------------------------------------- /app/Filters/AuthUser.php: -------------------------------------------------------------------------------- 1 | has('ownerlogged')) 13 | { 14 | return redirect()->to(base_url('/')); 15 | } 16 | 17 | } 18 | 19 | //-------------------------------------------------------------------- 20 | 21 | public function after(RequestInterface $request, ResponseInterface $response, $arguments = null) 22 | { 23 | // Do something here 24 | } 25 | } -------------------------------------------------------------------------------- /app/Helpers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/app/Helpers/.gitkeep -------------------------------------------------------------------------------- /app/Language/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/app/Language/.gitkeep -------------------------------------------------------------------------------- /app/Libraries/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/app/Libraries/.gitkeep -------------------------------------------------------------------------------- /app/Libraries/Key.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/ThirdParty/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/app/ThirdParty/.gitkeep -------------------------------------------------------------------------------- /app/Views/errors/cli/error_404.php: -------------------------------------------------------------------------------- 1 | 4 | Message: 5 | Filename: getFile(), "\n"; ?> 6 | Line Number: getLine(); ?> 7 | 8 | 9 | 10 | Backtrace: 11 | getTrace() as $error): ?> 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /app/Views/errors/cli/production.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 404 Page Not Found 6 | 7 | 70 | 71 | 72 |
73 |

404 - File Not Found

74 | 75 |

76 | 77 | 78 | 79 | Sorry! Cannot seem to find the page you were looking for. 80 | 81 |

82 |
83 | 84 | 85 | -------------------------------------------------------------------------------- /app/Views/errors/html/production.php: -------------------------------------------------------------------------------- 1 | --> 2 | 3 | 4 | 5 | 6 | 7 | Whoops! 8 | 9 | 12 | 13 | 14 | 15 |
16 | 17 |

Whoops!

18 | 19 |

We seem to have hit a snag. Please try again later...

20 | 21 |
22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /app/Views/errors/isolir.php: -------------------------------------------------------------------------------- 1 | router_name; 3 | $routerdns = $row->router_dns; 4 | } 5 | ?> 6 | 7 | 8 | 9 | 10 | 11 | ISOLIR 12 | 13 | 14 | 15 | 16 |
17 |
18 |
Pelanggan yang terhormat 🙏
19 |
20 |

Kami informasikan bahwa layanan internet anda saat ini terisolir, Mohon maaf atas ketidak nyamanannya. Agar dapat digunakan kembali, dimohon untuk melakukan pembayaran. Silahkan klik tombol "Pembayaran" di bawah ini untuk melakukan pembayaran, terima kasih.

21 |
22 | Pembayaran > 23 |
24 |
25 |
26 | 27 |
28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /app/Views/errors/isolir2.php: -------------------------------------------------------------------------------- 1 | router_name; 3 | $routerdns = $row->router_dns; 4 | } 5 | ?> 6 | 7 | 8 | 9 | 10 | 11 | ISOLIR 12 | 13 | 14 | 15 | 16 |
17 |
18 |

Halo kak, "" 🙏

19 |
20 |

Kami informasikan bahwa layanan internet anda saat ini terisolir dan sementara tidak dapat digunakan, agar tidak terkena isolir otomatis, diharap untuk melakukan pembayaran sebelum tanggal kadaluarsa akun anda. Agar dapat digunakan kembali, silahkan klik tombol dibawah untuk perpanjang akun anda.

21 |
22 | Perpanjang > 23 |
24 |
25 |
26 | 27 |
28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /app/Views/voucher/temp.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /app/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 403 Forbidden 5 | 6 | 7 | 8 |

Directory access is forbidden.

9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "codeigniter4/codeigniter4", 3 | "type": "project", 4 | "description": "The CodeIgniter framework v4", 5 | "homepage": "https://codeigniter.com", 6 | "license": "MIT", 7 | "require": { 8 | "php": ">=7.2", 9 | "ext-curl": "*", 10 | "ext-intl": "*", 11 | "ext-json": "*", 12 | "kint-php/kint": "^3.3", 13 | "psr/log": "^1.1", 14 | "laminas/laminas-escaper": "^2.6", 15 | "evilfreelancer/routeros-api-php": "^1.4" 16 | }, 17 | "require-dev": { 18 | "codeigniter4/codeigniter4-standard": "^1.0", 19 | "mikey179/vfsstream": "1.6.*", 20 | "phpunit/phpunit": "^9.0", 21 | "squizlabs/php_codesniffer": "^3.3" 22 | }, 23 | "autoload": { 24 | "psr-4": { 25 | "CodeIgniter\\": "system/" 26 | } 27 | }, 28 | "scripts": { 29 | "post-update-cmd": [ 30 | "@composer dump-autoload", 31 | "CodeIgniter\\ComposerScripts::postUpdate" 32 | ] 33 | }, 34 | "support": { 35 | "forum": "http://forum.codeigniter.com/", 36 | "source": "https://github.com/codeigniter4/CodeIgniter4", 37 | "slack": "https://codeigniterchat.slack.com" 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /phpunit.xml.dist: -------------------------------------------------------------------------------- 1 | 2 | 12 | 13 | 14 | ./tests/system 15 | ./tests/system/Database 16 | 17 | 18 | ./tests/system/Database 19 | 20 | 21 | 22 | 23 | 24 | ./system 25 | 26 | ./system/Debug/Toolbar/Views 27 | ./system/Pager/Views 28 | ./system/ThirdParty 29 | ./system/Validation/Views 30 | ./system/bootstrap.php 31 | ./system/Commands/Sessions/Views/migration.tpl.php 32 | ./system/ComposerScripts.php 33 | ./system/Config/Routes.php 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /public/.htaccess: -------------------------------------------------------------------------------- 1 | # Disable directory browsing 2 | Options All -Indexes 3 | 4 | # ---------------------------------------------------------------------- 5 | # Rewrite engine 6 | # ---------------------------------------------------------------------- 7 | 8 | # Turning on the rewrite engine is necessary for the following rules and features. 9 | # FollowSymLinks must be enabled for this to work. 10 | 11 | Options +FollowSymlinks 12 | RewriteEngine On 13 | 14 | # If you installed CodeIgniter in a subfolder, you will need to 15 | # change the following line to match the subfolder you need. 16 | # http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritebase 17 | # RewriteBase / 18 | 19 | # Redirect Trailing Slashes... 20 | RewriteCond %{REQUEST_FILENAME} !-d 21 | RewriteRule ^(.*)/$ /$1 [L,R=301] 22 | 23 | # Rewrite "www.example.com -> example.com" 24 | RewriteCond %{HTTPS} !=on 25 | RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] 26 | RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L] 27 | 28 | # Checks to see if the user is attempting to access a valid file, 29 | # such as an image or css document, if this isn't true it sends the 30 | # request to the front controller, index.php 31 | RewriteCond %{REQUEST_FILENAME} !-f 32 | RewriteCond %{REQUEST_FILENAME} !-d 33 | RewriteRule ^([\s\S]*)$ index.php/$1 [L,NC,QSA] 34 | 35 | # Ensure Authorization header is passed along 36 | RewriteCond %{HTTP:Authorization} . 37 | RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] 38 | 39 | 40 | 41 | # If we don't have mod_rewrite installed, all 404's 42 | # can be sent to index.php, and everything works as normal. 43 | ErrorDocument 404 index.php 44 | 45 | 46 | # Disable server signature start 47 | ServerSignature Off 48 | # Disable server signature end -------------------------------------------------------------------------------- /public/assets/css/icons.css: -------------------------------------------------------------------------------- 1 | @import url("../iconfonts/bootstrapicons/bootstrap-icons.css"); 2 | @import url("../iconfonts/font-awesome/css/font-awesome.min.css"); 3 | @import url("../iconfonts/glyphicons/glyphicon.css"); 4 | @import url("../iconfonts/ionicons/ionicons.css"); 5 | @import url("../iconfonts/linearicons/Linearicons.css"); 6 | @import url("../iconfonts/materialdesignicons/materialdesignicons.css"); 7 | @import url("../iconfonts/pe-icon-7-stroke/Pe-icon-7.css"); 8 | @import url("../iconfonts/simple-line-icons/simple-line-icons.css"); 9 | @import url("../iconfonts/themify/themify.css"); 10 | @import url("../iconfonts/typicons/typicons.css"); 11 | @import url("../iconfonts/weathericons/weathericons.css"); 12 | @import url("../iconfonts/feather/feather.css"); 13 | @import url("../iconfonts/remixicon/remixicon.css"); -------------------------------------------------------------------------------- /public/assets/iconfonts/bootstrapicons/fonts/bootstrap-icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/bootstrapicons/fonts/bootstrap-icons.woff -------------------------------------------------------------------------------- /public/assets/iconfonts/bootstrapicons/fonts/bootstrap-icons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/bootstrapicons/fonts/bootstrap-icons.woff2 -------------------------------------------------------------------------------- /public/assets/iconfonts/feather/fonts/feather-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/feather/fonts/feather-webfont.eot -------------------------------------------------------------------------------- /public/assets/iconfonts/feather/fonts/feather-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/feather/fonts/feather-webfont.ttf -------------------------------------------------------------------------------- /public/assets/iconfonts/feather/fonts/feather-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/feather/fonts/feather-webfont.woff -------------------------------------------------------------------------------- /public/assets/iconfonts/font-awesome/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/font-awesome/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /public/assets/iconfonts/font-awesome/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/font-awesome/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /public/assets/iconfonts/font-awesome/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/font-awesome/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /public/assets/iconfonts/font-awesome/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/font-awesome/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /public/assets/iconfonts/font-awesome/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/font-awesome/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /public/assets/iconfonts/glyphicons/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/glyphicons/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /public/assets/iconfonts/glyphicons/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/glyphicons/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /public/assets/iconfonts/glyphicons/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/glyphicons/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /public/assets/iconfonts/glyphicons/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/glyphicons/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /public/assets/iconfonts/ionicons/fonts/ionicons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/ionicons/fonts/ionicons.eot -------------------------------------------------------------------------------- /public/assets/iconfonts/ionicons/fonts/ionicons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/ionicons/fonts/ionicons.ttf -------------------------------------------------------------------------------- /public/assets/iconfonts/ionicons/fonts/ionicons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/ionicons/fonts/ionicons.woff -------------------------------------------------------------------------------- /public/assets/iconfonts/linearicons/fonts/Linearicons-Free.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/linearicons/fonts/Linearicons-Free.eot -------------------------------------------------------------------------------- /public/assets/iconfonts/linearicons/fonts/Linearicons-Free.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/linearicons/fonts/Linearicons-Free.ttf -------------------------------------------------------------------------------- /public/assets/iconfonts/linearicons/fonts/Linearicons-Free.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/linearicons/fonts/Linearicons-Free.woff -------------------------------------------------------------------------------- /public/assets/iconfonts/linearicons/fonts/Linearicons-Free.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/linearicons/fonts/Linearicons-Free.woff2 -------------------------------------------------------------------------------- /public/assets/iconfonts/materialdesignicons/fonts/Material-Design-Iconic-Font.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/materialdesignicons/fonts/Material-Design-Iconic-Font.eot -------------------------------------------------------------------------------- /public/assets/iconfonts/materialdesignicons/fonts/Material-Design-Iconic-Font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/materialdesignicons/fonts/Material-Design-Iconic-Font.ttf -------------------------------------------------------------------------------- /public/assets/iconfonts/materialdesignicons/fonts/Material-Design-Iconic-Font.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/materialdesignicons/fonts/Material-Design-Iconic-Font.woff -------------------------------------------------------------------------------- /public/assets/iconfonts/materialdesignicons/fonts/Material-Design-Iconic-Font.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/materialdesignicons/fonts/Material-Design-Iconic-Font.woff2 -------------------------------------------------------------------------------- /public/assets/iconfonts/materialdesignicons/fonts/materialdesignicons-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/materialdesignicons/fonts/materialdesignicons-webfont.eot -------------------------------------------------------------------------------- /public/assets/iconfonts/materialdesignicons/fonts/materialdesignicons-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/materialdesignicons/fonts/materialdesignicons-webfont.ttf -------------------------------------------------------------------------------- /public/assets/iconfonts/materialdesignicons/fonts/materialdesignicons-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/materialdesignicons/fonts/materialdesignicons-webfont.woff -------------------------------------------------------------------------------- /public/assets/iconfonts/materialdesignicons/fonts/materialdesignicons-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/materialdesignicons/fonts/materialdesignicons-webfont.woff2 -------------------------------------------------------------------------------- /public/assets/iconfonts/pe-icon-7-stroke/fonts/Pe-icon-7-stroke.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/pe-icon-7-stroke/fonts/Pe-icon-7-stroke.eot -------------------------------------------------------------------------------- /public/assets/iconfonts/pe-icon-7-stroke/fonts/Pe-icon-7-stroke.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/pe-icon-7-stroke/fonts/Pe-icon-7-stroke.ttf -------------------------------------------------------------------------------- /public/assets/iconfonts/pe-icon-7-stroke/fonts/Pe-icon-7-stroke.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/pe-icon-7-stroke/fonts/Pe-icon-7-stroke.woff -------------------------------------------------------------------------------- /public/assets/iconfonts/remixicon/fonts/remixicon.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/remixicon/fonts/remixicon.eot -------------------------------------------------------------------------------- /public/assets/iconfonts/remixicon/fonts/remixicon.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/remixicon/fonts/remixicon.ttf -------------------------------------------------------------------------------- /public/assets/iconfonts/remixicon/fonts/remixicon.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/remixicon/fonts/remixicon.woff -------------------------------------------------------------------------------- /public/assets/iconfonts/remixicon/fonts/remixicon.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/remixicon/fonts/remixicon.woff2 -------------------------------------------------------------------------------- /public/assets/iconfonts/simple-line-icons/fonts/Simple-Line-Icons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/simple-line-icons/fonts/Simple-Line-Icons.eot -------------------------------------------------------------------------------- /public/assets/iconfonts/simple-line-icons/fonts/Simple-Line-Icons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/simple-line-icons/fonts/Simple-Line-Icons.ttf -------------------------------------------------------------------------------- /public/assets/iconfonts/simple-line-icons/fonts/Simple-Line-Icons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/simple-line-icons/fonts/Simple-Line-Icons.woff -------------------------------------------------------------------------------- /public/assets/iconfonts/simple-line-icons/fonts/Simple-Line-Icons.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/simple-line-icons/fonts/Simple-Line-Icons.woff2 -------------------------------------------------------------------------------- /public/assets/iconfonts/themify/fonts/themify.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/themify/fonts/themify.eot -------------------------------------------------------------------------------- /public/assets/iconfonts/themify/fonts/themify.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/themify/fonts/themify.ttf -------------------------------------------------------------------------------- /public/assets/iconfonts/themify/fonts/themify.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/themify/fonts/themify.woff -------------------------------------------------------------------------------- /public/assets/iconfonts/typicons/fonts/typicons.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/typicons/fonts/typicons.eot -------------------------------------------------------------------------------- /public/assets/iconfonts/typicons/fonts/typicons.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/typicons/fonts/typicons.ttf -------------------------------------------------------------------------------- /public/assets/iconfonts/typicons/fonts/typicons.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/typicons/fonts/typicons.woff -------------------------------------------------------------------------------- /public/assets/iconfonts/weathericons/fonts/weathericons-regular-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/weathericons/fonts/weathericons-regular-webfont.eot -------------------------------------------------------------------------------- /public/assets/iconfonts/weathericons/fonts/weathericons-regular-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/weathericons/fonts/weathericons-regular-webfont.ttf -------------------------------------------------------------------------------- /public/assets/iconfonts/weathericons/fonts/weathericons-regular-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/weathericons/fonts/weathericons-regular-webfont.woff -------------------------------------------------------------------------------- /public/assets/iconfonts/weathericons/fonts/weathericons-regular-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/iconfonts/weathericons/fonts/weathericons-regular-webfont.woff2 -------------------------------------------------------------------------------- /public/assets/images/brand/loader-white.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/images/brand/loader-white.gif -------------------------------------------------------------------------------- /public/assets/images/brand/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/images/brand/loader.gif -------------------------------------------------------------------------------- /public/assets/images/brand/logo-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/images/brand/logo-1.png -------------------------------------------------------------------------------- /public/assets/images/brand/logo-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/images/brand/logo-2.png -------------------------------------------------------------------------------- /public/assets/images/brand/logo-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/images/brand/logo-3.png -------------------------------------------------------------------------------- /public/assets/images/brand/logo-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/images/brand/logo-4.png -------------------------------------------------------------------------------- /public/assets/images/brand/logo-white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/images/brand/logo-white.png -------------------------------------------------------------------------------- /public/assets/images/brand/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/images/brand/logo.png -------------------------------------------------------------------------------- /public/assets/images/brand/wifi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/images/brand/wifi.png -------------------------------------------------------------------------------- /public/assets/images/brand/wifi2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/images/brand/wifi2.png -------------------------------------------------------------------------------- /public/assets/images/brand/wifi3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/images/brand/wifi3.png -------------------------------------------------------------------------------- /public/assets/images/users/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/images/users/1.jpg -------------------------------------------------------------------------------- /public/assets/js/advancedform.js: -------------------------------------------------------------------------------- 1 | (function($) { 2 | "use strict"; 3 | 4 | //accordion-wizard 5 | var options = { 6 | mode: 'wizard', 7 | autoButtonsNextClass: 'btn btn-primary float-left', 8 | autoButtonsPrevClass: 'btn btn-info', 9 | stepNumberClass: 'badge badge-pill badge-primary ml-1', 10 | onSubmit: function() { 11 | alert('Form submitted!'); 12 | return true; 13 | } 14 | } 15 | $( "#form" ).accWizard(options); 16 | 17 | })(jQuery); -------------------------------------------------------------------------------- /public/assets/js/autofill-table.js: -------------------------------------------------------------------------------- 1 | 2 | $('#autofill-table').DataTable( { 3 | autoFill: true 4 | } ); 5 | 6 | $('#hor-autofill').DataTable( { 7 | autoFill: { 8 | horizontal: false 9 | } 10 | } ); 11 | 12 | $('#enable-autofill').DataTable( { 13 | autoFill: { 14 | enable: false 15 | }, 16 | dom: 'Bfrtip', 17 | buttons: [ 18 | { 19 | text: "Enable AutoFill", 20 | action: function (e, dt) { 21 | if ( dt.autoFill().enabled() ) { 22 | this.autoFill().disable(); 23 | this.text( 'Enable AutoFill' ); 24 | } 25 | else { 26 | this.autoFill().enable(); 27 | this.text( 'Disable AutoFill' ); 28 | } 29 | } 30 | } 31 | ] 32 | } ); 33 | 34 | $('#key-table').DataTable( { 35 | keys: true, 36 | autoFill: true 37 | } ); 38 | 39 | //______Select2 40 | $('.select2').select2({ 41 | minimumResultsForSearch: Infinity 42 | }); -------------------------------------------------------------------------------- /public/assets/js/carousel.js: -------------------------------------------------------------------------------- 1 | (function($) { 2 | "use strict"; 3 | 4 | /*---Owl-carousel----*/ 5 | 6 | /*--- Owl-carousel-icons ---*/ 7 | var owl = $('.owl-carousel-icons2'); 8 | owl.owlCarousel({ 9 | loop: true, 10 | rewind: false, 11 | margin: 25, 12 | animateIn: 'fadeInDowm', 13 | animateOut: 'fadeOutDown', 14 | autoplay: false, 15 | autoplayTimeout: 5000, // set value to change speed 16 | autoplayHoverPause: true, 17 | dots: false, 18 | nav: true, 19 | autoplay: true, 20 | responsiveClass: true, 21 | responsive: { 22 | 0: { 23 | items: 1, 24 | nav: true 25 | }, 26 | 600: { 27 | items: 2, 28 | nav: true 29 | }, 30 | 1300: { 31 | items: 4, 32 | nav: true 33 | } 34 | } 35 | }) 36 | owlRtl() 37 | 38 | })(jQuery); 39 | 40 | function owlRtl() { 41 | "use strict"; 42 | 43 | //RTL Owl-carousel 44 | var carousel = $('.rtl .owl-carousel'); 45 | $.each(carousel, function(index, element) { 46 | var carouselData = $(element).data('owl.carousel'); 47 | carouselData.settings.rtl = true; //don't know if both are necessary 48 | carouselData.options.rtl = true; 49 | $(element).trigger('refresh.owl.carousel'); 50 | }); 51 | } -------------------------------------------------------------------------------- /public/assets/js/chat.js: -------------------------------------------------------------------------------- 1 | $(function() { 2 | "use strict"; 3 | 4 | const ps5 = new PerfectScrollbar('#ChatBody', { 5 | useBothWheelAxes: true, 6 | suppressScrollX: true, 7 | }); 8 | const ps6 = new PerfectScrollbar('.profile-details-main', { 9 | useBothWheelAxes: true, 10 | suppressScrollX: true, 11 | }); 12 | const ps7 = new PerfectScrollbar('.main-chat-contacts-slider', { 13 | useBothWheelAxes: true, 14 | suppressScrollY: true, 15 | }); 16 | const ps18 = new PerfectScrollbar('.main-chat-2', { 17 | useBothWheelAxes: true, 18 | suppressScrollX: true, 19 | }); 20 | }); -------------------------------------------------------------------------------- /public/assets/js/construction.js: -------------------------------------------------------------------------------- 1 | $(function(e) { 2 | "use strict"; 3 | 4 | var myDate = new Date(); 5 | myDate.setDate(myDate.getDate() + 2); 6 | $("#countdown").countdown(myDate, function (event) { 7 | $(this).html( 8 | event.strftime( 9 | '
%D
days
%H
hrs
%M
mins
%S
sec
' 10 | ) 11 | ); 12 | }); 13 | 14 | }); -------------------------------------------------------------------------------- /public/assets/js/crypto-datatable.js: -------------------------------------------------------------------------------- 1 | //______Data-Table 2 | 3 | $('#crypto-data-table').DataTable({ 4 | "order": [ 5 | [0, "desc"] 6 | ], 7 | order: [], 8 | columnDefs: [{ orderable: false, targets: [0, 4, 5] }], 9 | language: { 10 | searchPlaceholder: 'Search...', 11 | sSearch: '', 12 | } 13 | }); 14 | 15 | // Select2 16 | 17 | $('.dataTables_length select').select2({ 18 | minimumResultsForSearch: Infinity 19 | }); -------------------------------------------------------------------------------- /public/assets/js/datatable.js: -------------------------------------------------------------------------------- 1 | $(function(e) { 2 | 'use strict'; 3 | 4 | // DATATABLE 1 5 | $('#datatable1').DataTable({ 6 | responsive: true, 7 | language: { 8 | searchPlaceholder: 'Search...', 9 | sSearch: '', 10 | lengthMenu: '_MENU_ items/page', 11 | } 12 | }); 13 | 14 | // DATATABLE 2 15 | $('#datatable2').DataTable({ 16 | bLengthChange: false, 17 | searching: false, 18 | responsive: true 19 | }); 20 | 21 | // SELECT2 22 | $('.dataTables_length select').select2({ 23 | minimumResultsForSearch: Infinity 24 | }); 25 | }); -------------------------------------------------------------------------------- /public/assets/js/datetime-table.js: -------------------------------------------------------------------------------- 1 | var minDate, maxDate; 2 | 3 | // Custom filtering function which will search data in column four between two values 4 | $.fn.dataTable.ext.search.push( 5 | function( settings, data, dataIndex ) { 6 | var min = minDate.val(); 7 | var max = maxDate.val(); 8 | var date = new Date( data[4] ); 9 | 10 | if ( 11 | ( min === null && max === null ) || 12 | ( min === null && date <= max ) || 13 | ( min <= date && max === null ) || 14 | ( min <= date && date <= max ) 15 | ) { 16 | return true; 17 | } 18 | return false; 19 | } 20 | ); 21 | 22 | // Create date inputs 23 | minDate = new DateTime($('#min'), { 24 | format: 'MMMM Do YYYY' 25 | }); 26 | maxDate = new DateTime($('#max'), { 27 | format: 'MMMM Do YYYY' 28 | }); 29 | 30 | // DataTables initialisation 31 | var table = $('#datetime-table').DataTable(); 32 | 33 | // Refilter the table 34 | $('#min, #max').on('change', function () { 35 | table.draw(); 36 | }); 37 | 38 | //______Select2 39 | $('.select2').select2({ 40 | minimumResultsForSearch: Infinity 41 | }); -------------------------------------------------------------------------------- /public/assets/js/form-validation.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | 'use strict'; 3 | 4 | // SELECT2 5 | $('.select2').select2({ 6 | minimumResultsForSearch: Infinity 7 | }); 8 | 9 | window.addEventListener('load', function() { 10 | // Fetch all the forms we want to apply custom Bootstrap validation styles to 11 | var forms = document.getElementsByClassName('needs-validation'); 12 | // Loop over them and prevent submission 13 | var validation = Array.prototype.filter.call(forms, function(form) { 14 | form.addEventListener('submit', function(event) { 15 | if (form.checkValidity() === false) { 16 | event.preventDefault(); 17 | event.stopPropagation(); 18 | } 19 | form.classList.add('was-validated'); 20 | }, false); 21 | }); 22 | }, false); 23 | 24 | })(); -------------------------------------------------------------------------------- /public/assets/js/formeditor.js: -------------------------------------------------------------------------------- 1 | (function($) { 2 | "use strict"; 3 | 4 | if($("#elm1").length > 0){ 5 | tinymce.init({ 6 | selector: "textarea#elm1", 7 | theme: "modern", 8 | height:300, 9 | plugins: [ 10 | "advlist autolink link image lists charmap print preview hr anchor pagebreak spellchecker", 11 | "searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking", 12 | "save table contextmenu directionality emoticons template paste textcolor" 13 | ], 14 | toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | l ink image | print preview media fullpage | forecolor backcolor emoticons", 15 | style_formats: [ 16 | {title: 'Bold text', inline: 'b'}, 17 | {title: 'Red text', inline: 'span', styles: {color: '#ff0000'}}, 18 | {title: 'Red header', block: 'h1', styles: {color: '#ff0000'}}, 19 | {title: 'Example 1', inline: 'span', classes: 'example1'}, 20 | {title: 'Example 2', inline: 'span', classes: 'example2'}, 21 | {title: 'Table styles'}, 22 | {title: 'Table row 1', selector: 'tr', classes: 'tablerow1'} 23 | ] 24 | }); 25 | } 26 | 27 | })(jQuery); -------------------------------------------------------------------------------- /public/assets/js/generate-otp.js: -------------------------------------------------------------------------------- 1 | //GENERATE OTP 2 | 3 | $('#generate-otp').on('click', function() { 4 | 'use strict' 5 | 6 | var value = $(this).html().trim(); 7 | if (value == 'proceed') { 8 | $(this).html('Login'); 9 | $('#login-otp').css('display', "flex"); 10 | $('#mobile-num').css('display', "none"); 11 | } else { 12 | $(this).html('Login'); 13 | $('#login-otp').css('display', "flex"); 14 | $('#mobile-num').css('display', "none"); 15 | } 16 | }) -------------------------------------------------------------------------------- /public/assets/js/handlecounter.js: -------------------------------------------------------------------------------- 1 | // QUANTITY CART INCREASE AND DECREASE 2 | 3 | $(function () { 4 | 'use strict' 5 | 6 | $('.counter-plus').on('click',function(){ 7 | var $qty=$(this).closest('div').find('.qty'); 8 | var currentVal = parseInt($qty.val()); 9 | if (!isNaN(currentVal)) { 10 | $qty.val(currentVal + 1); 11 | } 12 | }); 13 | $('.counter-minus').on('click',function(){ 14 | var $qty=$(this).closest('div').find('.qty'); 15 | var currentVal = parseInt($qty.val()); 16 | if (!isNaN(currentVal) && currentVal > 0) { 17 | $qty.val(currentVal - 1); 18 | } 19 | }); 20 | }); -------------------------------------------------------------------------------- /public/assets/js/map-leafleft.js: -------------------------------------------------------------------------------- 1 | $(function() { 2 | 'use strict'; 3 | 4 | // Leftlet Maps 5 | var map = L.map('leaflet1').setView([51.505, -0.09], 13); 6 | L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { 7 | attribution: '© OpenStreetMap contributors' 8 | }).addTo(map); 9 | 10 | 11 | // Adding a Popup 12 | var map = L.map('leaflet2').setView([51.505, -0.09], 13); 13 | L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { 14 | attribution: '© OpenStreetMap contributors' 15 | }).addTo(map); 16 | L.marker([51.5, -0.09]).addTo(map) 17 | .bindPopup('A pretty CSS3 popup.
Easily customizable.') 18 | .openPopup(); 19 | 20 | 21 | // Adding a Circle 22 | var map = L.map('leaflet3').setView([51.505, -0.09], 13); 23 | L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { 24 | attribution: '© OpenStreetMap contributors' 25 | }).addTo(map); 26 | L.circle([51.508, -0.11], { 27 | color: 'red', 28 | fillColor: '#f03', 29 | fillOpacity: 0.5, 30 | radius: 500 31 | }).addTo(map); 32 | 33 | }); -------------------------------------------------------------------------------- /public/assets/js/modal.js: -------------------------------------------------------------------------------- 1 | 2 | 3 | // __________MODAL 4 | // showing modal with effect 5 | $('.modal-effect').on('click', function(e) { 6 | e.preventDefault(); 7 | var effect = $(this).attr('data-effect'); 8 | $('#modaldemo8').addClass(effect); 9 | }); 10 | 11 | // hide modal with effect 12 | $('#modaldemo8').on('hidden.bs.modal', function(e) { 13 | $(this).removeClass(function(index, className) { 14 | return (className.match(/(^|\s)effect-\S+/g) || []).join(' '); 15 | }); 16 | }); -------------------------------------------------------------------------------- /public/assets/js/moment-data.js: -------------------------------------------------------------------------------- 1 | $(".tgl").replaceWith(function(){ 2 | moment.locale('id'); 3 | var text = moment($.trim($(this).text()), "MM/DD/YY HH:mm").format('DD MMM YY, HH:mm'); 4 | return '' + text + ''; 5 | }) -------------------------------------------------------------------------------- /public/assets/js/owl-carousel.js: -------------------------------------------------------------------------------- 1 | (function($) { 2 | "use strict"; 3 | 4 | // ______________Owl-carousel-icons2 5 | var owl = $('.owl-carousel-icons2'); 6 | owl.owlCarousel({ 7 | loop: true, 8 | rewind: false, 9 | margin: 25, 10 | animateIn: 'fadeInDowm', 11 | animateOut: 'fadeOutDown', 12 | autoplay: false, 13 | autoplayTimeout: 5000, // set value to change speed 14 | autoplayHoverPause: true, 15 | dots: false, 16 | nav: true, 17 | autoplay: true, 18 | responsiveClass: true, 19 | responsive: { 20 | 0: { 21 | items: 1, 22 | nav: true 23 | }, 24 | 600: { 25 | items: 2, 26 | nav: true 27 | }, 28 | 1300: { 29 | items: 4, 30 | nav: true 31 | } 32 | 33 | } 34 | }) 35 | 36 | 37 | })(jQuery); -------------------------------------------------------------------------------- /public/assets/js/range.js: -------------------------------------------------------------------------------- 1 | 2 | $("#range").ionRangeSlider({ 3 | hide_min_max: true, 4 | keyboard: true, 5 | min: -5000, 6 | max: -0, 7 | from: -4000, 8 | to: -1000, 9 | type: 'double', 10 | step: -1, 11 | prefix: "$", 12 | grid: true 13 | }); 14 | $("#range_25").ionRangeSlider({ 15 | type: "double", 16 | min: -2000000, 17 | max: -1000000, 18 | grid: true 19 | }); 20 | $("#range_27").ionRangeSlider({ 21 | type: "double", 22 | min: -2000000, 23 | max: -1000000, 24 | grid: true, 25 | force_edges: true 26 | }); 27 | $("#range_26").ionRangeSlider({ 28 | type: "double", 29 | min: -10000, 30 | max: -0, 31 | step: 500, 32 | grid: true, 33 | grid_snap: true 34 | }); 35 | $("#range_31").ionRangeSlider({ 36 | type: "double", 37 | min: -100, 38 | max: -0, 39 | from: -70, 40 | to: -30, 41 | from_fixed: true 42 | }); 43 | $(".range_min_max").ionRangeSlider({ 44 | type: "double", 45 | min: -100, 46 | max: -0, 47 | from: -30, 48 | to: -70, 49 | max_interval: -50 50 | }); 51 | $(".range_time24").ionRangeSlider({ 52 | min: +moment().subtract(12, "hours").format("X"), 53 | max: +moment().format("X"), 54 | from: +moment().subtract(6, "hours").format("X"), 55 | grid: true, 56 | force_edges: true, 57 | prettify: function(num) { 58 | var m = moment(num, "X"); 59 | return m.format("Do MMMM, HH:mm"); 60 | } 61 | }); -------------------------------------------------------------------------------- /public/assets/js/rangeslider.js: -------------------------------------------------------------------------------- 1 | $(function() { 2 | 'use strict' 3 | 4 | $('.rangeslider1').ionRangeSlider(); 5 | $('.rangeslider2').ionRangeSlider({ 6 | min: 100, 7 | max: 1000, 8 | from: 550 9 | }); 10 | $('.rangeslider3').ionRangeSlider({ 11 | type: 'double', 12 | grid: true, 13 | min: 0, 14 | max: 1000, 15 | from: 200, 16 | to: 800, 17 | prefix: '$' 18 | }); 19 | $('.rangeslider4').ionRangeSlider({ 20 | type: 'double', 21 | grid: true, 22 | min: -1000, 23 | max: 1000, 24 | from: -500, 25 | to: 500, 26 | step: 250 27 | }); 28 | }); -------------------------------------------------------------------------------- /public/assets/js/select2.js: -------------------------------------------------------------------------------- 1 | $(function(e) { 2 | "use strict"; 3 | 4 | // Select2 5 | $('.select2').select2({ 6 | minimumResultsForSearch: Infinity, 7 | width: '100%' 8 | }); 9 | 10 | // Select2 by showing the search 11 | $('.select2-show-search').select2({ 12 | minimumResultsForSearch: '', 13 | width: '100%' 14 | }); 15 | 16 | // select2-search__field 17 | $('.select2').on('click', () => { 18 | let selectField = document.querySelectorAll('.select2-search__field') 19 | selectField.forEach((element, index) => { 20 | element.focus(); 21 | }) 22 | }); 23 | 24 | }); -------------------------------------------------------------------------------- /public/assets/js/slider.js: -------------------------------------------------------------------------------- 1 | (function($) { 2 | "use strict"; 3 | 4 | $( "#mySlider" ).slider({ 5 | range: true, 6 | min: 10, 7 | max: 999, 8 | values: [ 200, 500 ], 9 | slide: function( event, ui ) { 10 | $( "#price" ).val( "$" + ui.values[ 0 ] + " - $" + ui.values[ 1 ] ); 11 | } 12 | }); 13 | 14 | $( "#price" ).val( "$" + $( "#mySlider" ).slider( "values", 0 ) + 15 | " - $" + $( "#mySlider" ).slider( "values", 1 ) ); 16 | })(jQuery); -------------------------------------------------------------------------------- /public/assets/js/sticky.js: -------------------------------------------------------------------------------- 1 | (function() { 2 | 'use strict' 3 | 4 | let stickyElement = $(".sticky"), 5 | stickyClass = "sticky-pin", 6 | stickyPos = 66, //Distance from the top of the window. 7 | stickyHeight; 8 | 9 | 10 | ///Create a negative margin to prevent content 'jumps': 11 | stickyElement.after('
'); 12 | 13 | function jumpsPrevent() { 14 | stickyHeight = stickyElement.innerHeight(); 15 | stickyElement.css({ "margin-bottom": "-" + stickyHeight + "px" }); 16 | stickyElement.next().css({ "padding-top": +stickyHeight + "px" }); 17 | }; 18 | jumpsPrevent(); //Run. 19 | 20 | //Function trigger: 21 | $(window).on('resize', function() { 22 | jumpsPrevent(); 23 | 24 | }); 25 | 26 | //Sticker function: 27 | function stickerFn() { 28 | let winTop = $(window).scrollTop(); 29 | //Check element position: 30 | winTop >= stickyPos ? 31 | stickyElement.addClass('stickyClass') : 32 | stickyElement.removeClass('stickyClass') //Boolean class switcher. 33 | }; 34 | stickerFn(); //Run. 35 | $(window).on('scroll',function() { 36 | stickerFn(); 37 | }); 38 | 39 | $('.app-sidebar').on('scroll', function() { 40 | let s = $(".app-sidebar .ps__rail-y"); 41 | if (s[0].style.top.split('px')[0] <= 60 ) { 42 | $('.app-sidebar').removeClass('sidemenu-scroll') 43 | } else { 44 | $('.app-sidebar').addClass('sidemenu-scroll') 45 | } 46 | 47 | }) 48 | 49 | })(); 50 | -------------------------------------------------------------------------------- /public/assets/js/summernote.js: -------------------------------------------------------------------------------- 1 | (function (e) { 2 | 'use strict'; 3 | $('#summernote').summernote(); 4 | })(); -------------------------------------------------------------------------------- /public/assets/js/timline.js: -------------------------------------------------------------------------------- 1 | timeline(document.querySelectorAll('.timeline'), { 2 | mode: 'horizontal', 3 | verticalStartPosition: 'right', 4 | visibleItems: 4 5 | }); -------------------------------------------------------------------------------- /public/assets/plugins/datatable/images/sort_asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/plugins/datatable/images/sort_asc.png -------------------------------------------------------------------------------- /public/assets/plugins/datatable/images/sort_asc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/plugins/datatable/images/sort_asc_disabled.png -------------------------------------------------------------------------------- /public/assets/plugins/datatable/images/sort_both.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/plugins/datatable/images/sort_both.png -------------------------------------------------------------------------------- /public/assets/plugins/datatable/images/sort_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/plugins/datatable/images/sort_desc.png -------------------------------------------------------------------------------- /public/assets/plugins/datatable/images/sort_desc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/assets/plugins/datatable/images/sort_desc_disabled.png -------------------------------------------------------------------------------- /public/assets/plugins/datatable/js/buttons.bootstrap5.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | Bootstrap integration for DataTables' Buttons 3 | ©2016 SpryMedia Ltd - datatables.net/license 4 | */ 5 | (function(c) { "function" === typeof define && define.amd ? define(["jquery", "datatables.net-bs5", "datatables.net-buttons"], function(a) { return c(a, window, document) }) : "object" === typeof exports ? module.exports = function(a, b) { a || (a = window); 6 | b && b.fn.dataTable || (b = require("datatables.net-bs5")(a, b).$); 7 | b.fn.dataTable.Buttons || require("datatables.net-buttons")(a, b); return c(b, a, a.document) } : c(jQuery, window, document) })(function(c, a, b, f) { 8 | a = c.fn.dataTable; 9 | c.extend(!0, a.Buttons.defaults, { 10 | dom: { 11 | container: { className: "dt-buttons btn-group flex-wrap" }, 12 | button: { className: "btn btn-primary" }, 13 | collection: { tag: "div", className: "dropdown-menu", button: { tag: "a", className: "dt-button dropdown-item", active: "active", disabled: "disabled" } } 14 | }, 15 | buttonCreated: function(e, d) { return e.buttons ? c('
').append(d) : d } 16 | }); 17 | a.ext.buttons.collection.className += " dropdown-toggle"; 18 | a.ext.buttons.collection.rightAlignClassName = "dropdown-menu-right"; 19 | return a.Buttons 20 | }); -------------------------------------------------------------------------------- /public/assets/scss/bootstrap/_badges.scss: -------------------------------------------------------------------------------- 1 | /*-----Badges-----*/ 2 | 3 | .btn .badge { 4 | position: relative; 5 | top: -1px; 6 | } 7 | 8 | .badge { 9 | display: inline-block; 10 | padding: 3px 5px 4px; 11 | line-height: 1; 12 | text-align: center; 13 | white-space: nowrap; 14 | vertical-align: baseline; 15 | border-radius: 3px; 16 | font-size: 0.75em; 17 | font-weight: 500; 18 | } 19 | 20 | .rounded-pill { 21 | border-radius: 50px; 22 | } 23 | 24 | .badgetext { 25 | float: right; 26 | } 27 | 28 | .btn-custom { 29 | background: #f6f6fb; 30 | color: #76839a; 31 | } 32 | 33 | .badge.badge-sm { 34 | padding: 3px 8px 5px 8px; 35 | } -------------------------------------------------------------------------------- /public/assets/scss/bootstrap/_blackquote.scss: -------------------------------------------------------------------------------- 1 | blockquote { 2 | margin: 0 0 1rem; 3 | } 4 | .blockquote { 5 | margin-bottom: 1rem; 6 | font-size: 1.171875rem; 7 | } 8 | .blockquote-footer { 9 | display: block; 10 | font-size: 80%; 11 | color: #868e96; 12 | &::before { 13 | content: "\2014 \00A0"; 14 | } 15 | } 16 | p, ul, ol { 17 | margin-bottom: 1em; 18 | } 19 | blockquote { 20 | margin-bottom: 1em; 21 | font-style: italic; 22 | color: $default-color; 23 | padding-left: 2rem; 24 | border-left: 2px solid $border; 25 | font-style: inherit; 26 | p { 27 | margin-bottom: 1rem; 28 | font-size: 16px; 29 | } 30 | cite { 31 | &:before { 32 | content: '— '; 33 | } 34 | } 35 | } 36 | .blockquote-reverse { 37 | border-left: 0; 38 | border-right: 2px solid $border; 39 | text-align: right; 40 | padding-right: 2rem; 41 | padding-left: 0; 42 | } -------------------------------------------------------------------------------- /public/assets/scss/bootstrap/_thumbnail.scss: -------------------------------------------------------------------------------- 1 | /*---------Thumbnails----------*/ 2 | 3 | .thumbnail { 4 | display: block; 5 | padding: 4px; 6 | margin-bottom: 20px; 7 | line-height: 1.42857143; 8 | background-color: $white; 9 | border: 1px solid $border; 10 | -webkit-transition: border .2s ease-in-out; 11 | -o-transition: border .2s ease-in-out; 12 | transition: border .2s ease-in-out; 13 | border-radius: 7px; 14 | a>img, >img { 15 | margin-right: auto; 16 | margin-left: auto; 17 | } 18 | p:last-child { 19 | margin-bottom: 0; 20 | } 21 | } 22 | .thumbimg { 23 | height: 100%; 24 | width: 100%; 25 | display: block; 26 | border-radius: 7px; 27 | } 28 | .thumbnail .caption { 29 | padding: 15px; 30 | } -------------------------------------------------------------------------------- /public/assets/scss/custom/Fonts/_fonts.scss: -------------------------------------------------------------------------------- 1 | /*-------- Bootstrap Framework -------*/ 2 | 3 | @import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600&display=swap'); -------------------------------------------------------------------------------- /public/assets/scss/custom/_font.scss: -------------------------------------------------------------------------------- 1 | .fs-10 { 2 | font-size: 10px !important; 3 | } 4 | 5 | .fs-11 { 6 | font-size: 11px !important; 7 | } 8 | 9 | .fs-12 { 10 | font-size: 12px !important; 11 | } 12 | 13 | .fs-13 { 14 | font-size: 13px !important; 15 | } 16 | 17 | .fs-14 { 18 | font-size: 14px !important; 19 | } 20 | 21 | .fs-15 { 22 | font-size: 15px !important; 23 | } 24 | 25 | .fs-16 { 26 | font-size: 16px !important; 27 | } 28 | 29 | .fs-18 { 30 | font-size: 18px !important; 31 | } 32 | 33 | .fs-19 { 34 | font-size: 19px !important; 35 | } 36 | 37 | .fs-17 { 38 | font-size: 17px !important; 39 | } 40 | 41 | .fs-20 { 42 | font-size: 20px !important; 43 | } 44 | 45 | .fs-23 { 46 | font-size: 23px !important; 47 | } 48 | 49 | .fs-25 { 50 | font-size: 25px !important; 51 | } 52 | 53 | .fs-30 { 54 | font-size: 30px !important; 55 | } 56 | 57 | .fs-40 { 58 | font-size: 40px; 59 | } 60 | 61 | .fs-50 { 62 | font-size: 50px; 63 | } 64 | 65 | .fs-100 { 66 | font-size: 100px; 67 | } 68 | 69 | .fw-light { 70 | font-weight: 300 !important; 71 | } 72 | 73 | .fw-normal { 74 | font-weight: 400 !important; 75 | } 76 | 77 | .fw-600 { 78 | font-weight: 600; 79 | } 80 | 81 | .fw-semibold { 82 | font-weight: 500 !important; 83 | } 84 | 85 | .fw-bold { 86 | font-weight: 700 !important; 87 | } 88 | 89 | .font-italic { 90 | font-style: italic !important; 91 | } 92 | 93 | .fs-70 { 94 | font-size: 70px !important; 95 | } 96 | 97 | .fs-8 { 98 | font-size: 8px !important; 99 | } -------------------------------------------------------------------------------- /public/assets/scss/custom/_labels.scss: -------------------------------------------------------------------------------- 1 | .label { 2 | display: inline-block; 3 | margin-bottom: .5rem; 4 | padding-right: .6em; 5 | padding-left: .6em; 6 | } 7 | 8 | .labels li { 9 | display: inline; 10 | } 11 | 12 | .label-default { 13 | background: #d5e0ec; 14 | color: $white; 15 | } 16 | 17 | .label-success { 18 | background: $success; 19 | color: $white; 20 | } 21 | 22 | .label-danger { 23 | background: #f5334f; 24 | color: $white; 25 | } 26 | 27 | .label-warning { 28 | background: $warning; 29 | color: $white; 30 | } 31 | 32 | .label-info { 33 | background: $info; 34 | color: $white; 35 | } -------------------------------------------------------------------------------- /public/assets/scss/custom/_rating.scss: -------------------------------------------------------------------------------- 1 | /*-- rating--*/ 2 | 3 | .rating-stars { 4 | width: 100%; 5 | text-align: center; 6 | font-size: 30px; 7 | i{ 8 | padding: 5px; 9 | } 10 | input { 11 | display: block; 12 | margin: 0 auto; 13 | text-align: center; 14 | padding: 0.375rem 0.75rem; 15 | font-size: 0.9375rem; 16 | line-height: 1.6; 17 | color: #495057; 18 | background-color: $white; 19 | background-clip: padding-box; 20 | border: 1px solid $border; 21 | transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; 22 | } 23 | } 24 | 25 | .star-ratings .stars { 26 | width: 120px; 27 | text-align: center; 28 | margin: auto; 29 | } 30 | 31 | .star-ratings .stars-example-fontawesome-o { 32 | width: 200px; 33 | } 34 | 35 | .box select { 36 | width: 120px; 37 | margin: 10px auto 0 auto; 38 | display: block; 39 | font-size: 16px; 40 | } 41 | 42 | .box .box-body { 43 | padding-top: 2em; 44 | height: 85px; 45 | position: relative; 46 | } -------------------------------------------------------------------------------- /public/assets/scss/lib/_select-group.scss: -------------------------------------------------------------------------------- 1 | .selectgroup { 2 | display: -ms-inline-flexbox; 3 | display: inline-flex; 4 | } 5 | 6 | .selectgroup-item { 7 | -ms-flex-positive: 1; 8 | flex-grow: 1; 9 | position: relative; 10 | +.selectgroup-item { 11 | margin-left: -1px; 12 | } 13 | &:not(:first-child) .selectgroup-button { 14 | border-top-left-radius: 0; 15 | border-bottom-left-radius: 0; 16 | } 17 | &:not(:last-child) .selectgroup-button { 18 | border-top-right-radius: 0; 19 | border-bottom-right-radius: 0; 20 | } 21 | } 22 | 23 | .selectgroup-input { 24 | opacity: 0; 25 | position: absolute; 26 | z-index: -1; 27 | top: 0; 28 | left: 0; 29 | } 30 | 31 | .selectgroup-button { 32 | display: block; 33 | border: 1px solid $border; 34 | text-align: center; 35 | padding: 0.375rem 1rem; 36 | position: relative; 37 | cursor: pointer; 38 | border-radius: 5px; 39 | color: #9aa0ac; 40 | -webkit-user-select: none; 41 | -moz-user-select: none; 42 | -ms-user-select: none; 43 | user-select: none; 44 | font-size: 0.875rem; 45 | line-height: 1.5rem; 46 | min-width: 2.375rem; 47 | } 48 | 49 | .selectgroup-input { 50 | &:checked+.selectgroup-button { 51 | z-index: 1; 52 | background: $primary-01; 53 | } 54 | &:focus+.selectgroup-button { 55 | z-index: 2; 56 | box-shadow: 0 0 0 2px rgba(98, 58, 162, 0.25); 57 | } 58 | } 59 | 60 | .selectgroup-pills { 61 | -ms-flex-wrap: wrap; 62 | flex-wrap: wrap; 63 | -ms-flex-align: start; 64 | align-items: flex-start; 65 | .selectgroup-item { 66 | margin-right: .5rem; 67 | -ms-flex-positive: 0; 68 | flex-grow: 0; 69 | } 70 | .selectgroup-button { 71 | border-radius: 5px !important; 72 | } 73 | } -------------------------------------------------------------------------------- /public/assets/scss/lib/_select2.scss: -------------------------------------------------------------------------------- 1 | .select2-container--default { 2 | .select2-selection--single { 3 | background-color: #f6f7fc; 4 | border: 1px solid $border !important; 5 | } 6 | &.select2-container--focus .select2-selection--multiple { 7 | background-color: $white; 8 | border: 1px solid #9ca3b1; 9 | outline: 0; 10 | box-shadow: none; 11 | } 12 | .select2-selection--multiple { 13 | background-color: #f6f7fc; 14 | border: 1px solid $border !important; 15 | cursor: text; 16 | } 17 | .select2-search--dropdown .select2-search__field { 18 | border: 1px solid $border !important; 19 | } 20 | .select2-selection--multiple { 21 | .select2-selection__choice, 22 | .select2-selection__choice__remove { 23 | color: $white !important; 24 | } 25 | } 26 | .select2-results>.select2-results__options { 27 | box-shadow: 0px 16px 18px rgba(104, 113, 123, .2); 28 | } 29 | } 30 | 31 | .select2-container .select2-selection--single { 32 | height: 2.375rem !important; 33 | } 34 | 35 | .select2-container--default .select2-selection--single { 36 | outline: none; 37 | .select2-selection__rendered { 38 | color: #444; 39 | line-height: 36px !important; 40 | } 41 | .select2-selection__arrow { 42 | height: 2.375rem !important; 43 | right: 9px !important; 44 | } 45 | } 46 | 47 | .select2-dropdown { 48 | z-index: 8 !important; 49 | } -------------------------------------------------------------------------------- /public/assets/scss/plugins/_jquery.countdown.scss: -------------------------------------------------------------------------------- 1 | /* jQuery Countdown styles 2.0.0. */ 2 | 3 | #launch_date { 4 | margin: 0px auto 20px auto; 5 | } 6 | 7 | .countdown-rtl { 8 | direction: rtl; 9 | } 10 | 11 | .countdown-holding span { 12 | color: #888; 13 | } 14 | 15 | .countdown-row { 16 | clear: both; 17 | width: 100%; 18 | padding: 0px 2px; 19 | text-align: center; 20 | } 21 | 22 | .countdown { 23 | li { 24 | display: inline-block; 25 | font-size: 1.83rem; 26 | font-weight: bold; 27 | min-width: 88px; 28 | height: 88px; 29 | border-radius: 3px; 30 | line-height: 22px; 31 | padding: 20px; 32 | text-align: center; 33 | margin: 0 auto; 34 | position: relative; 35 | overflow: hidden; 36 | background: rgba(255, 255, 255, 0.08); 37 | z-index: 1; 38 | 39 | /* border: 1px solid $primary-1; */ 40 | box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12); 41 | color: #fff; 42 | } 43 | 44 | .time { 45 | font-size: 13px; 46 | padding-top: 2px; 47 | font-weight: 300; 48 | } 49 | } 50 | 51 | @media (max-width: 991px) { 52 | .countdown li { 53 | margin: 20px 10px 10px 10px; 54 | } 55 | 56 | .is-countdown { 57 | margin-top: 20px; 58 | } 59 | } 60 | 61 | @media (min-width: 992px) { 62 | .countdown li { 63 | margin: 30px 10px 5px 10px; 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /public/assets/scss/plugins/_jquerysctipttop.scss: -------------------------------------------------------------------------------- 1 | #jquery-script-menu { 2 | position: fixed; 3 | height: 90px; 4 | width: 100%; 5 | top: 0; 6 | left: 0; 7 | border-top: 5px solid #316594; 8 | background: #fff; 9 | -moz-box-shadow: 0 2px 3px 0px rgba(0, 0, 0, 0.16); 10 | -webkit-box-shadow: 0 2px 3px 0px rgba(0, 0, 0, 0.16); 11 | box-shadow: 0 2px 3px 0px rgba(0, 0, 0, 0.16); 12 | z-index: 999999; 13 | padding: 10px 0; 14 | -webkit-box-sizing: content-box; 15 | -moz-box-sizing: content-box; 16 | box-sizing: content-box; 17 | } 18 | 19 | .jquery-script-center { 20 | width: 960px; 21 | margin: 0 auto; 22 | 23 | ul { 24 | width: 212px; 25 | float: left; 26 | line-height: 45px; 27 | margin: 0; 28 | padding: 0; 29 | list-style: none; 30 | } 31 | 32 | a { 33 | text-decoration: none; 34 | } 35 | } 36 | 37 | .jquery-script-ads { 38 | width: 728px; 39 | height: 90px; 40 | float: right; 41 | } 42 | 43 | .jquery-script-clear { 44 | clear: both; 45 | height: 0; 46 | } 47 | -------------------------------------------------------------------------------- /public/assets/scss/plugins/_keyTable.dataTables.min.scss: -------------------------------------------------------------------------------- 1 | table.dataTable tbody th.focus, 2 | table.dataTable tbody td.focus { 3 | box-shadow: inset 0 0 1px 2px $primary-1; 4 | } 5 | div.dtk-focus-alt table.dataTable tbody th.focus, 6 | div.dtk-focus-alt table.dataTable tbody td.focus { 7 | box-shadow: inset 0 0 1px 2px #ff8b33; 8 | } 9 | -------------------------------------------------------------------------------- /public/assets/scss/plugins/_morris.scss: -------------------------------------------------------------------------------- 1 | .morris-hover { 2 | position: absolute; 3 | z-index: 6; 4 | 5 | &.morris-default-style { 6 | border-radius: 10px; 7 | padding: 6px; 8 | color: #666; 9 | background: rgba(255, 255, 255, 0.8); 10 | border: solid 1px rgba(230, 230, 230, 0.1); 11 | font-family: sans-serif; 12 | font-size: 12px; 13 | text-align: center; 14 | 15 | .morris-hover-row-label { 16 | font-weight: bold; 17 | margin: 0.25em 0; 18 | } 19 | 20 | .morris-hover-point { 21 | white-space: nowrap; 22 | margin: 0.1em 0; 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /public/assets/scss/plugins/_star-rating-svg.scss: -------------------------------------------------------------------------------- 1 | .jq-stars { 2 | display: inline-block; 3 | } 4 | 5 | .jq-rating-label { 6 | font-size: 22px; 7 | display: inline-block; 8 | position: relative; 9 | vertical-align: top; 10 | font-family: helvetica, arial, verdana; 11 | } 12 | 13 | .jq-star { 14 | width: 100px; 15 | height: 100px; 16 | display: inline-block; 17 | cursor: pointer; 18 | } 19 | 20 | .jq-star-svg { 21 | padding-left: 3px; 22 | width: 100%; 23 | height: 100%; 24 | 25 | path { 26 | /* stroke: #000; */ 27 | stroke-linejoin: round; 28 | } 29 | } 30 | 31 | /* un-used */ 32 | 33 | .jq-shadow { 34 | -webkit-filter: drop-shadow(-2px -2px 2px #888); 35 | filter: drop-shadow(-2px -2px 2px #888); 36 | } 37 | -------------------------------------------------------------------------------- /public/assets/scss/template/_error-pages.scss: -------------------------------------------------------------------------------- 1 | .container-login100 .box { 2 | .social-icons { 3 | position: relative; 4 | } 5 | ul { 6 | margin: 0; 7 | padding: 0; 8 | li { 9 | list-style: none; 10 | float: left; 11 | padding: 7px 7px; 12 | a { 13 | margin: 0 10px; 14 | font-size: 20px; 15 | transition: 0.5s; 16 | text-align: center; 17 | } 18 | } 19 | } 20 | } 21 | 22 | .relative { 23 | position: relative !important; 24 | } 25 | 26 | .construction .btn.btn-icon { 27 | width: 50px; 28 | height: 50px; 29 | text-align: center; 30 | padding: 0; 31 | background: $white-08; 32 | font-size: 20px; 33 | color: $white; 34 | margin: 0 3px; 35 | border-radius: 50px; 36 | } -------------------------------------------------------------------------------- /public/assets/scss/template/_widgets.scss: -------------------------------------------------------------------------------- 1 | .widgets-cards .wrp { 2 | &.icon-circle { 3 | width: 73px; 4 | height: 73px; 5 | border-radius: 50px; 6 | display: -webkit-flex; 7 | display: flex; 8 | -webkit-align-items: center; 9 | align-items: center; 10 | -webkit-justify-content: center; 11 | justify-content: center; 12 | padding: 0; 13 | margin-right: 15px; 14 | i { 15 | font-size: 1.6rem; 16 | color: $white; 17 | } 18 | } 19 | p { 20 | margin-bottom: 0; 21 | line-height: 1; 22 | margin-bottom: 10px; 23 | &:first-child { 24 | font-weight: 600; 25 | font-size: 25px; 26 | } 27 | } 28 | } 29 | /**widgets*/ 30 | 31 | .widgets { 32 | font-size: 35px; 33 | padding: 20px; 34 | } 35 | .widgets-cards .widgets-cards-data { 36 | margin-top: 8px; 37 | .wrp p:first-child { 38 | font-size: 20px; 39 | font-weight: 500; 40 | } 41 | } -------------------------------------------------------------------------------- /public/assets/scss/utilities/_float-elements.scss: -------------------------------------------------------------------------------- 1 | .float-start { 2 | float: left !important; 3 | } 4 | .float-end { 5 | float: right !important; 6 | } 7 | .float-none { 8 | float: none !important; 9 | } 10 | @media (min-width: 576px) { 11 | .float-sm-start { 12 | float: left !important; 13 | } 14 | .float-sm-end { 15 | float: right !important; 16 | } 17 | .float-sm-none { 18 | float: none !important; 19 | } 20 | } 21 | @media (min-width: 768px) { 22 | .float-md-start { 23 | float: left !important; 24 | } 25 | .float-md-end { 26 | float: right !important; 27 | } 28 | .float-md-none { 29 | float: none !important; 30 | } 31 | } 32 | @media (min-width: 992px) { 33 | .float-lg-start { 34 | float: left !important; 35 | } 36 | .float-lg-end { 37 | float: right !important; 38 | } 39 | .float-lg-none { 40 | float: none !important; 41 | } 42 | } 43 | @media (min-width: 1280px) { 44 | .float-xl-start { 45 | float: left !important; 46 | } 47 | .float-xl-end { 48 | float: right !important; 49 | } 50 | .float-xl-none { 51 | float: none !important; 52 | } 53 | } 54 | .floating { 55 | animation: floating 3s ease infinite; 56 | will-change: transform; 57 | } -------------------------------------------------------------------------------- /public/assets/scss/utilities/_position.scss: -------------------------------------------------------------------------------- 1 | .position-static { 2 | position: static !important; 3 | } 4 | .position-relative { 5 | position: relative !important; 6 | } 7 | .position-absolute { 8 | position: absolute !important; 9 | } 10 | .position-fixed { 11 | position: fixed !important; 12 | } 13 | .position-sticky { 14 | position: -webkit-sticky !important; 15 | position: sticky !important; 16 | } 17 | @media(max-width:1440px){ 18 | .position-lg-relative { 19 | position: relative !important; 20 | } 21 | } -------------------------------------------------------------------------------- /public/assets/switcher/js/switcher.js: -------------------------------------------------------------------------------- 1 | // Swticher Cookie Base 2 | /** 3 | * Styleswitch stylesheet switcher built on jQuery 4 | * Under an Attribution, Share Alike License 5 | * By Kelvin Luck ( http://www.kelvinluck.com/ ) 6 | * Thanks for permission! 7 | **/ 8 | 9 | // DEMO Swticher Base 10 | jQuery('.demo-icon').click(function() { 11 | if ($('.demo_changer').hasClass("active")) { 12 | $('.demo_changer').animate({ "right": "-270px" }, function() { 13 | $('.demo_changer').toggleClass("active"); 14 | }); 15 | } else { 16 | $('.demo_changer').animate({ "right": "0px" }, function() { 17 | $('.demo_changer').toggleClass("active"); 18 | }); 19 | } 20 | }); 21 | 22 | //p-scroll bar 23 | const ps5 = new PerfectScrollbar('.sidebar-right1', { 24 | useBothWheelAxes: true, 25 | suppressScrollX: true, 26 | }); 27 | 28 | 29 | // Switcher Close // 30 | $(document).on("click", ".app-content", function() { 31 | if ($('.demo_changer').hasClass("active")) { 32 | $('.demo_changer').animate({ "right": "-270px" }, function() { 33 | $('.demo_changer').toggleClass("active"); 34 | }); 35 | } 36 | }); 37 | $(document).on("click", ".hor-content", function() { 38 | if ($('.demo_changer').hasClass("active")) { 39 | $('.demo_changer').animate({ "right": "-270px" }, function() { 40 | $('.demo_changer').toggleClass("active"); 41 | }); 42 | } 43 | }); 44 | $(document).on("click", ".login-img .page", function() { 45 | if ($('.demo_changer').hasClass("active")) { 46 | $('.demo_changer').animate({ "right": "-270px" }, function() { 47 | $('.demo_changer').toggleClass("active"); 48 | }); 49 | } 50 | }); -------------------------------------------------------------------------------- /public/index.php: -------------------------------------------------------------------------------- 1 | systemDirectory, '/ ') . '/bootstrap.php'; 37 | 38 | /* 39 | *--------------------------------------------------------------- 40 | * LAUNCH THE APPLICATION 41 | *--------------------------------------------------------------- 42 | * Now that everything is setup, it's time to actually fire 43 | * up the engines and make this app do its thang. 44 | */ 45 | $app->run(); 46 | -------------------------------------------------------------------------------- /public/mikpos_template.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/public/mikpos_template.zip -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Allow: / -------------------------------------------------------------------------------- /system/.htaccess: -------------------------------------------------------------------------------- 1 | 2 | Require all denied 3 | 4 | 5 | Deny from all 6 | 7 | -------------------------------------------------------------------------------- /system/CLI/Exceptions/CLIException.php: -------------------------------------------------------------------------------- 1 | \Database\Migrations; 2 | 3 | use CodeIgniter\Database\Migration; 4 | 5 | class Migration_create__table extends Migration 6 | { 7 | 8 | protected $DBGroup = ''; 9 | 10 | 11 | public function up() 12 | { 13 | $this->forge->addField([ 14 | 'id' => [ 15 | 'type' => 'VARCHAR', 16 | 'constraint' => 128, 17 | 'null' => false 18 | ], 19 | 'ip_address' => [ 20 | 'type' => 'VARCHAR', 21 | 'constraint' => 45, 22 | 'null' => false 23 | ], 24 | 'timestamp' => [ 25 | 'type' => 'INT', 26 | 'constraint' => 10, 27 | 'unsigned' => true, 28 | 'null' => false, 29 | 'default' => 0 30 | ], 31 | 'data' => [ 32 | 'type' => 'TEXT', 33 | 'null' => false, 34 | 'default' => '' 35 | ], 36 | ]); 37 | 38 | $this->forge->addKey(['id', 'ip_address'], true); 39 | 40 | $this->forge->addKey('id', true); 41 | 42 | $this->forge->addKey('timestamp'); 43 | $this->forge->createTable('', true); 44 | } 45 | 46 | //-------------------------------------------------------------------- 47 | 48 | public function down() 49 | { 50 | $this->forge->dropTable('', true); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /system/Database/Exceptions/ExceptionInterface.php: -------------------------------------------------------------------------------- 1 | 2 | Read the CodeIgniter docs... 3 |

4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 |
CodeIgniter Version:{ ciVersion }
PHP Version:{ phpVersion }
PHP SAPI:{ phpSAPI }
Environment:{ environment }
Base URL: 26 | { if $baseURL == '' } 27 |
28 | The $baseURL should always be set manually to prevent possible URL personification from external parties. 29 |
30 | { else } 31 | { baseURL } 32 | { endif } 33 |
TimeZone:{ timezone }
Locale:{ locale }
Content Security Policy Enabled:{ if $cspEnabled } Yes { else } No { endif }
49 | -------------------------------------------------------------------------------- /system/Debug/Toolbar/Views/_database.tpl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | {queries} 10 | 11 | 12 | 13 | 14 | {/queries} 15 | 16 |
TimeQuery String
{duration}{! sql !}
17 | -------------------------------------------------------------------------------- /system/Debug/Toolbar/Views/_events.tpl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | {events} 11 | 12 | 13 | 14 | 15 | 16 | {/events} 17 | 18 |
TimeEvent NameTimes Called
{ duration } ms{event}{count}
19 | -------------------------------------------------------------------------------- /system/Debug/Toolbar/Views/_files.tpl: -------------------------------------------------------------------------------- 1 | 2 | 3 | {userFiles} 4 | 5 | 6 | 7 | 8 | {/userFiles} 9 | {coreFiles} 10 | 11 | 12 | 13 | 14 | {/coreFiles} 15 | 16 |
{name}{path}
{name}{path}
17 | -------------------------------------------------------------------------------- /system/Debug/Toolbar/Views/_history.tpl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | {files} 15 | 16 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | {/files} 27 | 28 |
ActionDatetimeStatusMethodURLContent-TypeIs AJAX?
17 | 18 | {datetime}{status}{method}{url}{contentType}{isAJAX}
29 | -------------------------------------------------------------------------------- /system/Debug/Toolbar/Views/_logs.tpl: -------------------------------------------------------------------------------- 1 | { if $logs == [] } 2 |

Nothing was logged. If you were expecting logged items, ensure that LoggerConfig file has the correct threshold set.

3 | { else } 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | {logs} 13 | 14 | 15 | 16 | 17 | {/logs} 18 | 19 |
SeverityMessage
{level}{msg}
20 | { endif } 21 | -------------------------------------------------------------------------------- /system/Debug/Toolbar/Views/_routes.tpl: -------------------------------------------------------------------------------- 1 |

Matched Route

2 | 3 | 4 | 5 | {matchedRoute} 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | {params} 23 | 24 | 25 | 26 | 27 | {/params} 28 | {/matchedRoute} 29 | 30 |
Directory:{directory}
Controller:{controller}
Method:{method}
Params:{paramCount} / {truePCount}
{name}{value}
31 | 32 | 33 |

Defined Routes

34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | {routes} 45 | 46 | 47 | 48 | 49 | 50 | {/routes} 51 | 52 |
MethodRouteHandler
{method}{route}{handler}
53 | -------------------------------------------------------------------------------- /system/Encryption/Exceptions/EncryptionException.php: -------------------------------------------------------------------------------- 1 | 'Command "{0}" not found.', 19 | 'helpUsage' => 'Usage:', 20 | 'helpDescription' => 'Description:', 21 | 'helpOptions' => 'Options:', 22 | 'helpArguments' => 'Arguments:', 23 | 'invalidColor' => 'Invalid {0} color: {1}.', 24 | ]; 25 | -------------------------------------------------------------------------------- /system/Language/en/Cache.php: -------------------------------------------------------------------------------- 1 | 'Cache unable to write to {0}', 19 | 'invalidHandlers' => 'Cache config must have an array of $validHandlers.', 20 | 'noBackup' => 'Cache config must have a handler and backupHandler set.', 21 | 'handlerNotFound' => 'Cache config has an invalid handler or backup handler specified.', 22 | ]; 23 | -------------------------------------------------------------------------------- /system/Language/en/Cast.php: -------------------------------------------------------------------------------- 1 | 'Maximum stack depth exceeded', 18 | 'jsonErrorStateMismatch' => 'Underflow or the modes mismatch', 19 | 'jsonErrorCtrlChar' => 'Unexpected control character found', 20 | 'jsonErrorSyntax' => 'Syntax error, malformed JSON', 21 | 'jsonErrorUtf8' => 'Malformed UTF-8 characters, possibly incorrectly encoded', 22 | 'jsonErrorUnknown' => 'Unknown error', 23 | ]; 24 | -------------------------------------------------------------------------------- /system/Language/en/Core.php: -------------------------------------------------------------------------------- 1 | 'Invalid file: {0}', 19 | 'copyError' => 'An error was encountered while attempting to replace the file({0}). Please make sure your file directory is writable.', 20 | 'missingExtension' => '{0} extension is not loaded.', 21 | 'noHandlers' => '{0} must provide at least one Handler.', 22 | ]; 23 | -------------------------------------------------------------------------------- /system/Language/en/Database.php: -------------------------------------------------------------------------------- 1 | '{0} is not a valid Model Event callback.', 19 | 'invalidArgument' => 'You must provide a valid {0}.', 20 | 'invalidAllowedFields' => 'Allowed fields must be specified for model: {0}', 21 | 'emptyDataset' => 'There is no data to {0}.', 22 | 'failGetFieldData' => 'Failed to get field data from database.', 23 | 'failGetIndexData' => 'Failed to get index data from database.', 24 | 'failGetForeignKeyData' => 'Failed to get foreign key data from database.', 25 | 'parseStringFail' => 'Parsing key string failed.', 26 | 'featureUnavailable' => 'This feature is not available for the database you are using.', 27 | 'tableNotFound' => 'Table `{0}` was not found in the current database.', 28 | 'noPrimaryKey' => '`{0}` model class does not specify a Primary Key.', 29 | 'noDateFormat' => '`{0}` model class does not have a valid dateFormat.', 30 | 'fieldNotExists' => 'Field `{0}` not found.', 31 | 'forEmptyInputGiven' => 'Empty statement is given for the field `{0}`', 32 | 'forFindColumnHaveMultipleColumns' => 'Only single column allowed in Column name.', 33 | ]; 34 | -------------------------------------------------------------------------------- /system/Language/en/Encryption.php: -------------------------------------------------------------------------------- 1 | 'No driver requested; Miss Daisy will be so upset!', 18 | 'noHandlerAvailable' => 'Unable to find an available {0} encryption handler.', 19 | 'unKnownHandler' => '"{0}" cannot be configured.', 20 | 'starterKeyNeeded' => 'Encrypter needs a starter key.', 21 | 'authenticationFailed' => 'Decrypting: authentication failed.', 22 | 'encryptionFailed' => 'Encryption failed.', 23 | ]; 24 | -------------------------------------------------------------------------------- /system/Language/en/Entity.php: -------------------------------------------------------------------------------- 1 | 'Trying to access non existent property {0} of {1}', 19 | ]; 20 | -------------------------------------------------------------------------------- /system/Language/en/Files.php: -------------------------------------------------------------------------------- 1 | 'File not found: {0}', 18 | 'cannotMove' => 'Could not move file {0} to {1} ({2})', 19 | ]; 20 | -------------------------------------------------------------------------------- /system/Language/en/Filters.php: -------------------------------------------------------------------------------- 1 | '{0} filter must have a matching alias defined.', 19 | 'incorrectInterface' => '{0} must implement CodeIgniter\Filters\FilterInterface.', 20 | ]; 21 | -------------------------------------------------------------------------------- /system/Language/en/Format.php: -------------------------------------------------------------------------------- 1 | 'Failed to parse json string, error: "{0}".', 19 | 'missingExtension' => 'The SimpleXML extension is required to format XML.', 20 | ]; 21 | -------------------------------------------------------------------------------- /system/Language/en/Language.php: -------------------------------------------------------------------------------- 1 | 'Get line must be a string or array of strings.', 19 | ]; 20 | -------------------------------------------------------------------------------- /system/Language/en/Log.php: -------------------------------------------------------------------------------- 1 | '{0} is an invalid log level.', 19 | ]; 20 | -------------------------------------------------------------------------------- /system/Language/en/Number.php: -------------------------------------------------------------------------------- 1 | 'TB', 19 | 'gigabyteAbbr' => 'GB', 20 | 'megabyteAbbr' => 'MB', 21 | 'kilobyteAbbr' => 'KB', 22 | 'bytes' => 'Bytes', 23 | 24 | // don't forget the space in front of these! 25 | 'thousand' => ' thousand', 26 | 'million' => ' million', 27 | 'billion' => ' billion', 28 | 'trillion' => ' trillion', 29 | 'quadrillion' => ' quadrillion', 30 | ]; 31 | -------------------------------------------------------------------------------- /system/Language/en/Pager.php: -------------------------------------------------------------------------------- 1 | 'Page navigation', 19 | 'first' => 'First', 20 | 'previous' => 'Previous', 21 | 'next' => 'Next', 22 | 'last' => 'Last', 23 | 'older' => 'Older', 24 | 'newer' => 'Newer', 25 | 'invalidTemplate' => '{0} is not a valid Pager template.', 26 | 'invalidPaginationGroup' => '{0} is not a valid Pagination group.', 27 | ]; 28 | -------------------------------------------------------------------------------- /system/Language/en/RESTful.php: -------------------------------------------------------------------------------- 1 | '"{0}" action not implemented.', 18 | ]; 19 | -------------------------------------------------------------------------------- /system/Language/en/Redirect.php: -------------------------------------------------------------------------------- 1 | 'Unable to redirect to "{0}". Error status code "{1}"', 19 | ]; 20 | -------------------------------------------------------------------------------- /system/Language/en/Router.php: -------------------------------------------------------------------------------- 1 | 'A parameter does not match the expected type.', 19 | 'missingDefaultRoute' => 'Unable to determine what should be displayed. A default route has not been specified in the routing file.', 20 | ]; 21 | -------------------------------------------------------------------------------- /system/Language/en/Session.php: -------------------------------------------------------------------------------- 1 | '`sessionSavePath` must have the table name for the Database Session Handler to work.', 19 | 'invalidSavePath' => 'Session: Configured save path "{0}" is not a directory, does not exist or cannot be created.', 20 | 'writeProtectedSavePath' => 'Session: Configured save path "{0}" is not writable by the PHP process.', 21 | 'emptySavePath' => 'Session: No save path configured.', 22 | 'invalidSavePathFormat' => 'Session: Invalid Redis save path format: {0}', 23 | ]; 24 | -------------------------------------------------------------------------------- /system/Language/en/Time.php: -------------------------------------------------------------------------------- 1 | 'Months must be between 1 and 12. Given: {0}', 19 | 'invalidDay' => 'Days must be between 1 and 31. Given: {0}', 20 | 'invalidOverDay' => 'Days must be between 1 and {0}. Given: {1}', 21 | 'invalidHours' => 'Hours must be between 0 and 23. Given: {0}', 22 | 'invalidMinutes' => 'Minutes must be between 0 and 59. Given: {0}', 23 | 'invalidSeconds' => 'Seconds must be between 0 and 59. Given: {0}', 24 | 'years' => '{0, plural, =1{# year} other{# years}}', 25 | 'months' => '{0, plural, =1{# month} other{# months}}', 26 | 'weeks' => '{0, plural, =1{# week} other{# weeks}}', 27 | 'days' => '{0, plural, =1{# day} other{# days}}', 28 | 'hours' => '{0, plural, =1{# hour} other{# hours}}', 29 | 'minutes' => '{0, plural, =1{# minute} other{# minutes}}', 30 | 'seconds' => '{0, plural, =1{# second} other{# seconds}}', 31 | 'ago' => '{0} ago', 32 | 'inFuture' => 'in {0}', 33 | 'yesterday' => 'Yesterday', 34 | 'tomorrow' => 'Tomorrow', 35 | 'now' => 'Just now', 36 | ]; 37 | -------------------------------------------------------------------------------- /system/Language/en/View.php: -------------------------------------------------------------------------------- 1 | '{class}::{method} is not a valid method.', 18 | 'missingCellParameters' => '{class}::{method} has no params.', 19 | 'invalidCellParameter' => '{0} is not a valid param name.', 20 | 'noCellClass' => 'No view cell class provided.', 21 | 'invalidCellClass' => 'Unable to locate view cell class: {0}.', 22 | 'tagSyntaxError' => 'You have a syntax error in your Parser tags: {0}', 23 | ]; 24 | -------------------------------------------------------------------------------- /system/Log/Exceptions/LogException.php: -------------------------------------------------------------------------------- 1 | setSurroundCount(2); 7 | ?> 8 | 9 | 46 | -------------------------------------------------------------------------------- /system/Pager/Views/default_head.php: -------------------------------------------------------------------------------- 1 | setSurroundCount(0); 7 | 8 | if ($pager->hasPrevious()) 9 | { 10 | echo '' . PHP_EOL; 11 | } 12 | 13 | echo '' . PHP_EOL; 14 | 15 | if ($pager->hasNext()) 16 | { 17 | echo '' . PHP_EOL; 18 | } 19 | -------------------------------------------------------------------------------- /system/Pager/Views/default_simple.php: -------------------------------------------------------------------------------- 1 | setSurroundCount(0); 7 | ?> 8 | 22 | -------------------------------------------------------------------------------- /system/Router/Exceptions/RedirectException.php: -------------------------------------------------------------------------------- 1 | output = $output; 23 | 24 | return $this; 25 | } 26 | 27 | //-------------------------------------------------------------------- 28 | 29 | protected function sendRequest(array $curl_options = []): string 30 | { 31 | // Save so we can access later. 32 | $this->curl_options = $curl_options; 33 | 34 | return $this->output; 35 | } 36 | 37 | //-------------------------------------------------------------------- 38 | // for testing purposes only 39 | public function getBaseURI() 40 | { 41 | return $this->baseURI; 42 | } 43 | 44 | // for testing purposes only 45 | public function getDelay() 46 | { 47 | return $this->delay; 48 | } 49 | 50 | } 51 | -------------------------------------------------------------------------------- /system/Test/Mock/MockChromeLogger.php: -------------------------------------------------------------------------------- 1 | json['rows'][0]; 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /system/Test/Mock/MockCodeIgniter.php: -------------------------------------------------------------------------------- 1 | handles = $config['handles'] ?? []; 22 | $this->destination = $this->path . 'log-' . date('Y-m-d') . '.' . $this->fileExtension; 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /system/Test/Mock/MockIncomingRequest.php: -------------------------------------------------------------------------------- 1 | language[$locale ?? $this->locale][$file] = $data; 32 | 33 | return $this; 34 | } 35 | 36 | //-------------------------------------------------------------------- 37 | 38 | /** 39 | * Provides an override that allows us to set custom 40 | * data to be returned easily during testing. 41 | * 42 | * @param string $path 43 | * 44 | * @return array|mixed 45 | */ 46 | protected function requireFile(string $path): array 47 | { 48 | return $this->data ?? []; 49 | } 50 | 51 | //-------------------------------------------------------------------- 52 | 53 | /** 54 | * Arbitrarily turnoff internationalization support for testing 55 | */ 56 | public function disableIntlSupport() 57 | { 58 | $this->intlSupport = false; 59 | } 60 | 61 | } 62 | -------------------------------------------------------------------------------- /system/Test/Mock/MockQuery.php: -------------------------------------------------------------------------------- 1 | model; 11 | } 12 | 13 | public function getModelName() 14 | { 15 | return $this->modelName; 16 | } 17 | 18 | public function getFormat() 19 | { 20 | return $this->format; 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /system/Test/Mock/MockResourcePresenter.php: -------------------------------------------------------------------------------- 1 | model; 11 | } 12 | 13 | public function getModelName() 14 | { 15 | return $this->modelName; 16 | } 17 | 18 | public function getFormat() 19 | { 20 | return $this->format; 21 | } 22 | 23 | } 24 | -------------------------------------------------------------------------------- /system/Test/Mock/MockResponse.php: -------------------------------------------------------------------------------- 1 | pretend; 22 | } 23 | 24 | // artificial error for testing 25 | public function misbehave() 26 | { 27 | $this->statusCode = 0; 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /system/Test/Mock/MockSecurity.php: -------------------------------------------------------------------------------- 1 | CSRFHash; 11 | 12 | return $this; 13 | } 14 | 15 | //-------------------------------------------------------------------- 16 | 17 | } 18 | -------------------------------------------------------------------------------- /system/Test/Mock/MockServices.php: -------------------------------------------------------------------------------- 1 | TESTPATH . '_support/', 10 | ]; 11 | public $classmap = []; 12 | 13 | //-------------------------------------------------------------------- 14 | 15 | public function __construct() 16 | { 17 | // Don't call the parent since we don't want the default mappings. 18 | // parent::__construct(); 19 | } 20 | 21 | //-------------------------------------------------------------------- 22 | public static function locator(bool $getShared = true) 23 | { 24 | return new \CodeIgniter\Autoloader\FileLocator(static::autoloader()); 25 | } 26 | 27 | } 28 | -------------------------------------------------------------------------------- /system/Test/Mock/MockSession.php: -------------------------------------------------------------------------------- 1 | driver, true); 31 | } 32 | 33 | //-------------------------------------------------------------------- 34 | 35 | /** 36 | * Starts the session. 37 | * Extracted for testing reasons. 38 | */ 39 | protected function startSession() 40 | { 41 | // session_start(); 42 | } 43 | 44 | //-------------------------------------------------------------------- 45 | 46 | /** 47 | * Takes care of setting the cookie on the client side. 48 | * Extracted for testing reasons. 49 | */ 50 | protected function setCookie() 51 | { 52 | $this->cookies[] = [ 53 | $this->sessionCookieName, 54 | session_id(), 55 | (empty($this->sessionExpiration) ? 0 : time() + $this->sessionExpiration), 56 | $this->cookiePath, 57 | $this->cookieDomain, 58 | $this->cookieSecure, 59 | true, 60 | ]; 61 | } 62 | 63 | //-------------------------------------------------------------------- 64 | 65 | public function regenerate(bool $destroy = false) 66 | { 67 | $this->didRegenerate = true; 68 | $_SESSION['__ci_last_regenerate'] = time(); 69 | } 70 | 71 | //-------------------------------------------------------------------- 72 | } 73 | -------------------------------------------------------------------------------- /system/Test/Mock/MockTable.php: -------------------------------------------------------------------------------- 1 | dt = clone $dt; 41 | } 42 | 43 | public function getValueShort() 44 | { 45 | $stamp = $this->dt->format('Y-m-d H:i:s'); 46 | if ((int) ($micro = $this->dt->format('u'))) { 47 | $stamp .= '.'.$micro; 48 | } 49 | $stamp .= $this->dt->format('P T'); 50 | 51 | return $stamp; 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /system/ThirdParty/Kint/Object/ResourceObject.php: -------------------------------------------------------------------------------- 1 | resource_type) { 35 | return $this->resource_type.' resource'; 36 | } 37 | 38 | return 'resource'; 39 | } 40 | 41 | public function transplant(BasicObject $old) 42 | { 43 | parent::transplant($old); 44 | 45 | if ($old instanceof self) { 46 | $this->resource_type = $old->resource_type; 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /system/ThirdParty/Kint/Object/StreamObject.php: -------------------------------------------------------------------------------- 1 | stream_meta = $meta; 38 | } 39 | 40 | public function getValueShort() 41 | { 42 | if (empty($this->stream_meta['uri'])) { 43 | return; 44 | } 45 | 46 | $uri = $this->stream_meta['uri']; 47 | 48 | if (\stream_is_local($uri)) { 49 | return Kint::shortenPath($uri); 50 | } 51 | 52 | return $uri; 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /system/ThirdParty/Kint/Object/TraceObject.php: -------------------------------------------------------------------------------- 1 | size) { 40 | return 'empty'; 41 | } 42 | 43 | return parent::getSize(); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /system/ThirdParty/Kint/Parser/BinaryPlugin.php: -------------------------------------------------------------------------------- 1 | encoding, array('ASCII', 'UTF-8'), true)) { 46 | $o->value->hints[] = 'binary'; 47 | } 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /system/ThirdParty/Kint/Renderer/Rich/BlacklistPlugin.php: -------------------------------------------------------------------------------- 1 | '.$this->renderLockedHeader($o, 'Blacklisted').''; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /system/ThirdParty/Kint/Renderer/Rich/DepthLimitPlugin.php: -------------------------------------------------------------------------------- 1 | '.$this->renderLockedHeader($o, 'Depth Limit').''; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /system/ThirdParty/Kint/Renderer/Rich/ObjectPluginInterface.php: -------------------------------------------------------------------------------- 1 | '.$this->renderLockedHeader($o, 'Recursion').''; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /system/ThirdParty/Kint/Renderer/Rich/TabPluginInterface.php: -------------------------------------------------------------------------------- 1 | contents); 37 | 38 | if ($dt) { 39 | return '
'.$dt->setTimeZone(new DateTimeZone('UTC'))->format('Y-m-d H:i:s T').'
'; 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /system/ThirdParty/Kint/Renderer/Text/BlacklistPlugin.php: -------------------------------------------------------------------------------- 1 | depth) { 37 | $out .= $this->renderer->colorTitle($this->renderer->renderTitle($o)).PHP_EOL; 38 | } 39 | 40 | $out .= $this->renderer->renderHeader($o).' '.$this->renderer->colorValue('BLACKLISTED').PHP_EOL; 41 | 42 | return $out; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /system/ThirdParty/Kint/Renderer/Text/DepthLimitPlugin.php: -------------------------------------------------------------------------------- 1 | depth) { 37 | $out .= $this->renderer->colorTitle($this->renderer->renderTitle($o)).PHP_EOL; 38 | } 39 | 40 | $out .= $this->renderer->renderHeader($o).' '.$this->renderer->colorValue('DEPTH LIMIT').PHP_EOL; 41 | 42 | return $out; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /system/ThirdParty/Kint/Renderer/Text/Plugin.php: -------------------------------------------------------------------------------- 1 | renderer = $r; 38 | } 39 | 40 | abstract public function render(BasicObject $o); 41 | } 42 | -------------------------------------------------------------------------------- /system/ThirdParty/Kint/Renderer/Text/RecursionPlugin.php: -------------------------------------------------------------------------------- 1 | depth) { 37 | $out .= $this->renderer->colorTitle($this->renderer->renderTitle($o)).PHP_EOL; 38 | } 39 | 40 | $out .= $this->renderer->renderHeader($o).' '.$this->renderer->colorValue('RECURSION').PHP_EOL; 41 | 42 | return $out; 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /system/ThirdParty/Kint/resources/compiled/microtime.js: -------------------------------------------------------------------------------- 1 | void 0===window.kintMicrotimeInitialized&&(window.kintMicrotimeInitialized=1,window.addEventListener("load",function(){"use strict";var c={},i=Array.prototype.slice.call(document.querySelectorAll("[data-kint-microtime-group]"),0);i.forEach(function(i){if(i.querySelector(".kint-microtime-lap")){var t=i.getAttribute("data-kint-microtime-group"),e=parseFloat(i.querySelector(".kint-microtime-lap").innerHTML),r=parseFloat(i.querySelector(".kint-microtime-avg").innerHTML);void 0===c[t]&&(c[t]={}),(void 0===c[t].min||c[t].min>e)&&(c[t].min=e),(void 0===c[t].max||c[t].maxlogger = $logger; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /system/ThirdParty/PSR/Log/NullLogger.php: -------------------------------------------------------------------------------- 1 | logger) { }` 11 | * blocks. 12 | */ 13 | class NullLogger extends AbstractLogger 14 | { 15 | /** 16 | * Logs with an arbitrary level. 17 | * 18 | * @param mixed $level 19 | * @param string $message 20 | * @param array $context 21 | * @return null 22 | */ 23 | public function log($level, $message, array $context = []) 24 | { 25 | // noop 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /system/Validation/Exceptions/ValidationException.php: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | -------------------------------------------------------------------------------- /system/Validation/Views/single.php: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /system/View/Exceptions/ViewException.php: -------------------------------------------------------------------------------- 1 | $class, 'method' => $method])); 11 | } 12 | 13 | public static function forMissingCellParameters(string $class, string $method) 14 | { 15 | return new static(lang('View.missingCellParameters', ['class' => $class, 'method' => $method])); 16 | } 17 | 18 | public static function forInvalidCellParameter(string $key) 19 | { 20 | return new static(lang('View.invalidCellParameter', [$key])); 21 | } 22 | 23 | public static function forNoCellClass() 24 | { 25 | return new static(lang('View.noCellClass')); 26 | } 27 | 28 | public static function forInvalidCellClass(string $class = null) 29 | { 30 | return new static(lang('View.invalidCellClass', [$class])); 31 | } 32 | 33 | public static function forTagSyntaxError(string $output) 34 | { 35 | return new static(lang('View.tagSyntaxError', [$output])); 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /system/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 403 Forbidden 5 | 6 | 7 | 8 |

Directory access is forbidden.

9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /writable/.htaccess: -------------------------------------------------------------------------------- 1 | 2 | Require all denied 3 | 4 | 5 | Deny from all 6 | 7 | -------------------------------------------------------------------------------- /writable/cache/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 403 Forbidden 5 | 6 | 7 | 8 |

Directory access is forbidden.

9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /writable/debugbar/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/writable/debugbar/.gitkeep -------------------------------------------------------------------------------- /writable/logs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 403 Forbidden 5 | 6 | 7 | 8 |

Directory access is forbidden.

9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /writable/rev/hehe/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nauxxyzn/mikpos/2b147cc51faa6fb81a4c00ee304fd5e61764c8ec/writable/rev/hehe/index.html -------------------------------------------------------------------------------- /writable/session/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 403 Forbidden 5 | 6 | 7 | 8 |

Directory access is forbidden.

9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /writable/uploads/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 403 Forbidden 5 | 6 | 7 | 8 |

Directory access is forbidden.

9 | 10 | 11 | 12 | --------------------------------------------------------------------------------