Leaguerunner is a web-based application for managing scheduling, score submission and standings for an Ultimate Frisbee league.
PHP Perl JavaScript
Latest commit c9f2af4 Jan 7, 2013 @dave0 Feature: iCalendar now uses actual field address
This allows mobile users (at least, on Android and iPhone) to click on the
location in their calendar and get a map to the field.


Leaguerunner - PHP software to run an ultimate league

Leaguerunner is a LAMP application for managing an Ultimate league.  It runs
the Ottawa-Carleton Ultimate Association's summer, fall, and winter indoor
leagues, handling over 500 teams and 6000 registered players in more than 60
different divisions and three seasons of play.


  1) Webserver with PHP 5.x, with PDO (PHP Data Objects) extension.
     PDO ships with PHP 5.1, and is available as a PECL extension for 5.0

  2) MySQL database, and the relevant PHP support for MySQL

  3) PHP PEAR libraries

  4) PHP jpgraph library

  5) The ability to run Perl scripts from the commandline for
     maintenance tasks.  The Perl DBI and DBD::mysql modules are required for

  6) (optional) mod_rewrite is required if you want clean URLs
     (if you want http://your-server/leaguerunner/home instead of

Once the prerequisites are installed and configured normally (nothing really
special is needed for Leaguerunner), you can install the software.

To install Leaguerunner:
  1) copy all of the src/ directory to some location under your server's web
     root.  If your site's root is at /var/www/html, /var/www/html/leaguerunner
     is a good place to put it.  You can also run it from a user's public_html
     directory if you wish.

  2) create the database.  First, you need to create it.  This can be done
     by running:
        mysql -uroot -p
     and logging in as the MySQL root user.  Once logged in, run the following
     SQL commands:
       CREATE DATABASE leaguerunner;
       GRANT ALL ON leaguerunner.* TO leaguerunner_user@localhost IDENTIFIED BY 'password';
     Be sure to choose an appropriate username instead of "leaguerunner_user"
     and a better password in place of "password".

  3) Change into the directory in which you installed Leaguerunner, and edit
     the leaguerunner.conf file. You may need to create one anew by copying
     leaguerunner.conf.example.  In this file, you should change, at minimum:

      - dsn, username, and password values in the [database] section for database connections

      - base_url in the [paths] section for the URL to use when accessing Leaguerunner.

  4) Run
	perl/bin/db-init-or-upgrade.pl --action=install --config=/path/to/leaguerunner.conf

     using the path to the leaguerunner.conf you just edited.  This will
     install the necessary tables for Leaguerunner.

Once this is complete, you should be able to point your web browser at the base
URL and log in using the user 'admin' with a password of 'admin'.

If you can log in, but get an error finding /home:
  1) check that mod_rewrite is enabled and that the .htaccess file can override
     the config files. The keywords to search for in httpd.conf (apache) are
     "mod_rewrite" and "AllowOverride".

  2) if you do not have mod_rewrite, ensure that you have not enabled clean URLs
     for your configuration (the default is to have them turned off in new
     installations).  Since this configuration setting is made using the web
     UI, you will need to directly modify the database to turn it off and gain
     access to the web interface. To do this, execute the SQL:
        UPDATE variable SET value = '0' WHERE name = 'clean_url';