diff --git a/.ddev/commands/host/cleanup b/.ddev/commands/host/cleanup new file mode 100755 index 0000000..fead75d --- /dev/null +++ b/.ddev/commands/host/cleanup @@ -0,0 +1,12 @@ +#!/bin/bash + +## Description: Cleanup the project (deletes database, .build folder and composer.lock) +## Usage: cleanup +## Example: "ddev cleanup" + +# Delete project containers (database) +ddev delete -Oy + +# Delete working directory +rm composer.lock +rm -rf .build diff --git a/.ddev/commands/web/init b/.ddev/commands/web/init new file mode 100755 index 0000000..79b25a0 --- /dev/null +++ b/.ddev/commands/web/init @@ -0,0 +1,41 @@ +#!/bin/bash + +## Description: Initialize the project for development +## Usage: init +## Example: "ddev init" + +# Load statements into $SQL +#read -r -d '' SQL < /dev/null 2>&1 +rm -rf .build > /dev/null 2>&1 +mkdir -p .build/public/typo3conf +mv ./AdditionalConfiguration.php .build/public/typo3conf/AdditionalConfiguration.php + +# Import factory data +composer install --no-suggest --no-interaction + +# Add Import / Export preset +mysql --user=db --password=db --database=db < Resources/Private/ImportExportPreset.sql diff --git a/.ddev/commands/web/typo3 b/.ddev/commands/web/typo3 new file mode 100755 index 0000000..3f09b04 --- /dev/null +++ b/.ddev/commands/web/typo3 @@ -0,0 +1,7 @@ +#!/bin/bash + +## Description: Run TYPO3 CLI inside the web container +## Usage: typo3 [flags] [args] +## Example: "ddev typo3 list" or "ddev typo3 upgrade:run" + +.build/bin/typo3 $@ diff --git a/.ddev/commands/web/typo3cms b/.ddev/commands/web/typo3cms new file mode 100755 index 0000000..416f13b --- /dev/null +++ b/.ddev/commands/web/typo3cms @@ -0,0 +1,7 @@ +#!/bin/bash + +## Description: Run TYPO3 Console inside the web container +## Usage: typo3cms [flags] [args] +## Example: "ddev typo3cms install:generatepackagestates" or "ddev typo3cms install:fixfolderstructure" or "ddev typo3cms" + +.build/bin/typo3cms $@ diff --git a/.ddev/config.yaml b/.ddev/config.yaml new file mode 100644 index 0000000..f03f502 --- /dev/null +++ b/.ddev/config.yaml @@ -0,0 +1,169 @@ +name: introduction +type: typo3 +docroot: .build/public +php_version: "7.2" +webserver_type: apache-fpm +router_http_port: "80" +router_https_port: "443" +xdebug_enabled: false +additional_hostnames: [] +additional_fqdns: [] +mariadb_version: "10.2" +provider: default +hooks: + pre-start: + - exec-host: mkdir -p .build/public/typo3conf + post-start: + - exec: test -d .build/public/typo3conf/Localconfiguration.php || composer install --no-suggest --no-interaction +use_dns_when_possible: true + + +# This config.yaml was created with ddev version v1.15.3 +# webimage: drud/ddev-webserver:v1.15.3 +# dbimage: drud/ddev-dbserver-mariadb-10.2:v1.15.1 +# dbaimage: phpmyadmin/phpmyadmin:5 +# However we do not recommend explicitly wiring these images into the +# config.yaml as they may break future versions of ddev. +# You can update this config.yaml using 'ddev config'. + +# Key features of ddev's config.yaml: + +# name: # Name of the project, automatically provides +# http://projectname.ddev.site and https://projectname.ddev.site + +# type: # drupal6/7/8, backdrop, typo3, wordpress, php + +# docroot: # Relative path to the directory containing index.php. + +# php_version: "7.3" # PHP version to use, "5.6", "7.0", "7.1", "7.2", "7.3", "7.4" + +# You can explicitly specify the webimage, dbimage, dbaimage lines but this +# is not recommended, as the images are often closely tied to ddev's' behavior, +# so this can break upgrades. + +# webimage: # nginx/php docker image. +# dbimage: # mariadb docker image. +# dbaimage: + +# mariadb_version and mysql_version +# ddev can use many versions of mariadb and mysql +# However these directives are mutually exclusive +# mariadb_version: 10.2 +# mysql_version: 8.0 + +# router_http_port: # Port to be used for http (defaults to port 80) +# router_https_port: # Port for https (defaults to 443) + +# xdebug_enabled: false # Set to true to enable xdebug and "ddev start" or "ddev restart" +# Note that for most people the commands +# "ddev exec enable_xdebug" and "ddev exec disable_xdebug" work better, +# as leaving xdebug enabled all the time is a big performance hit. + +# webserver_type: nginx-fpm # Can be set to apache-fpm or apache-cgi as well + +# timezone: Europe/Berlin +# This is the timezone used in the containers and by PHP; +# it can be set to any valid timezone, +# see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones +# For example Europe/Dublin or MST7MDT + +# additional_hostnames: +# - somename +# - someothername +# would provide http and https URLs for "somename.ddev.site" +# and "someothername.ddev.site". + +# additional_fqdns: +# - example.com +# - sub1.example.com +# would provide http and https URLs for "example.com" and "sub1.example.com" +# Please take care with this because it can cause great confusion. + +# upload_dir: custom/upload/dir +# would set the destination path for ddev import-files to custom/upload/dir. + +# working_dir: +# web: /var/www/html +# db: /home +# would set the default working directory for the web and db services. +# These values specify the destination directory for ddev ssh and the +# directory in which commands passed into ddev exec are run. + +# omit_containers: [db, dba, ddev-ssh-agent] +# Currently only these containers are supported. Some containers can also be +# omitted globally in the ~/.ddev/global_config.yaml. Note that if you omit +# the "db" container, several standard features of ddev that access the +# database container will be unusable. + +# nfs_mount_enabled: false +# Great performance improvement but requires host configuration first. +# See https://ddev.readthedocs.io/en/stable/users/performance/#using-nfs-to-mount-the-project-into-the-container + +# host_https_port: "59002" +# The host port binding for https can be explicitly specified. It is +# dynamic unless otherwise specified. +# This is not used by most people, most people use the *router* instead +# of the localhost port. + +# host_webserver_port: "59001" +# The host port binding for the ddev-webserver can be explicitly specified. It is +# dynamic unless otherwise specified. +# This is not used by most people, most people use the *router* instead +# of the localhost port. + +# host_db_port: "59002" +# The host port binding for the ddev-dbserver can be explicitly specified. It is dynamic +# unless explicitly specified. + +# phpmyadmin_port: "8036" +# phpmyadmin_https_port: "8037" +# The PHPMyAdmin ports can be changed from the default 8036 and 8037 + +# mailhog_port: "8025" +# mailhog_https_port: "8026" +# The MailHog ports can be changed from the default 8025 and 8026 + +# webimage_extra_packages: [php7.3-tidy, php-bcmath] +# Extra Debian packages that are needed in the webimage can be added here + +# dbimage_extra_packages: [telnet,netcat] +# Extra Debian packages that are needed in the dbimage can be added here + +# use_dns_when_possible: true +# If the host has internet access and the domain configured can +# successfully be looked up, DNS will be used for hostname resolution +# instead of editing /etc/hosts +# Defaults to true + +# project_tld: ddev.site +# The top-level domain used for project URLs +# The default "ddev.site" allows DNS lookup via a wildcard +# If you prefer you can change this to "ddev.local" to preserve +# pre-v1.9 behavior. + +# ngrok_args: --subdomain mysite --auth username:pass +# Provide extra flags to the "ngrok http" command, see +# https://ngrok.com/docs#http or run "ngrok http -h" + +# disable_settings_management: false +# If true, ddev will not create CMS-specific settings files like +# Drupal's settings.php/settings.ddev.php or TYPO3's AdditionalSettings.php +# In this case the user must provide all such settings. + +# no_project_mount: false +# (Experimental) If true, ddev will not mount the project into the web container; +# the user is responsible for mounting it manually or via a script. +# This is to enable experimentation with alternate file mounting strategies. +# For advanced users only! + +# provider: default # Currently either "default" or "pantheon" +# +# Many ddev commands can be extended to run tasks before or after the +# ddev command is executed, for example "post-start", "post-import-db", +# "pre-composer", "post-composer" +# See https://ddev.readthedocs.io/en/stable/users/extending-commands/ for more +# information on the commands that can be extended and the tasks you can define +# for them. Example: +#hooks: +# post-start: +# - exec: composer install -d /var/www/html diff --git a/.ddev/docker-compose.environment.yaml b/.ddev/docker-compose.environment.yaml new file mode 100644 index 0000000..916a0ec --- /dev/null +++ b/.ddev/docker-compose.environment.yaml @@ -0,0 +1,17 @@ +version: '3.6' + +services: + web: + environment: + - TYPO3_CONTEXT=Development + # TYPO3 Console Setup support + - TYPO3_INSTALL_ADMIN_USER=admin + - TYPO3_INSTALL_ADMIN_PASSWORD=password + - TYPO3_INSTALL_SITE_NAME=TYPO3 Introduction Package + - TYPO3_INSTALL_SITE_SETUP_TYPE=no + - TYPO3_INSTALL_WEB_SERVER_CONFIG=apache + # TYPO3 Testing Framework support + - typo3DatabaseHost=db + - typo3DatabaseName=t3func + - typo3DatabasePassword=root + - typo3DatabaseUsername=root diff --git a/.ddev/docker-compose.tempfs.yaml b/.ddev/docker-compose.tempfs.yaml new file mode 100644 index 0000000..6e5a7f4 --- /dev/null +++ b/.ddev/docker-compose.tempfs.yaml @@ -0,0 +1,9 @@ +version: '3.6' + +services: + web: + volumes: + - type: tmpfs + target: /var/www/html/.build/var/cache + tmpfs: + size: 268435456 diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..b117520 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,57 @@ +# EditorConfig is awesome: http://EditorConfig.org + +# top-most EditorConfig file +root = true + +# Unix-style newlines with a newline ending every file +[*] +charset = utf-8 +end_of_line = lf +indent_style = space +indent_size = 4 +insert_final_newline = true +trim_trailing_whitespace = true + +# TS/JS-Files +[*.{ts,js}] +indent_size = 2 + +# JSON-Files +[*.json] +indent_style = tab + +# ReST-Files +[*.rst] +indent_size = 3 +max_line_length = 80 + +# YAML-Files +[*.{yaml,yml}] +indent_size = 2 + +# package.json +# .travis.yml +[{package.json,.travis.yml}] +indent_size = 2 + +# TypoScript +[*.{typoscript,tsconfig}] +indent_size = 2 + +# XLF-Files +[*.xlf] +indent_style = tab + +# SQL-Files +[*.sql] +indent_style = tab +indent_size = 2 + +# .htaccess +[{_.htaccess,.htaccess}] +indent_style = tab + +# Visual Studio Code JSON-Files +[.vscode/*.json] +indent_style = space +indent_size = 4 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..d7fec22 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,37 @@ +# Folders +/.ddev export-ignore +/.github export-ignore +/.vscode export-ignore +/Build export-ignore + +# Files +.editorconfig export-ignore +.gitattributes export-ignore +.gitignore export-ignore +.php_cs.dist export-ignore +.scrutinizer.yml export-ignore +.stylelintrc export-ignore +.travis.yml export-ignore + +# Enforce checkout with linux lf consistent over all plattforms +.ddev/commands/*/* text eol=lf +*.xml text eol=lf +*.html text eol=lf +*.css text eol=lf +*.scss text eol=lf +*.svg text eol=lf +*.tmpl text eol=lf +*.less text eol=lf +*.js text eol=lf +*.json text eol=lf +*.php text eol=lf +*.rst text eol=lf +*.md text eol=lf +*.yml text eol=lf +*.ts text eol=lf +*.xlf text eol=lf +*.sql text eol=lf +*.t3s text eol=lf +*.txt text eol=lf +*.typoscript text eol=lf +*.tsconfig text eol=lf diff --git a/.gitignore b/.gitignore index 803834a..de5c4d3 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,8 @@ -Documentation-GENERATED-temp/ \ No newline at end of file +# Folders +/.build +/Documentation-GENERATED-temp + +# Files +*.cache +.php_cs +composer.lock diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..a0f8d07 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "Packages/TYPO3-Console"] + path = Packages/TYPO3-Console + url = https://github.com/gilbertsoft/TYPO3-Console.git diff --git a/.php_cs.dist b/.php_cs.dist new file mode 100644 index 0000000..3b5f1ea --- /dev/null +++ b/.php_cs.dist @@ -0,0 +1,88 @@ +setRiskyAllowed(true) + ->setRules([ + '@PSR2' => true, + 'header_comment' => [ + 'header' => $header + ], + 'general_phpdoc_annotation_remove' => [ + 'author' + ], + 'no_leading_import_slash' => true, + 'no_trailing_comma_in_singleline_array' => true, + 'no_singleline_whitespace_before_semicolons' => true, + 'no_unused_imports' => true, + 'concat_space' => ['spacing' => 'one'], + 'no_whitespace_in_blank_line' => true, + 'ordered_imports' => true, + 'single_quote' => true, + 'no_empty_statement' => true, + 'no_extra_consecutive_blank_lines' => true, + 'phpdoc_no_package' => true, + 'phpdoc_scalar' => true, + 'no_blank_lines_after_phpdoc' => true, + 'array_syntax' => ['syntax' => 'short'], + 'whitespace_after_comma_in_array' => true, + 'function_typehint_space' => true, + 'hash_to_slash_comment' => true, + 'no_alias_functions' => true, + 'lowercase_cast' => true, + 'no_leading_namespace_whitespace' => true, + 'native_function_casing' => true, + 'self_accessor' => true, + 'no_short_bool_cast' => true, + 'no_unneeded_control_parentheses' => true + ]) + ->setFinder( + PhpCsFixer\Finder::create() + ->exclude('.build') + ->exclude('Contrib') + ->exclude('var') + ->in(__DIR__) + ); diff --git a/.phplint.yml b/.phplint.yml new file mode 100644 index 0000000..2576d5b --- /dev/null +++ b/.phplint.yml @@ -0,0 +1,7 @@ +path: ./ +jobs: 10 +cache: .phplint.cache +extensions: + - php +exclude: + - .build diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..5ccfb78 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,14 @@ +{ + "version": "0.2.0", + "configurations": [ + { + "name": "DDEV", + "type": "php", + "request": "launch", + "port": 9000, + "pathMappings": { + "/var/www/html": "${workspaceRoot}" + } + } + ] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..fd9f586 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,10 @@ +// Place your settings in this file to overwrite default and user settings. +{ + "editor.codeActionsOnSave": { + "source.fixAll.markdownlint": true + }, + "markdownlint.config": { + "MD013": true + }, + "restructuredtext.confPath": "" +} diff --git a/Configuration/Form/CustomFormSetup.yaml b/Configuration/Form/CustomFormSetup.yaml deleted file mode 100644 index c24aa9d..0000000 --- a/Configuration/Form/CustomFormSetup.yaml +++ /dev/null @@ -1,6 +0,0 @@ -TYPO3: - CMS: - Form: - persistenceManager: - allowedFileMounts: - 100: 1:/introduction/form/ \ No newline at end of file diff --git a/Packages/TYPO3-Console b/Packages/TYPO3-Console new file mode 160000 index 0000000..449c617 --- /dev/null +++ b/Packages/TYPO3-Console @@ -0,0 +1 @@ +Subproject commit 449c617813c29670801f6531341e0224dc7ff903 diff --git a/Packages/sitepackage/.editorconfig b/Packages/sitepackage/.editorconfig new file mode 100644 index 0000000..d37a2c5 --- /dev/null +++ b/Packages/sitepackage/.editorconfig @@ -0,0 +1,52 @@ +# EditorConfig is awesome: http://EditorConfig.org + +# top-most EditorConfig file +root = true + +# Unix-style newlines with a newline ending every file +[*] +charset = utf-8 +end_of_line = lf +indent_style = space +indent_size = 4 +insert_final_newline = true +trim_trailing_whitespace = true + +# TS/JS-Files +[*.{ts,js}] +indent_size = 2 + +# JSON-Files +[*.json] +indent_style = tab + +# ReST-Files +[*.rst] +indent_size = 3 +max_line_length = 80 + +# YAML-Files +[*.{yaml,yml}] +indent_size = 2 + +# package.json +# .travis.yml +[{package.json,.travis.yml}] +indent_size = 2 + +# TypoScript +[*.{typoscript,tsconfig}] +indent_size = 2 + +# XLF-Files +[*.xlf] +indent_style = tab + +# SQL-Files +[*.sql] +indent_style = tab +indent_size = 2 + +# .htaccess +[{_.htaccess,.htaccess}] +indent_style = tab diff --git a/Packages/sitepackage/Build/.htaccess b/Packages/sitepackage/Build/.htaccess new file mode 100644 index 0000000..93169e4 --- /dev/null +++ b/Packages/sitepackage/Build/.htaccess @@ -0,0 +1,2 @@ +Order deny,allow +Deny from all diff --git a/Packages/sitepackage/Build/Gruntfile.js b/Packages/sitepackage/Build/Gruntfile.js new file mode 100644 index 0000000..3e7436c --- /dev/null +++ b/Packages/sitepackage/Build/Gruntfile.js @@ -0,0 +1,72 @@ +module.exports = function(grunt) { + + /** + * Project configuration. + */ + grunt.initConfig({ + pkg: grunt.file.readJSON('package.json'), + paths: { + root: '../', + resources: '<%= paths.root %>Resources/', + fonts: '<%= paths.resources %>Public/Fonts/', + img: '<%= paths.resources %>Public/Images/', + js: '<%= paths.resources %>Public/JavaScript/' + }, + banner: '/*!\n' + + ' * TYPO3 Introduction Sitepackage v<%= pkg.version %> (<%= pkg.homepage %>)\n' + + ' * Copyright 2017-<%= grunt.template.today("yyyy") %> <%= pkg.author %>\n' + + ' * Licensed under the <%= pkg.license %> license\n' + + ' */\n', + uglify: { + all: { + options: { + banner: '<%= banner %>', + mangle: true, + compress: true, + beautify: false + }, + files: { + "<%= paths.js %>/Dist/scripts.js": [ + "<%= paths.js %>Src/main.js" + ] + } + } + }, + imagemin: { + extension: { + files: [{ + expand: true, + cwd: '<%= paths.resources %>', + src: [ + '**/*.{png,jpg,gif,svg}' + ], + dest: '<%= paths.resources %>' + }] + } + }, + watch: { + options: { + livereload: true + }, + javascript: { + files: '<%= paths.js %>Src/**/*.js', + tasks: ['js'] + } + } + }); + + /** + * Register tasks + */ + grunt.loadNpmTasks('grunt-contrib-uglify'); + grunt.loadNpmTasks('grunt-contrib-watch'); + grunt.loadNpmTasks('grunt-contrib-imagemin'); + + /** + * Grunt update task + */ + grunt.registerTask('js', ['uglify']); + grunt.registerTask('build', ['js', 'imagemin']); + grunt.registerTask('default', ['build']); + +}; diff --git a/Packages/sitepackage/Build/package.json b/Packages/sitepackage/Build/package.json new file mode 100644 index 0000000..cee9fa6 --- /dev/null +++ b/Packages/sitepackage/Build/package.json @@ -0,0 +1,18 @@ +{ + "name": "typo3-cms-introduction-sitepackage", + "description": "TYPO3 Introduction Sitepackage", + "repository": { + "type": "git", + "url": "https://github.com/FriendsOfTYPO3/introduction-sitepackage" + }, + "homepage": "https://typo3.org", + "author": "Introduction Package Team", + "version": "5.0.0", + "license": "GPL-2.0-or-later", + "devDependencies": { + "grunt": "^1.0.3", + "grunt-contrib-uglify": "^4.0.0", + "grunt-contrib-watch": "^1.1.0", + "grunt-contrib-imagemin": "^2.0.1" + } +} diff --git a/Packages/sitepackage/Classes/.htaccess b/Packages/sitepackage/Classes/.htaccess new file mode 100644 index 0000000..93169e4 --- /dev/null +++ b/Packages/sitepackage/Classes/.htaccess @@ -0,0 +1,2 @@ +Order deny,allow +Deny from all diff --git a/Packages/sitepackage/Classes/Controller/.gitkeep b/Packages/sitepackage/Classes/Controller/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Packages/sitepackage/Classes/Controller/.gitkeep @@ -0,0 +1 @@ + diff --git a/Packages/sitepackage/Classes/Domain/.gitkeep b/Packages/sitepackage/Classes/Domain/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Packages/sitepackage/Classes/Domain/.gitkeep @@ -0,0 +1 @@ + diff --git a/Packages/sitepackage/Classes/Domain/Model/.gitkeep b/Packages/sitepackage/Classes/Domain/Model/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Packages/sitepackage/Classes/Domain/Model/.gitkeep @@ -0,0 +1 @@ + diff --git a/Packages/sitepackage/Classes/Domain/Repository/.gitkeep b/Packages/sitepackage/Classes/Domain/Repository/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Packages/sitepackage/Classes/Domain/Repository/.gitkeep @@ -0,0 +1 @@ + diff --git a/Packages/sitepackage/Classes/ViewHelpers/.gitkeep b/Packages/sitepackage/Classes/ViewHelpers/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Packages/sitepackage/Classes/ViewHelpers/.gitkeep @@ -0,0 +1 @@ + diff --git a/Packages/sitepackage/Configuration/.htaccess b/Packages/sitepackage/Configuration/.htaccess new file mode 100644 index 0000000..93169e4 --- /dev/null +++ b/Packages/sitepackage/Configuration/.htaccess @@ -0,0 +1,2 @@ +Order deny,allow +Deny from all diff --git a/Packages/sitepackage/Configuration/Form/CustomFormSetup.yaml b/Packages/sitepackage/Configuration/Form/CustomFormSetup.yaml new file mode 100644 index 0000000..e761774 --- /dev/null +++ b/Packages/sitepackage/Configuration/Form/CustomFormSetup.yaml @@ -0,0 +1,6 @@ +TYPO3: + CMS: + Form: + persistenceManager: + allowedExtensionPaths: + 100: EXT:introduction_sitepackage/Resources/Private/Forms/ diff --git a/Packages/sitepackage/Configuration/RTE/Default.yaml b/Packages/sitepackage/Configuration/RTE/Default.yaml new file mode 100644 index 0000000..282236e --- /dev/null +++ b/Packages/sitepackage/Configuration/RTE/Default.yaml @@ -0,0 +1,9 @@ +imports: + - { resource: "EXT:rte_ckeditor/Configuration/RTE/Processing.yaml" } + - { resource: "EXT:rte_ckeditor/Configuration/RTE/Editor/Base.yaml" } + - { resource: "EXT:rte_ckeditor/Configuration/RTE/Editor/Plugins.yaml" } + - { resource: "EXT:bootstrap_package/Configuration/RTE/Default.yaml" } + +editor: + config: + contentsCss: "EXT:bootstrap_package/Resources/Public/Css/bootstrap4-rte.min.css" diff --git a/Packages/sitepackage/Configuration/TCA/Overrides/pages.php b/Packages/sitepackage/Configuration/TCA/Overrides/pages.php new file mode 100644 index 0000000..5f64a4b --- /dev/null +++ b/Packages/sitepackage/Configuration/TCA/Overrides/pages.php @@ -0,0 +1,32 @@ + + + + diff --git a/Packages/sitepackage/Configuration/TsConfig/Page/Mod/WebLayout/BackendLayouts.tsconfig b/Packages/sitepackage/Configuration/TsConfig/Page/Mod/WebLayout/BackendLayouts.tsconfig new file mode 100644 index 0000000..ba0b6e6 --- /dev/null +++ b/Packages/sitepackage/Configuration/TsConfig/Page/Mod/WebLayout/BackendLayouts.tsconfig @@ -0,0 +1,4 @@ +# +# BACKENDLAYOUTS +# + diff --git a/Packages/sitepackage/Configuration/TsConfig/Page/Mod/WebLayout/BackendLayouts/example.tsconfig b/Packages/sitepackage/Configuration/TsConfig/Page/Mod/WebLayout/BackendLayouts/example.tsconfig new file mode 100644 index 0000000..061eb3f --- /dev/null +++ b/Packages/sitepackage/Configuration/TsConfig/Page/Mod/WebLayout/BackendLayouts/example.tsconfig @@ -0,0 +1,29 @@ +# +# BACKENDLAYOUT: EXAMPLE +# +mod { + web_layout { + BackendLayouts { + example { + title = LLL:EXT:introduction_sitepackage/Resources/Private/Language/locallang_be.xlf:backend_layout.example + config { + backend_layout { + colCount = 1 + rowCount = 1 + rows { + 1 { + columns { + 1 { + name = LLL:EXT:introduction_sitepackage/Resources/Private/Language/locallang_be.xlf:backend_layout.column.normal + colPos = 0 + } + } + } + } + } + } + icon = EXT:introduction_sitepackage/Resources/Public/Icons/BackendLayouts/example.svg + } + } + } +} diff --git a/Packages/sitepackage/Configuration/TsConfig/Page/RTE.tsconfig b/Packages/sitepackage/Configuration/TsConfig/Page/RTE.tsconfig new file mode 100644 index 0000000..bc0f26c --- /dev/null +++ b/Packages/sitepackage/Configuration/TsConfig/Page/RTE.tsconfig @@ -0,0 +1,8 @@ +############# +#### RTE #### +############# +RTE { + default { + preset = introduction_sitepackage + } +} diff --git a/Packages/sitepackage/Configuration/TsConfig/Page/TCEFORM.tsconfig b/Packages/sitepackage/Configuration/TsConfig/Page/TCEFORM.tsconfig new file mode 100644 index 0000000..55f97ce --- /dev/null +++ b/Packages/sitepackage/Configuration/TsConfig/Page/TCEFORM.tsconfig @@ -0,0 +1,11 @@ +# +# TCEFORM +# +TCEFORM { + pages { + + } + tt_content { + + } +} diff --git a/Packages/sitepackage/Configuration/TsConfig/Page/TCEMAIN.tsconfig b/Packages/sitepackage/Configuration/TsConfig/Page/TCEMAIN.tsconfig new file mode 100644 index 0000000..9d4a5e4 --- /dev/null +++ b/Packages/sitepackage/Configuration/TsConfig/Page/TCEMAIN.tsconfig @@ -0,0 +1,6 @@ +# +# TCEMAIN +# +TCEMAIN { + +} diff --git a/Packages/sitepackage/Configuration/TypoScript/constants.typoscript b/Packages/sitepackage/Configuration/TypoScript/constants.typoscript new file mode 100644 index 0000000..6a44370 --- /dev/null +++ b/Packages/sitepackage/Configuration/TypoScript/constants.typoscript @@ -0,0 +1,82 @@ +###################### +#### DEPENDENCIES #### +###################### + + + +############ +### PAGE ### +############ +[tree.level === 0] +navigation.style = default-transition +[end] + +page { + logo { + file = EXT:introduction_sitepackage/Resources/Public/Images/introduction-package.svg + fileInverted = EXT:introduction_sitepackage/Resources/Public/Images/introduction-package-inverted.svg + #height = 52 + #width = 192 + alt = TYPO3 Introduction Package + linktitle = TYPO3 Introduction Package + } + favicon { + file = EXT:introduction_sitepackage/Resources/Public/Icons/favicon.ico + } + fluidtemplate { + layoutRootPath = EXT:introduction_sitepackage/Resources/Private/Layouts/Page/ + partialRootPath = EXT:introduction_sitepackage/Resources/Private/Partials/Page/ + templateRootPath = EXT:introduction_sitepackage/Resources/Private/Templates/Page/ + } + theme { + navigation.type = top + meta.enable = 0 + cookieconsent.position = bottom-right + socialmedia.channels { + facebook.url = https://www.facebook.com/typo3/ + twitter.url = https://twitter.com/typo3 + github.url = https://github.com/TYPO3/TYPO3.CMS + youtube.url = https://www.youtube.com/user/typo3 + } + } + preloader { + backgroundColor = #03A9F4 + logo.file = EXT:introduction_sitepackage/Resources/Public/Images/introduction-package-inverted.svg + } +} + + +################## +### EXTENSIONS ### +################## +plugin.bootstrap_package { + view { + layoutRootPath = EXT:introduction_sitepackage/Resources/Private/Layouts/ + partialRootPath = EXT:introduction_sitepackage/Resources/Private/Partials/ + templateRootPath = EXT:introduction_sitepackage/Resources/Private/Templates/ + } +} + + +######################## +### CONTENT ELEMENTS ### +######################## +plugin.bootstrap_package_contentelements { + view { + layoutRootPath = EXT:introduction_sitepackage/Resources/Private/Layouts/ContentElements/ + partialRootPath = EXT:introduction_sitepackage/Resources/Private/Partials/ContentElements/ + templateRootPath = EXT:introduction_sitepackage/Resources/Private/Templates/ContentElements/ + } +} + + +################################ +### BOOTSTRAP SCSS CONSTANTS ### +################################ +plugin.bootstrap_package.settings.scss { + primary = #0288D1 + secondary = #FFEB3B + breadcrumb-bg = #FFEB3B + cookieconsent-bg = #F2F2F2 + footer-sections = (content:(background: #0288D1, color: #FFFFFF, link-color: #FFEB3B), meta:(background: #FFFFFF, color: $body-color, link-color: #0288D1)) +} diff --git a/Packages/sitepackage/Configuration/TypoScript/setup.typoscript b/Packages/sitepackage/Configuration/TypoScript/setup.typoscript new file mode 100644 index 0000000..05407b1 --- /dev/null +++ b/Packages/sitepackage/Configuration/TypoScript/setup.typoscript @@ -0,0 +1,30 @@ +###################### +#### DEPENDENCIES #### +###################### + + + +############## +#### PAGE #### +############## +page { + includeCSS { + theme = EXT:introduction_sitepackage/Resources/Public/Scss/Theme/theme.scss + } + + includeJSLibs { + + } + + includeJS { + + } + + includeJSFooterlibs { + + } + + includeJSFooter { + introduction_sitepackage_scripts = EXT:introduction_sitepackage/Resources/Public/JavaScript/Dist/scripts.js + } +} diff --git a/Packages/sitepackage/README.md b/Packages/sitepackage/README.md new file mode 100644 index 0000000..66e8621 --- /dev/null +++ b/Packages/sitepackage/README.md @@ -0,0 +1,4 @@ +Sitepackage for the TYPO3 Introduction Package +============================================== + +Add some explanation here. diff --git a/Packages/sitepackage/Resources/Private/.htaccess b/Packages/sitepackage/Resources/Private/.htaccess new file mode 100644 index 0000000..93169e4 --- /dev/null +++ b/Packages/sitepackage/Resources/Private/.htaccess @@ -0,0 +1,2 @@ +Order deny,allow +Deny from all diff --git a/Packages/sitepackage/Resources/Private/Forms/introduction-contact-form.form.yaml b/Packages/sitepackage/Resources/Private/Forms/introduction-contact-form.form.yaml new file mode 100644 index 0000000..db2eaca --- /dev/null +++ b/Packages/sitepackage/Resources/Private/Forms/introduction-contact-form.form.yaml @@ -0,0 +1,123 @@ + +renderingOptions: + submitButtonLabel: Submit +type: Form +identifier: introductionContactForm +label: 'Introduction Contact Form' +prototypeName: standard +finishers: + - + options: + pageUid: '105' + additionalParameters: '' + identifier: Redirect +renderables: + - + renderingOptions: + previousButtonLabel: 'Previous step' + nextButtonLabel: 'Next step' + type: Page + identifier: form + label: '' + renderables: + - + properties: + text: '* Mandatory fields' + type: StaticText + identifier: mandatory + label: 'Your personal data' + - + type: GridRow + identifier: gridrow + label: '' + renderables: + - + type: Fieldset + identifier: fieldset-left + label: '' + properties: + gridColumnClassAutoConfiguration: + viewPorts: + xs: + numbersOfColumnsToUse: '12' + sm: + numbersOfColumnsToUse: '6' + md: + numbersOfColumnsToUse: '6' + lg: + numbersOfColumnsToUse: '6' + renderables: + - + defaultValue: '' + type: Text + identifier: fullname + label: 'Full name and surname' + properties: + fluidAdditionalAttributes: + placeholder: 'Full name and surname' + required: required + validators: + - + identifier: NotEmpty + - + defaultValue: '' + type: Text + identifier: company + label: Company + properties: + fluidAdditionalAttributes: + placeholder: Company + - + defaultValue: '' + type: Text + identifier: email + label: Email + properties: + fluidAdditionalAttributes: + placeholder: Email + required: required + validators: + - + identifier: NotEmpty + - + identifier: EmailAddress + - + type: Fieldset + identifier: fieldset-right + label: '' + properties: + gridColumnClassAutoConfiguration: + viewPorts: + xs: + numbersOfColumnsToUse: '12' + sm: + numbersOfColumnsToUse: '6' + md: + numbersOfColumnsToUse: '6' + lg: + numbersOfColumnsToUse: '6' + renderables: + - + defaultValue: '' + type: Text + identifier: subject + label: Subject + properties: + fluidAdditionalAttributes: + placeholder: Subject + required: required + validators: + - + identifier: NotEmpty + - + defaultValue: '' + type: Textarea + identifier: message + label: Message + properties: + fluidAdditionalAttributes: + placeholder: Message + required: required + validators: + - + identifier: NotEmpty diff --git a/Packages/sitepackage/Resources/Private/Language/locallang.xlf b/Packages/sitepackage/Resources/Private/Language/locallang.xlf new file mode 100644 index 0000000..dd98d13 --- /dev/null +++ b/Packages/sitepackage/Resources/Private/Language/locallang.xlf @@ -0,0 +1,11 @@ + + + +
+ Introduction Package Team + typo3@gilbertsoft.org +
+ + +
+
diff --git a/Packages/sitepackage/Resources/Private/Language/locallang_be.xlf b/Packages/sitepackage/Resources/Private/Language/locallang_be.xlf new file mode 100644 index 0000000..563b170 --- /dev/null +++ b/Packages/sitepackage/Resources/Private/Language/locallang_be.xlf @@ -0,0 +1,17 @@ + + + +
+ Introduction Package Team + typo3@gilbertsoft.org +
+ + + Example + + + Normal + + +
+
diff --git a/Packages/sitepackage/Resources/Private/Language/locallang_db.xlf b/Packages/sitepackage/Resources/Private/Language/locallang_db.xlf new file mode 100644 index 0000000..dd98d13 --- /dev/null +++ b/Packages/sitepackage/Resources/Private/Language/locallang_db.xlf @@ -0,0 +1,11 @@ + + + +
+ Introduction Package Team + typo3@gilbertsoft.org +
+ + +
+
diff --git a/Packages/sitepackage/Resources/Private/Layouts/ContentElements/.gitkeep b/Packages/sitepackage/Resources/Private/Layouts/ContentElements/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Packages/sitepackage/Resources/Private/Layouts/ContentElements/.gitkeep @@ -0,0 +1 @@ + diff --git a/Packages/sitepackage/Resources/Private/Layouts/Page/.gitkeep b/Packages/sitepackage/Resources/Private/Layouts/Page/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Packages/sitepackage/Resources/Private/Partials/ContentElements/.gitkeep b/Packages/sitepackage/Resources/Private/Partials/ContentElements/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Packages/sitepackage/Resources/Private/Partials/ContentElements/.gitkeep @@ -0,0 +1 @@ + diff --git a/Packages/sitepackage/Resources/Private/Partials/Page/.gitkeep b/Packages/sitepackage/Resources/Private/Partials/Page/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Packages/sitepackage/Resources/Private/Partials/Page/.gitkeep @@ -0,0 +1 @@ + diff --git a/Packages/sitepackage/Resources/Private/Templates/ContentElements/.gitkeep b/Packages/sitepackage/Resources/Private/Templates/ContentElements/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Packages/sitepackage/Resources/Private/Templates/ContentElements/.gitkeep @@ -0,0 +1 @@ + diff --git a/Packages/sitepackage/Resources/Private/Templates/Page/Example.html b/Packages/sitepackage/Resources/Private/Templates/Page/Example.html new file mode 100644 index 0000000..05c4511 --- /dev/null +++ b/Packages/sitepackage/Resources/Private/Templates/Page/Example.html @@ -0,0 +1,22 @@ + + + + +
+
+
+
Template file
+
+ typo3conf/ext/introduction_sitepackage/Resources/Private/Templates/Page/Example.html +
+
Backend Configuration
+
+ typo3conf/ext/introduction_sitepackage/Configuration/TsConfig/Page/Mod/WebLayout/BackendLayouts/example.tsconfig +
+
+
+
+ + +
+ diff --git a/Packages/sitepackage/Resources/Public/Css/.gitkeep b/Packages/sitepackage/Resources/Public/Css/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Packages/sitepackage/Resources/Public/Css/.gitkeep @@ -0,0 +1 @@ + diff --git a/Packages/sitepackage/Resources/Public/Fonts/.gitkeep b/Packages/sitepackage/Resources/Public/Fonts/.gitkeep new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/Packages/sitepackage/Resources/Public/Fonts/.gitkeep @@ -0,0 +1 @@ + diff --git a/Packages/sitepackage/Resources/Public/Icons/BackendLayouts/example.svg b/Packages/sitepackage/Resources/Public/Icons/BackendLayouts/example.svg new file mode 100644 index 0000000..d05abec --- /dev/null +++ b/Packages/sitepackage/Resources/Public/Icons/BackendLayouts/example.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Packages/sitepackage/Resources/Public/Icons/Extension.png b/Packages/sitepackage/Resources/Public/Icons/Extension.png new file mode 100644 index 0000000..ef81ce2 Binary files /dev/null and b/Packages/sitepackage/Resources/Public/Icons/Extension.png differ diff --git a/Packages/sitepackage/Resources/Public/Icons/favicon.ico b/Packages/sitepackage/Resources/Public/Icons/favicon.ico new file mode 100644 index 0000000..46d4c14 Binary files /dev/null and b/Packages/sitepackage/Resources/Public/Icons/favicon.ico differ diff --git a/Packages/sitepackage/Resources/Public/Icons/logo-inverted.svg b/Packages/sitepackage/Resources/Public/Icons/logo-inverted.svg new file mode 100644 index 0000000..f465b08 --- /dev/null +++ b/Packages/sitepackage/Resources/Public/Icons/logo-inverted.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Packages/sitepackage/Resources/Public/Icons/logo.svg b/Packages/sitepackage/Resources/Public/Icons/logo.svg new file mode 100644 index 0000000..dc1615f --- /dev/null +++ b/Packages/sitepackage/Resources/Public/Icons/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Packages/sitepackage/Resources/Public/Images/introduction-package-inverted.svg b/Packages/sitepackage/Resources/Public/Images/introduction-package-inverted.svg new file mode 100644 index 0000000..0baee56 --- /dev/null +++ b/Packages/sitepackage/Resources/Public/Images/introduction-package-inverted.svg @@ -0,0 +1,61 @@ + + + + +Zeichenfläche 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Packages/sitepackage/Resources/Public/Images/introduction-package.svg b/Packages/sitepackage/Resources/Public/Images/introduction-package.svg new file mode 100644 index 0000000..89149c9 --- /dev/null +++ b/Packages/sitepackage/Resources/Public/Images/introduction-package.svg @@ -0,0 +1,63 @@ + + + + +Zeichenfläche 1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Packages/sitepackage/Resources/Public/JavaScript/Dist/scripts.js b/Packages/sitepackage/Resources/Public/JavaScript/Dist/scripts.js new file mode 100644 index 0000000..ed9c6c3 --- /dev/null +++ b/Packages/sitepackage/Resources/Public/JavaScript/Dist/scripts.js @@ -0,0 +1,6 @@ +/*! + * TYPO3 Introduction Sitepackage v5.0.0 (https://typo3.org) + * Copyright 2017-2020 Introduction Package Team + * Licensed under the GPL-2.0-or-later license + */ +console.log("WE LOVE TYPO3"); diff --git a/Packages/sitepackage/Resources/Public/JavaScript/Src/main.js b/Packages/sitepackage/Resources/Public/JavaScript/Src/main.js new file mode 100644 index 0000000..a5e4902 --- /dev/null +++ b/Packages/sitepackage/Resources/Public/JavaScript/Src/main.js @@ -0,0 +1 @@ +console.log('WE LOVE TYPO3'); diff --git a/Packages/sitepackage/Resources/Public/Scss/Theme/_variables.scss b/Packages/sitepackage/Resources/Public/Scss/Theme/_variables.scss new file mode 100644 index 0000000..4a4e02e --- /dev/null +++ b/Packages/sitepackage/Resources/Public/Scss/Theme/_variables.scss @@ -0,0 +1,3 @@ +// +// Variables +// diff --git a/Packages/sitepackage/Resources/Public/Scss/Theme/theme.scss b/Packages/sitepackage/Resources/Public/Scss/Theme/theme.scss new file mode 100644 index 0000000..5c34ad1 --- /dev/null +++ b/Packages/sitepackage/Resources/Public/Scss/Theme/theme.scss @@ -0,0 +1,9 @@ +// +// Variables +// +@import "variables"; + +// +// Import needed Bootstrap Package Files +// +@import "../../../../../bootstrap_package/Resources/Public/Scss/Theme/theme"; diff --git a/Packages/sitepackage/composer.json b/Packages/sitepackage/composer.json new file mode 100644 index 0000000..7915b15 --- /dev/null +++ b/Packages/sitepackage/composer.json @@ -0,0 +1,45 @@ +{ + "name": "typo3/cms-introduction-sitepackage", + "description": "TYPO3 Introduction Sitepackage - ", + "type": "typo3-cms-extension", + "homepage": "https://typo3.org", + "license": ["GPL-2.0-or-later"], + "keywords": [ + "TYPO3 CMS", + "Introduction", + "Sitepackage" + ], + "require": { + "bk2k/bootstrap-package": "^11.0.3 || 11.*.*@dev", + "typo3/cms-backend": "^9.5 || ^10.4", + "typo3/cms-beuser": "^9.5 || ^10.4", + "typo3/cms-core": "^9.5 || ^10.4", + "typo3/cms-felogin": "^9.5 || ^10.4", + "typo3/cms-filelist": "^9.5 || ^10.4", + "typo3/cms-filemetadata": "^9.5 || ^10.4", + "typo3/cms-form": "^9.5 || ^10.4", + "typo3/cms-frontend": "^9.5 || ^10.4", + "typo3/cms-indexed-search": "^9.5 || ^10.4", + "typo3/cms-introduction-sitepackage": "^5.0 || 5.*@dev", + "typo3/cms-tstemplate": "^9.5 || ^10.4", + "typo3/minimal": "^9.5 || ^10.4" + }, + "suggest": { + "typo3/cms-introduction": "The official TYPO3 Introduction Package delivers a new website (page tree) and shows all out-of-the-box features of TYPO3, and includes a theme based on Twitter Bootstrap 4, and a style editor to customize the design. Sample backend groups are added" + }, + "autoload": { + "psr-4": { + "TYPO3\\CMS\\Introduction\\Sitepackage\\": "Classes/" + } + }, + "extra": { + "branch-alias": { + "dev-master": "5.0.x-dev" + }, + "typo3/cms": { + "extension-key": "introduction_sitepackage", + "app-dir": ".build", + "web-dir": ".build/public" + } + } +} diff --git a/Packages/sitepackage/ext_conf_template.txt b/Packages/sitepackage/ext_conf_template.txt new file mode 100644 index 0000000..e87dc9c --- /dev/null +++ b/Packages/sitepackage/ext_conf_template.txt @@ -0,0 +1,3 @@ +# +# Extension Configuration template +# diff --git a/Packages/sitepackage/ext_emconf.php b/Packages/sitepackage/ext_emconf.php new file mode 100644 index 0000000..f11e9d1 --- /dev/null +++ b/Packages/sitepackage/ext_emconf.php @@ -0,0 +1,36 @@ + 'The official TYPO3 Introduction Sitepackage', + 'description' => 'TYPO3 Introduction Sitepackage', + 'category' => 'templates', + 'version' => '5.0.0', + 'state' => 'stable', + 'clearCacheOnLoad' => 1, + 'author' => 'Introduction Package Team', + 'author_email' => 'typo3cms@typo3.org', + 'author_company' => 'TYPO3 Association', + 'constraints' => [ + 'depends' => [ + 'typo3' => '9.5.0-10.4.99', + 'bootstrap_package' => '11.0.0-11.9.99', + ], + 'conflicts' => [], + 'suggests' => [ + 'introduction' => '5.0.0-5.9.99', + ], + ], +]; diff --git a/Packages/sitepackage/ext_localconf.php b/Packages/sitepackage/ext_localconf.php new file mode 100644 index 0000000..b35f5fa --- /dev/null +++ b/Packages/sitepackage/ext_localconf.php @@ -0,0 +1,55 @@ +' +); + +/*************** + * Add default RTE configuration + */ +$GLOBALS['TYPO3_CONF_VARS']['RTE']['Presets']['introduction_sitepackage'] = + 'EXT:introduction_sitepackage/Configuration/RTE/Default.yaml'; + +/*************** + * Register custom EXT:form configuration + */ +\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScriptSetup(trim(' + module.tx_form { + settings { + yamlConfigurations { + 100 = EXT:introduction_sitepackage/Configuration/Form/CustomFormSetup.yaml + } + } + } + plugin.tx_form { + settings { + yamlConfigurations { + 100 = EXT:introduction_sitepackage/Configuration/Form/CustomFormSetup.yaml + } + } + } +')); diff --git a/Packages/sitepackage/ext_tables.php b/Packages/sitepackage/ext_tables.php new file mode 100644 index 0000000..ec6ded8 --- /dev/null +++ b/Packages/sitepackage/ext_tables.php @@ -0,0 +1,16 @@ + 'The official Introduction Package', - 'description' => 'This package delivers a new website (page tree) and shows all out-of-the-box features of TYPO3, and includes a theme based on Twitter Bootstrap 3, and a style editor to customize the design. Sample backend groups are added', - 'category' => 'distribution', - 'version' => '4.2.0', - 'state' => 'stable', - 'clearcacheonload' => 1, - 'author' => 'Introduction Package Team', - 'author_email' => '', - 'constraints' => array( - 'depends' => array( - 'typo3' => '10.0.0-10.4.99', - 'bootstrap_package' => '11.0.0-11.5.99', - 'impexp' => '10.0.0-10.4.99' - ), - 'conflicts' => array(), - 'suggests' => array(), - ) -); +/* + * This file is part of the TYPO3 CMS project. + * + * It is free software; you can redistribute it and/or modify it under + * the terms of the GNU General Public License, either version 2 + * of the License, or any later version. + * + * For the full copyright and license information, please read the + * LICENSE.txt file that was distributed with this source code. + * + * The TYPO3 project - inspiring people to share! + */ + +$EM_CONF[$_EXTKEY] = [ + 'title' => 'The official TYPO3 Introduction Package', + 'description' => 'This package delivers a new website (page tree) and shows all out-of-the-box features of TYPO3, and includes a theme based on Twitter Bootstrap 4, and a style editor to customize the design. Sample backend groups are added', + 'category' => 'distribution', + 'version' => '5.0.0', + 'state' => 'stable', + 'clearCacheOnLoad' => 1, + 'author' => 'Introduction Package Team', + 'author_email' => 'typo3cms@typo3.org', + 'author_company' => 'TYPO3 Association', + 'constraints' => [ + 'depends' => [ + 'typo3' => '9.5.0-10.4.99', + 'impexp' => '9.5.0-10.4.99', + 'introduction_sitepackage' => '5.0.0-5.9.99', + ], + 'conflicts' => [], + 'suggests' => [], + ] +]; diff --git a/ext_localconf.php b/ext_localconf.php index 93a7757..ff377b4 100644 --- a/ext_localconf.php +++ b/ext_localconf.php @@ -1,6 +1,37 @@ get('introduction', 'feature.felogin.extbase.handled', false) + && \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Configuration\Features::class) + ->isFeatureEnabled('felogin.extbase') +) { + \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Configuration\ConfigurationManager::class) + ->disableFeature('felogin.extbase'); + $registry->set('introduction', 'feature.felogin.extbase.handled', true); +} + +unset($registry);