├── .env.example ├── .gitignore ├── LICENSE ├── 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 │ ├── Auth │ │ ├── AccountController.php │ │ ├── LoginController.php │ │ ├── PasswordController.php │ │ ├── RegistrationController.php │ │ ├── SettingsController.php │ │ └── UsersController.php │ └── BaseController.php ├── Database │ ├── Migrations │ │ └── .gitkeep │ └── Seeds │ │ └── .gitkeep ├── Filters │ └── .gitkeep ├── Helpers │ ├── .gitkeep │ └── auth_helper.php ├── Language │ ├── .gitkeep │ └── en │ │ ├── Auth.php │ │ └── Validation.php ├── Libraries │ └── .gitkeep ├── Models │ ├── .gitkeep │ ├── EmailconfigModel.php │ ├── LogsModel.php │ ├── SettingsModel.php │ └── UserModel.php ├── ThirdParty │ └── .gitkeep ├── Views │ ├── auth │ │ ├── auth │ │ │ ├── forgot.php │ │ │ ├── login.php │ │ │ └── reset.php │ │ ├── components │ │ │ ├── navbar.php │ │ │ └── notifications.php │ │ ├── edit-user.php │ │ ├── edits │ │ │ └── edit-user.php │ │ ├── emails │ │ │ ├── activation.php │ │ │ ├── confirmation.php │ │ │ ├── footer.php │ │ │ ├── header.php │ │ │ ├── notification.php │ │ │ └── reset.php │ │ ├── layouts │ │ │ ├── auth.php │ │ │ ├── default-table.php │ │ │ └── default.php │ │ ├── modals │ │ │ └── add-user.php │ │ ├── profile.php │ │ ├── register.php │ │ ├── settings.php │ │ ├── starter.php │ │ ├── user-logs.php │ │ └── users.php │ └── errors │ │ ├── cli │ │ ├── error_404.php │ │ ├── error_exception.php │ │ └── production.php │ │ └── html │ │ ├── debug.css │ │ ├── debug.js │ │ ├── error_404.php │ │ ├── error_exception.php │ │ └── production.php └── index.html ├── composer.json ├── database.sql ├── license.txt ├── public ├── .htaccess ├── css │ ├── auth.css │ └── starter-template.css ├── favicon.ico ├── index.php ├── robots.txt └── vendor │ ├── bootstrap │ ├── LICENSE.md │ ├── css │ │ ├── bootstrap-grid.css │ │ ├── bootstrap-grid.css.map │ │ ├── bootstrap-grid.min.css │ │ ├── bootstrap-grid.min.css.map │ │ ├── bootstrap-reboot.css │ │ ├── bootstrap-reboot.css.map │ │ ├── bootstrap-reboot.min.css │ │ ├── bootstrap-reboot.min.css.map │ │ ├── bootstrap.css │ │ ├── bootstrap.css.map │ │ ├── bootstrap.min.css │ │ └── bootstrap.min.css.map │ └── js │ │ ├── bootstrap.bundle.js │ │ ├── bootstrap.bundle.js.map │ │ ├── bootstrap.bundle.min.js │ │ ├── bootstrap.bundle.min.js.map │ │ ├── bootstrap.js │ │ ├── bootstrap.js.map │ │ ├── bootstrap.min.js │ │ └── bootstrap.min.js.map │ ├── datatables │ ├── DataTables-1.10.23 │ │ ├── css │ │ │ ├── dataTables.bootstrap.css │ │ │ ├── dataTables.bootstrap.min.css │ │ │ ├── dataTables.bootstrap4.css │ │ │ ├── dataTables.bootstrap4.min.css │ │ │ ├── dataTables.foundation.css │ │ │ ├── dataTables.foundation.min.css │ │ │ ├── dataTables.jqueryui.css │ │ │ ├── dataTables.jqueryui.min.css │ │ │ ├── dataTables.semanticui.css │ │ │ ├── dataTables.semanticui.min.css │ │ │ ├── jquery.dataTables.css │ │ │ └── jquery.dataTables.min.css │ │ ├── images │ │ │ ├── sort_asc.png │ │ │ ├── sort_asc_disabled.png │ │ │ ├── sort_both.png │ │ │ ├── sort_desc.png │ │ │ └── sort_desc_disabled.png │ │ └── js │ │ │ ├── dataTables.bootstrap.js │ │ │ ├── dataTables.bootstrap.min.js │ │ │ ├── dataTables.bootstrap4.js │ │ │ ├── dataTables.bootstrap4.min.js │ │ │ ├── dataTables.foundation.js │ │ │ ├── dataTables.foundation.min.js │ │ │ ├── dataTables.jqueryui.js │ │ │ ├── dataTables.jqueryui.min.js │ │ │ ├── dataTables.semanticui.js │ │ │ ├── dataTables.semanticui.min.js │ │ │ ├── jquery.dataTables.js │ │ │ └── jquery.dataTables.min.js │ ├── LICENSE.md │ ├── Responsive-2.2.7 │ │ ├── css │ │ │ ├── responsive.bootstrap.css │ │ │ ├── responsive.bootstrap.min.css │ │ │ ├── responsive.bootstrap4.css │ │ │ ├── responsive.bootstrap4.min.css │ │ │ ├── responsive.dataTables.css │ │ │ ├── responsive.dataTables.min.css │ │ │ ├── responsive.foundation.css │ │ │ ├── responsive.foundation.min.css │ │ │ ├── responsive.jqueryui.css │ │ │ ├── responsive.jqueryui.min.css │ │ │ ├── responsive.semanticui.css │ │ │ └── responsive.semanticui.min.css │ │ └── js │ │ │ ├── dataTables.responsive.js │ │ │ ├── dataTables.responsive.min.js │ │ │ ├── responsive.bootstrap.js │ │ │ ├── responsive.bootstrap.min.js │ │ │ ├── responsive.bootstrap4.js │ │ │ ├── responsive.bootstrap4.min.js │ │ │ ├── responsive.foundation.js │ │ │ ├── responsive.foundation.min.js │ │ │ ├── responsive.jqueryui.js │ │ │ ├── responsive.jqueryui.min.js │ │ │ ├── responsive.semanticui.js │ │ │ └── responsive.semanticui.min.js │ ├── datatables.css │ ├── datatables.js │ ├── datatables.min.css │ └── datatables.min.js │ ├── fontawesome │ ├── LICENSE.md │ ├── css │ │ ├── brands.min.css │ │ ├── fontawesome.min.css │ │ └── solid.min.css │ ├── sprites │ │ ├── brands.svg │ │ └── solid.svg │ └── webfonts │ │ ├── fa-brands-400.eot │ │ ├── fa-brands-400.svg │ │ ├── fa-brands-400.ttf │ │ ├── fa-brands-400.woff │ │ ├── fa-brands-400.woff2 │ │ ├── fa-solid-900.eot │ │ ├── fa-solid-900.svg │ │ ├── fa-solid-900.ttf │ │ ├── fa-solid-900.woff │ │ └── fa-solid-900.woff2 │ └── jquery │ ├── LICENSE.md │ ├── jquery.min.js │ ├── jquery.min.map │ ├── jquery.slim.min.js │ └── jquery.slim.min.map ├── readme.txt ├── spark ├── system ├── .htaccess ├── API │ └── ResponseTrait.php ├── Autoloader │ ├── Autoloader.php │ └── FileLocator.php ├── CLI │ ├── BaseCommand.php │ ├── CLI.php │ ├── CommandRunner.php │ ├── Commands.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 │ ├── Cache │ │ └── ClearCache.php │ ├── Database │ │ ├── CreateMigration.php │ │ ├── CreateSeeder.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 │ ├── test_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 │ │ ├── Fabricator.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 │ │ ├── Seed.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 ├── Modules │ └── Modules.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 │ ├── Fabricator.php │ ├── FeatureResponse.php │ ├── FeatureTestCase.php │ ├── FeatureTestTrait.php │ ├── Filters │ │ └── CITestStreamFilter.php │ ├── Interfaces │ │ └── FabricatorModel.php │ ├── Mock │ │ ├── MockAppConfig.php │ │ ├── MockAutoload.php │ │ ├── MockBuilder.php │ │ ├── MockCLIConfig.php │ │ ├── MockCURLRequest.php │ │ ├── MockCache.php │ │ ├── MockCodeIgniter.php │ │ ├── MockCommon.php │ │ ├── MockConnection.php │ │ ├── MockEmail.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 ├── logs └── index.html ├── session └── index.html └── uploads └── index.html /app/.htaccess: -------------------------------------------------------------------------------- 1 | 2 | Require all denied 3 | 4 | 5 | Deny from all 6 | 7 | -------------------------------------------------------------------------------- /app/Common.php: -------------------------------------------------------------------------------- 1 | 0) 32 | { 33 | ob_end_flush(); 34 | } 35 | 36 | ob_start(function ($buffer) { 37 | return $buffer; 38 | }); 39 | } 40 | 41 | /* 42 | * -------------------------------------------------------------------- 43 | * Debug Toolbar Listeners. 44 | * -------------------------------------------------------------------- 45 | * If you delete, they will no longer be collected. 46 | */ 47 | if (ENVIRONMENT !== 'production') 48 | { 49 | Events::on('DBQuery', 'CodeIgniter\Debug\Toolbar\Collectors\Database::collect'); 50 | Services::toolbar()->respond(); 51 | } 52 | }); 53 | -------------------------------------------------------------------------------- /app/Config/Exceptions.php: -------------------------------------------------------------------------------- 1 | \CodeIgniter\Filters\CSRF::class, 11 | 'toolbar' => \CodeIgniter\Filters\DebugToolbar::class, 12 | 'honeypot' => \CodeIgniter\Filters\Honeypot::class, 13 | ]; 14 | 15 | // Always applied before every request 16 | public $globals = [ 17 | 'before' => [ 18 | //'honeypot' 19 | 'csrf', 20 | ], 21 | 'after' => [ 22 | // 'toolbar', 23 | //'honeypot' 24 | ], 25 | ]; 26 | 27 | // Works on all of a particular HTTP method 28 | // (GET, POST, etc) as BEFORE filters only 29 | // like: 'post' => ['CSRF', 'throttle'], 30 | public $methods = []; 31 | 32 | // List filter aliases and any before/after uri patterns 33 | // that they should run on, like: 34 | // 'isLoggedIn' => ['before' => ['account/*', 'profiles/*']], 35 | public $filters = []; 36 | } 37 | -------------------------------------------------------------------------------- /app/Config/ForeignCharacters.php: -------------------------------------------------------------------------------- 1 | {label}'; 35 | 36 | /** 37 | * Honeypot container 38 | * 39 | * @var string 40 | */ 41 | public $container = '
{template}
'; 42 | } 43 | -------------------------------------------------------------------------------- /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/Modules.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/Database/Migrations/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopspower/codeigniter4-auth-and-user-management/e6432e4b25a7fd4fbd561ca16e6957fafdb523c7/app/Database/Migrations/.gitkeep -------------------------------------------------------------------------------- /app/Database/Seeds/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopspower/codeigniter4-auth-and-user-management/e6432e4b25a7fd4fbd561ca16e6957fafdb523c7/app/Database/Seeds/.gitkeep -------------------------------------------------------------------------------- /app/Filters/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopspower/codeigniter4-auth-and-user-management/e6432e4b25a7fd4fbd561ca16e6957fafdb523c7/app/Filters/.gitkeep -------------------------------------------------------------------------------- /app/Helpers/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopspower/codeigniter4-auth-and-user-management/e6432e4b25a7fd4fbd561ca16e6957fafdb523c7/app/Helpers/.gitkeep -------------------------------------------------------------------------------- /app/Language/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopspower/codeigniter4-auth-and-user-management/e6432e4b25a7fd4fbd561ca16e6957fafdb523c7/app/Language/.gitkeep -------------------------------------------------------------------------------- /app/Language/en/Validation.php: -------------------------------------------------------------------------------- 1 | [ 28 | 'fromemail' => 'required', 29 | 'fromname' => 'required', 30 | 'protocol' => 'required', 31 | 'host' => 'required', 32 | 'username' => 'required', 33 | 'security' => 'required', 34 | 'port' => 'required', 35 | 'password' => 'required', 36 | ] 37 | ]; 38 | 39 | protected $validationMessages = []; 40 | 41 | protected $skipValidation = false; 42 | 43 | 44 | //-------------------------------------------------------------------- 45 | 46 | /** 47 | * Retrieves validation rule 48 | */ 49 | public function getRule(string $rule) 50 | { 51 | return $this->dynamicRules[$rule]; 52 | } 53 | 54 | } 55 | -------------------------------------------------------------------------------- /app/Models/LogsModel.php: -------------------------------------------------------------------------------- 1 | [ 28 | 'date' => 'required', 29 | 'time' => 'required', 30 | 'reference' => 'required', 31 | 'ip' => 'required', 32 | 'location' => 'required', 33 | 'browser' => 'required', 34 | 'status' => 'required' 35 | ] 36 | ]; 37 | 38 | protected $validationMessages = []; 39 | 40 | protected $skipValidation = false; 41 | 42 | 43 | //-------------------------------------------------------------------- 44 | 45 | /** 46 | * Retrieves validation rule 47 | */ 48 | public function getRule(string $rule) 49 | { 50 | return $this->dynamicRules[$rule]; 51 | } 52 | 53 | } 54 | -------------------------------------------------------------------------------- /app/Models/SettingsModel.php: -------------------------------------------------------------------------------- 1 | [ 28 | 'language' => 'required', 29 | 'timezone' => 'required', 30 | 'dateformat' => 'required', 31 | 'timeformat' => 'required', 32 | 'iprestriction' => 'required', 33 | ] 34 | ]; 35 | 36 | protected $validationMessages = []; 37 | 38 | protected $skipValidation = false; 39 | 40 | 41 | //-------------------------------------------------------------------- 42 | 43 | /** 44 | * Retrieves validation rule 45 | */ 46 | public function getRule(string $rule) 47 | { 48 | return $this->dynamicRules[$rule]; 49 | } 50 | 51 | } 52 | -------------------------------------------------------------------------------- /app/ThirdParty/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopspower/codeigniter4-auth-and-user-management/e6432e4b25a7fd4fbd561ca16e6957fafdb523c7/app/ThirdParty/.gitkeep -------------------------------------------------------------------------------- /app/Views/auth/auth/reset.php: -------------------------------------------------------------------------------- 1 | extend('auth/layouts/auth') ?> 2 | section('main') ?> 3 | 4 |

