mirror of
https://github.com/Deutscher-Tischfussballbund/com_sportsmanager.git
synced 2026-06-10 06:27:52 +00:00
Merge pull request #57 from Deutscher-Tischfussballbund/testsetup_fixes
test setup fixes
This commit is contained in:
@@ -11,3 +11,24 @@
|
|||||||
[](https://buddy.kicktemp.com/kicktemp/com-sportsmanager/pipelines/pipeline/218) [Preview: dtfb.de](https://dtfb.de)
|
[](https://buddy.kicktemp.com/kicktemp/com-sportsmanager/pipelines/pipeline/218) [Preview: dtfb.de](https://dtfb.de)
|
||||||
|
|
||||||
[](https://buddy.kicktemp.com/kicktemp/com-sportsmanager/pipelines/pipeline/219) [Preview: kickern-hamburg.de](https://kickern-hamburg.de)
|
[](https://buddy.kicktemp.com/kicktemp/com-sportsmanager/pipelines/pipeline/219) [Preview: kickern-hamburg.de](https://kickern-hamburg.de)
|
||||||
|
|
||||||
|
|
||||||
|
## Test setup
|
||||||
|
### Installation
|
||||||
|
To start joomla and the database, run
|
||||||
|
|
||||||
|
```shell
|
||||||
|
docker-compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
### Release creation
|
||||||
|
To create a release execute
|
||||||
|
```shell
|
||||||
|
npm run release
|
||||||
|
```
|
||||||
|
|
||||||
|
### Deployment
|
||||||
|
Deployment can only be done manually right now (sad)
|
||||||
|
To do this go to
|
||||||
|
[Testserver Extension Installer Site](http://localhost:8080/administrator/index.php?option=com_installer&view=install)
|
||||||
|
and upload the zip file found in `./package/packages`
|
||||||
|
|||||||
+33
-25
@@ -1,30 +1,38 @@
|
|||||||
version: '2'
|
|
||||||
services:
|
services:
|
||||||
mariadb:
|
joomla:
|
||||||
image: docker.io/bitnami/mariadb:10.3
|
image: joomla:5.2.4
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- '8080:80'
|
||||||
|
environment:
|
||||||
|
JOOMLA_DB_HOST: db
|
||||||
|
JOOMLA_DB_USER: joomla
|
||||||
|
JOOMLA_DB_PASSWORD: examplepass
|
||||||
|
JOOMLA_DB_NAME: joomla_db
|
||||||
|
JOOMLA_SITE_NAME: Sportsmanager Testserver
|
||||||
|
JOOMLA_ADMIN_USER: Joomla Hero
|
||||||
|
JOOMLA_ADMIN_USERNAME: joomla
|
||||||
|
JOOMLA_ADMIN_PASSWORD: joomla@secured
|
||||||
|
JOOMLA_ADMIN_EMAIL: joomla@example.com
|
||||||
|
volumes:
|
||||||
|
- './data/joomla_data:/var/www/html'
|
||||||
|
networks:
|
||||||
|
- joomla_network
|
||||||
|
|
||||||
|
db:
|
||||||
|
image: mysql:8.0
|
||||||
|
restart: always
|
||||||
ports:
|
ports:
|
||||||
- '3306:3306'
|
- '3306:3306'
|
||||||
environment:
|
environment:
|
||||||
# ALLOW_EMPTY_PASSWORD is recommended only for development.
|
MYSQL_DATABASE: joomla_db
|
||||||
- ALLOW_EMPTY_PASSWORD=yes
|
MYSQL_USER: joomla
|
||||||
- MARIADB_USER=bn_joomla
|
MYSQL_PASSWORD: examplepass
|
||||||
- MARIADB_DATABASE=bitnami_joomla
|
MYSQL_RANDOM_ROOT_PASSWORD: '1'
|
||||||
volumes:
|
volumes:
|
||||||
- './data/mariadb_data:/bitnami/mariadb'
|
- './data/mysql_data:/var/lib/mysql'
|
||||||
joomla:
|
networks:
|
||||||
image: docker.io/bitnami/joomla:3
|
- joomla_network
|
||||||
ports:
|
|
||||||
- '80:8080'
|
networks:
|
||||||
- '443:8443'
|
joomla_network:
|
||||||
environment:
|
|
||||||
- JOOMLA_DATABASE_HOST=mariadb
|
|
||||||
- JOOMLA_DATABASE_PORT_NUMBER=3306
|
|
||||||
- JOOMLA_DATABASE_USER=bn_joomla
|
|
||||||
- JOOMLA_DATABASE_NAME=bitnami_joomla
|
|
||||||
# ALLOW_EMPTY_PASSWORD is recommended only for development.
|
|
||||||
- ALLOW_EMPTY_PASSWORD=yes
|
|
||||||
volumes:
|
|
||||||
- './data/joomla_data:/bitnami/joomla'
|
|
||||||
- './docker/php.ini:/opt/bitnami/php/etc/php.ini:ro'
|
|
||||||
depends_on:
|
|
||||||
- mariadb
|
|
||||||
|
|||||||
+24
-16
@@ -56,28 +56,36 @@ export const config = {
|
|||||||
},
|
},
|
||||||
packagefiles: [
|
packagefiles: [
|
||||||
{
|
{
|
||||||
src: './releasefiles/components/com_kickboilerplate/**/**',
|
src: './releasefiles/components/com_sportsmanager/**/**',
|
||||||
dest: 'sourcefiles/com_kickboilerplate/site'
|
dest: 'sourcefiles/com_sportsmanager/site'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
src: './releasefiles/administrator/components/com_kickboilerplate/**/**',
|
src: './releasefiles/language/**/**',
|
||||||
dest: 'sourcefiles/com_kickboilerplate/admin'
|
dest: 'sourcefiles/com_sportsmanager/site/language'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
src: './releasefiles/administrator/components/com_kickboilerplate/kickboilerplate.xml',
|
src: './releasefiles/administrator/components/com_sportsmanager/**/**',
|
||||||
dest: 'sourcefiles/com_kickboilerplate/'
|
dest: 'sourcefiles/com_sportsmanager/admin'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
src: './releasefiles/administrator/components/com_kickboilerplate/script.php',
|
src: './releasefiles/administrator/language/**/**',
|
||||||
dest: 'sourcefiles/com_kickboilerplate/'
|
dest: 'sourcefiles/com_sportsmanager/admin/language'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
src: './releasefiles/media/com_kickboilerplate/**/**',
|
src: './releasefiles/sportsmanager.xml',
|
||||||
dest: 'sourcefiles/com_kickboilerplate/media'
|
dest: 'sourcefiles/com_sportsmanager/'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
src: './releasefiles/plugins/system/kickboilerplate/**/**',
|
src: './releasefiles/script.php',
|
||||||
dest: 'sourcefiles/plg_system_kickboilerplate'
|
dest: 'sourcefiles/com_sportsmanager/'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
src: './releasefiles/media/com_sportsmanager/**/**',
|
||||||
|
dest: 'sourcefiles/com_sportsmanager/media'
|
||||||
|
},
|
||||||
|
{
|
||||||
|
src: './releasefiles/plugins/system/kickyootheme/**/**',
|
||||||
|
dest: 'sourcefiles/plg_system_kickyootheme'
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
package: [
|
package: [
|
||||||
@@ -100,7 +108,7 @@ export const config = {
|
|||||||
archiver: [
|
archiver: [
|
||||||
{
|
{
|
||||||
destination : 'package/packages/',
|
destination : 'package/packages/',
|
||||||
name: 'plg_system_kickboilerplate',
|
name: 'plg_system_kickyootheme',
|
||||||
suffixversion: false,
|
suffixversion: false,
|
||||||
types: [
|
types: [
|
||||||
{
|
{
|
||||||
@@ -112,14 +120,14 @@ export const config = {
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
folders: [
|
folders: [
|
||||||
'sourcefiles/plg_system_kickboilerplate'
|
'sourcefiles/plg_system_kickyootheme'
|
||||||
],
|
],
|
||||||
files: [
|
files: [
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
destination : 'package/packages/',
|
destination : 'package/packages/',
|
||||||
name: 'com_kickboilerplate',
|
name: 'com_sportsmanager',
|
||||||
suffixversion: false,
|
suffixversion: false,
|
||||||
types: [
|
types: [
|
||||||
{
|
{
|
||||||
@@ -131,7 +139,7 @@ export const config = {
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
folders: [
|
folders: [
|
||||||
'sourcefiles/com_kickboilerplate'
|
'sourcefiles/com_sportsmanager'
|
||||||
],
|
],
|
||||||
files: [
|
files: [
|
||||||
]
|
]
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
[.ShellClassInfo]
|
|
||||||
InfoTip=Dieser Ordner wird online freigegeben.
|
|
||||||
IconFile=C:\Program Files (x86)\Google\Drive\googledrivesync.exe
|
|
||||||
IconIndex=16
|
|
||||||
|
|
||||||
-5
@@ -1,5 +0,0 @@
|
|||||||
[.ShellClassInfo]
|
|
||||||
InfoTip=Dieser Ordner wird online freigegeben.
|
|
||||||
IconFile=C:\Program Files (x86)\Google\Drive\googledrivesync.exe
|
|
||||||
IconIndex=16
|
|
||||||
|
|
||||||
-5
@@ -1,5 +0,0 @@
|
|||||||
[.ShellClassInfo]
|
|
||||||
InfoTip=Dieser Ordner wird online freigegeben.
|
|
||||||
IconFile=C:\Program Files (x86)\Google\Drive\googledrivesync.exe
|
|
||||||
IconIndex=16
|
|
||||||
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
[.ShellClassInfo]
|
|
||||||
InfoTip=Dieser Ordner wird online freigegeben.
|
|
||||||
IconFile=C:\Program Files (x86)\Google\Drive\googledrivesync.exe
|
|
||||||
IconIndex=16
|
|
||||||
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
[.ShellClassInfo]
|
|
||||||
InfoTip=Dieser Ordner wird online freigegeben.
|
|
||||||
IconFile=C:\Program Files (x86)\Google\Drive\googledrivesync.exe
|
|
||||||
IconIndex=16
|
|
||||||
|
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
function bildKopierenAngepasst($quelle, $ziel, $ziel_breite, $ziel_hoehe, $zuschneiden)
|
||||||
|
{
|
||||||
|
$len = strlen($ziel);
|
||||||
|
if ($len < 4 || $ziel[$len - 4] != ".")
|
||||||
|
return false;
|
||||||
|
$ext = strtolower(substr($ziel, $len - 3));
|
||||||
|
if ($ext != "jpg" && $ext != "png")
|
||||||
|
return false;
|
||||||
|
$quelle_image = $ext == "png" ? imagecreatefrompng($quelle) : imagecreatefromjpeg($quelle);
|
||||||
|
if ($quelle_image === false)
|
||||||
|
return false;
|
||||||
|
$quelle_breite = imagesx($quelle_image);
|
||||||
|
$quelle_hoehe = imagesy($quelle_image);
|
||||||
|
if ($quelle_breite == $ziel_breite && $quelle_hoehe == $ziel_hoehe)
|
||||||
|
return JFile::copy($quelle, $ziel);
|
||||||
|
|
||||||
|
$ziel_image = imagecreatetruecolor($ziel_breite, $ziel_hoehe);
|
||||||
|
$hintergrund = $ext == "png" ? imagecolorallocatealpha($ziel_image, 0, 0, 0, 127) : imagecolorallocate($ziel_image, 64, 64, 64);
|
||||||
|
imagefill($ziel_image, 0, 0, $hintergrund);
|
||||||
|
$quelle_proportionen = $quelle_breite / $quelle_hoehe;
|
||||||
|
$ziel_proportionen = $ziel_breite / $ziel_hoehe;
|
||||||
|
if ($zuschneiden) {
|
||||||
|
if ($ziel_proportionen >= $quelle_proportionen) {
|
||||||
|
$quelle_teilhoehe = round($quelle_breite / $ziel_proportionen);
|
||||||
|
if (!imagecopyresampled($ziel_image, $quelle_image, 0, 0, 0, round(($quelle_hoehe - $quelle_teilhoehe) / 2), $ziel_breite, $ziel_hoehe, $quelle_breite, $quelle_teilhoehe))
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
$quelle_teilbreite = round($quelle_hoehe * $ziel_proportionen);
|
||||||
|
if (!imagecopyresampled($ziel_image, $quelle_image, 0, 0, round(($quelle_breite - $quelle_teilbreite) / 2), 0, $ziel_breite, $ziel_hoehe, $quelle_teilbreite, $quelle_hoehe))
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if ($ziel_proportionen >= $quelle_proportionen) {
|
||||||
|
$ziel_teilbreite = round($ziel_hoehe * $quelle_proportionen);
|
||||||
|
if (!imagecopyresampled($ziel_image, $quelle_image, round(($ziel_breite - $ziel_teilbreite) / 2), 0, 0, 0, $ziel_teilbreite, $ziel_hoehe, $quelle_breite, $quelle_hoehe))
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
$ziel_teilhoehe = round($ziel_breite / $quelle_proportionen);
|
||||||
|
if (!imagecopyresampled($ziel_image, $quelle_image, 0, round(($ziel_hoehe - $ziel_teilhoehe) / 2), 0, 0, $ziel_breite, $ziel_teilhoehe, $quelle_breite, $quelle_hoehe))
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ob_start();
|
||||||
|
if ($ext == "png") {
|
||||||
|
imagesavealpha($ziel_image, true);
|
||||||
|
if (!imagepng($ziel_image))
|
||||||
|
return false;
|
||||||
|
} else {
|
||||||
|
if (!imagejpeg($ziel_image))
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
$output = ob_get_contents();
|
||||||
|
ob_end_clean();
|
||||||
|
JFile::write($ziel, $output);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
<html><body bgcolor="#FFFFFF"></body></html>
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
[.ShellClassInfo]
|
|
||||||
InfoTip=Dieser Ordner wird online freigegeben.
|
|
||||||
IconFile=C:\Program Files (x86)\Google\Drive\googledrivesync.exe
|
|
||||||
IconIndex=16
|
|
||||||
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
[.ShellClassInfo]
|
|
||||||
InfoTip=Dieser Ordner wird online freigegeben.
|
|
||||||
IconFile=C:\Program Files (x86)\Google\Drive\googledrivesync.exe
|
|
||||||
IconIndex=16
|
|
||||||
|
|
||||||
@@ -1,5 +0,0 @@
|
|||||||
[.ShellClassInfo]
|
|
||||||
InfoTip=Dieser Ordner wird online freigegeben.
|
|
||||||
IconFile=C:\Program Files (x86)\Google\Drive\googledrivesync.exe
|
|
||||||
IconIndex=16
|
|
||||||
|
|
||||||
+1603
-1603
File diff suppressed because it is too large
Load Diff
+58
-58
@@ -1,58 +1,58 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<!DOCTYPE install SYSTEM "http://dev.joomla.org/xml/1.5/component-install.dtd">
|
<extension type="component" version="5.0" method="upgrade">
|
||||||
<extension type="component" version="3.0" method="upgrade">
|
<name>Sports manager</name>
|
||||||
<name>Sports manager</name>
|
<creationDate>2025-03-12</creationDate>
|
||||||
<creationDate>2020-09-30</creationDate>
|
<author>Deutscher Tischfußball Verband</author>
|
||||||
<author>Sven Nickel</author>
|
<authorEmail>it@dtfb.de</authorEmail>
|
||||||
<authorEmail>sven.nickel@gmail.com</authorEmail>
|
<copyright>All rights reserved</copyright>
|
||||||
<copyright>All rights reserved</copyright>
|
<license>GNU/GPL</license>
|
||||||
<license>GNU/GPL</license>
|
<version>2.0.0</version>
|
||||||
<version>1.7.1</version>
|
<description>Verwaltung von Spielern und Vereinen in Mannschafts- und Individualwettbewerben</description>
|
||||||
<description>Verwaltung von Spielern und Vereinen in Mannschafts- und Individualwettbewerben</description>
|
<files folder="site">
|
||||||
<files folder="site">
|
<filename>index.html</filename>
|
||||||
<filename>index.html</filename>
|
<filename>admin.php</filename>
|
||||||
<filename>admin.php</filename>
|
<filename>api.php</filename>
|
||||||
<filename>api.php</filename>
|
<filename>controller.php</filename>
|
||||||
<filename>controller.php</filename>
|
<filename>database.php</filename>
|
||||||
<filename>database.php</filename>
|
<filename>sportsmanager.php</filename>
|
||||||
<filename>sportsmanager.php</filename>
|
<filename>mathparser.php</filename>
|
||||||
<filename>mathparser.php</filename>
|
<filename>tools.php</filename>
|
||||||
<filename>tools.php</filename>
|
<filename>js/jquery.min.js</filename>
|
||||||
<filename>js/jquery.min.js</filename>
|
<folder>images</folder>
|
||||||
<folder>images</folder>
|
<folder>models</folder>
|
||||||
<folder>models</folder>
|
<folder>util</folder>
|
||||||
<folder>views</folder>
|
<folder>views</folder>
|
||||||
</files>
|
</files>
|
||||||
<languages folder="site">
|
<languages folder="site">
|
||||||
<language tag="en-GB">language/en-GB/en-GB.com_sportsmanager.ini
|
<language tag="en-GB">language/en-GB/en-GB.com_sportsmanager.ini
|
||||||
</language>
|
</language>
|
||||||
<language tag="de-DE">language/de-DE/de-DE.com_sportsmanager.ini
|
<language tag="de-DE">language/de-DE/de-DE.com_sportsmanager.ini
|
||||||
</language>
|
</language>
|
||||||
<language tag="nl-NL">language/nl-NL/nl-NL.com_sportsmanager.ini
|
<language tag="nl-NL">language/nl-NL/nl-NL.com_sportsmanager.ini
|
||||||
</language>
|
</language>
|
||||||
</languages>
|
</languages>
|
||||||
<scriptfile>install.php</scriptfile>
|
<scriptfile>script.php</scriptfile>
|
||||||
<administration>
|
<administration>
|
||||||
<files folder="admin">
|
<files folder="admin">
|
||||||
<filename>access.xml</filename>
|
<filename>access.xml</filename>
|
||||||
<filename>sportsmanager.php</filename>
|
<filename>sportsmanager.php</filename>
|
||||||
<filename>controller.php</filename>
|
<filename>controller.php</filename>
|
||||||
<filename>index.html</filename>
|
<filename>index.html</filename>
|
||||||
<folder>views</folder>
|
<folder>views</folder>
|
||||||
</files>
|
</files>
|
||||||
<languages folder="admin">
|
<languages folder="admin">
|
||||||
<language tag="en-GB">language/en-GB/en-GB.com_sportsmanager.ini
|
<language tag="en-GB">language/en-GB/en-GB.com_sportsmanager.ini
|
||||||
</language>
|
</language>
|
||||||
<language tag="en-GB">language/en-GB/en-GB.com_sportsmanager.sys.ini
|
<language tag="en-GB">language/en-GB/en-GB.com_sportsmanager.sys.ini
|
||||||
</language>
|
</language>
|
||||||
<language tag="de-DE">language/de-DE/de-DE.com_sportsmanager.ini
|
<language tag="de-DE">language/de-DE/de-DE.com_sportsmanager.ini
|
||||||
</language>
|
</language>
|
||||||
<language tag="de-DE">language/de-DE/de-DE.com_sportsmanager.sys.ini
|
<language tag="de-DE">language/de-DE/de-DE.com_sportsmanager.sys.ini
|
||||||
</language>
|
</language>
|
||||||
<language tag="nl-NL">language/nl-NL/nl-NL.com_sportsmanager.ini
|
<language tag="nl-NL">language/nl-NL/nl-NL.com_sportsmanager.ini
|
||||||
</language>
|
</language>
|
||||||
<language tag="nl-NL">language/nl-NL/nl-NL.com_sportsmanager.sys.ini
|
<language tag="nl-NL">language/nl-NL/nl-NL.com_sportsmanager.sys.ini
|
||||||
</language>
|
</language>
|
||||||
</languages>
|
</languages>
|
||||||
</administration>
|
</administration>
|
||||||
</extension>
|
</extension>
|
||||||
Reference in New Issue
Block a user