Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
services
t3o sites
typo3.org
typo3.org
Commits
1ca93d77
Commit
1ca93d77
authored
May 04, 2020
by
Thomas Löffler
Browse files
Merge branch 'develop-v10' into 'develop'
Upgrade to v10 See merge request t3o/typo3.org!353
parents
60163abf
54f25a64
Pipeline
#8864
passed with stages
in 7 minutes and 14 seconds
Changes
38
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
.ddev/.gitignore
View file @
1ca93d77
...
...
@@ -4,20 +4,20 @@
/commands/*/*.example
/commands/*/README.txt
/commands/host/launch
/commands/web/xdebug
/commands/db/mysql
/homeadditions/*.example
/homeadditions/README.txt
/.gitignore
/import.yaml
/docker-compose.yaml
/.ddev-docker-compose-base.yaml
/.ddev-docker-compose-full.yaml
/db_snapshots
/sequelpro.spf
/import-db
/.bgsync*
/config.*.y*ml
/.webimageBuild
/.dbimageBuild
/.bgsyncimageBuild
/.sshimageBuild
/.webimageExtra
/.dbimageExtra
...
...
.ddev/commands/web/build-frontend.sh
0 → 100755
View file @
1ca93d77
#!/bin/bash
## Description: Runs the npm process to build frontend assets
## Usage: build-frontend
## Example: "ddev build-frontend"
npm
--prefix
private/typo3conf/ext/t3olayout/Build
install
npm
--prefix
private/typo3conf/ext/t3olayout/Build run-script build
rm
-Rf
private/typo3conf/ext/t3olayout/Build/node_modules
.ddev/commands/web/console.sh
0 → 100755
View file @
1ca93d77
#!/bin/bash
## Description: Uses typo3_console in ddev container
## Usage: console
## Example: "ddev console cache:flush"
vendor/bin/typo3cms
$1
.ddev/config.yaml
View file @
1ca93d77
APIVersion
:
v1.12.0
name
:
typo3.org
type
:
typo3
docroot
:
public
php_version
:
"
7.
2
"
php_version
:
"
7.
4
"
webserver_type
:
nginx-fpm
router_http_port
:
"
80"
router_https_port
:
"
443"
xdebug_enabled
:
false
additional_hostnames
:
[]
additional_fqdns
:
[]
mariadb_version
:
"
10.1"
nfs_mount_enabled
:
false
mariadb_version
:
"
10.3"
provider
:
default
hooks
:
post-import-db
:
-
exec
:
./vendor/bin/typo3cms database:updateschema
post-start
:
-
exec
:
cp private/typo3conf/AdditionalConfiguration.ddev.php private/typo3conf/AdditionalConfiguration.php
-
exec
:
composer install --ignore-platform-reqs -d /var/www/html
-
exec
:
npm --prefix private/typo3conf/ext/t3olayout/Build install
-
exec
:
npm --prefix private/typo3conf/ext/t3olayout/Build run-script build
-
exec
:
composer install
-
exec
:
./vendor/bin/typo3cms install:generatepackagestates
-
exec
:
./vendor/bin/typo3cms install:extensionsetupifpossible
webimage_extra_packages
:
[
php7.
2
-ldap
]
webimage_extra_packages
:
[
php7.
4
-ldap
]
use_dns_when_possible
:
true
timezone
:
Europe/Berlin
# This config.yaml was created with ddev version v1.12.0
# webimage: drud/ddev-webserver:v1.12.1
# dbimage: drud/ddev-dbserver-mariadb-10.2:v1.12.0
# dbaimage: drud/phpmyadmin:v1.12.0
# bgsyncimage: drud/ddev-bgsync:v1.12.0
# This config.yaml was created with ddev version v1.14.1
# webimage: drud/ddev-webserver:v1.14.1
# dbimage: drud/ddev-dbserver-mariadb-10.2:v1.14.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'.
...
...
@@ -45,7 +40,7 @@ timezone: Europe/Berlin
# docroot: <relative_path> # Relative path to the directory containing index.php.
# php_version: "7.
2
" # PHP version to use, "5.6", "7.0", "7.1", "7.2", "7.3", "7.4"
# 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,
...
...
@@ -54,7 +49,6 @@ timezone: Europe/Berlin
# webimage: <docker_image> # nginx/php docker image.
# dbimage: <docker_image> # mariadb docker image.
# dbaimage: <docker_image>
# bgsyncimage: <docker_image>
# mariadb_version and mysql_version
# ddev can use many versions of mariadb and mysql
...
...
@@ -100,20 +94,16 @@ timezone: Europe/Berlin
# These values specify the destination directory for ddev ssh and the
# directory in which commands passed into ddev exec are run.
# omit_containers: ["dba", "ddev-ssh-agent"]
#
would omit the dba (phpMyAdmin) and ddev-ssh-agent containers. Currently
# o
nly those two containers can be omitted here.
#
Note that these containers can also be omitted globally in
the
#
~/.ddev/global_config.yaml or with the "ddev config global" command
.
# omit_containers: ["
db",
dba", "ddev-ssh-agent"]
#
Currently only these containers are supported. Some containers can also be
# o
mitted 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
# webcache_enabled: false (deprecated)
# Was only for macOS, but now deprecated.
# See https://ddev.readthedocs.io/en/stable/users/performance/#webcache
# host_https_port: "59002"
# The host port binding for https can be explicitly specified. It is
# dynamic unless otherwise specified.
...
...
@@ -130,11 +120,13 @@ timezone: Europe/Berlin
# The host port binding for the ddev-dbserver can be explicitly specified. It is dynamic
# unless explicitly specified.
# phpmyadmin_port: "1000"
# The PHPMyAdmin port can be changed from the default 8036
# phpmyadmin_port: "8036"
# phpmyadmin_https_port: "8037"
# The PHPMyAdmin ports can be changed from the default 8036 and 8037
# mailhog_port: "1001"
# The MailHog port can be changed from the default 8025
# mailhog_port: "8025"
# mailhog_https_port: "8026"
# The MailHog ports can be changed from the default 8025 and 8026
# webimage_extra_packages: [php-yaml, php7.3-ldap]
# Extra Debian packages that are needed in the webimage can be added here
...
...
@@ -158,6 +150,17 @@ timezone: Europe/Berlin
# 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/docker-compose.typo3.yaml
View file @
1ca93d77
...
...
@@ -4,3 +4,7 @@ services:
web
:
environment
:
-
TYPO3_CONTEXT=Development
-
DB_NAME=db
-
DB_HOST=db
-
DB_USERNAME=db
-
DB_PASSWORD=db
.gitlab-ci.yml
View file @
1ca93d77
...
...
@@ -3,47 +3,15 @@ include:
ref
:
master
file
:
'
/Configuration/GitLab/t3o-builds.yml'
stages
:
-
maintenance
-
dump
-
test
-
build
-
layout
-
deploy
variables
:
GIT_STRATEGY
:
"
none"
GIT_SSL_NO_VERIFY
:
"
true"
STAGE_PORT
:
22200
STAGE_HOST
:
"
stage.
typo3.
org
"
STAGE_HOST
:
"
typo3.
dev
"
PRODUCTION_PORT
:
22201
PRODUCTION_HOST
:
"
typo3.org"
STAGE_USER
:
"
tthreeorgstage"
DUMP_USER
:
"
t3o-stage"
STAGE_USER
:
"
t3o-stage"
DUMP_EXCLUDE_TABLES_LIST
:
"
be_groups,be_sessions,be_users,cf_cache_hash,cf_cache_hash_tags,cf_cache_imagesizes,cf_cache_imagesizes_tags,cf_cache_news_category,cf_cache_news_category_tags,cf_cache_pages,cf_cache_pages_tags,cf_cache_pagesection,cf_cache_pagesection_tags,cf_cache_rootline,cf_cache_rootline_tags,cf_extbase_datamapfactory_datamap,cf_extbase_datamapfactory_datamap_tags,cf_extbase_object,cf_extbase_object_tags,cf_extbase_reflection,cf_extbase_reflection_tags,cf_tx_solr,cf_tx_solr_configuration,cf_tx_solr_configuration_tags,cf_tx_solr_tags,fe_groups,fe_sessions,fe_users,sys_domain,sys_log,tx_solr_cache,tx_solr_cache_tags"
PHP_EXECUTABLE
:
"
PHP_INI_SCAN_DIR=:/etc/php72/user/${STAGE_USER}/:/home/${STAGE_USER}/cnf/
/opt/php/php72/bin/php"
.maintenance
:
&maintenance_template
variables
:
GIT_STRATEGY
:
none
stage
:
maintenance
when
:
manual
image
:
name
:
composer:1
entrypoint
:
[
"
/bin/sh"
,
"
-c"
]
before_script
:
-
apk add rsync --update
-
mkdir -p /root/.ssh/
-
eval $(ssh-agent -s)
-
mkdir -p ~/.ssh
-
echo "$SSH_PRIVATE_KEY_STAGE" | ssh-add -
-
ssh-keyscan -p ${STAGE_PORT} ${STAGE_HOST} >> /root/.ssh/known_hosts
Get dump for local environment
:
<<
:
*maintenance_template
script
:
-
mkdir dump
-
ssh -p ${STAGE_PORT} ${STAGE_USER}@${STAGE_HOST} "${PHP_EXECUTABLE} ./ci/current/vendor/bin/typo3cms database:export -c Default -e 'cf_*' -e 'cache_*' -e '[bf]e_sessions' -e '[bf]e_users' -e 'sys_log' -e 'sys_history' -e 'tx_solr_*' -e 'tx_igldapssoauth_config' | gzip -9 -c" > ./dump/dump.sql.gz
artifacts
:
paths
:
-
./dump/
expire_in
:
1d
PHP_EXECUTABLE
:
"
/opt/php/php72/bin/php"
ADDITIONAL_TABLE_EXCLUDES
:
"
-e
'tx_certifications_*'
-e
'tx_t3odonation_domain_model_donation'
-e
'tx_t3omembership_domain_model_member'
-e
'tx_randombanners_domain_model_banner'"
.gitlab-ci/deployer/deploy.php
View file @
1ca93d77
...
...
@@ -8,14 +8,16 @@ require_once '/tmp/vendor/deployer/recipes/recipe/rsync.php';
$sharedDirectories
=
[
'private/fileadmin'
,
'private/uploads'
,
'public/.well-known'
'public/.well-known'
,
'var'
];
set
(
'shared_dirs'
,
$sharedDirectories
);
$sharedFiles
=
[
'private/typo3conf/AdditionalConfiguration.php'
,
'.cachetool.yml'
,
'public/services/api-keys.php'
'public/services/api-keys.php'
,
'private/typo3conf/ext/t3olayout/Configuration/TypoScript/Deployment/Secret.typoscript'
];
set
(
'shared_files'
,
$sharedFiles
);
...
...
@@ -53,7 +55,7 @@ set('rsync', [
]);
set
(
'rsync_src'
,
'./'
);
inventory
(
'./.gitlab-ci/deployer/servers.yml'
);
set
(
'php'
,
'
/opt/php/php72/bin/
php'
);
set
(
'php'
,
'php'
);
set
(
'bin_folder'
,
'vendor/bin/'
);
task
(
'solr_host'
,
function
()
{
...
...
@@ -61,7 +63,11 @@ task('solr_host', function () {
});
task
(
'typo3'
,
function
()
{
if
(
get
(
'stage'
)
===
'production'
)
{
set
(
'php'
,
'/opt/php/php72/bin/php'
);
}
run
(
'cd {{release_path}} && {{php}} {{bin_folder}}typo3cms install:generatepackagestates'
);
run
(
'cd {{release_path}} && {{php}} {{bin_folder}}typo3cms database:updateschema'
);
run
(
'cd {{release_path}} && {{php}} {{bin_folder}}typo3cms install:extensionsetupifpossible'
);
});
...
...
@@ -76,9 +82,9 @@ task('deploy', [
'rsync'
,
'deploy:shared'
,
'deploy:writable'
,
'solr_host'
,
'typo3'
,
'deploy:symlink'
,
'solr_host'
,
'cache'
,
'cleanup'
]);
.gitlab-ci/deployer/servers.yml
View file @
1ca93d77
master
:
stage
:
production
hostname
:
typo3.org
port
:
22201
user
:
tthreeorg
stage
:
master
hostname
:
t3o03.typo3server.ch
user
:
t3o-prod
writable_mode
:
chmod
forward_agent
:
true
deploy_path
:
~/ci
keep_releases
:
2
develop
:
stage
:
stage
hostname
:
stage-v9.typo3.org
port
:
22200
user
:
tthreeorgstage
stage
:
develop
hostname
:
typo3.dev
user
:
t3o-stage
writable_mode
:
chmod
forward_agent
:
true
deploy_path
:
~/ci
...
...
composer.json
View file @
1ca93d77
{
"name"
:
"t3o/typo3.org"
,
"description"
:
"Website for TYPO3.org"
,
"minimum-stability"
:
"dev"
,
"prefer-stable"
:
true
,
"authors"
:
[
{
"name"
:
"t3o team"
,
...
...
@@ -46,34 +48,31 @@
}
],
"require"
:
{
"
apache-solr-for-typo3/solr
"
:
"
^10.0
"
,
"
clickstorm/cs_seo
"
:
"
^4.2
"
,
"
apache-solr-for-typo3/solr
"
:
"
dev-master
"
,
"
cweagans/composer-patches
"
:
"
^1.6
"
,
"
derhansen/sf_event_mgt
"
:
"
^
4
.0
"
,
"
georgringer/news
"
:
"
^
7
.0
"
,
"
derhansen/sf_event_mgt
"
:
"
^
5
.0
"
,
"
georgringer/news
"
:
"
^
8
.0
"
,
"
gordalina/cachetool
"
:
"
^4.0
"
,
"
nitsan/ns-youtube
"
:
"
^1.1
"
,
"
reelworx/rx-shariff
"
:
"
^12.2
"
,
"
t3g/hubspot-forms
"
:
"
dev-develop
"
,
"
t3o/certifications
"
:
"
^2.2
"
,
"
t3o/randombanners
"
:
"
^1.0
"
,
"
t3o/t3o_donation
"
:
"
@dev
"
,
"
t3o/t3o_membership
"
:
"
^2.1
"
,
"
t3o/t3olayout
"
:
"
^4.0
"
,
"
reelworx/rx-shariff
"
:
"
^13.0
"
,
"
t3g/hubspot-forms
"
:
"
^1.1
"
,
"
t3o/certifications
"
:
"
^3.0
"
,
"
t3o/randombanners
"
:
"
^2.0
"
,
"
t3o/t3o_donation
"
:
"
^1.0
"
,
"
t3o/t3o_membership
"
:
"
^3.0
"
,
"
t3o/t3olayout
"
:
"
^5.0
"
,
"
t3o/t3org_layout
"
:
"
@dev
"
,
"
t3o/typo3_roadmap
"
:
"
^2.2
"
,
"
typo3/cms-linkvalidator
"
:
"
^9.5
"
,
"
typo3/cms-redirects
"
:
"
^9.5
"
,
"
typo3/cms-seo
"
:
"
^9.5
"
,
"
typo3/cms-sys-note
"
:
"
^9.5
"
},
"require-dev"
:
{
"
ichhabrecht/filefill
"
:
"
^2.0
"
"
t3o/typo3_roadmap
"
:
"
^4.0
"
,
"
typo3/cms-dashboard
"
:
"
^10.4
"
,
"
typo3/cms-linkvalidator
"
:
"
^10.4
"
,
"
typo3/cms-redirects
"
:
"
^10.4
"
,
"
typo3/cms-seo
"
:
"
^10.4
"
,
"
typo3/cms-sys-note
"
:
"
^10.4
"
,
"
yoast-seo-for-typo3/yoast_seo
"
:
"
^6.0
"
},
"config"
:
{
"sort-packages"
:
true
,
"platform"
:
{
"php"
:
"7.
2.13
"
"php"
:
"7.
4.4
"
}
},
"extra"
:
{
...
...
composer.lock
View file @
1ca93d77
This source diff could not be displayed because it is too large. You can
view the blob
instead.
config/sites/t3org/config.yaml
View file @
1ca93d77
...
...
@@ -4,7 +4,7 @@ baseVariants:
base
:
'
https://typo3.org.ddev.site'
condition
:
'
applicationContext
==
"Development"'
-
base
:
'
https://
stage.
typo3.
org
'
base
:
'
https://typo3.
dev
'
condition
:
'
applicationContext
==
"Testing"'
-
base
:
'
https://typo3.org'
...
...
extensions/t3o_donation/Classes/Controller/DonationController.php
View file @
1ca93d77
<?php
declare
(
strict_types
=
1
);
namespace
T3o\T3oDonation\Controller
;
use
TYPO3\CMS\Core\Messaging\FlashMessage
;
...
...
@@ -35,7 +36,7 @@ class DonationController extends ActionController
* @TYPO3\CMS\Extbase\Annotation\Inject
* @TYPO3\CMS\Extbase\Annotation\ORM\Lazy
*/
protected
$configurationUtility
=
null
;
protected
?
\
TYPO3\CMS\Core\Configuration\ExtensionConfiguration
$configurationUtility
=
null
;
/**
* accountRepository
...
...
@@ -44,7 +45,7 @@ class DonationController extends ActionController
* @TYPO3\CMS\Extbase\Annotation\Inject
* @TYPO3\CMS\Extbase\Annotation\ORM\Lazy
*/
protected
$accountRepository
=
null
;
protected
?
\
T3o\T3oDonation\Domain\Repository\AccountRepository
$accountRepository
=
null
;
/**
* donationRepository
...
...
@@ -53,7 +54,7 @@ class DonationController extends ActionController
* @TYPO3\CMS\Extbase\Annotation\Inject
* @TYPO3\CMS\Extbase\Annotation\ORM\Lazy
*/
protected
$donationRepository
;
protected
\
T3o\T3oDonation\Domain\Repository\DonationRepository
$donationRepository
;
/**
* ipnService
...
...
@@ -62,7 +63,7 @@ class DonationController extends ActionController
* @TYPO3\CMS\Extbase\Annotation\Inject
* @TYPO3\CMS\Extbase\Annotation\ORM\Lazy
*/
protected
$ipnService
;
protected
\
T3o\T3oDonation\Service\PayPalIpn
$ipnService
;
/**
* mailService
...
...
@@ -71,7 +72,7 @@ class DonationController extends ActionController
* @TYPO3\CMS\Extbase\Annotation\Inject
* @TYPO3\CMS\Extbase\Annotation\ORM\Lazy
*/
protected
$mailService
;
protected
\
T3o\T3oDonation\Service\Mail
$mailService
;
/**
* Adds custom JS to page.
...
...
extensions/t3o_donation/Classes/Domain/Model/Account.php
View file @
1ca93d77
<?php
declare
(
strict_types
=
1
);
namespace
T3o\T3oDonation\Domain\Model
;
use
TYPO3\CMS\Extbase\DomainObject\AbstractEntity
;
...
...
@@ -27,21 +27,21 @@ class Account extends AbstractEntity
* @TYPO3\CMS\Extbase\Annotation\Validate("NotEmpty")
* @var string
*/
protected
$name
;
protected
string
$name
=
''
;
/**
* @TYPO3\CMS\Extbase\Annotation\Validate("NotEmpty")
* @TYPO3\CMS\Extbase\Annotation\Validate("EmailAddress")
* @var string
*/
protected
$emailNotification
;
protected
string
$emailNotification
=
''
;
/**
* @TYPO3\CMS\Extbase\Annotation\Validate("NotEmpty")
* @TYPO3\CMS\Extbase\Annotation\Validate("EmailAddress")
* @var string
*/
protected
$emailPaypal
;
protected
string
$emailPaypal
;
/**
* @return string
...
...
extensions/t3o_donation/Classes/Domain/Model/Donation.php
View file @
1ca93d77
<?php
declare
(
strict_types
=
1
);
namespace
T3o\T3oDonation\Domain\Model
;
use
TYPO3\CMS\Extbase\DomainObject\AbstractEntity
;
...
...
@@ -26,109 +26,109 @@ class Donation extends AbstractEntity
/**
* @var bool
*/
protected
$hidden
;
protected
bool
$hidden
=
false
;
/**
* @var string
*/
protected
$name
;
protected
string
$name
=
''
;
/**
* @var string
*/
protected
$company
;
protected
string
$company
=
''
;
/**
* @var string
*/
protected
$addressStreet
;
protected
string
$addressStreet
=
''
;
/**
* @var string
*/
protected
$addressZip
;
protected
string
$addressZip
=
''
;
/**
* @var string
*/
protected
$addressCity
;
protected
string
$addressCity
=
''
;
/**
* @var string
*/
protected
$addressState
;
protected
string
$addressState
=
''
;
/**
* @var string
*/
protected
$addressCountry
;
protected
string
$addressCountry
=
''
;
/**
* @var string
*/
protected
$addressCountryCode
;
protected
string
$addressCountryCode
=
''
;
/**
* @TYPO3\CMS\Extbase\Annotation\Validate("NotEmpty")
* @TYPO3\CMS\Extbase\Annotation\Validate("EmailAddress")
* @var string
*/
protected
$email
;
protected
string
$email
=
''
;
/**
* @var string
*/
protected
$url
;
protected
string
$url
=
''
;
/**
* @var float
*/
protected
$amount
;
protected
float
$amount
=
0.00
;
/**
* @var float
*/
protected
$fee
;
protected
float
$fee
=
0.00
;
/**
* @var string
*/
protected
$currency
;
protected
string
$currency
=
''
;
/**
* @var \TYPO3\CMS\Extbase\Domain\Model\FrontendUser
*/
protected
$feUser
;
protected
?
\
TYPO3\CMS\Extbase\Domain\Model\FrontendUser
$feUser
=
null
;
/**
* @var string
*/
protected
$comment
;
protected
string
$comment
=
''
;
/**
* @var \T3o\T3oDonation\Domain\Model\Account
*/
protected
$account
;
protected
?Account
$account
=
null
;
/**
* @var string
*/
protected
$paypalTransactionId
;
protected
string
$paypalTransactionId
=
''
;
/**
* @var \DateTime
*/
protected
$date
;
protected
?
\
DateTime
$date
=
null
;
/**
* @var \DateTime
*/
protected
$crdate
;
protected
?
\
DateTime
$crdate
=
null
;
/**
* @return bool
*/
public
function
getHidden
()
public
function
getHidden
()
:
bool
{
return
$this
->
hidden
;
}
...
...
@@ -136,7 +136,7 @@ class Donation extends AbstractEntity
/**
* @param bool $hidden
*/
public
function
setHidden
(
$hidden
)
public
function
setHidden
(
bool
$hidden
)
:
void
{
$this
->
hidden
=
$hidden
;
}
...
...
@@ -144,7 +144,7 @@ class Donation extends AbstractEntity
/**
* @return string
*/
public
function
getName
()
public
function
getName
()
:
string
{
return
$this
->
name
;
}
...
...
@@ -152,7 +152,7 @@ class Donation extends AbstractEntity
/**
* @param string $name