├── .env.example.dev ├── .env.example.production ├── .env.example.staging ├── .gitignore ├── bootstrap.php ├── composer.json ├── composer.json.default ├── config ├── app.php ├── general.php ├── htmlpurifier │ └── Default.json ├── redirects.php └── routes.php ├── craft ├── storage └── .gitignore ├── templates └── index.twig └── web ├── .htaccess ├── cpresources └── .gitignore └── index.php /.env.example.dev: -------------------------------------------------------------------------------- 1 | # Read about configuration, here: 2 | # https://craftcms.com/docs/5.x/configure.html 3 | 4 | # The application ID used to to uniquely store session and cache data, mutex locks, and more 5 | CRAFT_APP_ID= 6 | 7 | # The environment Craft is currently running in (dev, staging, production, etc.) 8 | CRAFT_ENVIRONMENT=dev 9 | 10 | # General settings 11 | CRAFT_SECURITY_KEY= 12 | CRAFT_DEV_MODE=true 13 | CRAFT_ALLOW_ADMIN_CHANGES=true 14 | CRAFT_DISALLOW_ROBOTS=true 15 | -------------------------------------------------------------------------------- /.env.example.production: -------------------------------------------------------------------------------- 1 | # Read about configuration, here: 2 | # https://craftcms.com/docs/5.x/configure.html 3 | 4 | # The application ID used to to uniquely store session and cache data, mutex locks, and more 5 | CRAFT_APP_ID= 6 | 7 | # The environment Craft is currently running in (dev, staging, production, etc.) 8 | CRAFT_ENVIRONMENT=production 9 | 10 | # Database connection settings 11 | CRAFT_DB_DRIVER=mysql 12 | CRAFT_DB_SERVER=127.0.0.1 13 | CRAFT_DB_PORT=3306 14 | CRAFT_DB_DATABASE= 15 | CRAFT_DB_USER=root 16 | CRAFT_DB_PASSWORD= 17 | CRAFT_DB_SCHEMA=public 18 | CRAFT_DB_TABLE_PREFIX= 19 | 20 | # General settings 21 | CRAFT_SECURITY_KEY= 22 | CRAFT_DEV_MODE=false 23 | CRAFT_ALLOW_ADMIN_CHANGES=false 24 | CRAFT_DISALLOW_ROBOTS=false 25 | -------------------------------------------------------------------------------- /.env.example.staging: -------------------------------------------------------------------------------- 1 | # Read about configuration, here: 2 | # https://craftcms.com/docs/5.x/configure.html 3 | 4 | # The application ID used to to uniquely store session and cache data, mutex locks, and more 5 | CRAFT_APP_ID= 6 | 7 | # The environment Craft is currently running in (dev, staging, production, etc.) 8 | CRAFT_ENVIRONMENT=staging 9 | 10 | # Database connection settings 11 | CRAFT_DB_DRIVER=mysql 12 | CRAFT_DB_SERVER=127.0.0.1 13 | CRAFT_DB_PORT=3306 14 | CRAFT_DB_DATABASE= 15 | CRAFT_DB_USER=root 16 | CRAFT_DB_PASSWORD= 17 | CRAFT_DB_SCHEMA=public 18 | CRAFT_DB_TABLE_PREFIX= 19 | 20 | # General settings 21 | CRAFT_SECURITY_KEY= 22 | CRAFT_DEV_MODE=false 23 | CRAFT_ALLOW_ADMIN_CHANGES=false 24 | CRAFT_DISALLOW_ROBOTS=true 25 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.env 2 | /.idea 3 | /vendor 4 | .DS_Store 5 | -------------------------------------------------------------------------------- /bootstrap.php: -------------------------------------------------------------------------------- 1 | safeLoad(); 18 | } 19 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "craftcms/craft", 3 | "description": "Craft CMS", 4 | "keywords": [ 5 | "craft", 6 | "cms", 7 | "craftcms", 8 | "project" 9 | ], 10 | "license": "0BSD", 11 | "homepage": "https://craftcms.com/", 12 | "type": "project", 13 | "support": { 14 | "email": "support@craftcms.com", 15 | "issues": "https://github.com/craftcms/cms/issues", 16 | "forum": "https://craftcms.stackexchange.com/", 17 | "source": "https://github.com/craftcms/cms", 18 | "docs": "https://craftcms.com/docs", 19 | "rss": "https://craftcms.com/changelog.rss" 20 | }, 21 | "minimum-stability": "dev", 22 | "prefer-stable": true, 23 | "require": { 24 | "craftcms/cms": "^5.0.0", 25 | "vlucas/phpdotenv": "^5.4.0" 26 | }, 27 | "require-dev": { 28 | "craftcms/generator": "^2.0.0", 29 | "yiisoft/yii2-shell": "^2.0.3" 30 | }, 31 | "config": { 32 | "allow-plugins": { 33 | "craftcms/plugin-installer": true, 34 | "yiisoft/yii2-composer": true 35 | }, 36 | "sort-packages": true, 37 | "optimize-autoloader": true, 38 | "platform": { 39 | "php": "8.2" 40 | } 41 | }, 42 | "scripts": { 43 | "post-create-project-cmd": [ 44 | "@php -r \"file_exists('.env') || copy('.env.example.dev', '.env');\"", 45 | "@php -r \"unlink('composer.json');\"", 46 | "@php -r \"rename('composer.json.default', 'composer.json');\"", 47 | "@php craft install" 48 | ] 49 | } 50 | } 51 | -------------------------------------------------------------------------------- /composer.json.default: -------------------------------------------------------------------------------- 1 | { 2 | "minimum-stability": "dev", 3 | "prefer-stable": true, 4 | "require": { 5 | "craftcms/cms": "^5.0.0", 6 | "vlucas/phpdotenv": "^5.4.0" 7 | }, 8 | "require-dev": { 9 | "craftcms/generator": "^2.0.0", 10 | "yiisoft/yii2-shell": "^2.0.3" 11 | }, 12 | "config": { 13 | "allow-plugins": { 14 | "craftcms/plugin-installer": true, 15 | "yiisoft/yii2-composer": true 16 | }, 17 | "sort-packages": true, 18 | "optimize-autoloader": true, 19 | "platform": { 20 | "php": "8.2" 21 | } 22 | }, 23 | "scripts": { 24 | "post-root-package-install": [ 25 | "@php -r \"file_exists('.env') || copy('.env.example.dev', '.env');\"" 26 | ] 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /config/app.php: -------------------------------------------------------------------------------- 1 | App::env('CRAFT_APP_ID') ?: 'CraftCMS', 27 | ]; 28 | -------------------------------------------------------------------------------- /config/general.php: -------------------------------------------------------------------------------- 1 | defaultWeekStartDay(1) 18 | // Prevent generated URLs from including "index.php" 19 | ->omitScriptNameInUrls() 20 | // Preload Single entries as Twig variables 21 | ->preloadSingles() 22 | // Prevent user enumeration attacks 23 | ->preventUserEnumeration() 24 | // Set the @webroot alias so the clear-caches command knows where to find CP resources 25 | ->aliases([ 26 | '@webroot' => dirname(__DIR__) . '/web', 27 | ]) 28 | ; 29 | -------------------------------------------------------------------------------- /config/htmlpurifier/Default.json: -------------------------------------------------------------------------------- 1 | { 2 | "Attr.AllowedFrameTargets": [ 3 | "_blank" 4 | ], 5 | "Attr.EnableID": true, 6 | "HTML.AllowedComments": [ 7 | "pagebreak" 8 | ], 9 | "HTML.SafeIframe": true, 10 | "URI.SafeIframeRegexp": "%^(https?:)?//(www\\.youtube\\.com/|youtu\\.be|player\\.vimeo\\.com/)%" 11 | } 12 | -------------------------------------------------------------------------------- /config/redirects.php: -------------------------------------------------------------------------------- 1 | 'new/path', 12 | * ]; 13 | * ``` 14 | * 15 | * …or a nested array with `from`, `to`, `caseSensitive`, and `statusCode` keys: 16 | * 17 | * ```php 18 | * return [ 19 | * [ 20 | * 'from' => 'Helpdesk.aspx', 21 | * 'to' => 'account/tickets', 22 | * 'caseSensitive' => true, 23 | * 'statusCode' => 301, 24 | * ], 25 | * ]; 26 | * ``` 27 | * 28 | * Read all about Craft’s redirection behavior and capabilities, here: 29 | * @link https://craftcms.com/docs/5.x/system/routing.html#redirection 30 | */ 31 | 32 | return []; 33 | -------------------------------------------------------------------------------- /config/routes.php: -------------------------------------------------------------------------------- 1 | run(); 14 | exit($exitCode); 15 | -------------------------------------------------------------------------------- /storage/.gitignore: -------------------------------------------------------------------------------- 1 | backups 2 | composer-backups 3 | config-backups 4 | logs 5 | runtime 6 | -------------------------------------------------------------------------------- /templates/index.twig: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Welcome to Craft CMS 7 | 8 | 9 | 153 | 154 | 155 |
156 | 188 |
189 | 190 | 191 | -------------------------------------------------------------------------------- /web/.htaccess: -------------------------------------------------------------------------------- 1 | 2 | RewriteEngine On 3 | 4 | # Route 404s to index.php 5 | RewriteCond %{REQUEST_FILENAME} !-f 6 | RewriteCond %{REQUEST_FILENAME} !-d 7 | RewriteCond %{REQUEST_URI} !^/(favicon\.ico|apple-touch-icon.*\.png)$ [NC] 8 | RewriteRule (.+) index.php [L] 9 | 10 | -------------------------------------------------------------------------------- /web/cpresources/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore 3 | -------------------------------------------------------------------------------- /web/index.php: -------------------------------------------------------------------------------- 1 | run(); 13 | --------------------------------------------------------------------------------