Compare commits
No commits in common. "master" and "ecc64e270c25b4d00954d117d69ab67b64ce1dd6" have entirely different histories.
master
...
ecc64e270c
|
@ -1,22 +0,0 @@
|
||||||
The MIT License (MIT)
|
|
||||||
|
|
||||||
Copyright (c) 2014-2019 British Columbia Institute of Technology
|
|
||||||
Copyright (c) 2019-2023 CodeIgniter Foundation
|
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
|
||||||
in the Software without restriction, including without limitation the rights
|
|
||||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
||||||
copies of the Software, and to permit persons to whom the Software is
|
|
||||||
furnished to do so, subject to the following conditions:
|
|
||||||
|
|
||||||
The above copyright notice and this permission notice shall be included in
|
|
||||||
all copies or substantial portions of the Software.
|
|
||||||
|
|
||||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
||||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
||||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
||||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
||||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
||||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
||||||
THE SOFTWARE.
|
|
|
@ -1,66 +0,0 @@
|
||||||
{
|
|
||||||
"name": "codeigniter4/framework",
|
|
||||||
"description": "The CodeIgniter framework v4",
|
|
||||||
"license": "MIT",
|
|
||||||
"type": "project",
|
|
||||||
"homepage": "https://codeigniter.com",
|
|
||||||
"support": {
|
|
||||||
"forum": "https://forum.codeigniter.com/",
|
|
||||||
"source": "https://github.com/codeigniter4/CodeIgniter4",
|
|
||||||
"slack": "https://codeigniterchat.slack.com"
|
|
||||||
},
|
|
||||||
"require": {
|
|
||||||
"php": "^7.4 || ^8.0",
|
|
||||||
"ext-intl": "*",
|
|
||||||
"ext-json": "*",
|
|
||||||
"ext-mbstring": "*",
|
|
||||||
"laminas/laminas-escaper": "^2.9",
|
|
||||||
"psr/log": "^1.1"
|
|
||||||
},
|
|
||||||
"require-dev": {
|
|
||||||
"codeigniter/coding-standard": "^1.5",
|
|
||||||
"fakerphp/faker": "^1.9",
|
|
||||||
"friendsofphp/php-cs-fixer": "3.13.0",
|
|
||||||
"kint-php/kint": "^5.0.4",
|
|
||||||
"mikey179/vfsstream": "^1.6",
|
|
||||||
"nexusphp/cs-config": "^3.6",
|
|
||||||
"phpunit/phpunit": "^9.1",
|
|
||||||
"predis/predis": "^1.1 || ^2.0"
|
|
||||||
},
|
|
||||||
"suggest": {
|
|
||||||
"ext-curl": "If you use CURLRequest class",
|
|
||||||
"ext-dom": "If you use TestResponse",
|
|
||||||
"ext-exif": "If you run Image class tests",
|
|
||||||
"ext-fileinfo": "Improves mime type detection for files",
|
|
||||||
"ext-gd": "If you use Image class GDHandler",
|
|
||||||
"ext-imagick": "If you use Image class ImageMagickHandler",
|
|
||||||
"ext-libxml": "If you use TestResponse",
|
|
||||||
"ext-memcache": "If you use Cache class MemcachedHandler with Memcache",
|
|
||||||
"ext-memcached": "If you use Cache class MemcachedHandler with Memcached",
|
|
||||||
"ext-mysqli": "If you use MySQL",
|
|
||||||
"ext-oci8": "If you use Oracle Database",
|
|
||||||
"ext-pgsql": "If you use PostgreSQL",
|
|
||||||
"ext-readline": "Improves CLI::input() usability",
|
|
||||||
"ext-redis": "If you use Cache class RedisHandler",
|
|
||||||
"ext-simplexml": "If you format XML",
|
|
||||||
"ext-sqlite3": "If you use SQLite3",
|
|
||||||
"ext-sqlsrv": "If you use SQL Server",
|
|
||||||
"ext-xdebug": "If you use CIUnitTestCase::assertHeaderEmitted()"
|
|
||||||
},
|
|
||||||
"autoload": {
|
|
||||||
"psr-4": {
|
|
||||||
"CodeIgniter\\": "system/"
|
|
||||||
},
|
|
||||||
"exclude-from-classmap": [
|
|
||||||
"**/Database/Migrations/**"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"config": {
|
|
||||||
"optimize-autoloader": true,
|
|
||||||
"preferred-install": "dist",
|
|
||||||
"sort-packages": true
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"test": "phpunit"
|
|
||||||
}
|
|
||||||
}
|
|
143
frontend/env
143
frontend/env
|
@ -1,143 +0,0 @@
|
||||||
#--------------------------------------------------------------------
|
|
||||||
# Example Environment Configuration file
|
|
||||||
#
|
|
||||||
# This file can be used as a starting point for your own
|
|
||||||
# custom .env files, and contains most of the possible settings
|
|
||||||
# available in a default install.
|
|
||||||
#
|
|
||||||
# By default, all of the settings are commented out. If you want
|
|
||||||
# to override the setting, you must un-comment it by removing the '#'
|
|
||||||
# at the beginning of the line.
|
|
||||||
#--------------------------------------------------------------------
|
|
||||||
|
|
||||||
#--------------------------------------------------------------------
|
|
||||||
# ENVIRONMENT
|
|
||||||
#--------------------------------------------------------------------
|
|
||||||
|
|
||||||
# CI_ENVIRONMENT = production
|
|
||||||
|
|
||||||
#--------------------------------------------------------------------
|
|
||||||
# APP
|
|
||||||
#--------------------------------------------------------------------
|
|
||||||
|
|
||||||
# app.baseURL = ''
|
|
||||||
# If you have trouble with `.`, you could also use `_`.
|
|
||||||
# app_baseURL = ''
|
|
||||||
# app.forceGlobalSecureRequests = false
|
|
||||||
# app.CSPEnabled = false
|
|
||||||
|
|
||||||
#--------------------------------------------------------------------
|
|
||||||
# DATABASE
|
|
||||||
#--------------------------------------------------------------------
|
|
||||||
|
|
||||||
# database.default.hostname = localhost
|
|
||||||
# database.default.database = ci4
|
|
||||||
# database.default.username = root
|
|
||||||
# database.default.password = root
|
|
||||||
# database.default.DBDriver = MySQLi
|
|
||||||
# database.default.DBPrefix =
|
|
||||||
# database.default.port = 3306
|
|
||||||
|
|
||||||
# database.tests.hostname = localhost
|
|
||||||
# database.tests.database = ci4_test
|
|
||||||
# database.tests.username = root
|
|
||||||
# database.tests.password = root
|
|
||||||
# database.tests.DBDriver = MySQLi
|
|
||||||
# database.tests.DBPrefix =
|
|
||||||
# database.tests.port = 3306
|
|
||||||
|
|
||||||
#--------------------------------------------------------------------
|
|
||||||
# CONTENT SECURITY POLICY
|
|
||||||
#--------------------------------------------------------------------
|
|
||||||
|
|
||||||
# contentsecuritypolicy.reportOnly = false
|
|
||||||
# contentsecuritypolicy.defaultSrc = 'none'
|
|
||||||
# contentsecuritypolicy.scriptSrc = 'self'
|
|
||||||
# contentsecuritypolicy.styleSrc = 'self'
|
|
||||||
# contentsecuritypolicy.imageSrc = 'self'
|
|
||||||
# contentsecuritypolicy.baseURI = null
|
|
||||||
# contentsecuritypolicy.childSrc = null
|
|
||||||
# contentsecuritypolicy.connectSrc = 'self'
|
|
||||||
# contentsecuritypolicy.fontSrc = null
|
|
||||||
# contentsecuritypolicy.formAction = null
|
|
||||||
# contentsecuritypolicy.frameAncestors = null
|
|
||||||
# contentsecuritypolicy.frameSrc = null
|
|
||||||
# contentsecuritypolicy.mediaSrc = null
|
|
||||||
# contentsecuritypolicy.objectSrc = null
|
|
||||||
# contentsecuritypolicy.pluginTypes = null
|
|
||||||
# contentsecuritypolicy.reportURI = null
|
|
||||||
# contentsecuritypolicy.sandbox = false
|
|
||||||
# contentsecuritypolicy.upgradeInsecureRequests = false
|
|
||||||
# contentsecuritypolicy.styleNonceTag = '{csp-style-nonce}'
|
|
||||||
# contentsecuritypolicy.scriptNonceTag = '{csp-script-nonce}'
|
|
||||||
# contentsecuritypolicy.autoNonce = true
|
|
||||||
|
|
||||||
#--------------------------------------------------------------------
|
|
||||||
# COOKIE
|
|
||||||
#--------------------------------------------------------------------
|
|
||||||
|
|
||||||
# cookie.prefix = ''
|
|
||||||
# cookie.expires = 0
|
|
||||||
# cookie.path = '/'
|
|
||||||
# cookie.domain = ''
|
|
||||||
# cookie.secure = false
|
|
||||||
# cookie.httponly = false
|
|
||||||
# cookie.samesite = 'Lax'
|
|
||||||
# cookie.raw = false
|
|
||||||
|
|
||||||
#--------------------------------------------------------------------
|
|
||||||
# ENCRYPTION
|
|
||||||
#--------------------------------------------------------------------
|
|
||||||
|
|
||||||
# encryption.key =
|
|
||||||
# encryption.driver = OpenSSL
|
|
||||||
# encryption.blockSize = 16
|
|
||||||
# encryption.digest = SHA512
|
|
||||||
|
|
||||||
#--------------------------------------------------------------------
|
|
||||||
# HONEYPOT
|
|
||||||
#--------------------------------------------------------------------
|
|
||||||
|
|
||||||
# honeypot.hidden = 'true'
|
|
||||||
# honeypot.label = 'Fill This Field'
|
|
||||||
# honeypot.name = 'honeypot'
|
|
||||||
# honeypot.template = '<label>{label}</label><input type="text" name="{name}" value=""/>'
|
|
||||||
# honeypot.container = '<div style="display:none">{template}</div>'
|
|
||||||
|
|
||||||
#--------------------------------------------------------------------
|
|
||||||
# SECURITY
|
|
||||||
#--------------------------------------------------------------------
|
|
||||||
|
|
||||||
# security.csrfProtection = 'cookie'
|
|
||||||
# security.tokenRandomize = false
|
|
||||||
# security.tokenName = 'csrf_token_name'
|
|
||||||
# security.headerName = 'X-CSRF-TOKEN'
|
|
||||||
# security.cookieName = 'csrf_cookie_name'
|
|
||||||
# security.expires = 7200
|
|
||||||
# security.regenerate = true
|
|
||||||
# security.redirect = false
|
|
||||||
# security.samesite = 'Lax'
|
|
||||||
|
|
||||||
#--------------------------------------------------------------------
|
|
||||||
# SESSION
|
|
||||||
#--------------------------------------------------------------------
|
|
||||||
|
|
||||||
# session.driver = 'CodeIgniter\Session\Handlers\FileHandler'
|
|
||||||
# session.cookieName = 'ci_session'
|
|
||||||
# session.expiration = 7200
|
|
||||||
# session.savePath = null
|
|
||||||
# session.matchIP = false
|
|
||||||
# session.timeToUpdate = 300
|
|
||||||
# session.regenerateDestroy = false
|
|
||||||
|
|
||||||
#--------------------------------------------------------------------
|
|
||||||
# LOGGER
|
|
||||||
#--------------------------------------------------------------------
|
|
||||||
|
|
||||||
# logger.threshold = 4
|
|
||||||
|
|
||||||
#--------------------------------------------------------------------
|
|
||||||
# CURLRequest
|
|
||||||
#--------------------------------------------------------------------
|
|
||||||
|
|
||||||
# curlrequest.shareOptions = true
|
|
|
@ -1,57 +0,0 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
bootstrap="system/Test/bootstrap.php"
|
|
||||||
backupGlobals="false"
|
|
||||||
colors="true"
|
|
||||||
convertErrorsToExceptions="true"
|
|
||||||
convertNoticesToExceptions="true"
|
|
||||||
convertWarningsToExceptions="true"
|
|
||||||
stopOnError="false"
|
|
||||||
stopOnFailure="false"
|
|
||||||
stopOnIncomplete="false"
|
|
||||||
stopOnSkipped="false"
|
|
||||||
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd">
|
|
||||||
<coverage includeUncoveredFiles="true" processUncoveredFiles="true">
|
|
||||||
<include>
|
|
||||||
<directory suffix=".php">./app</directory>
|
|
||||||
</include>
|
|
||||||
<exclude>
|
|
||||||
<directory suffix=".php">./app/Views</directory>
|
|
||||||
<file>./app/Config/Routes.php</file>
|
|
||||||
</exclude>
|
|
||||||
<report>
|
|
||||||
<clover outputFile="build/logs/clover.xml"/>
|
|
||||||
<html outputDirectory="build/logs/html"/>
|
|
||||||
<php outputFile="build/logs/coverage.serialized"/>
|
|
||||||
<text outputFile="php://stdout" showUncoveredFiles="false"/>
|
|
||||||
</report>
|
|
||||||
</coverage>
|
|
||||||
<testsuites>
|
|
||||||
<testsuite name="App">
|
|
||||||
<directory>./tests</directory>
|
|
||||||
</testsuite>
|
|
||||||
</testsuites>
|
|
||||||
<logging>
|
|
||||||
<testdoxHtml outputFile="build/logs/testdox.html"/>
|
|
||||||
<testdoxText outputFile="build/logs/testdox.txt"/>
|
|
||||||
<junit outputFile="build/logs/logfile.xml"/>
|
|
||||||
</logging>
|
|
||||||
<php>
|
|
||||||
<server name="app.baseURL" value="http://example.com/"/>
|
|
||||||
<!-- Directory containing phpunit.xml -->
|
|
||||||
<const name="HOMEPATH" value="./"/>
|
|
||||||
<!-- Directory containing the Paths config file -->
|
|
||||||
<const name="CONFIGPATH" value="./app/Config/"/>
|
|
||||||
<!-- Directory containing the front controller (index.php) -->
|
|
||||||
<const name="PUBLICPATH" value="./public/"/>
|
|
||||||
<!-- Database configuration -->
|
|
||||||
<!-- Uncomment to provide your own database for testing
|
|
||||||
<env name="database.tests.hostname" value="localhost"/>
|
|
||||||
<env name="database.tests.database" value="tests"/>
|
|
||||||
<env name="database.tests.username" value="tests_user"/>
|
|
||||||
<env name="database.tests.password" value=""/>
|
|
||||||
<env name="database.tests.DBDriver" value="MySQLi"/>
|
|
||||||
<env name="database.tests.DBPrefix" value="tests_"/>
|
|
||||||
-->
|
|
||||||
</php>
|
|
||||||
</phpunit>
|
|
|
@ -1,113 +0,0 @@
|
||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* This file is part of CodeIgniter 4 framework.
|
|
||||||
*
|
|
||||||
* (c) CodeIgniter Foundation <admin@codeigniter.com>
|
|
||||||
*
|
|
||||||
* For the full copyright and license information, please view
|
|
||||||
* the LICENSE file that was distributed with this source code.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*
|
|
||||||
*---------------------------------------------------------------
|
|
||||||
* Sample file for Preloading
|
|
||||||
*---------------------------------------------------------------
|
|
||||||
* See https://www.php.net/manual/en/opcache.preloading.php
|
|
||||||
*
|
|
||||||
* How to Use:
|
|
||||||
* 0. Copy this file to your project root folder.
|
|
||||||
* 1. Set the $paths property of the preload class below.
|
|
||||||
* 2. Set opcache.preload in php.ini.
|
|
||||||
* php.ini:
|
|
||||||
* opcache.preload=/path/to/preload.php
|
|
||||||
*/
|
|
||||||
|
|
||||||
// Load the paths config file
|
|
||||||
require __DIR__ . '/app/Config/Paths.php';
|
|
||||||
|
|
||||||
// Path to the front controller
|
|
||||||
define('FCPATH', __DIR__ . DIRECTORY_SEPARATOR . 'public' . DIRECTORY_SEPARATOR);
|
|
||||||
|
|
||||||
/**
|
|
||||||
* See https://www.php.net/manual/en/function.str-contains.php#126277
|
|
||||||
*/
|
|
||||||
if (! function_exists('str_contains')) {
|
|
||||||
/**
|
|
||||||
* Polyfill of str_contains()
|
|
||||||
*/
|
|
||||||
function str_contains(string $haystack, string $needle): bool
|
|
||||||
{
|
|
||||||
return empty($needle) || strpos($haystack, $needle) !== false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
class preload
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* @var array Paths to preload.
|
|
||||||
*/
|
|
||||||
private array $paths = [
|
|
||||||
[
|
|
||||||
'include' => __DIR__ . '/vendor/codeigniter4/framework/system',
|
|
||||||
'exclude' => [
|
|
||||||
// Not needed if you don't use them.
|
|
||||||
'/system/Database/OCI8/',
|
|
||||||
'/system/Database/Postgre/',
|
|
||||||
'/system/Database/SQLSRV/',
|
|
||||||
// Not needed.
|
|
||||||
'/system/Database/Seeder.php',
|
|
||||||
'/system/Test/',
|
|
||||||
'/system/Language/',
|
|
||||||
'/system/CLI/',
|
|
||||||
'/system/Commands/',
|
|
||||||
'/system/Publisher/',
|
|
||||||
'/system/ComposerScripts.php',
|
|
||||||
'/Views/',
|
|
||||||
// Errors occur.
|
|
||||||
'/system/Config/Routes.php',
|
|
||||||
'/system/ThirdParty/',
|
|
||||||
],
|
|
||||||
],
|
|
||||||
];
|
|
||||||
|
|
||||||
public function __construct()
|
|
||||||
{
|
|
||||||
$this->loadAutoloader();
|
|
||||||
}
|
|
||||||
|
|
||||||
private function loadAutoloader()
|
|
||||||
{
|
|
||||||
$paths = new Config\Paths();
|
|
||||||
require rtrim($paths->systemDirectory, '\\/ ') . DIRECTORY_SEPARATOR . 'bootstrap.php';
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Load PHP files.
|
|
||||||
*/
|
|
||||||
public function load()
|
|
||||||
{
|
|
||||||
foreach ($this->paths as $path) {
|
|
||||||
$directory = new RecursiveDirectoryIterator($path['include']);
|
|
||||||
$fullTree = new RecursiveIteratorIterator($directory);
|
|
||||||
$phpFiles = new RegexIterator(
|
|
||||||
$fullTree,
|
|
||||||
'/.+((?<!Test)+\.php$)/i',
|
|
||||||
RecursiveRegexIterator::GET_MATCH
|
|
||||||
);
|
|
||||||
|
|
||||||
foreach ($phpFiles as $key => $file) {
|
|
||||||
foreach ($path['exclude'] as $exclude) {
|
|
||||||
if (str_contains($file[0], $exclude)) {
|
|
||||||
continue 2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
require_once $file[0];
|
|
||||||
echo 'Loaded: ' . $file[0] . "\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
(new preload())->load();
|
|
Loading…
Reference in New Issue
Block a user