5 | 6 | 7 | 8 |
9 | 10 |

11 |
12 | 13 |

14 |

15 |
16 | 17 |

18 |

19 | 20 | 21 |

22 |
23 | 24 | endSection() ?> -------------------------------------------------------------------------------- /app/Views/auth/components/notifications.php: -------------------------------------------------------------------------------- 1 | has('success')) : ?> 2 | 10 | 11 | 12 | has('error')) : ?> 13 | 21 | 22 | 23 | has('errors')) : ?> 24 | 37 | -------------------------------------------------------------------------------- /app/Views/auth/emails/activation.php: -------------------------------------------------------------------------------- 1 |

Thank you for signing up on !

2 | 3 |

Please click the following link to activate your account!

4 |

5 | 6 |

If you didn't register on this website, just ignore this email.

-------------------------------------------------------------------------------- /app/Views/auth/emails/confirmation.php: -------------------------------------------------------------------------------- 1 |

Dear member of ,

2 | 3 |

please click the following link to confirm your new e-mail address!

4 |

5 | 6 |

If you didn't request this, just ignore this email.

-------------------------------------------------------------------------------- /app/Views/auth/emails/footer.php: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/Views/auth/emails/header.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 33 | 34 | -------------------------------------------------------------------------------- /app/Views/auth/emails/notification.php: -------------------------------------------------------------------------------- 1 |

