No Description

3risian 9af55d2f72 Calculate menu and pagination without missing addons (#160) 1 year ago
api 276d1c5515 [S] Add current ai count to server list 1 year ago
assets 2f66e0fe75 [D] Use HTML5 History API, removing History.js 2 years ago
bugs dc9366c0a5 Move URL related methods to URL class 6 years ago
cron 15dcebd08e [S] Update for new ranking system 3 years ago
dl 1968684f1d Rename upload directory to dl 9 years ago
docker-tools a8d2d959f7 dockerized 5 years ago
include 9af55d2f72 Calculate menu and pagination without missing addons (#160) 1 year ago
install 276d1c5515 [S] Add current ai count to server list 1 year ago
json a9779fa2b9 added phpcs 5 years ago
locale 40d4949f9f Update translations 7 years ago
phpcs a3633813b3 [C] Fixed config to generate old and new server xml files 5 years ago
phpstan 4df0709fa6 Fix phpstan 5 years ago
stats 1c51da8856 Use script mode for the default example config and stats 6 years ago
tests ab5cdbe89c Fix phpstan/phpcs/phpunit warnings and errors 5 years ago
tools e21664625c Fix python warning 3 years ago
tpl 765ba21447 Update terms and conditions for account creation (#110) 1 year ago
.dockerignore 689b3d9979 [D] Update docker files to actually work 5 years ago
.gitattributes a8d2d959f7 dockerized 5 years ago
.gitignore 19cfe2cefb [C][D] Update compose and yarn packages | Add tools 5 years ago
.travis.yml a3633813b3 [C] Fixed config to generate old and new server xml files 5 years ago
.yarnrc ba36c228cb bower migrated to yarn 5 years ago
COPYING 0f2fda96f0 (stkaddons) Adding stkaddons' code 14 years ago
CREDITS 03ba2991df Rewrite README file 9 years ago
Dockerfile 19cfe2cefb [C][D] Update compose and yarn packages | Add tools 5 years ago
Dockerfile-db-init 689b3d9979 [D] Update docker files to actually work 5 years ago
INSTALL.md 19cfe2cefb [C][D] Update compose and yarn packages | Add tools 5 years ago
README.md 19cfe2cefb [C][D] Update compose and yarn packages | Add tools 5 years ago
about.php e387491581 Move all file sytem related functionality inside the FileSystem class 7 years ago
addons-menu.php 9af55d2f72 Calculate menu and pagination without missing addons (#160) 1 year ago
addons-panel.php d99dc8a084 Add GPL license header to test files 7 years ago
addons.php b15a3ae5f3 Change GPL license header to use modern english and proper punctuation 7 years ago
composer.json 3748b45595 [D] Update compose packages 2 years ago
composer.lock 8b5038998c Bump smarty/smarty from 3.1.47 to 3.1.48 (#155) 1 year ago
docker-compose.dev.yml 689b3d9979 [D] Update docker files to actually work 5 years ago
docker-compose.yml 689b3d9979 [D] Update docker files to actually work 5 years ago
download.php 453b4f8aa7 Only take news.xml into account for a more correct stats 3 years ago
downloads c478f64e58 Make download script work with new configuration. 9 years ago
error.php b15a3ae5f3 Change GPL license header to use modern english and proper punctuation 7 years ago
favicon.ico 8973031e80 Add favicons for all modern browsers or displays. 8 years ago
image.php 4d8d1234f8 Rename SImage to StkImage 6 years ago
index.php a9779fa2b9 added phpcs 5 years ago
login.php dc9366c0a5 Move URL related methods to URL class 6 years ago
manage-panel.php a9779fa2b9 added phpcs 5 years ago
manage.php b15a3ae5f3 Change GPL license header to use modern english and proper punctuation 7 years ago
music.php b15a3ae5f3 Change GPL license header to use modern english and proper punctuation 7 years ago
package.json bcec2558af [D] Update yarn packages 2 years ago
password-reset.php d99dc8a084 Add GPL license header to test files 7 years ago
phpunit.xml 7a1f1c7797 Try to fix travis build. 9 years ago
privacy.php b15a3ae5f3 Change GPL license header to use modern english and proper punctuation 7 years ago
rankings.php 15dcebd08e [S] Update for new ranking system 3 years ago
register.php d99dc8a084 Add GPL license header to test files 7 years ago
upload.php a9779fa2b9 added phpcs 5 years ago
users-menu.php b15a3ae5f3 Change GPL license header to use modern english and proper punctuation 7 years ago
users-panel.php 7270c7c7d6 [S] Add option to also delete addons when deleting user account 5 years ago
users.php b15a3ae5f3 Change GPL license header to use modern english and proper punctuation 7 years ago
yarn.lock bcec2558af [D] Update yarn packages 2 years ago

README.md

STK Addons Website

This is the source code for the SuperTuxKart asset sharing and distribution platform. The official location of the production website is https://online.supertuxkart.net/.

Build Status

Build Status

Branches

The master branch contains the latest code, not stable or production ready.

The production branch contains stable code that is ready for production (the live addons server is based on this branch).

Installation

The whole installation procedure can be seen in the INSTALL.md file.

Common Problems

Permissions

A common problem on Linux are the permissions for the assets/cache and dl directories. There are several ways to solve this problem:

  • Change the permission of the directories with chmod 775 (not recommended)
  • Add yourself to the owner group of these directories and give the group read & write access, or change the owner of those directories to the user under which your webserver is running (usually www-data). The latter can be achieved using: sudo chown -R www-data:www-data <directory>

Class not found after creating a new class

Example:

Error: Class 'Debug' not found in /stk-addons/index.php on line 0

This is due to composer not knowing about it. To fix it update composer with composer dump-autoload.

Testing

The project uses PHPUnit for unit testing (it's installed automatically by composer if you have enabled the developer dependencies)

Run tests from the root of the project with (it will use the default phpunit.xml found in the root directory):

./vendor/bin/phpunit

If you want to give it a custom configuration use the --configuration flag, like this:

./vendor/bin/phpunit --configuration custom.xml

Translation and locales generation

To generate all locales supported (system wide), run the script in locale/locale-gen.sh.

After that, update the translations.pot files by running the locale/update-pot.sh script.

Then after getting the updated translate po files from https://www.transifex.com/supertuxkart/supertuxkart/ run the locale/generate-mo.sh script.

Contributing

All contributions are welcome: ideas, patches, documentation, bug reports, complaints, etc!

Git message conventions

Some messages include the prefix [tag] at the beginning of the commit message, if present these mean that you need to make manual modifications to your code/infrastructure for it to work with that commit.

  • [C] - modified the config file, update your config.php file accordingly
  • [D] - updated the composer/yarn dependencies, run the appropriate yarn/composer update commands
  • [S] - updated the SQL schema, modify your SQL schema accordingly

PHP

The PHP coding standard is heavily based on PSR-2, with some modifications:

  • The line limit is 120 characters.
  • Opening braces for control structures MUST go on the next line, and closing braces MUST go on the next line after the body. php if ($a === 42) { bar(); } else { foo(); }

Other

For JavaScript, CSS, and SQL you should use 4 spaces, not tabs. The JavaScript coding standard is based on http://javascript.crockford.com/code.html and the CSS coding standard is based on http://make.wordpress.org/core/handbook/coding-standards/css/.

The JavaScript and CSS coding standards are modified to use the same line limit as PHP.

License

STK Addons Website is licensed under GPL version 3. See COPYING for the full license text.

Contact