(From the README)
(Please submit a support request in case you need help in installing this application.)
You need a reasonably recent PHP aware web server and mysql server. I have written it with mysql 4.0 and PHP 4.3 in mind.
For sending emails, the program uses PHPMailer. Copy the two files
class.phpmailer.php and class.smtp.php at
the same level as index.php, repr.php,
etc.
If you do not want to install PHPMailer then update
send.php to send using some other way, and provide your
own send_message function.
First copy the entire archive in some webserver reachable area. THIS IS NOT ENOUGH. Read on for the rest of the installation. No, there is no automated install script.
You can see available languages in the languages
subdirectory, and pick the one you want in the config.php
file. Additional translations are welcome. Do NOT use
default.php. If you want English, use english.php.
Modify the tables.sql file to suit your needs, and
then run it through the mysql client (as a user that is permitted to
create users, grant access rights, create databases and tables)
Note that if you do not want to permit the admin user to modify
spectacles (add/change performances) then you should remove/comment
the corresponding GRANT statements in
tables.sql prior to running it, as well as the
corresponding line in index.php. And remove the
show_edit.php file too, if you want.
You should have three separate users with different passwords, as
described in config-dist.php. If you absolutely can't do
otherwise, you may have all three set to the same user. The reason for
separating those are: 1. In case your config.php file is
leaked, the dbpass and systempass passwords
being different from adminpass, that file would be
essentially useless to the attacker. 2. If there's an sql injection
hole in FreeSeat, separating users will mitigate the damage an
attacker could do. Don't say you haven't been warned.
You need to specify for each theatre in which you are going to sell
tickets where are the seats. You can have a look at theatrevevey.sh or
theatrefribourg.sh to get ideas about how to write a script that will
fill the table for you.
The attributes of the seats table are as follows:
Copy config-dist.php to config.php and
change the variables to suit your needs.
This archive includes an example stylesheet, which is the one I
use. Note that div.narrow refers to an image to be displayed on the
left of most pages. You probably want to change it...
This application contains bindings to Klik & Pay (tm), and to
PayPal (tm). If you want to offer credit card payment through another
provider you need to write the bindings to your credit card payment
application in a file containing the same functions as
klikandpay.php. If you call that file differently then
make sure to update the bindings in klikconfirm.php and
finish.php.
If you want to offer credit card payment, set the appropriate
variables in config.php.
If, on the other hand, you don't want to offer credit card payment,
on the other hand, the easiest way to do it is simply to open
params.php in a browser and tick the 'deactivate'
checkbox in the corresponding field.
I recommend using something like SSL client certificate or some other form of identification on the web server level to only allow https access to the booking administrator.
The system will let people in administrator mode if they can
2 being checked after 1, you should not have to worry about people remotely brute-forcing the password.
A cron job should be ran nightly, executing the cron.php file and
passing the bookingadmin password as parameter, in order to
automatically send payment reminders and delete tickets for people who
don't want to pay.
You can put something like this in your crontab -e or your daily.local
(of course replacing bookingadminpassword by the actual password, and
/path/to/your/freeseat/install/ by your freeseat install path)
sudo -u www /usr/local/bin/php /path/to/your/freeseat/install/cron.php bookingadminpassword