An e-mail update was requested on !

2 | 3 |

If you didn't request this change, please contact us as soon as possible!

4 | -------------------------------------------------------------------------------- /app/Views/auth/emails/reset.php: -------------------------------------------------------------------------------- 1 |

A password update was requested on !

2 | 3 |

Please click the following link to change your password!

4 |

5 | 6 |

If you didn't request this change, just ignore this email.

-------------------------------------------------------------------------------- /app/Views/auth/layouts/auth.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Codeigniter 4 Authentication 9 | 10 | 11 | 12 | 13 | 14 |
15 |
16 | renderSection('main') ?> 17 |
18 |
19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /app/Views/auth/layouts/default-table.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Starter Template · Bootstrap 11 | 12 | 13 | renderSection('style') ?> 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | renderSection('modals') ?> 27 | 28 | 29 | 30 | 31 |
32 | 33 | 34 | 35 | 36 | renderSection('main') ?> 37 |
38 | 39 | 40 | 41 | 42 | 43 | 44 | 47 | 48 | 49 | renderSection('script') ?> 50 | 51 | 52 | -------------------------------------------------------------------------------- /app/Views/auth/layouts/default.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Starter Template · Bootstrap 11 | 12 | 13 | renderSection('style') ?> 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 | 32 | renderSection('main') ?> 33 |
34 | 35 | 36 | 37 | 38 | 39 | renderSection('script') ?> 40 | 41 | 42 | -------------------------------------------------------------------------------- /app/Views/auth/user-logs.php: -------------------------------------------------------------------------------- 1 | 2 | extend('auth/layouts/default-table') ?> 3 | 4 | 5 | section('main') ?> 6 | 7 |
8 |

