Menu

Tree [452607] master /
 History

HTTPS access


File Date Author Commit
 .settings 2011-09-03 Kari Tolonen Kari Tolonen [f571d7] Ultiorganizer 4.0 moved back to sourceforge.
 admin 2016-06-26 Steffen Mecke Steffen Mecke [31c628] added ability to remove all games from a group
 conf 2013-12-17 Steffen Mecke Steffen Mecke [59c4bd] disable full admin sql access by default
 cust 2016-06-24 Steffen Mecke Steffen Mecke [351514] Scoresheets (WIP)
 ext 2016-06-24 Steffen Mecke Steffen Mecke [659d66] small fix for ext/index
 images 2016-06-23 Steffen Mecke Steffen Mecke [8abecd] added missing image
 lib 2016-06-26 Steffen Mecke Steffen Mecke [31c628] added ability to remove all games from a group
 locale 2016-06-26 Steffen Mecke Steffen Mecke [31c628] added ability to remove all games from a group
 mobile 2016-06-24 Steffen Mecke Steffen Mecke [351514] Scoresheets (WIP)
 plugins 2016-06-23 Steffen Mecke Steffen Mecke [a5723e] fixed result input with game id and refactored ...
 restful 2011-09-03 Kari Tolonen Kari Tolonen [f571d7] Ultiorganizer 4.0 moved back to sourceforge.
 scorekeeper 2016-06-23 Steffen Mecke Steffen Mecke [b14f21] caught up with translations and improved locali...
 script 2016-06-16 Steffen Mecke Steffen Mecke [5e42e6] added confirm leave dialog to mass input pages
 sql 2016-06-23 Steffen Mecke Steffen Mecke [b14f21] caught up with translations and improved locali...
 user 2016-06-24 Steffen Mecke Steffen Mecke [351514] Scoresheets (WIP)
 CHANGELOG.txt 2016-06-26 Steffen Mecke Steffen Mecke [70ff6d] added README, CHANGELOG
 COPYING.txt 2012-11-25 Kari Tolonen Kari Tolonen [2fb426] Refactoring work.
 README.md 2020-05-21 Ari Rantalainen Ari Rantalainen [452607] Updated README with developer instructions
 allclubs.php 2013-12-08 Steffen Mecke Steffen Mecke [af7d04] consequent mode change, mostly to 664
 allcountries.php 2013-12-08 Steffen Mecke Steffen Mecke [af7d04] consequent mode change, mostly to 664
 allplayers.php 2013-12-08 Steffen Mecke Steffen Mecke [af7d04] consequent mode change, mostly to 664
 allteams.php 2013-12-08 Steffen Mecke Steffen Mecke [af7d04] consequent mode change, mostly to 664
 clubcard.php 2013-12-08 Steffen Mecke Steffen Mecke [af7d04] consequent mode change, mostly to 664
 countrycard.php 2013-12-08 Steffen Mecke Steffen Mecke [af7d04] consequent mode change, mostly to 664
 defensestatus.php 2013-12-08 Steffen Mecke Steffen Mecke [af7d04] consequent mode change, mostly to 664
 frontpage.php 2016-06-24 Steffen Mecke Steffen Mecke [8e7bf6] changed some strings back from DFV to Ultiorgan...
 gamecard.php 2016-06-17 Steffen Mecke Steffen Mecke [b54813] sort by rank by default (stable) in seriesstatus
 gameplay.php 2016-06-22 Steffen Mecke Steffen Mecke [816a9f] more translations, more edits
 games.php 2016-06-05 Steffen Mecke Steffen Mecke [634dc8] added comments for seasons and divisions
 ical.php 2013-12-08 Steffen Mecke Steffen Mecke [af7d04] consequent mode change, mostly to 664
 index.php 2014-12-09 Steffen Mecke Steffen Mecke [ddcb84] use named session
 install.php 2016-06-07 Steffen Mecke Steffen Mecke [a9bc8a] fixed a lot of potentially unsafe entities (WIP)
 localization.php 2013-12-08 Steffen Mecke Steffen Mecke [af7d04] consequent mode change, mostly to 664
 login_failed.php 2016-06-24 Steffen Mecke Steffen Mecke [351514] Scoresheets (WIP)
 logout.php 2013-12-08 Steffen Mecke Steffen Mecke [af7d04] consequent mode change, mostly to 664
 menufunctions.php 2016-06-26 Steffen Mecke Steffen Mecke [31c628] added ability to remove all games from a group
 played.php 2013-12-08 Steffen Mecke Steffen Mecke [af7d04] consequent mode change, mostly to 664
 playercard.php 2016-06-08 Steffen Mecke Steffen Mecke [d93777] amend to comments
 playerlist.php 2016-06-17 Steffen Mecke Steffen Mecke [b54813] sort by rank by default (stable) in seriesstatus
 poolstatus.php 2016-06-24 Steffen Mecke Steffen Mecke [351514] Scoresheets (WIP)
 privacy.php 2013-12-08 Steffen Mecke Steffen Mecke [af7d04] consequent mode change, mostly to 664
 register.php 2016-06-22 Steffen Mecke Steffen Mecke [6b5a34] finished translations
 reservationinfo.php 2013-12-08 Steffen Mecke Steffen Mecke [af7d04] consequent mode change, mostly to 664
 result.php 2016-06-23 Steffen Mecke Steffen Mecke [a5723e] fixed result input with game id and refactored ...
 scorestatus.php 2013-12-08 Steffen Mecke Steffen Mecke [af7d04] consequent mode change, mostly to 664
 seasonlist.php 2013-12-08 Steffen Mecke Steffen Mecke [af7d04] consequent mode change, mostly to 664
 seriesstatus.php 2016-06-20 Steffen Mecke Steffen Mecke [9c1672] completed WFDF spirit support
 statistics.php 2016-06-21 Steffen Mecke Steffen Mecke [368caa] entered translations, edited texts
 teamcard.php 2016-06-17 Steffen Mecke Steffen Mecke [b54813] sort by rank by default (stable) in seriesstatus
 teams.php 2016-06-17 Steffen Mecke Steffen Mecke [c3cad6] refactored season placement
 timetables.php 2013-12-08 Steffen Mecke Steffen Mecke [af7d04] consequent mode change, mostly to 664
 user_guide.php 2013-12-08 Steffen Mecke Steffen Mecke [af7d04] consequent mode change, mostly to 664
 view_ids.inc.php 2013-12-08 Steffen Mecke Steffen Mecke [af7d04] consequent mode change, mostly to 664