Login Logs

9 |
10 | 11 |
12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 |
DateTimeNameIP AddressBrowserStatus
39 |
40 |
41 | 42 | endSection() ?> -------------------------------------------------------------------------------- /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/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 | "ext-mbstring": "*", 13 | "kint-php/kint": "^3.3", 14 | "laminas/laminas-escaper": "^2.6", 15 | "psr/log": "^1.1" 16 | }, 17 | "require-dev": { 18 | "codeigniter4/codeigniter4-standard": "^1.0", 19 | "fzaninotto/faker": "^1.9@dev", 20 | "mikey179/vfsstream": "1.6.*", 21 | "phpunit/phpunit": "^8.5", 22 | "predis/predis": "^1.1", 23 | "squizlabs/php_codesniffer": "^3.3" 24 | }, 25 | "autoload": { 26 | "psr-4": { 27 | "CodeIgniter\\": "system/" 28 | } 29 | }, 30 | "scripts": { 31 | "post-update-cmd": [ 32 | "@composer dump-autoload", 33 | "CodeIgniter\\ComposerScripts::postUpdate", 34 | "bash admin/setup.sh" 35 | ], 36 | "test": "phpunit" 37 | }, 38 | "support": { 39 | "forum": "http://forum.codeigniter.com/", 40 | "source": "https://github.com/codeigniter4/CodeIgniter4", 41 | "slack": "https://codeigniterchat.slack.com" 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /license.txt: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2014-2019 British Columbia Institute of Technology 4 | Copyright (c) 2019-2020 CodeIgniter Foundation 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in 14 | all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 22 | THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /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 49 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopspower/codeigniter4-auth-and-user-management/e6432e4b25a7fd4fbd561ca16e6957fafdb523c7/public/favicon.ico -------------------------------------------------------------------------------- /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/robots.txt: -------------------------------------------------------------------------------- 1 | User-agent: * 2 | Disallow: 3 | -------------------------------------------------------------------------------- /public/vendor/bootstrap/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright 2011-2018 Twitter, Inc. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /public/vendor/datatables/DataTables-1.10.23/images/sort_asc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopspower/codeigniter4-auth-and-user-management/e6432e4b25a7fd4fbd561ca16e6957fafdb523c7/public/vendor/datatables/DataTables-1.10.23/images/sort_asc.png -------------------------------------------------------------------------------- /public/vendor/datatables/DataTables-1.10.23/images/sort_asc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopspower/codeigniter4-auth-and-user-management/e6432e4b25a7fd4fbd561ca16e6957fafdb523c7/public/vendor/datatables/DataTables-1.10.23/images/sort_asc_disabled.png -------------------------------------------------------------------------------- /public/vendor/datatables/DataTables-1.10.23/images/sort_both.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopspower/codeigniter4-auth-and-user-management/e6432e4b25a7fd4fbd561ca16e6957fafdb523c7/public/vendor/datatables/DataTables-1.10.23/images/sort_both.png -------------------------------------------------------------------------------- /public/vendor/datatables/DataTables-1.10.23/images/sort_desc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopspower/codeigniter4-auth-and-user-management/e6432e4b25a7fd4fbd561ca16e6957fafdb523c7/public/vendor/datatables/DataTables-1.10.23/images/sort_desc.png -------------------------------------------------------------------------------- /public/vendor/datatables/DataTables-1.10.23/images/sort_desc_disabled.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devopspower/codeigniter4-auth-and-user-management/e6432e4b25a7fd4fbd561ca16e6957fafdb523c7/public/vendor/datatables/DataTables-1.10.23/images/sort_desc_disabled.png -------------------------------------------------------------------------------- /public/vendor/datatables/DataTables-1.10.23/js/dataTables.foundation.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | DataTables Foundation integration 3 | ©2011-2015 SpryMedia Ltd - datatables.net/license 4 | */ 5 | (function(b){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(c){return b(c,window,document)}):"object"===typeof exports?module.exports=function(c,l){c||(c=window);l&&l.fn.dataTable||(l=require("datatables.net")(c,l).$);return b(l,c,c.document)}:b(jQuery,window,document)})(function(b,c,l,F){var k=b.fn.dataTable;c=b('').appendTo("head");k.ext.foundationVersion=c.css("font-family").match(/small|medium|large/)?6:5;c.remove();b.extend(k.ext.classes, 6 | {sWrapper:"dataTables_wrapper dt-foundation",sProcessing:"dataTables_processing panel callout"});b.extend(!0,k.defaults,{dom:"<'row grid-x'<'small-6 columns cell'l><'small-6 columns cell'f>r>t<'row grid-x'<'small-6 columns cell'i><'small-6 columns cell'p>>",renderer:"foundation"});k.ext.renderer.pageButton.foundation=function(g,x,y,z,d,m){var r=new k.Api(g),A=g.oClasses,n=g.oLanguage.oPaginate,B=g.oLanguage.oAria.paginate||{},e,h,f,C=5===k.ext.foundationVersion,w=function(t,u){var v,D=function(p){p.preventDefault(); 7 | b(p.currentTarget).hasClass("unavailable")||r.page()==p.data.action||r.page(p.data.action).draw("page")};var q=0;for(v=u.length;q",{"class":A.sPageButton+" "+h,"aria-controls":g.sTableId,"aria-label":B[a],tabindex:g.iTabIndex,id:0===y&&"string"===typeof a?g.sTableId+"_"+a:null}).append(f?b("<"+f+"/>",{href:"#"}).html(e):e).appendTo(t);g.oApi._fnBindAction(E,{action:a},D)}}}};w(b(x).empty().html('