Read Me

This is the Ultimate Organizer, a web application for online score keeping of Ultimate tournaments. To find out more, visit project homepage: https://sourceforge.net/apps/trac/ultiorganizer/wiki. To read more about Ultimate sport visit www.wfdf.org .

What is here?

The files are organized as follows:

  • php files in main directory Only index.php is called directly. All other pages are called vi http://hostname.org/?view=pageXYZ. The pages in the main directory are accessible to all users.
  • user The pages in this directory are accessible to logged in users. Maintaining user and team info and result reporting.
  • admin The pages in this directory are for administrators (including series and event administrators).
  • lib Contains utilities used by all pages. SQL statements should only go in here!
  • script JavaScript files
  • conf Contains config.inc.php, which contains mysql user information and passwort and other server configuration. It should be writable during installation, but later you should restrict access to it as much as possible!
  • cust Contains skins for customized Ultiorganizer instances.
  • locale Contains translations. To update, simply edit the html files. To update translations in php pages you need the gettext utilities. The simplest way to add translations is by calling poedit locales/de_DE.utf8/LC_MESSAGES/messages.po. Then call 'update', add translations and save.
  • images Contains icons, flags, and, by default, the image and media upload directory.
  • mobile Contains pages for small screens on mobile devices.
  • scorekeeper Another take on mobile pages, using jQuery
  • ext Contains pages to be embedded in external pages. See ?view=ext/index
  • plugins Mainly tools for maintenance, export, import. Some are rather experimental!
  • sql database utilities
  • restful ???!!!

Installation

To run Ultiorganizer you need a web server, php 4.4 and a mysql database.

To install Ultiorganizer simply copy the files to your web server, call http://yourpage.com/install.php and follow the instructions.

Development

To enable fast start to Ultiorganizer development follow the instructions below to set up a development environment using Docker containers.

In order to install Docker follow the instructions on https://docs.docker.com/get-docker/

Create a network

Adding a Docker network allows you to refer to the database with the contaniers name instead of using an ip-address in addition to isolating your development environment from your other containers. This step is optiona but recommended.

docker network create ultiorganizer-net

Create the DB

MySQL 8 changed the default characterset to utf8mb4 and the currently used MySQL PHP extension doesn't support it. Therefore MySQL 5 is used for development.

export MYSQL_ROOT_PASSWORD='<root password>'

docker run --detach --name=ultiorganizer-db --network ultiorganizer-net --env "MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD" mysql:5.7

MySQL 5.7.5 and up implements detection of functional dependence. As there are queries in Ultiorganizer that refer to columns that are not listed in the GROUP BY section errors occur. These can be circumvented by disabling the new functionality.

docker exec ultiorganizer-db mysql --user=root --password="$MYSQL_ROOT_PASSWORD" --execute="CREATE DATABASE ultiorganizer;SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));"

More details in: https://dev.mysql.com/doc/refman/5.7/en/group-by-handling.html

Create the web server

The original MySQL PHP driver has been deprecated in PHP 5.5.0 and removed in PHP 7.0. Therefore Ultiorganizer can in it's current state be developed only with PHP 5.

The command below should be run ini the folder where you have cloned your Ultiorganizer Git repo. If not then substitute $PWD with a path to the code or copy the code to the container.

docker run --network ultiorganizer-net --name=ultiorganizer --publish 8080:80 --volume "$PWD":/var/www/html --detach php:5-apache

docker run --network ultiorganizer-net --name=ultiorganizer --publish 8080:80 -v "$PWD":/var/www/html -d php:5-apache

The base PHP apache image is missing some libraries and extensions that need to be installed.

docker exec ultiorganizer sh -c 'apt-get --assume-yes update && apt-get --assume-yes install zlib1g-dev libpng-dev'

docker exec ultiorganizer sh -c 'docker-php-ext-install mysql gettext gd mbstring && apachectl restart'

Now you should be able to connect to your development Ultiorganizer by poiniting your browser to http://localhost:8080/

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.