From 3024daba0ebd70626f8fd2e4bdd035eb72855180 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Tue, 4 Nov 2014 11:06:17 -0500 Subject: [PATCH 001/168] Changed tabs to spaces --- airtime_mvc/application/Bootstrap.php | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/airtime_mvc/application/Bootstrap.php b/airtime_mvc/application/Bootstrap.php index fddd5911e..d3f404b45 100644 --- a/airtime_mvc/application/Bootstrap.php +++ b/airtime_mvc/application/Bootstrap.php @@ -17,7 +17,7 @@ require_once "Timezone.php"; require_once "Auth.php"; require_once __DIR__.'/forms/helpers/ValidationTypes.php'; require_once __DIR__.'/controllers/plugins/RabbitMqPlugin.php'; - + require_once (APPLICATION_PATH."/logging/Logging.php"); Logging::setLogPath('/var/log/airtime/zendphp.log'); @@ -105,18 +105,18 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap $view->headScript()->appendScript("$.i18n.setDictionary(general_dict)"); $view->headScript()->appendScript("var baseUrl='$baseUrl'"); - //These timezones are needed to adjust javascript Date objects on the client to make sense to the user's set timezone - //or the server's set timezone. + //These timezones are needed to adjust javascript Date objects on the client to make sense to the user's set timezone + //or the server's set timezone. $serverTimeZone = new DateTimeZone(Application_Model_Preference::GetDefaultTimezone()); $now = new DateTime("now", $serverTimeZone); $offset = $now->format("Z") * -1; $view->headScript()->appendScript("var serverTimezoneOffset = {$offset}; //in seconds"); if (class_exists("Zend_Auth", false) && Zend_Auth::getInstance()->hasIdentity()) { - $userTimeZone = new DateTimeZone(Application_Model_Preference::GetUserTimezone()); - $now = new DateTime("now", $userTimeZone); - $offset = $now->format("Z") * -1; - $view->headScript()->appendScript("var userTimezoneOffset = {$offset}; //in seconds"); + $userTimeZone = new DateTimeZone(Application_Model_Preference::GetUserTimezone()); + $now = new DateTime("now", $userTimeZone); + $offset = $now->format("Z") * -1; + $view->headScript()->appendScript("var userTimezoneOffset = {$offset}; //in seconds"); } //scripts for now playing bar @@ -167,7 +167,7 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap protected function _initZFDebug() { - Zend_Controller_Front::getInstance()->throwExceptions(true); + Zend_Controller_Front::getInstance()->throwExceptions(false); /* if (APPLICATION_ENV == "development") { From e8950c88159df1a2452f0d688fa1fd4a0003e56b Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Tue, 4 Nov 2014 11:07:24 -0500 Subject: [PATCH 002/168] Changed tabs to spaces --- .../application/controllers/ApiController.php | 2 +- airtime_mvc/public/index.php | 18 ++++++++---------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/airtime_mvc/application/controllers/ApiController.php b/airtime_mvc/application/controllers/ApiController.php index 4001f7d50..9e4d4fdef 100644 --- a/airtime_mvc/application/controllers/ApiController.php +++ b/airtime_mvc/application/controllers/ApiController.php @@ -423,7 +423,7 @@ class ApiController extends Zend_Controller_Action * variables in the result to reflect the given timezone. * * @param object $result reference to the object to send back to the user - * @param string $timezone the user's timezone parameter value + * @param string $timezone the user's timezone parameter value * @param boolean $upcase whether the timezone output should be upcased */ private function applyLiveTimezoneAdjustments(&$result, $timezone, $upcase) diff --git a/airtime_mvc/public/index.php b/airtime_mvc/public/index.php index 5fcfa36d7..abfcd36dd 100644 --- a/airtime_mvc/public/index.php +++ b/airtime_mvc/public/index.php @@ -5,23 +5,21 @@ // but the default installation configs are likely to be installed by // amature users on the setup that does not have https. Forcing // cookie_secure on non https would result in confusing login problems. -if(!empty($_SERVER['HTTPS'])){ - ini_set('session.cookie_secure', '1'); +if(!empty($_SERVER['HTTPS'])) { + ini_set('session.cookie_secure', '1'); } ini_set('session.cookie_httponly', '1'); error_reporting(E_ALL|E_STRICT); -function exception_error_handler($errno, $errstr, $errfile, $errline) -{ - //Check if the statement that threw this error wanted its errors to be +function exception_error_handler($errno, $errstr, $errfile, $errline) { + //Check if the statement that threw this error wanted its errors to be //suppressed. If so then return without with throwing exception. - if (0 === error_reporting()) { - return; - } + if (0 === error_reporting()) return; throw new ErrorException($errstr, $errno, 0, $errfile, $errline); return false; } + set_error_handler("exception_error_handler"); // Define path to application directory @@ -57,8 +55,8 @@ if (file_exists('/usr/share/php/libzend-framework-php')) { /** Zend_Application */ require_once 'Zend/Application.php'; $application = new Zend_Application( - APPLICATION_ENV, - APPLICATION_PATH . '/configs/application.ini' + APPLICATION_ENV, + APPLICATION_PATH . '/configs/application.ini' ); require_once (APPLICATION_PATH."/logging/Logging.php"); From 298d8630f3201b9420ba87c0ef887a804dbcb26d Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Tue, 4 Nov 2014 11:07:56 -0500 Subject: [PATCH 003/168] Initial commit of InstallWizardController --- .../controllers/InstallWizardController.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 airtime_mvc/application/controllers/InstallWizardController.php diff --git a/airtime_mvc/application/controllers/InstallWizardController.php b/airtime_mvc/application/controllers/InstallWizardController.php new file mode 100644 index 000000000..ac9da6475 --- /dev/null +++ b/airtime_mvc/application/controllers/InstallWizardController.php @@ -0,0 +1,12 @@ +view->layout()->disableLayout(); + $this->_helper->viewRenderer->setNoRender(true); + } + + public function runAirtimeConfigurationAction() { + + } +} From 162005e2259d501b199b9e1354897e26052b1bf4 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Wed, 26 Nov 2014 10:35:54 -0500 Subject: [PATCH 004/168] Initial work on new installer --- installer/airtime/airtime.conf | 32 ++++++++ installer/apache/airtime-vhost | 12 +++ installer/install.sh | 142 +++++++++++++++++++++++++++++++++ 3 files changed, 186 insertions(+) create mode 100644 installer/airtime/airtime.conf create mode 100644 installer/apache/airtime-vhost create mode 100644 installer/install.sh diff --git a/installer/airtime/airtime.conf b/installer/airtime/airtime.conf new file mode 100644 index 000000000..7495bd9f3 --- /dev/null +++ b/installer/airtime/airtime.conf @@ -0,0 +1,32 @@ +[database] +host = localhost +dbname = airtime +dbuser = airtime +dbpass = airtime + +[rabbitmq] +host = 127.0.0.1 +port = 5672 +user = guest +password = guest +vhost = / + +[general] +api_key = AAA +web_server_user = www-data +airtime_dir = x +base_url = localhost +base_port = 80 +base_dir = '/' + +;How many hours ahead of time should Airtime playout engine (PYPO) +;cache scheduled media files. +cache_ahead_hours = 1 + +[monit] +monit_user = guest +monit_password = airtime + +[soundcloud] +connection_retries = 3 +time_between_retries = 60 diff --git a/installer/apache/airtime-vhost b/installer/apache/airtime-vhost new file mode 100644 index 000000000..1f42bdf02 --- /dev/null +++ b/installer/apache/airtime-vhost @@ -0,0 +1,12 @@ + + ServerAdmin foo@bar.org + DocumentRoot /usr/share/airtime/public + php_admin_value upload_tmp_dir /tmp + + + DirectoryIndex index.php + AllowOverride all + Order allow,deny + Allow from all + + diff --git a/installer/install.sh b/installer/install.sh new file mode 100644 index 000000000..adc973a89 --- /dev/null +++ b/installer/install.sh @@ -0,0 +1,142 @@ +#!/bin/bash -e +#-e Causes bash script to exit if any of the installers +#return with a non-zero return value. + +if [[ $EUID -ne 0 ]]; then + echo "Please run as root user." + exit 1 +fi + +#Current dir +# Absolute path to this script, e.g. /home/user/bin/foo.sh +SCRIPT=`readlink -f $0` +# Absolute path this script is in, thus /home/user/bin +SCRIPTPATH=`dirname ${SCRIPT}` + +showhelp () { + echo "Usage: airtime-install [options] +--help|-h Displays usage information." + exit 0 +} + +while [ $# -gt 0 ] +do + case "$1" in + (-h|--help) showhelp; exit 0;; + + (--) shift; break;; + (-*) echo "$0: error - unrecognized option $1" 1>&2; exit 1;; + (*) break;; + esac + shift +done + +echo -e " \n****************************************************************" +echo " * _____ .________________________.___ _____ ___________ *" +echo " * / _ \ | \______ \__ ___/| | / \ \_ _____/ *" +echo " * / /_\ \| || _/ | | | |/ \ / \ | __)_ *" +echo " * / | \ || | \ | | | / Y \| \ *" +echo " * \____|__ /___||____|_ / |____| |___\____|__ /_______ / *" +echo " * \/ \/ \/ \/ *" +echo " ****************************************************************" + +echo " ____ ______ ____ ____ __________ __ _________ ____ ____ " +echo " / _ \\____ \_/ __ \ / \ / ___/ _ \| | \_ __ \_/ ___\/ __ \ " +echo " ( <_> ) |_> > ___/| | \ \___ ( <_> ) | /| | \/\ \__\ ___/ " +echo " \____/| __/ \___ >___| / /____ >____/|____/ |__| \___ >___ >" +echo " |__| \/ \/ \/ \/ \/ " +echo " .___.__ __ __ .__ " +echo "____________ __| _/|__| ____ _____ __ ___/ |_ ____ _____ _____ _/ |_|__| ____ ____ " +echo "\_ __ \__ \ / __ | | |/ _ \ \__ \ | | \ __\/ _ \ / \\__ \\ __\ |/ _ \ / \ " +echo " | | \// __ \_/ /_/ | | ( <_> ) / __ \| | /| | ( <_> ) Y Y \/ __ \| | | ( <_> ) | \ " +echo " |__| (____ /\____ | |__|\____/ (____ /____/ |__| \____/|__|_| (____ /__| |__|\____/|___| / " +echo " \/ \/ \/ \/ \/ \/ " + +echo -e "\n-----------------------------------------------------" +echo " * Installing Apache * " +echo "-----------------------------------------------------" + +apt-get -y --force-yes install apache2 libapache2-mod-php5 +set +e +apache2 -v | grep "2\.4" > /dev/null +apacheversion=$? +set -e + +# Apache Config File +if [ "$apacheversion" != "1" ]; then + airtimeconfigfile="airtime.conf" +else + airtimeconfigfile="airtime" +fi + +if [ ! -f /etc/apache2/sites-available/${airtimeconfigfile} ]; then + echo "Creating Apache config for Airtime..." + + cp ${SCRIPTPATH}/../apache/airtime-vhost /etc/apache2/sites-available/${airtimeconfigfile} + a2dissite 000-default + a2ensite airtime +else + echo "Apache config for Airtime already exists, skipping" +fi + +if [ ! -d /usr/share/airtime/public ]; then + echo "Creating Apache web root directory..." + mkdir -p /usr/share/airtime/public/ +else + echo "Airtime web root directory already exists, skipping" +fi + +# PHP Config File for Apache +if [ ! -f /etc/php5/apache2/airtime.ini ]; then + echo "Creating Airtime PHP config for Apache..." + cp ${SCRIPTPATH}/../php5/airtime.ini /etc/php5/apache2/conf.d/airtime.ini +else + echo "Airtime PHP config for Apache already exists, skipping" +fi + +# Enable modules +a2enmod rewrite php5 + +echo -e "\n-----------------------------------------------------" +echo " * Installing PHP * " +echo "-----------------------------------------------------" + +apt-get -y --force-yes install php5 + +#Debian Squeeze only has zendframework package. Newer versions of Ubuntu have zend-framework package. +#Ubuntu Lucid has both zendframework and zend-framework. Difference appears to be that zendframework is for +#1.10 and zend-framework is 1.11 +if [ "$dist" = "Debian" ]; then + apt-get -y --force-yes install zendframework +else + apt-get -y --force-yes install libzend-framework-php +fi + +echo -e "\n-----------------------------------------------------" +echo " * Setting up Airtime * " +echo "-----------------------------------------------------" + +# Clear any previous configuration files +if [ -d "/etc/airtime/" ]; then + rm -rf "/etc/airtime" +else + mkdir "/etc/airtime" +fi + +cp airtime/airtime.conf /etc/airtime/airtime.conf +chown -R www-data:www-data /etc/airtime + +if [ ! -d "/var/log/airtime" ]; then + mkdir "/var/log/airtime" +fi + +chown -R www-data:www-data /var/log/airtime + +apt-get -y --force-yes install postgresql php5-pgsql php5-mysql + +echo -e "\n-----------------------------------------------------" +echo " * Basic Setup DONE! * " +echo " " +echo " To get started with Airtime, visit localhost:5000 " +echo " in your web browser of choice " +echo "-----------------------------------------------------" \ No newline at end of file From f220594831741e49ad0221859ff140e48152198d Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Wed, 26 Nov 2014 11:08:17 -0500 Subject: [PATCH 005/168] Fixes to basic installer --- installer/{install.sh => install} | 14 +++++--------- installer/php/airtime.ini | 8 ++++++++ 2 files changed, 13 insertions(+), 9 deletions(-) rename installer/{install.sh => install} (91%) create mode 100644 installer/php/airtime.ini diff --git a/installer/install.sh b/installer/install similarity index 91% rename from installer/install.sh rename to installer/install index adc973a89..72e00569a 100644 --- a/installer/install.sh +++ b/installer/install @@ -7,12 +7,6 @@ if [[ $EUID -ne 0 ]]; then exit 1 fi -#Current dir -# Absolute path to this script, e.g. /home/user/bin/foo.sh -SCRIPT=`readlink -f $0` -# Absolute path this script is in, thus /home/user/bin -SCRIPTPATH=`dirname ${SCRIPT}` - showhelp () { echo "Usage: airtime-install [options] --help|-h Displays usage information." @@ -31,7 +25,9 @@ do shift done -echo -e " \n****************************************************************" +dist=`lsb_release -is` + +echo -e "\n ****************************************************************" echo " * _____ .________________________.___ _____ ___________ *" echo " * / _ \ | \______ \__ ___/| | / \ \_ _____/ *" echo " * / /_\ \| || _/ | | | |/ \ / \ | __)_ *" @@ -72,7 +68,7 @@ fi if [ ! -f /etc/apache2/sites-available/${airtimeconfigfile} ]; then echo "Creating Apache config for Airtime..." - cp ${SCRIPTPATH}/../apache/airtime-vhost /etc/apache2/sites-available/${airtimeconfigfile} + cp apache/airtime-vhost /etc/apache2/sites-available/${airtimeconfigfile} a2dissite 000-default a2ensite airtime else @@ -89,7 +85,7 @@ fi # PHP Config File for Apache if [ ! -f /etc/php5/apache2/airtime.ini ]; then echo "Creating Airtime PHP config for Apache..." - cp ${SCRIPTPATH}/../php5/airtime.ini /etc/php5/apache2/conf.d/airtime.ini + cp php/airtime.ini /etc/php5/apache2/conf.d/airtime.ini else echo "Airtime PHP config for Apache already exists, skipping" fi diff --git a/installer/php/airtime.ini b/installer/php/airtime.ini new file mode 100644 index 000000000..829e5edd0 --- /dev/null +++ b/installer/php/airtime.ini @@ -0,0 +1,8 @@ +[PHP] +memory_limit = 512M +magic_quotes_gpc = Off +file_uploads = On +upload_tmp_dir = /tmp +apc.write_lock = 1 +apc.slam_defense = 0 + From f9d52c6c00c50523259d32f30aafe1f2ccd88a86 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Wed, 26 Nov 2014 11:38:53 -0500 Subject: [PATCH 006/168] Added Require all granted to apache-vhost --- installer/apache/airtime-vhost | 2 ++ installer/install | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/installer/apache/airtime-vhost b/installer/apache/airtime-vhost index 1f42bdf02..90d4e0373 100644 --- a/installer/apache/airtime-vhost +++ b/installer/apache/airtime-vhost @@ -8,5 +8,7 @@ AllowOverride all Order allow,deny Allow from all + + Require all granted diff --git a/installer/install b/installer/install index 72e00569a..9d1410040 100644 --- a/installer/install +++ b/installer/install @@ -92,6 +92,7 @@ fi # Enable modules a2enmod rewrite php5 +service apache2 restart echo -e "\n-----------------------------------------------------" echo " * Installing PHP * " @@ -130,9 +131,12 @@ chown -R www-data:www-data /var/log/airtime apt-get -y --force-yes install postgresql php5-pgsql php5-mysql +# TODO copy files over to /usr/share/airtime + echo -e "\n-----------------------------------------------------" echo " * Basic Setup DONE! * " echo " " echo " To get started with Airtime, visit localhost:5000 " echo " in your web browser of choice " -echo "-----------------------------------------------------" \ No newline at end of file +echo "-----------------------------------------------------" + From 51627e627079a52a38fc651c2f476148419622dc Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Wed, 26 Nov 2014 16:35:13 -0500 Subject: [PATCH 007/168] More work on simple installer --- installer/airtime/airtime-copy-files.sh | 111 ++++++++++++++++++++++++ installer/airtime/airtime-initialize.sh | 67 ++++++++++++++ installer/install | 4 +- 3 files changed, 181 insertions(+), 1 deletion(-) create mode 100755 installer/airtime/airtime-copy-files.sh create mode 100755 installer/airtime/airtime-initialize.sh diff --git a/installer/airtime/airtime-copy-files.sh b/installer/airtime/airtime-copy-files.sh new file mode 100755 index 000000000..ced1786de --- /dev/null +++ b/installer/airtime/airtime-copy-files.sh @@ -0,0 +1,111 @@ +#!/bin/bash -e +#-e Causes bash script to exit if any of the installers +#return with a non-zero return value. + +if [[ $EUID -ne 0 ]]; then + echo "Please run as root user." + exit 1 +fi + +#copy files to +## /etc/airtime +#+ /etc/apache2/sites-available/airtime +#+ /etc/apache2/sites-enabled/airtime +## /etc/cron.d/ +## /etc/init.d/ +## /etc/monit/conf.d/ +# /usr/lib/airtime/airtime_virtualenv +## /usr/lib/airtime/api_clients +## /usr/lib/airtime/media-monitor +# /srv/airtime/stor +## /usr/lib/airtime/pypo +## /usr/lib/airtime/show-recorder +## /usr/lib/airtime/utils +## /usr/bin/airtime-* +## /usr/share/airtime +## /var/log/airtime +## /var/tmp/airtime + +# Absolute path to this script, e.g. /home/user/bin/foo.sh +SCRIPT=`readlink -f $0` +# Absolute path this script is in, thus /home/user/bin +SCRIPTPATH=`dirname $SCRIPT` + +AIRTIMEROOT=$SCRIPTPATH/../../ + +echo "* Creating /etc/airtime" +mkdir -p /etc/airtime +if [ ! -e /etc/airtime/airtime.conf ]; then + #config file airtime.conf exists, but Airtime is not installed + cp $AIRTIMEROOT/airtime_mvc/build/airtime.conf /etc/airtime +fi + +#if [ -e /etc/airtime/airtime.conf -a "$DO_UPGRADE" -eq "0" ]; then + #config file airtime.conf exists, but Airtime is not installed +# mv /etc/airtime/airtime.conf airtime.conf.bak +# cp $AIRTIMEROOT/airtime_mvc/build/airtime.conf /etc/airtime +#fi + + +echo "* Creating /etc/monit/conf.d/monit-airtime-generic.cfg" +mkdir -p /etc/monit/conf.d/ +if [ ! -e /etc/monit/conf.d/monit-airtime-generic.cfg ]; then + rm -f /etc/monit/conf.d/*airtime* + cp $AIRTIMEROOT/python_apps/monit/monit-airtime-generic.cfg /etc/monit/conf.d/ +fi + + +echo "* Creating /etc/cron.d/airtime-crons" +HOUR=$(($RANDOM%24)) +MIN=$(($RANDOM%60)) +echo "$MIN $HOUR * * * root /usr/lib/airtime/utils/phone_home_stat" > /etc/cron.d/airtime-crons + +echo "* Creating /usr/lib/airtime" +if [ "$python_service" -eq "0" ]; then + python $AIRTIMEROOT/python_apps/api_clients/install/api_client_install.py + + if [ "$mediamonitor" = "t" ]; then + python $AIRTIMEROOT/python_apps/media-monitor/install/media-monitor-copy-files.py + fi + if [ "$pypo" = "t" ]; then + python $AIRTIMEROOT/python_apps/pypo/install/pypo-copy-files.py + fi +fi + +cp -R $AIRTIMEROOT/utils /usr/lib/airtime +cp -R $AIRTIMEROOT/python_apps/std_err_override /usr/lib/airtime + +echo "* Creating symbolic links in /usr/bin" +#create symbolic links +ln -sf /usr/lib/airtime/utils/airtime-import/airtime-import /usr/bin/airtime-import +ln -sf /usr/lib/airtime/utils/airtime-update-db-settings /usr/bin/airtime-update-db-settings +ln -sf /usr/lib/airtime/utils/airtime-check-system /usr/bin/airtime-check-system +ln -sf /usr/lib/airtime/utils/airtime-log /usr/bin/airtime-log +ln -sf /usr/lib/airtime/utils/airtime-test-soundcard /usr/bin/airtime-test-soundcard +ln -sf /usr/lib/airtime/utils/airtime-test-stream /usr/bin/airtime-test-stream +ln -sf /usr/lib/airtime/utils/airtime-silan /usr/bin/airtime-silan + +echo "* Creating /var/log/airtime" +mkdir -p /var/log/airtime +chmod a+x /var/log/airtime +chown www-data:www-data /var/log/airtime/ +chown pypo:pypo /var/log/airtime/pypo +chown pypo:pypo /var/log/airtime/pypo-liquidsoap + + +if [ "$web" = "t" ]; then + echo "* Creating /usr/share/airtime" + rm -rf "/usr/share/airtime" + mkdir -p /usr/share/airtime + cp -R $AIRTIMEROOT/airtime_mvc/* /usr/share/airtime/ + rm -f /etc/logrotate.d/airtime-php + cp $AIRTIMEROOT/airtime_mvc/build/airtime-php.logrotate /etc/logrotate.d/airtime-php +fi + +echo "* Creating /var/log/airtime" +mkdir -p /var/log/airtime + +echo "* Creating /var/tmp/airtime" +mkdir -p /var/tmp/airtime + +#Finished copying files diff --git a/installer/airtime/airtime-initialize.sh b/installer/airtime/airtime-initialize.sh new file mode 100755 index 000000000..63a7c55a2 --- /dev/null +++ b/installer/airtime/airtime-initialize.sh @@ -0,0 +1,67 @@ +#!/bin/bash -e +#-e Causes bash script to exit if any of the installers +#return with a non-zero return value. + +if [[ $EUID -ne 0 ]]; then + echo "Please run as root user." + exit 1 +fi + +set +e +dist=`lsb_release -is` +echo "Generating locales" +for i in `ls /usr/share/airtime/locale | grep ".._.."`; do + if [ "$dist" = "Debian" ]; then + grep -qi "^$i" /etc/locale.gen + if [ $? -ne 0 ]; then + echo "$i.UTF-8 UTF-8" >> /etc/locale.gen + fi + else + locale-gen "$i.utf8" + fi +done +set -e + +if [ "$dist" = "Debian" ]; then + /usr/sbin/locale-gen +fi + +# Absolute path to this script, e.g. /home/user/bin/foo.sh +SCRIPT=`readlink -f $0` +# Absolute path this script is in, thus /home/user/bin +SCRIPTPATH=`dirname $SCRIPT` + +AIRTIMEROOT=$SCRIPTPATH/../../ + +if [ "$mediamonitor" = "t" ]; then + python $AIRTIMEROOT/python_apps/media-monitor/install/media-monitor-initialize.py +fi +if [ "$pypo" = "t" ]; then + python $AIRTIMEROOT/python_apps/pypo/install/pypo-initialize.py +fi + +chmod 600 /etc/monit/conf.d/monit-airtime-generic.cfg +chmod 600 /etc/monit/conf.d/monit-airtime-liquidsoap.cfg +chmod 600 /etc/monit/conf.d/monit-airtime-media-monitor.cfg +chmod 600 /etc/monit/conf.d/monit-airtime-playout.cfg +chmod 600 /etc/monit/conf.d/monit-airtime-liquidsoap.cfg + +# Start monit if it is not running, or restart if it is. +# Need to ensure monit is running before Airtime daemons are run. This is +# so we can ensure they can register with monit to monitor them when they start. +# If monit is already running, this step is still useful as we need monit to +# reload its config files. +invoke-rc.d monit restart + +#give monit some time to boot-up before issuing commands +sleep 1 + +set +e +if [ "$mediamonitor" = "t" ]; then + monit monitor airtime-media-monitor +fi +if [ "$pypo" = "t" ]; then + monit monitor airtime-playout + monit monitor airtime-liquidsoap +fi +set -e diff --git a/installer/install b/installer/install index 9d1410040..3141af7fc 100644 --- a/installer/install +++ b/installer/install @@ -131,7 +131,9 @@ chown -R www-data:www-data /var/log/airtime apt-get -y --force-yes install postgresql php5-pgsql php5-mysql -# TODO copy files over to /usr/share/airtime +# Copy files to /usr/share/airtime +export airtime_service_start='t' +airtime/airtime-copy-files.sh $@ echo -e "\n-----------------------------------------------------" echo " * Basic Setup DONE! * " From 85d965055dd31bb1cbbc10ebaf1f48c09f852f60 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Wed, 26 Nov 2014 17:00:59 -0500 Subject: [PATCH 008/168] More work on simple installer --- installer/airtime/airtime-copy-files.sh | 111 ------------------------ installer/airtime/airtime-initialize.sh | 67 -------------- installer/install | 35 ++++---- 3 files changed, 15 insertions(+), 198 deletions(-) delete mode 100755 installer/airtime/airtime-copy-files.sh delete mode 100755 installer/airtime/airtime-initialize.sh diff --git a/installer/airtime/airtime-copy-files.sh b/installer/airtime/airtime-copy-files.sh deleted file mode 100755 index ced1786de..000000000 --- a/installer/airtime/airtime-copy-files.sh +++ /dev/null @@ -1,111 +0,0 @@ -#!/bin/bash -e -#-e Causes bash script to exit if any of the installers -#return with a non-zero return value. - -if [[ $EUID -ne 0 ]]; then - echo "Please run as root user." - exit 1 -fi - -#copy files to -## /etc/airtime -#+ /etc/apache2/sites-available/airtime -#+ /etc/apache2/sites-enabled/airtime -## /etc/cron.d/ -## /etc/init.d/ -## /etc/monit/conf.d/ -# /usr/lib/airtime/airtime_virtualenv -## /usr/lib/airtime/api_clients -## /usr/lib/airtime/media-monitor -# /srv/airtime/stor -## /usr/lib/airtime/pypo -## /usr/lib/airtime/show-recorder -## /usr/lib/airtime/utils -## /usr/bin/airtime-* -## /usr/share/airtime -## /var/log/airtime -## /var/tmp/airtime - -# Absolute path to this script, e.g. /home/user/bin/foo.sh -SCRIPT=`readlink -f $0` -# Absolute path this script is in, thus /home/user/bin -SCRIPTPATH=`dirname $SCRIPT` - -AIRTIMEROOT=$SCRIPTPATH/../../ - -echo "* Creating /etc/airtime" -mkdir -p /etc/airtime -if [ ! -e /etc/airtime/airtime.conf ]; then - #config file airtime.conf exists, but Airtime is not installed - cp $AIRTIMEROOT/airtime_mvc/build/airtime.conf /etc/airtime -fi - -#if [ -e /etc/airtime/airtime.conf -a "$DO_UPGRADE" -eq "0" ]; then - #config file airtime.conf exists, but Airtime is not installed -# mv /etc/airtime/airtime.conf airtime.conf.bak -# cp $AIRTIMEROOT/airtime_mvc/build/airtime.conf /etc/airtime -#fi - - -echo "* Creating /etc/monit/conf.d/monit-airtime-generic.cfg" -mkdir -p /etc/monit/conf.d/ -if [ ! -e /etc/monit/conf.d/monit-airtime-generic.cfg ]; then - rm -f /etc/monit/conf.d/*airtime* - cp $AIRTIMEROOT/python_apps/monit/monit-airtime-generic.cfg /etc/monit/conf.d/ -fi - - -echo "* Creating /etc/cron.d/airtime-crons" -HOUR=$(($RANDOM%24)) -MIN=$(($RANDOM%60)) -echo "$MIN $HOUR * * * root /usr/lib/airtime/utils/phone_home_stat" > /etc/cron.d/airtime-crons - -echo "* Creating /usr/lib/airtime" -if [ "$python_service" -eq "0" ]; then - python $AIRTIMEROOT/python_apps/api_clients/install/api_client_install.py - - if [ "$mediamonitor" = "t" ]; then - python $AIRTIMEROOT/python_apps/media-monitor/install/media-monitor-copy-files.py - fi - if [ "$pypo" = "t" ]; then - python $AIRTIMEROOT/python_apps/pypo/install/pypo-copy-files.py - fi -fi - -cp -R $AIRTIMEROOT/utils /usr/lib/airtime -cp -R $AIRTIMEROOT/python_apps/std_err_override /usr/lib/airtime - -echo "* Creating symbolic links in /usr/bin" -#create symbolic links -ln -sf /usr/lib/airtime/utils/airtime-import/airtime-import /usr/bin/airtime-import -ln -sf /usr/lib/airtime/utils/airtime-update-db-settings /usr/bin/airtime-update-db-settings -ln -sf /usr/lib/airtime/utils/airtime-check-system /usr/bin/airtime-check-system -ln -sf /usr/lib/airtime/utils/airtime-log /usr/bin/airtime-log -ln -sf /usr/lib/airtime/utils/airtime-test-soundcard /usr/bin/airtime-test-soundcard -ln -sf /usr/lib/airtime/utils/airtime-test-stream /usr/bin/airtime-test-stream -ln -sf /usr/lib/airtime/utils/airtime-silan /usr/bin/airtime-silan - -echo "* Creating /var/log/airtime" -mkdir -p /var/log/airtime -chmod a+x /var/log/airtime -chown www-data:www-data /var/log/airtime/ -chown pypo:pypo /var/log/airtime/pypo -chown pypo:pypo /var/log/airtime/pypo-liquidsoap - - -if [ "$web" = "t" ]; then - echo "* Creating /usr/share/airtime" - rm -rf "/usr/share/airtime" - mkdir -p /usr/share/airtime - cp -R $AIRTIMEROOT/airtime_mvc/* /usr/share/airtime/ - rm -f /etc/logrotate.d/airtime-php - cp $AIRTIMEROOT/airtime_mvc/build/airtime-php.logrotate /etc/logrotate.d/airtime-php -fi - -echo "* Creating /var/log/airtime" -mkdir -p /var/log/airtime - -echo "* Creating /var/tmp/airtime" -mkdir -p /var/tmp/airtime - -#Finished copying files diff --git a/installer/airtime/airtime-initialize.sh b/installer/airtime/airtime-initialize.sh deleted file mode 100755 index 63a7c55a2..000000000 --- a/installer/airtime/airtime-initialize.sh +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/bash -e -#-e Causes bash script to exit if any of the installers -#return with a non-zero return value. - -if [[ $EUID -ne 0 ]]; then - echo "Please run as root user." - exit 1 -fi - -set +e -dist=`lsb_release -is` -echo "Generating locales" -for i in `ls /usr/share/airtime/locale | grep ".._.."`; do - if [ "$dist" = "Debian" ]; then - grep -qi "^$i" /etc/locale.gen - if [ $? -ne 0 ]; then - echo "$i.UTF-8 UTF-8" >> /etc/locale.gen - fi - else - locale-gen "$i.utf8" - fi -done -set -e - -if [ "$dist" = "Debian" ]; then - /usr/sbin/locale-gen -fi - -# Absolute path to this script, e.g. /home/user/bin/foo.sh -SCRIPT=`readlink -f $0` -# Absolute path this script is in, thus /home/user/bin -SCRIPTPATH=`dirname $SCRIPT` - -AIRTIMEROOT=$SCRIPTPATH/../../ - -if [ "$mediamonitor" = "t" ]; then - python $AIRTIMEROOT/python_apps/media-monitor/install/media-monitor-initialize.py -fi -if [ "$pypo" = "t" ]; then - python $AIRTIMEROOT/python_apps/pypo/install/pypo-initialize.py -fi - -chmod 600 /etc/monit/conf.d/monit-airtime-generic.cfg -chmod 600 /etc/monit/conf.d/monit-airtime-liquidsoap.cfg -chmod 600 /etc/monit/conf.d/monit-airtime-media-monitor.cfg -chmod 600 /etc/monit/conf.d/monit-airtime-playout.cfg -chmod 600 /etc/monit/conf.d/monit-airtime-liquidsoap.cfg - -# Start monit if it is not running, or restart if it is. -# Need to ensure monit is running before Airtime daemons are run. This is -# so we can ensure they can register with monit to monitor them when they start. -# If monit is already running, this step is still useful as we need monit to -# reload its config files. -invoke-rc.d monit restart - -#give monit some time to boot-up before issuing commands -sleep 1 - -set +e -if [ "$mediamonitor" = "t" ]; then - monit monitor airtime-media-monitor -fi -if [ "$pypo" = "t" ]; then - monit monitor airtime-playout - monit monitor airtime-liquidsoap -fi -set -e diff --git a/installer/install b/installer/install index 3141af7fc..50f016944 100644 --- a/installer/install +++ b/installer/install @@ -27,7 +27,7 @@ done dist=`lsb_release -is` -echo -e "\n ****************************************************************" +echo -e "\n ****************************************************************" echo " * _____ .________________________.___ _____ ___________ *" echo " * / _ \ | \______ \__ ___/| | / \ \_ _____/ *" echo " * / /_\ \| || _/ | | | |/ \ / \ | __)_ *" @@ -36,17 +36,17 @@ echo " * \____|__ /___||____|_ / |____| |___\____|__ /__ echo " * \/ \/ \/ \/ *" echo " ****************************************************************" -echo " ____ ______ ____ ____ __________ __ _________ ____ ____ " -echo " / _ \\____ \_/ __ \ / \ / ___/ _ \| | \_ __ \_/ ___\/ __ \ " -echo " ( <_> ) |_> > ___/| | \ \___ ( <_> ) | /| | \/\ \__\ ___/ " -echo " \____/| __/ \___ >___| / /____ >____/|____/ |__| \___ >___ >" -echo " |__| \/ \/ \/ \/ \/ " -echo " .___.__ __ __ .__ " -echo "____________ __| _/|__| ____ _____ __ ___/ |_ ____ _____ _____ _/ |_|__| ____ ____ " -echo "\_ __ \__ \ / __ | | |/ _ \ \__ \ | | \ __\/ _ \ / \\__ \\ __\ |/ _ \ / \ " -echo " | | \// __ \_/ /_/ | | ( <_> ) / __ \| | /| | ( <_> ) Y Y \/ __ \| | | ( <_> ) | \ " -echo " |__| (____ /\____ | |__|\____/ (____ /____/ |__| \____/|__|_| (____ /__| |__|\____/|___| / " -echo " \/ \/ \/ \/ \/ \/ " +echo " ____ ______ ____ ____ __________ __ _________ ____ ____ " +echo " / _ \\\\____ \_/ __ \ / \ / ___/ _ \| | \_ __ \_/ ___\/ __ \ " +echo " ( <_> ) |_> > ___/| | \ \___ ( <_> ) | /| | \/\ \__\ ___/ " +echo " \____/| __/ \___ >___| / /____ >____/|____/ |__| \___ >___ > " +echo " |__| \/ \/ \/ \/ \/ " +echo " .___.__ __ __ .__ " +echo "____________ __| _/|__| ____ _____ __ ___/ |_ ____ _____ _____ _/ |_|__| ____ ____ " +echo "\_ __ \__ \ / __ | | |/ _ \ \__ \ | | \ __\/ _ \ / \\\\__ \\\\ __\ |/ _ \ / \ " +echo " | | \// __ \_/ /_/ | | ( <_> ) / __ \| | /| | ( <_> ) Y Y \/ __ \| | | ( <_> ) | \ " +echo " |__| (____ /\____ | |__|\____/ (____ /____/ |__| \____/|__|_| (____ /__| |__|\____/|___| / " +echo " \/ \/ \/ \/ \/ \/ " echo -e "\n-----------------------------------------------------" echo " * Installing Apache * " @@ -115,26 +115,21 @@ echo "-----------------------------------------------------" # Clear any previous configuration files if [ -d "/etc/airtime/" ]; then - rm -rf "/etc/airtime" + rm -rf /etc/airtime/* else - mkdir "/etc/airtime" + mkdir /etc/airtime fi cp airtime/airtime.conf /etc/airtime/airtime.conf chown -R www-data:www-data /etc/airtime if [ ! -d "/var/log/airtime" ]; then - mkdir "/var/log/airtime" + mkdir /var/log/airtime fi chown -R www-data:www-data /var/log/airtime - apt-get -y --force-yes install postgresql php5-pgsql php5-mysql -# Copy files to /usr/share/airtime -export airtime_service_start='t' -airtime/airtime-copy-files.sh $@ - echo -e "\n-----------------------------------------------------" echo " * Basic Setup DONE! * " echo " " From 4a1354c45f90c2153f50e3187eb7999739604251 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Thu, 27 Nov 2014 18:47:05 -0500 Subject: [PATCH 009/168] Work on new WordPress style install process --- .../build/airtime-setup/setup-config.php | 2 + airtime_mvc/build/airtime.conf | 32 ------ airtime_mvc/public/airtime-boot.php | 82 ++++++++++++++ airtime_mvc/public/config-check.php | 107 ++++++++++++++++++ airtime_mvc/public/index.php | 106 ++++++----------- installer/install | 21 ++-- 6 files changed, 233 insertions(+), 117 deletions(-) create mode 100644 airtime_mvc/build/airtime-setup/setup-config.php delete mode 100644 airtime_mvc/build/airtime.conf create mode 100644 airtime_mvc/public/airtime-boot.php create mode 100644 airtime_mvc/public/config-check.php diff --git a/airtime_mvc/build/airtime-setup/setup-config.php b/airtime_mvc/build/airtime-setup/setup-config.php new file mode 100644 index 000000000..a4abe2daf --- /dev/null +++ b/airtime_mvc/build/airtime-setup/setup-config.php @@ -0,0 +1,2 @@ +bootstrap()->run(); + } +} catch (Exception $e) { + echo $e->getMessage(); + echo "
";
+    echo $e->getTraceAsString();
+    echo "
"; + Logging::info($e->getMessage()); + if (VERBOSE_STACK_TRACE) { + Logging::info($e->getTraceAsString()); + } else { + Logging::info($e->getTrace()); + } +} + diff --git a/airtime_mvc/public/config-check.php b/airtime_mvc/public/config-check.php new file mode 100644 index 000000000..f877e77b6 --- /dev/null +++ b/airtime_mvc/public/config-check.php @@ -0,0 +1,107 @@ + + + + + + + + +

+ Airtime Configuration Checklist +

+ + + + + + + + + + + + + + + + + + + + + +
+ Airtime Configuration +
+ Component + + Description + + Solution +
+ Zend + + PHP MVC Framework + > + > + Ubuntu: try running sudo apt-get install libzend-framework-php +
Debian: try running sudo apt-get install zendframework + +
+ Database + + PostgreSQL data store for Airtime + > + > + Try running sudo apt-get install php5-pgsql php5-mysql + +
+ + +

+ Looks like something went wrong! If you've tried everything we've recommended in the table above, come + visit our forums + or check out the manual. +

+ +
+

+ PHP Extension List +

+

+ +

+bootstrap()->run(); - } -} catch (Exception $e) { - echo $e->getMessage(); - echo "
";
-    echo $e->getTraceAsString();
-    echo "
"; - Logging::info($e->getMessage()); - if (VERBOSE_STACK_TRACE) { - Logging::info($e->getTraceAsString()); - } else { - Logging::info($e->getTrace()); - } +if (array_key_exists('config', $_GET)) { + showConfigCheckPage(); +} + +// If a configuration file exists, forward to our boot script +if (file_exists(BUILD_PATH . AIRTIME_CONFIG)) { + airtimeConfigureDatabase(); + + // If the database doesn't exist, or is improperly configured, + // show the user a configuration error page so they know what went wrong + if (!airtimeCheckDatabase()) { + showConfigCheckPage(); + } + + require_once(WEB_ROOT_PATH . 'airtime-boot.php'); +} +// Otherwise, we'll need to run our configuration setup +else { + require_once(BUILD_PATH . SETUP_DIR . 'setup-config.php'); } diff --git a/installer/install b/installer/install index 50f016944..043d9cae6 100644 --- a/installer/install +++ b/installer/install @@ -36,17 +36,17 @@ echo " * \____|__ /___||____|_ / |____| |___\____|__ /__ echo " * \/ \/ \/ \/ *" echo " ****************************************************************" -echo " ____ ______ ____ ____ __________ __ _________ ____ ____ " +echo " ____ ______ ____ ____ __________ __ _________ ____ ____ " echo " / _ \\\\____ \_/ __ \ / \ / ___/ _ \| | \_ __ \_/ ___\/ __ \ " -echo " ( <_> ) |_> > ___/| | \ \___ ( <_> ) | /| | \/\ \__\ ___/ " -echo " \____/| __/ \___ >___| / /____ >____/|____/ |__| \___ >___ > " -echo " |__| \/ \/ \/ \/ \/ " -echo " .___.__ __ __ .__ " -echo "____________ __| _/|__| ____ _____ __ ___/ |_ ____ _____ _____ _/ |_|__| ____ ____ " -echo "\_ __ \__ \ / __ | | |/ _ \ \__ \ | | \ __\/ _ \ / \\\\__ \\\\ __\ |/ _ \ / \ " -echo " | | \// __ \_/ /_/ | | ( <_> ) / __ \| | /| | ( <_> ) Y Y \/ __ \| | | ( <_> ) | \ " -echo " |__| (____ /\____ | |__|\____/ (____ /____/ |__| \____/|__|_| (____ /__| |__|\____/|___| / " -echo " \/ \/ \/ \/ \/ \/ " +echo " ( <_> ) |_> > ___/| | \ \___ ( <_> ) | /| | \/\ \__\ ___/ " +echo " \____/| __/ \___ >___| / /____ >____/|____/ |__| \___ >___ > " +echo " |__| \/ \/ \/ \/ \/ " +echo " .___.__ __ __ .__ " +echo "____________ __| _/|__| ____ _____ __ ___/ |_ ____ _____ _____ _/ |_|__| ____ ____ " +echo "\_ __ \__ \ / __ | | |/ _ \ \__ \ | | \ __\/ _ \ / \\\\__ \\\\ __\ |/ _ \ / \ " +echo " | | \// __ \_/ /_/ | | ( <_> ) / __ \| | /| | ( <_> ) Y Y \/ __ \| | | ( <_> ) | \ " +echo " |__| (____ /\____ | |__|\____/ (____ /____/ |__| \____/|__|_| (____ /__| |__|\____/|___| / " +echo " \/ \/ \/ \/ \/ \/ " echo -e "\n-----------------------------------------------------" echo " * Installing Apache * " @@ -136,4 +136,3 @@ echo " " echo " To get started with Airtime, visit localhost:5000 " echo " in your web browser of choice " echo "-----------------------------------------------------" - From d2f41eb8beee1cf73bde056bc9f74ecd953fb02b Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Thu, 27 Nov 2014 18:48:03 -0500 Subject: [PATCH 010/168] New files for install process --- airtime_mvc/build/airtime-setup/load.php | 38 ++++++ airtime_mvc/build/airtime.conf | 147 +++++++++++++++++++++ airtime_mvc/build/airtime.example.conf | 142 ++++++++++++++++++++ airtime_mvc/public/bootstrap.3.3.1.min.css | 5 + 4 files changed, 332 insertions(+) create mode 100644 airtime_mvc/build/airtime-setup/load.php create mode 100644 airtime_mvc/build/airtime.conf create mode 100644 airtime_mvc/build/airtime.example.conf create mode 100644 airtime_mvc/public/bootstrap.3.3.1.min.css diff --git a/airtime_mvc/build/airtime-setup/load.php b/airtime_mvc/build/airtime-setup/load.php new file mode 100644 index 000000000..80cc2a307 --- /dev/null +++ b/airtime_mvc/build/airtime-setup/load.php @@ -0,0 +1,38 @@ +.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:before,:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:hover,a:focus{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:400;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=radio],input[type=checkbox]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px}input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px}input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.radio input[type=radio],.radio-inline input[type=radio],.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox]{position:absolute;margin-top:4px \9;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type=radio][disabled],input[type=checkbox][disabled],input[type=radio].disabled,input[type=checkbox].disabled,fieldset[disabled] input[type=radio],fieldset[disabled] input[type=checkbox]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm,.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm,select.form-group-sm .form-control{height:30px;line-height:30px}textarea.input-sm,textarea.form-group-sm .form-control,select[multiple].input-sm,select[multiple].form-group-sm .form-control{height:auto}.input-lg,.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg,select.form-group-lg .form-control{height:46px;line-height:46px}textarea.input-lg,textarea.form-group-lg .form-control,select[multiple].input-lg,select[multiple].form-group-lg .form-control{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.3px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default.focus,.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary:hover,.btn-primary:focus,.btn-primary.focus,.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success.focus,.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info.focus,.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning.focus,.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger.focus,.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type=submit].btn-block,input[type=reset].btn-block,input[type=button].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none;visibility:hidden}.collapse.in{display:block;visibility:visible}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px solid}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=radio],[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:400;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=radio],.input-group-addon input[type=checkbox]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none;visibility:hidden}.tab-content>.active{display:block;visibility:visible}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important;visibility:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media (min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;-webkit-box-shadow:none;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1)}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type=radio],.navbar-form .checkbox input[type=checkbox]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px 15px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding:48px 0}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-right:15px;padding-left:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:absolute;top:0;right:0;left:0;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.4;visibility:visible;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;font-weight:400;line-height:1.42857143;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;perspective:1000}.carousel-inner>.item.next,.carousel-inner>.item.active.right{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{display:table;content:" "}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none!important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} \ No newline at end of file From 0b772220133e51fb3904fc7fa6bfbf02e744885b Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Thu, 27 Nov 2014 19:10:23 -0500 Subject: [PATCH 011/168] More work on WordPress style installer --- airtime_mvc/build/airtime-setup/load.php | 16 +++++++++-- airtime_mvc/public/index.php | 36 ++++++++++++++++-------- 2 files changed, 37 insertions(+), 15 deletions(-) diff --git a/airtime_mvc/build/airtime-setup/load.php b/airtime_mvc/build/airtime-setup/load.php index 80cc2a307..aa38db8c3 100644 --- a/airtime_mvc/build/airtime-setup/load.php +++ b/airtime_mvc/build/airtime-setup/load.php @@ -1,8 +1,18 @@ Date: Fri, 28 Nov 2014 15:30:11 -0500 Subject: [PATCH 012/168] More work on new installer --- airtime_mvc/application/Bootstrap.php | 22 ++- .../{public => application}/airtime-boot.php | 12 +- .../application/configs/config-check.php | 182 ++++++++++++++++++ airtime_mvc/build/airtime-setup/load.php | 70 +++++-- .../build/airtime-setup/setup-config.php | 16 ++ airtime_mvc/public/config-check.php | 107 ---------- .../bootstrap-3.3.1.min.css} | 0 airtime_mvc/public/index.php | 22 ++- 8 files changed, 279 insertions(+), 152 deletions(-) rename airtime_mvc/{public => application}/airtime-boot.php (84%) create mode 100644 airtime_mvc/application/configs/config-check.php delete mode 100644 airtime_mvc/public/config-check.php rename airtime_mvc/public/{bootstrap.3.3.1.min.css => css/bootstrap-3.3.1.min.css} (100%) diff --git a/airtime_mvc/application/Bootstrap.php b/airtime_mvc/application/Bootstrap.php index 465698b2e..9acf6f7f6 100644 --- a/airtime_mvc/application/Bootstrap.php +++ b/airtime_mvc/application/Bootstrap.php @@ -1,13 +1,17 @@ getResource('view'); - $view->addHelperPath('../application/views/helpers', 'Airtime_View_Helper'); + $view->addHelperPath(APPLICATION_PATH . 'views/helpers', 'Airtime_View_Helper'); } protected function _initTitle() diff --git a/airtime_mvc/public/airtime-boot.php b/airtime_mvc/application/airtime-boot.php similarity index 84% rename from airtime_mvc/public/airtime-boot.php rename to airtime_mvc/application/airtime-boot.php index cc0430f34..052755250 100644 --- a/airtime_mvc/public/airtime-boot.php +++ b/airtime_mvc/application/airtime-boot.php @@ -32,16 +32,16 @@ defined('VERBOSE_STACK_TRACE') // Ensure library/ is on include_path set_include_path(implode(PATH_SEPARATOR, array( get_include_path(), - realpath(APPLICATION_PATH . '/../library') + realpath(LIB_PATH) ))); -set_include_path(APPLICATION_PATH . '/common' . PATH_SEPARATOR . get_include_path()); +set_include_path(APPLICATION_PATH . 'common' . PATH_SEPARATOR . get_include_path()); //Propel classes. -set_include_path(APPLICATION_PATH . '/models' . PATH_SEPARATOR . get_include_path()); +set_include_path(APPLICATION_PATH . 'models' . PATH_SEPARATOR . get_include_path()); //Controller plugins. -set_include_path(APPLICATION_PATH . '/controllers/plugins' . PATH_SEPARATOR . get_include_path()); +set_include_path(APPLICATION_PATH . 'controllers/plugins' . PATH_SEPARATOR . get_include_path()); //Zend framework if (file_exists('/usr/share/php/libzend-framework-php')) { @@ -52,10 +52,10 @@ if (file_exists('/usr/share/php/libzend-framework-php')) { require_once 'Zend/Application.php'; $application = new Zend_Application( APPLICATION_ENV, - APPLICATION_PATH . '/configs/application.ini' + CONFIG_PATH . 'application.ini' ); -require_once(APPLICATION_PATH . "/logging/Logging.php"); +require_once(APPLICATION_PATH . "logging/Logging.php"); Logging::setLogPath('/var/log/airtime/zendphp.log'); // Create application, bootstrap, and run diff --git a/airtime_mvc/application/configs/config-check.php b/airtime_mvc/application/configs/config-check.php new file mode 100644 index 000000000..c5e940565 --- /dev/null +++ b/airtime_mvc/application/configs/config-check.php @@ -0,0 +1,182 @@ + + + + + + + + +

+
+ Configuration Checklist +

+ + + + + + + + +
+ Component + + Description + + Solution +
+ +
+ + + + + + + + + + + + + + +
+ PHP Dependencies +
+ Zend + + Zend MVC Framework + > + > + Ubuntu: try running sudo apt-get install libzend-framework-php +
Debian: try running sudo apt-get install zendframework + +
+ Postgres + + PDO and PostgreSQL libraries + > + > + Try running sudo apt-get install php5-pgsql + +
+ + + + + + + + + + +
+ External Services +
+ Database + + Database configuration for Airtime + > + > + Make sure you aren't missing any of the Postgres dependencies in the table above. + If your dependencies check out, make sure your database configuration settings in + airtime.conf is correct and the Airtime database was installed correctly. + +
+ +

+ Looks like something went wrong! If you've tried everything we've recommended in the table above, come + visit our forums + or check out the manual. +

+ +

+ Your Airtime station is up and running! +

+ +
+ + + airtimeCheckMvcDependencies(), + "postgres" => airtimeCheckDatabaseDependencies() + ); +} + +/** + * Check that the Zend framework libraries are installed + * + * @return boolean true if Zend exists in /usr/share/php + */ +function airtimeCheckMvcDependencies() { + return file_exists('/usr/share/php/libzend-framework-php') + || file_exists('/usr/share/php/zendframework'); // Debian version +} + +/** + * Check that the PHP dependencies for the database exist + * + * @return boolean true if the database dependencies exist + */ +function airtimeCheckDatabaseDependencies() { + if (!isset($extensions)) { + $extensions = get_loaded_extensions(); + } + // Check the PHP extension list for the Postgres db extensions + return (in_array('pdo_pgsql', $extensions) + && in_array('pgsql', $extensions)); +} + +/** + * Check the database configuration by fetching a connection from Propel + * + * @return boolean true if a connection is made to the database + */ +function airtimeCheckDatabaseConfiguration() { airtimeConfigureDatabase(); - if (!file_exists(BUILD_PATH . AIRTIME_CONFIG)) { - return false; - } - - $config = parse_ini_file(BUILD_PATH . AIRTIME_CONFIG, true); - try { - Propel::getConnection($config["database"]["dbname"]); + // Try to establish a database connection. If something goes + // wrong, the database is improperly configured + Propel::getConnection(); + Propel::close(); } catch (Exception $e) { return false; } @@ -43,6 +70,9 @@ function airtimeCheckDatabase() { return true; } +/** + * Initialize Propel to configure the Airtime database + */ function airtimeConfigureDatabase() { - Propel::init(APPLICATION_PATH . "/configs/airtime-conf-production.php"); + Propel::init(CONFIG_PATH . 'airtime-conf-production.php'); } \ No newline at end of file diff --git a/airtime_mvc/build/airtime-setup/setup-config.php b/airtime_mvc/build/airtime-setup/setup-config.php index a4abe2daf..2bfa08e64 100644 --- a/airtime_mvc/build/airtime-setup/setup-config.php +++ b/airtime_mvc/build/airtime-setup/setup-config.php @@ -1,2 +1,18 @@ + + + + + + +
+
+

Database Settings

+ + + + + +
\ No newline at end of file diff --git a/airtime_mvc/public/config-check.php b/airtime_mvc/public/config-check.php deleted file mode 100644 index f877e77b6..000000000 --- a/airtime_mvc/public/config-check.php +++ /dev/null @@ -1,107 +0,0 @@ - - - - - - - - -

- Airtime Configuration Checklist -

- - - - - - - - - - - - - - - - - - - - - -
- Airtime Configuration -
- Component - - Description - - Solution -
- Zend - - PHP MVC Framework - > - > - Ubuntu: try running sudo apt-get install libzend-framework-php -
Debian: try running sudo apt-get install zendframework - -
- Database - - PostgreSQL data store for Airtime - > - > - Try running sudo apt-get install php5-pgsql php5-mysql - -
- - -

- Looks like something went wrong! If you've tried everything we've recommended in the table above, come - visit our forums - or check out the manual. -

- -
-

- PHP Extension List -

-

- -

- Date: Fri, 28 Nov 2014 15:44:41 -0500 Subject: [PATCH 013/168] Initial work on web setup form --- .../build/airtime-setup/setup-config.php | 22 ++++++++++++------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/airtime_mvc/build/airtime-setup/setup-config.php b/airtime_mvc/build/airtime-setup/setup-config.php index 2bfa08e64..da24220ef 100644 --- a/airtime_mvc/build/airtime-setup/setup-config.php +++ b/airtime_mvc/build/airtime-setup/setup-config.php @@ -2,17 +2,23 @@ ?> - + - +
-
+

Database Settings

- - - - - +
+ + + + + + + + + +
\ No newline at end of file From 823b89e84ede8186d1fdd29a228c4bbc4531bb95 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Fri, 28 Nov 2014 15:50:35 -0500 Subject: [PATCH 014/168] More work on web setup form --- airtime_mvc/build/airtime-setup/setup-config.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/airtime_mvc/build/airtime-setup/setup-config.php b/airtime_mvc/build/airtime-setup/setup-config.php index da24220ef..8b347152b 100644 --- a/airtime_mvc/build/airtime-setup/setup-config.php +++ b/airtime_mvc/build/airtime-setup/setup-config.php @@ -10,15 +10,15 @@

Database Settings

-
+
- + - + - + - +
\ No newline at end of file From b8cb2deb23d485f8cdc9d324c3515dfc5a203a61 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Fri, 28 Nov 2014 15:53:47 -0500 Subject: [PATCH 015/168] More work on web setup form --- airtime_mvc/build/airtime-setup/setup-config.php | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/airtime_mvc/build/airtime-setup/setup-config.php b/airtime_mvc/build/airtime-setup/setup-config.php index 8b347152b..9b775c5ee 100644 --- a/airtime_mvc/build/airtime-setup/setup-config.php +++ b/airtime_mvc/build/airtime-setup/setup-config.php @@ -2,23 +2,29 @@ ?> - +
-
+

Database Settings

-
+
+
+
+
+
+
+
-
+ \ No newline at end of file From 63e51f7c7c825b4cf5d3e7d94a89d123567ae38b Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Fri, 28 Nov 2014 15:57:23 -0500 Subject: [PATCH 016/168] More work on web setup form --- airtime_mvc/build/airtime-setup/setup-config.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/airtime_mvc/build/airtime-setup/setup-config.php b/airtime_mvc/build/airtime-setup/setup-config.php index 9b775c5ee..9bd9968fa 100644 --- a/airtime_mvc/build/airtime-setup/setup-config.php +++ b/airtime_mvc/build/airtime-setup/setup-config.php @@ -2,11 +2,11 @@ ?> - + - +

Database Settings

From 6838694a8b7840a55347684944f531511e2691cc Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Fri, 28 Nov 2014 16:48:08 -0500 Subject: [PATCH 017/168] More work on web setup form --- .../build/airtime-setup/setup-config.php | 45 ++++-- airtime_mvc/build/airtime.conf | 147 ------------------ 2 files changed, 32 insertions(+), 160 deletions(-) delete mode 100644 airtime_mvc/build/airtime.conf diff --git a/airtime_mvc/build/airtime-setup/setup-config.php b/airtime_mvc/build/airtime-setup/setup-config.php index 9bd9968fa..4039a02bb 100644 --- a/airtime_mvc/build/airtime-setup/setup-config.php +++ b/airtime_mvc/build/airtime-setup/setup-config.php @@ -1,30 +1,49 @@ + - +
- -

Database Settings

-
+ +

Database Settings

+
- +
-
+
- +
-
+
- +
-
+
- +
- - \ No newline at end of file +
+ +
+ + + + + \ No newline at end of file diff --git a/airtime_mvc/build/airtime.conf b/airtime_mvc/build/airtime.conf deleted file mode 100644 index f54955be8..000000000 --- a/airtime_mvc/build/airtime.conf +++ /dev/null @@ -1,147 +0,0 @@ -# ---------------------------------------------------------------------- -# A I R T I M E C O N F I G U R A T I O N -# ---------------------------------------------------------------------- -# -# This is an example configuration for Airtime. If you just want to -# get started with a basic Airtime setup, or don't know if you should -# be reconfiguring any of the following values, just rename this file -# to 'airtime.conf'. -# -# ---------------------------------------------------------------------- - - - -# ---------------------------------------------------------------------- -# D A T A B A S E -# ---------------------------------------------------------------------- -# -# These settings are used to configure your database connection. -# -# host: The hostname of the database server. -# On a default Airtime installation, set this to localhost. -# -# dbname: The name of the Airtime database. -# The default is airtime. -# -# dbuser: The username for the Airtime database user. -# The default is airtime. -# -# dbpass: The password for the Airtime database user. -# The default is airtime. -# -[database] -host = localhost -dbname = airtime -dbuser = airtime -dbpass = airtime -# -# ---------------------------------------------------------------------- - - - -# ---------------------------------------------------------------------- -# R A B B I T M Q -# ---------------------------------------------------------------------- -# -# These settings are used to configure the RabbitMQ messaging -# configuration for your Airtime installation. -# -# host: The IP address for the RabbitMQ service. -# The default is 127.0.0.1. -# -# port: The port for the RabbitMQ service. -# The default is 5672. -# -# user: The username for the RabbitMQ user. -# The default is guest. -# -# password: The password for the RabbitMQ user. -# The default is guest. -# -# vhost: The virtual host for the RabbitMQ service database. -# The default is /. -# -[rabbitmq] -host = 127.0.0.1 -port = 5672 -user = guest -password = guest -vhost = / -# -# ---------------------------------------------------------------------- - - - -# ---------------------------------------------------------------------- -# G E N E R A L S E T T I N G S -# ---------------------------------------------------------------------- -# -# These settings are used for Airtime's webserver configuration, and -# for general-purpose properties. -# -# api_key: The API key for your Airtime installation. -# The value is generated the first time you use Airtime. -# -# web_server_user: The default webserver user. -# The default is www-data. -# -# base_url: The host name for your webserver. -# The default is localhost. -# -# base_port: The port for your webserver. -# The default is 80. -# -# base_dir: The root directory for your Airtime installation -# on your webserver, relative to the base_url. -# The default is /. -# -# cache_ahead_hours: How many hours ahead of time the Airtime playout -# engine (PYPO) should cache scheduled media files. -# The default is 1. -# -[general] -api_key = -web_server_user = www-data -base_url = localhost -base_port = 80 -base_dir = / -cache_ahead_hours = 1 -# -# ---------------------------------------------------------------------- - - - -# ---------------------------------------------------------------------- -# M O N I T -# ---------------------------------------------------------------------- -# -# monit_user: The username for the Monit user. -# The default is guest. -# -# monit_password: The password for the Monit user. -# The default is airtime. -# -[monit] -monit_user = guest -monit_password = airtime -# -# ---------------------------------------------------------------------- - - - -# ---------------------------------------------------------------------- -# S O U N D C L O U D -# ---------------------------------------------------------------------- -# -# connection_retries: The number of times to retry the connection to -# Soundcloud. -# The default is 3. -# -# time_between_retries: The time between connection retries, in seconds. -# The default is 60. -# -[soundcloud] -connection_retries = 3 -time_between_retries = 60 -# -# ---------------------------------------------------------------------- \ No newline at end of file From acaf47c592ac15a7b5dbc2010b6a49aeccac137d Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 1 Dec 2014 15:49:53 -0500 Subject: [PATCH 018/168] More work on web setup form --- .../application/configs/config-check.php | 7 +------ .../controllers/InstallWizardController.php | 12 ----------- airtime_mvc/build/airtime-setup/load.php | 20 ++++++++++++++----- .../build/airtime-setup/setup-config.php | 20 ++++++++----------- airtime_mvc/public/index.php | 10 +++++++--- 5 files changed, 31 insertions(+), 38 deletions(-) delete mode 100644 airtime_mvc/application/controllers/InstallWizardController.php diff --git a/airtime_mvc/application/configs/config-check.php b/airtime_mvc/application/configs/config-check.php index c5e940565..29e59da29 100644 --- a/airtime_mvc/application/configs/config-check.php +++ b/airtime_mvc/application/configs/config-check.php @@ -167,15 +167,10 @@ $result = $r && $database;

diff --git a/airtime_mvc/application/controllers/InstallWizardController.php b/airtime_mvc/application/controllers/InstallWizardController.php deleted file mode 100644 index ac9da6475..000000000 --- a/airtime_mvc/application/controllers/InstallWizardController.php +++ /dev/null @@ -1,12 +0,0 @@ -view->layout()->disableLayout(); - $this->_helper->viewRenderer->setNoRender(true); - } - - public function runAirtimeConfigurationAction() { - - } -} diff --git a/airtime_mvc/build/airtime-setup/load.php b/airtime_mvc/build/airtime-setup/load.php index 00546fb65..29d4b227a 100644 --- a/airtime_mvc/build/airtime-setup/load.php +++ b/airtime_mvc/build/airtime-setup/load.php @@ -1,7 +1,5 @@ - + @@ -17,19 +13,19 @@

Database Settings

- +
- +
- +
- +
@@ -39,10 +35,10 @@ diff --git a/airtime_mvc/public/index.php b/airtime_mvc/public/index.php index e688db5a1..ef882bd07 100644 --- a/airtime_mvc/public/index.php +++ b/airtime_mvc/public/index.php @@ -1,10 +1,12 @@ Date: Tue, 2 Dec 2014 11:17:08 -0500 Subject: [PATCH 019/168] More work on setup form --- airtime_mvc/build/airtime-setup/load.php | 14 -------- .../build/airtime-setup/setup-config.php | 34 +++++++++++++++++-- 2 files changed, 32 insertions(+), 16 deletions(-) diff --git a/airtime_mvc/build/airtime-setup/load.php b/airtime_mvc/build/airtime-setup/load.php index 29d4b227a..96f21ed66 100644 --- a/airtime_mvc/build/airtime-setup/load.php +++ b/airtime_mvc/build/airtime-setup/load.php @@ -71,18 +71,4 @@ function airtimeCheckDatabaseConfiguration() { */ function airtimeConfigureDatabase() { Propel::init(CONFIG_PATH . 'airtime-conf-production.php'); -} - -function airtimeValidateDatabaseSettings($settings) { - global $airtimeSetup; - if (!$airtimeSetup) { - return false; - } - - $dbUser = $settings["dbUser"]; - $dbPass = $settings["dbPass"]; - $dbName = $settings["dbName"]; - $dbHost = $settings["dbHost"]; - - return true; } \ No newline at end of file diff --git a/airtime_mvc/build/airtime-setup/setup-config.php b/airtime_mvc/build/airtime-setup/setup-config.php index b5b17a040..478a77671 100644 --- a/airtime_mvc/build/airtime-setup/setup-config.php +++ b/airtime_mvc/build/airtime-setup/setup-config.php @@ -1,5 +1,7 @@ @@ -36,8 +38,36 @@ $("#dbSettingsForm").submit(function(e) { e.preventDefault(); var d = $('#dbSettingsForm').serializeArray(); - $.post('setup/functions.php?fn=airtimeValidateDatabaseSettings', d, function(data) { - console.log(data); + // First, check if the db user exists (if not, we're done) + $.post('setup/functions.php?fn=airtimeValidateDatabaseUser', d, function(result) { + if (result == true) { + // We know that the user credentials check out, so check if the database exists + $.post('setup/functions.php?fn=airtimeValidateDatabaseSettings', d, function(result) { + if (result == true) { + // The database already exists, so we can just set up the schema + // TODO change alerts to actually useful things + alert("Setting up airtime schema..."); + } else { + // The database doesn't exist, so check if the user can create databases + $.post('setup/functions.php?fn=airtimeCheckUserCanCreateDb', d, function(result) { + if (result == true) { + // The user can create a database, so ask if they want to create it + if (confirm("Create database '" + $("#dbName").val() + "' on " + $("#dbHost").val() + + " as user " + $("#dbUser").val() + "?")) { + // TODO create the database... + alert("Creating airtime database..."); + } + } else { + // The user can't create databases, so we're done + alert("No database " + $("#dbName").val() + " exists; user " + $("#dbUser").val() + + " does not have permission to create databases on " + $("#dbHost").val()); + } + }, "json"); + } + }, "json"); + } else { + alert("User credentials are invalid!"); + } }, "json"); }); From 9fed113f74c9c692fb30d4acb1f63f239122ee70 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Wed, 3 Dec 2014 18:04:47 -0500 Subject: [PATCH 020/168] More work on setup/installation process --- .../application/configs/config-check.php | 30 +-- .../airtime-setup/forms/database-settings.php | 50 ++++ .../airtime-setup/forms/rabbitmq-settings.php | 76 ++++++ airtime_mvc/build/airtime-setup/load.php | 26 +- .../build/airtime-setup/setup-config.php | 92 +++---- airtime_mvc/build/airtime.example.conf | 12 +- airtime_mvc/public/css/setup/config-check.css | 23 ++ airtime_mvc/public/css/setup/setup-config.css | 206 ++++++++++++++++ .../fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20335 bytes .../fonts/glyphicons-halflings-regular.svg | 229 ++++++++++++++++++ .../fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 41280 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23320 bytes airtime_mvc/public/index.php | 4 +- airtime_mvc/public/js/setup/setup-config.js | 126 ++++++++++ airtime_mvc/public/setup/database-setup.php | 146 +++++++++++ airtime_mvc/public/setup/rabbitmq-setup.php | 41 ++++ airtime_mvc/public/setup/setup-functions.php | 45 ++++ installer/airtime/airtime.conf | 32 --- installer/install | 132 +++++----- 19 files changed, 1072 insertions(+), 198 deletions(-) create mode 100644 airtime_mvc/build/airtime-setup/forms/database-settings.php create mode 100644 airtime_mvc/build/airtime-setup/forms/rabbitmq-settings.php create mode 100644 airtime_mvc/public/css/setup/config-check.css create mode 100644 airtime_mvc/public/css/setup/setup-config.css create mode 100644 airtime_mvc/public/fonts/glyphicons-halflings-regular.eot create mode 100644 airtime_mvc/public/fonts/glyphicons-halflings-regular.svg create mode 100644 airtime_mvc/public/fonts/glyphicons-halflings-regular.ttf create mode 100644 airtime_mvc/public/fonts/glyphicons-halflings-regular.woff create mode 100644 airtime_mvc/public/js/setup/setup-config.js create mode 100644 airtime_mvc/public/setup/database-setup.php create mode 100644 airtime_mvc/public/setup/rabbitmq-setup.php create mode 100644 airtime_mvc/public/setup/setup-functions.php delete mode 100644 installer/airtime/airtime.conf diff --git a/airtime_mvc/application/configs/config-check.php b/airtime_mvc/application/configs/config-check.php index 29e59da29..11291d446 100644 --- a/airtime_mvc/application/configs/config-check.php +++ b/airtime_mvc/application/configs/config-check.php @@ -7,10 +7,10 @@ * along with steps to fix them if they're not found or misconfigured. */ -$phpDependencies = airtimeCheckPhpDependencies(); +$phpDependencies = checkPhpDependencies(); $zend = $phpDependencies["zend"]; $postgres = $phpDependencies["postgres"]; -$database = airtimeCheckDatabaseConfiguration(); +$database = checkDatabaseConfiguration(); function booleanReduce($a, $b) { return $a && $b; @@ -23,31 +23,7 @@ $result = $r && $database; - + +

Database Settings

+ +
+ + + +
+
+ + + +
+
+ + +
+
+ + + +
+ +
+ + + +
+ + + \ No newline at end of file diff --git a/airtime_mvc/build/airtime-setup/forms/rabbitmq-settings.php b/airtime_mvc/build/airtime-setup/forms/rabbitmq-settings.php new file mode 100644 index 000000000..59d81f988 --- /dev/null +++ b/airtime_mvc/build/airtime-setup/forms/rabbitmq-settings.php @@ -0,0 +1,76 @@ + + +
+

RabbitMQ Settings

+ +

+ RabbitMQ is an AMQP-based messaging system used by Airtime. You should only edit these settings + if you have changed the defaults since running the installer, or if you've opted to install RabbitMQ manually. +

+

+ In either case, we recommend that you change at least the default password provided - + you can do this by running the following line from the command line:
+ sudo rabbitmqctl change_password <username> <newpassword> +

+
+ Advanced
+
+
+
+ + + +
+
+ + + + + You probably want to change this! + +
+
+ + +
+
+ + +
+
+ + + +
+ +
+
+ + + +
+
+ + diff --git a/airtime_mvc/build/airtime-setup/load.php b/airtime_mvc/build/airtime-setup/load.php index 96f21ed66..ff6d2b037 100644 --- a/airtime_mvc/build/airtime-setup/load.php +++ b/airtime_mvc/build/airtime-setup/load.php @@ -6,9 +6,9 @@ * @return boolean true if all Airtime dependencies and services are * properly configured and running */ -function airtimeCheckConfiguration() { - return airtimeCheckPhpDependencies() - && airtimeCheckDatabaseConfiguration(); +function checkConfiguration() { + return checkPhpDependencies() + && checkDatabaseConfiguration(); } /** @@ -17,10 +17,10 @@ function airtimeCheckConfiguration() { * * @return array associative array of dependency check results */ -function airtimeCheckPhpDependencies() { +function checkPhpDependencies() { return array( - "zend" => airtimeCheckMvcDependencies(), - "postgres" => airtimeCheckDatabaseDependencies() + "zend" => checkMvcDependencies(), + "postgres" => checkDatabaseDependencies() ); } @@ -29,7 +29,7 @@ function airtimeCheckPhpDependencies() { * * @return boolean true if Zend exists in /usr/share/php */ -function airtimeCheckMvcDependencies() { +function checkMvcDependencies() { return file_exists('/usr/share/php/libzend-framework-php') || file_exists('/usr/share/php/zendframework'); // Debian version } @@ -39,7 +39,7 @@ function airtimeCheckMvcDependencies() { * * @return boolean true if the database dependencies exist */ -function airtimeCheckDatabaseDependencies() { +function checkDatabaseDependencies() { global $extensions; // Check the PHP extension list for the Postgres db extensions return (in_array('pdo_pgsql', $extensions) @@ -51,8 +51,8 @@ function airtimeCheckDatabaseDependencies() { * * @return boolean true if a connection is made to the database */ -function airtimeCheckDatabaseConfiguration() { - airtimeConfigureDatabase(); +function checkDatabaseConfiguration() { + configureDatabase(); try { // Try to establish a database connection. If something goes @@ -69,6 +69,10 @@ function airtimeCheckDatabaseConfiguration() { /** * Initialize Propel to configure the Airtime database */ -function airtimeConfigureDatabase() { +function configureDatabase() { Propel::init(CONFIG_PATH . 'airtime-conf-production.php'); +} + +function validateDatabaseSchema() { + } \ No newline at end of file diff --git a/airtime_mvc/build/airtime-setup/setup-config.php b/airtime_mvc/build/airtime-setup/setup-config.php index 478a77671..539843e2e 100644 --- a/airtime_mvc/build/airtime-setup/setup-config.php +++ b/airtime_mvc/build/airtime-setup/setup-config.php @@ -1,75 +1,43 @@ - + - + + + + + - -
-
-

Database Settings

-
- - + +
+ + Step 1 of 4 +
+ +
+
+
+ +
+
+ +
-
- - -
-
- - -
-
- - -
-
- -
- +
\ No newline at end of file diff --git a/airtime_mvc/build/airtime.example.conf b/airtime_mvc/build/airtime.example.conf index 65fa586dc..090f4103d 100644 --- a/airtime_mvc/build/airtime.example.conf +++ b/airtime_mvc/build/airtime.example.conf @@ -51,20 +51,20 @@ dbpass = airtime # The default is 5672. # # user: The username for the RabbitMQ user. -# The default is guest. +# The default is airtime. # # password: The password for the RabbitMQ user. -# The default is guest. +# The default is airtime. # # vhost: The virtual host for the RabbitMQ service database. -# The default is /. +# The default is /airtime. # [rabbitmq] host = 127.0.0.1 port = 5672 -user = guest -password = guest -vhost = / +user = airtime +password = airtime +vhost = /airtime # # ---------------------------------------------------------------------- diff --git a/airtime_mvc/public/css/setup/config-check.css b/airtime_mvc/public/css/setup/config-check.css new file mode 100644 index 000000000..d535a5dd3 --- /dev/null +++ b/airtime_mvc/public/css/setup/config-check.css @@ -0,0 +1,23 @@ +.checklist { + overflow: auto; + height: 50%; +} + +.caption { + padding-left: .5em; +} + +.component { + font-weight: bold; + width: 20%; +} + +.description, .solution { + width: 40%; +} + +.footer { + margin: inherit; + width: inherit; + bottom: 0; +} \ No newline at end of file diff --git a/airtime_mvc/public/css/setup/setup-config.css b/airtime_mvc/public/css/setup/setup-config.css new file mode 100644 index 000000000..9c5356791 --- /dev/null +++ b/airtime_mvc/public/css/setup/setup-config.css @@ -0,0 +1,206 @@ +html { + background: -webkit-linear-gradient(midnightblue, black); /* For Safari 5.1 to 6.0 */ + background: -o-linear-gradient(midnightblue, black); /* For Opera 11.1 to 12.0 */ + background: -moz-linear-gradient(midnightblue, black); /* For Firefox 3.6 to 15 */ + background: linear-gradient(midnightblue, black); /* Standard syntax */ +} + +body { + background: rgba(0,0,0,0); /* Make the bg transparent */ + color: white; + min-width: 400px; + width: 30%; + height: 100%; + text-align: center; + margin: auto; +} + +.header { + padding-top: 1em; + height: 10%; + min-height: 75px; + text-align: center; +} + +.header strong { + float: right; +} + +.logo { + margin: auto; +} + +.logo strong { + padding-left: .5em; + float: left; +} + +#airtimeLogo { + padding-top: .7em; + float: left; +} + +/* ############################################################################ + * + * Form Styles + * + * ############################################################################ */ + +form { + width: 80%; + margin: auto; +} + +form p { + text-align: left; + margin-bottom: 1em; +} + +form .form-group { + text-align: left; +} + +.viewport { + position: absolute; + width: 30%; + min-width: 400px; + height: 89%; /* Keep 1% off of 100 to avoid overflow */ + overflow-x: hidden; + overflow-y: auto; +} + +.form-title { + margin: 1em 0; +} + +.form-slider { + position: absolute; + width: 100%; + height: 100%; +} + +.form-control-feedback { + display: none; +} + +/* ############################################################################ + * + * Form Help Box Styles + * + * ############################################################################ */ + +.help-block.help-message { + font-weight:bold; + margin-bottom: 15px; +} + +.has-error, .has-error .control-label, +.has-error .form-control-feedback, +.has-error .form-control { + color: red; +} + +.has-success { + color: lawngreen; +} + +/* ############################################################################ + * + * Overlay Styles + * + * ############################################################################ */ + +#overlay { + display: none; + opacity: 0.6; + position: absolute; + top: 0; + left: 0; + background-color: #000; + width: 100%; + height: 100%; + z-index: 5000; +} + +#loadingImage { + display: none; + position: absolute; + top: 40%; + left: 49%; /* Shave 1% to account for half image width */ + z-index: 5001; +} + +/* ############################################################################ + * + * Button Styles + * + * ############################################################################ */ + +.btn-primary { + font-weight: bold; +} + +.btn-disabled { + disabled: disabled; + visibility: hidden; + display: block; +} + +.btn-next { + float: right; + width: 49%; +} + +.btn-skip { + margin-top: .5em; + width: 100%; +} + +.btn-back { + float: left; + width: 49%; +} + +.caret.caret-up { + border-top-width: 0; + border-bottom: 4px solid #fff; +} + +/* ############################################################################ + * + * Database Settings Form Styles + * + * ############################################################################ */ + +#dbSettingsForm { + top: 0; + width: 99%; + position: absolute; + float: right; +} + +#dbSettings { + overflow: auto; +} + +/* ############################################################################ + * + * RabbitMQ Settings Form Styles + * + * ############################################################################ */ + +#rmqSettingsForm { + top: 0; + left: 100%; + width: 99%; + position: absolute; + float: right; +} + +#rmqSettings { + overflow: auto; +} + +#rmqFormBody { + display: none; +} \ No newline at end of file diff --git a/airtime_mvc/public/fonts/glyphicons-halflings-regular.eot b/airtime_mvc/public/fonts/glyphicons-halflings-regular.eot new file mode 100644 index 0000000000000000000000000000000000000000..4a4ca865d67e86f961bc6e2ef00bffa4e34bb9ed GIT binary patch literal 20335 zcma%iRa9Lu*X_aGIXLtH2X}XOcXxM};>BGK?k>gMi@Uo+afec%&=$Y_zI(@iAMVRd zMzYtMnVHGh`(bBgBrYld0G2WU0R1n+0{)ZW{#ye8Pyh%N;2)-_`hS4`dHjR_o8s?3 z%Kr!aAA=Sk15gC$0aO9906BmJKn0)-&;Wq`d1e4dfc3v(2XF@106hNnKnJJ;tp3?v z|4=i4`#;17p#2YV|JP~t*4IuDO^FK=e+xx$$?LVd`z~aAr@Bit+ z4B+|46aYB=Q+D{L`5%t;Kdt|aZw_GpXL0?v@B%pgd3^uI=KcSkIq3hHHvk~6A@l#d zDHwovCxFWvz!d;sGQ^&}h@CLq(3!MVaFhSyL!rg*&d8F%X_&hML`QYBTiRZ}i=N8C zfX|m2SCm$2B^?XKJ=3POS}r1sVM9Nj*l5q`5#S% zQ}FD^zy1Pj*xUGOm4;*C;l80oktO?~%SdX8H^8@@idBFWyOINSr_!xo{REWRlXgw| z3-(h5XcHaEdPKzyy2-P+Rljn4lR?IelEOtWLiC?_9FW&x@kpuRtfsn*-QLS4EoN{{q0u8pt_^hD_!V);D{hen z-XpV~5QeQTYTIl1+B^5r72`!7FRQQ$Jh74=Gm*OkaIoNUC7!wk7rRZVuVK6urnp@}QDpB~9*S zkVWg8LyXz8-%53>GXb$%*H0(bqkUIN`Oz8g=bse?bAumC8`5XqA+(_y{fV^j(1$BZ za*@mJ(&?Dl2k;8tW}O6OaavJE|17u#1t>M^0!@SDJc2)cLZL`m7!-)74CQUXoksM* z9m|Sjh}@dm-Tnc8<77&TfjT6H{3)kXMM774`D!eA0|(RuQz@iQO(4-7lX|aK*M`Y=f%R{_&<*A? zB(AZUl6JXgz^9c9q7ZW~Lpncpv1I^6O4mGX@3P^Q)?jBgx(f#RD_4y0q5aC_beGG> zn%RbEy_vdx`sL?|Jvlgyxal-}XM^FDQYp|Euiu=%8o(=wic+XSimJ4(Adn3`QH6^D zQ}H@oBN{|Zg^2u|@8c~h7Kv&HCx??xy^J$3{B0{XnlrThDaoQqjXjXHi#b!KIjA7( z$hT;Ah_VP&j)(Z6&(xn;KF3rHsF^A#il?$)q4Pp#sly?|%OmoRG|MiNW3+)?3Wd9= zgbUjzTLX+!G&oYj9P;jnHmT91qKPzxkj@>rsqi|=M5$PfrRCY%E7${xLDZFtYcC%k zorpLj$T65dN+HV@=yRlKSS8W~SMxFkK1~U-XW2@DXcG`4-V)z|605uD4Q{MP10fD5 zc!T#)n57))zXXfg=dwnZuD_`DCJc3cHE6HuA(>36o_neqgoF0pRK0eEc~{rD8%Pfh z@dtE6ovkazKj3fd{)*&tB0YA^1d^^?2oeNyB7u(P+O4$@lCNc~%mb5iP)dLGM|z;x zEkRYM_^U`g%s5jiH=8Q2h zlS%BdC6DaYEWi0UNhnc*zFT$fV`4_VMNU~nH;q(Ld?!#lIvm)K;W_4C(l3+4TZ=QI zD%siB%cY+Y7vMFM_KAg?sxm(^nJsMIV?v|vAS8l;zotv$#Ml-Y!n7|X5Y5C)=TiGZ zQ+=(9%lk0&L&hDtwRD=Ua6wQeS{g2mvwc>^|4$ot-2Hi`z)|V$N{mNAEZC3gw_8%z zq(L3Bcwr2gin62dXM8cG-D-auD7HayLz zJI2|m=8$F?Ko>v@P4{(W5g=}-b$%tJgfywp`6&A96|Zx{9N;1@_>hto7TQf3EIMm+ zJ`;@@4ycXnHM>|iJ?FXkWGc8YuGviO&L*^ajd+vyLIxAAT{isADQQM5S;YP+jAYp7 z3E1Nm1HDd%SXi``NR*so7XidvRPj#BM7A`S{cU%VISQOhrMLr08;N36AYg9}40Ml# zU)GUxQy(D1%P`@`HDaXn&%m8`hOu~_2a`%P{v7w2;KUNhll)N(y4wD#p#{+($uLOB z!X;K=sci1erRm1=Qcx#ja(r=E8*89RNH8`C7T4|#uVRc=Kaf}0Xw)>8g0(4H!ZrK^ zh-Kf(V#NQcMU79on9bk?`U7eI{Nu-CdboLYH-7lJI|7VCob2872$p->3n)-J>N|b% zIn3vzKet~nvHB=bP6rDRV|&&4LL}S7`iu2ok&r8ecw~yUROul?44VSV3;z7qSQWl+y^cX=$j~OQ;o~0+_)5WDRF0^JbuD_umr4Mn$EPEyB-_eog^1*P#Ui}dCDH6-GndXgi$XV2SNHe#HHQoU z`2f{kT*~Y-Gtyd}I#v=*PbShJzp4hgaK>cr++;2GSGr7^2gA_3H1F;=06B{L4@fTs zD?F!vb_51Hnzb3BJlYiI4qZ5fDt|CaKX-N&2aP_DVX`bH*FN93cV*3fPvociz|dFF zDI@_;;4`*j9yW7pmnXjEwqe@BEQw*5Kcl$=zJxCo$}$5>0aU8*UXir zlo6vuHSn81M=rz-M|tYukSa7I2M$#Q-7`8&2-+UvW25@8gOf1VSR}3RdVFr|-&}4T zky0u`XuQc%0#b=LJWu5hm&cbB$Zk2FeYD~v-Cc92u|%sIUh-65dJR zZ3)g?oGWe-H6(Dl5E)k2)Hal?$9R73FM9`l`qB^<^f4kuce&|T)yCo{^=_a`TY*c$ zRRh_284jJjLoW$Wjv_@n$8LbXuW0pZw;g`-3$XUHD0Me!pbdD8z$3+L^KKYOabFdl zZW8&J8yRWfjLh?e7QJEkgl<&QwDnZ2^WwgBH0{AjxI^@Q)51nlGRVgj8j^jL0%{L5 zg~N&QybX0(ldaaot?}x4%vuVeTbZ96fpg*k(_p?a+IFGn!YUuS;~_Z0CLyGFeQ=ow zhS}^5R4dLfu9Q@MFw7c5_Tg`%mq$XF81YXSFD~rt=E6o|lVBQmHpMG(*<)M(E(4f* zifS(;Yjenr?~y*l>F20zQ%mciliU45f-wznJZdw(tS7t6>004*2#X3Ej3pco3fi`a z?|gM_ckVQxZ*D!nTeU+|gbdPEj(!rKUXu)| zkLqUGanZqn25Ek?PHa9%4W|%Ad_2AJ^C4ZsK(9AW?d?fe_y54j#ceCX7%ZMmS`{x=_0fcCjb0L>U_D>5f4kNy zHQQg5@4aYV)6gpTnv`z06M5a}w7=9Zxp`bcn&i(EOAPWj!?Z(2O?^DESnGfRDGcs1 z?IvJ*{LKonl7#robcFc@OJ<~_Nrt1&v@ePe#wEFKMxfTA!AwJm2~n9HG8Q3?YR-Yz z9Qm3kx|c48;)6Kyoo?<`!|@@xwp~u#ofuQm>ip4bLvO_8W)9{2phqI7{WR9NLgJ5S zHO8hXtJ(CY)mUG&o(gGo!3Qk!=#XUS13O&o{vweBJ4o1y<~#&5^$s69ECV9xM}=+2 z3!NJW8%Q`f_Ja)nexErX5!VB@V=TLVghSEjRt5vdJ8zuRg0R+Y>(Wb*7ED)es#R7< zyyj>az=m}1XQ+E7Z@KG=Cs|{!+EejQ_B-7_Z_Y;kETxVVJOayFzr&scDu#RzsdT7?ZD( zjt$GiPqMQDN##jNA(UuHMgjopqE;pkUTep+3YhG2G!BnK?~X#v(Hh{G+w3pu5aBF+5$)Hq);#9CbG zsE7UhKwvg;w*V(0K7kvgnm5CXt2oMK#y!&dqW6^CO`o-9h;rpe8sX@M7vdNHrSI)y z9KlvS+@+-`CzlS3h}P)VbJn)MN&1rZJDgsR=F2FHZMpd&S1VRKi;7W;=|X`v`iwr; z6={w%x(Bj(^(a<%?7PB*S%}>sft}U!!qdscsQgT@3X5WihmLBxuS7?1$@SvvJ3<<| zt}Y%yqH_W&6!_(na-jr#Zv7W*Cu#c6Hqr$o{eMTHmIWfcuI+rsXc1x$ibc)|lxs`| z^lhQp&^b^BTL(xEI!6k8bxom-D8C}+6_a%`?CYjSuFcEh5J1&Y`Z-6Dj-I`%()n$9 zg*b<&Zs^xdC{p2ab~}fxiuobr7XT7pIefDq+B0S-e*#Ncv}xLJi{{yPWu)?Esyu0; z1qsK_FAEg-C+$p0cp*xgs1s4btkM&3lqqeQRpD2eomd(OP0Q@*e&Xas38amh5^boC zOw$(pnvN$4MdoQ_u*a%EGU#34!L8h;hCq2qu>vma`dr@6OJ$uR*Uy0|v+9(q#{vUE z-6#WJn9K=D1b|=3z9t2tlyis<332BeH7r+zY@~b=^WA5yuvSMiyU=H97SQ7PJ=xDq8^5h@!5s)7NwIC(^9c}UqFKh>XnFPu|+L@P;S z3sSA!`G>+GcF}A^nfl|n_2P=oi#0>A$BphJo^niV$39q>jBn7=yG3jodFC|0-)C$R z@AvsPawzRcdI+N@#+XCUhE-bV6R(fb0#L8<{kZo-bBF0d_eb2=Oq%CRy|M%BGBmTi z*(vF=mDqfB)Ffbr1WObL5rtaXXn7h$vMIMyd!!E!)5Fe{yHa{ZKHpGwQ9J-@cQ$OX z8Bux&6WJ%|zF+jJZ&(g-&u~QV-Y_~q?DJ>#3~9WiBeIU_uh)eb{b{VUn_K9kFfYXL z#W?5L8z;XrA?Kc&ua35Hi_uhWghl9)h*)J}%wG+Xnnp2ZOl*YtK3VQxUMfBM+z>E2 zeI`!tBDijjXYxlLEZu7t_T<~!mR0{o>6W*Ejr z6v8z^G$W!dDq*^y$WbyhI)x}-s>tdk0{-;A z91U?k6Rg*%T*U)Uv_PP_}4jhJ6|~ z)$B}m4(d`YtCBcrVbz?cQGo|NhMK(@OnGsU7OAKgUBJLh?E@OO@sfUG8M``oQbcDgDKEy^t6!AhE@HqgSG<3Q{ND7tH!G1 zQFCZgl=Ykxr~0pdq)`n2y3~Y0cvkO5i!CLTAc68-9cOMi2c29BTcg!W5=XzHR68tT zH%o4w$B?>YF0Aq0w*Q@DIf|UyjajcxO2`!Av{p;s2#z_Xfp*{$2fM>65~br|rCyhX zcrN@r4!w~3imlj-eew7qq8d&vtYnSAT9&|&Y&=~}zF5=-5at@Gr1s6~`eBk{nJh+@ z#(=xEI>c6xXU(ucS*a_!ww@WYvo?~@3dBjqAUH~h9mW5q!R#);8l%8+oJnb+-ydqv)LHQJSgY=p%{@~Fk(V6=o{<5fV>)fPWOyXSo|G?G=*~> z?z><)(Ss@lE|vU-2vhORxCM>@LEx4O{!kmzI5 zFUOuOX^BHASj%#FATqS(FnqPTp^|Sq;eg3wKvIzUJ%FNpoCY`^OPv(^>&j{V#RFzE z@3Y)bA(4m_iaS`J&gG(v^)Jth;W$iESCeCBA1#B(N63V{dggoJ%RQn}c>a@^%gazJ zI$Shg5yVpcpnJOOWY^dBUI=3iC>#a1p2NQs|b zgZHukR9HwV8Sgp{#+jN7ZB3DI6~hIHv@&% z=$?K2gzM;xC?K<9N0|-BMSk4bLI)uB*!ugfY0qP3R%y5O?&{Xfzojfbw?zj^P+_;e zRVm>&GsN)=HBH+0BHxJo&ckuL8w0=_w~q6R{ghxeMmsDh;9@n%VFE`Zx%pQglC=A4 zmJFxIgNwqP)8^b#RwBGP+eI;wi}{^pYMTtQ4h21k5DL#G?TZ4VCjrqHlXx z5GWyy1)M+9Im*H1Nb!*p1miCdMHEs>^!0KnPX60;FztLJwN}7vh;E>|7i^aSKwZPp zbmc@;Z{n(|)caxrl1Z94YDTS$mif`TC>B#m4S#$l?uReS>1@v!TRjv$vg^osFiop z3Ec1yBx|_DM8|$B+gdt2+Wo8>VSiOZMk{KxbsETEqXrMe43bz3J;k2|bk1|VfW}}N ziBRxsE0VSSOf}i%^gY0FFMldwBHt78EjW?Hs`TiH)s0WX#E(VMU>!x(pRNEl0?(%d z(09!|c3J9g+xi&)MKNr%Lz~VacC(%gKWoY@ID6_>a>(E=mVmuqrKtH5d$d}xX&NeD z5RiuBXo9`O{xL>+V-49mRc(3kT+>qNP814Xc&F=6k?M%@t6NOb@@_X`d3htI>|zGN z&z3d$7^TV;cV+eyHCzB+pyNz1atbYX3gZfiSjHB<0Ehv&M)7xxzlJu32@Iosx5?qd z-7Ka#WS9+1pr}6b%d2z-ZT+Fzpf`63fy)jTb-|y39hX-WFKTi7kn^+4(;QJI%l!pK ze2L!7r+ad0PfD2bsar6XgD>XWJxwwoHCORf9r0VEIM_qM zCzw=0@8aB8TV{tjzE5zvR&0MR>so`xq~rHSLBuI)mS!Dh1{CI~)~Nb^?^R@Gb*0A1 z=&MnM%PG*qmrKBjp8ZIYS@DFDNwe5Ww=2e65vs{7e0?Ou*xB{?A9P$i{y zM|4xJ3)%!G%8d{u-AC5&>)0?3EeMgln4Yut1`I~s-Cl*~G*Ri1k>5}JY295;&pq@- z#Lm^4Hp$Vz)X?2y^sW@;*ClyG-%gBU|LBB2+bG$zX%YcrI$cSa$$Sdz2EBDDiX$!I z{_-)%I3e)hC3KOBqNUpTOsPtReVV3GD|?sDzlEY;lsV>UYEWf_58h)t*RN0JkrGu0p9p8L{s_RPwvTR zXR9)eJN*RNMO^RZbZOXGNdieWgVSs&xvqTIv}1x>vCDtEk6_WWAVXu?Nu7sREv!;U zh%KMgdA}u72`Xz6{1nx8ud@3we5$9_>x#f2Ci}@h{1$Fh&}3CiF{d z+}gjEHbU-5+06vi&lbqcVU4dKyM_2lgko*2LU$@58M9ER0>@8%8{Q`H zM^pmfKp*!)YkLi|P(GT%H`-^=EmrEUhQ4I?ux{(gb8Cfs3Y;=$r!4-O%2yn10(6sR zU6xmo^&_$SnfCEbTemLPST3#%z3J!5Y}po{ihZicg?6_ADfUcz?o1} zmJxCzhnNT~o!=vhmRTEXGQ4OT$Zvhr5{5Midj2y-p}oGVqRFwQiNxp#2-*sjF6fsF zV6XhhsSL>wR!QmL`QcBPeEpof>)1LNkZE`AL+G5)@6qC>qR! z8+){akxki?kaFfX6i}pXp_`Xlck94~S-?9*q=QqL2z=I4B@Zvi@4?yJho3QIdNI8l z#4QKGd<)2;6Vy;X#e*x_gP*hHWyFFgqukOJH7ndQUKry!7s+}S>|FP?VT3DlK1qQQ zk=oA%rP%@u3Q)BH2;)Li&oL3#M*r$!{Ih zASM=(#VCobo1BhR#*@dO*~PX)#gN9<0l;rNRKG4|p!^Nocw@Iy>-~ZJ?0T#CqSxD+ zevj?m@H}89TT2L<6HsC#BB(?}DykVK9k*1%F~}N9y4KadeB)RvJq;@3pmQntjRuyp zd+bH2w#~~?gnNl>cBMwx5@vUCsl~4k*^~r4aR!EORAjW02r1eGW<}-vIl3BCwVUEw zh(xbpj>h?!;M4gDxV}8^il-Ur;r34S_`LeD#vXa-JKk@`B;%!=m}ILfo6GCRP-vnwGMvS1TCwL(fwPc-To}O1cyV3K?4x z{_{-2*jZ}zOd{hm(Z%1afi9LPcXUtDSf?C9Eh3I80lt-6uc=&~q`FuW) zKHDvFXfegSj8LcxD#zUuFPYuggI{ZvI5 zj|TJPpX&$cTSpufZ23uYl>m#4Uva-%N<10wTI1Mav~)-=p+fo(j6RRxz{*!Z9U-)C z9>Fg)gf&-?LrVVy@(_wx>%nb~#fWvMjZ~3snIE4PjYc%6*#^HD>*h`@M=No(8gEO?tGG;DGL! zIknN6VVIpLepd7%^9kPQ=@m~$#G`d&22uBd7N`xiP7nd~8%zL8zY7$6HJXuC?e(YU zo|ZhfFlXWkh}8`aNOTEuicNS}80_)bI`FU)e}Gw)H(>SGZcAB2IjJ%f(xjS0D3g$f zpKWvE6C}I95gE5ucsGJw!I(^u@Qq2m!}b62JC2|pO%)yPHM(i^a4hL6s!^uhSYDQ( zs6-SU+3-3w$KoVN{lR=H^hVSP#EnRfCNooS9%oP_bri+sHqLwpN!J;gB#HbCT*wP$kPMWfp>3s$!F>BG0nI}(tOBcS z`;|a~gZLF43#h#S#h9K-xNW62tdPsD6m#K0iM?V&GbYaL+Tv1R7X)gj~#SmUb78qLnlqoP^ zSe`gkIP@zojM0&GO=h@|U1Brj_A5+?CK^Vl?qgjE)=Mo|Man|gckYv`pkbSNoKK!l zI{10#kbR9{p%uRJ4wx<2MtMI>or0N#cP<&(WR_(NRzrNObQ6E4VtUzc?fH?Q`SmTe ze9vOyJ~XZ1o3+9UPw0YlgJEIwL%gBxaQO=tjEqDxu@8q>P<_RrX#GyAh7*w=e!%zM zvmm+X4>-{%3kZ>L>`>A9e(Oe^W8*8imEKjvrX~B9Z?mF4pdgAW0GcqQ8K?PWbOtli z6v1wXRcjUM?UkNSiRv~-lG&n=6 z$-Xti>!AZ`H4B7vrP6?>0{7UrywB2v>KcE_pW4LIO&E1X8z-=JL#R3C|YNnMkc!*60bMHvnH<`ilEG%{J&Fe*%+ zjTZG$y6;1$L>`qR_sp}wV!83lNr^{s08V1fY$}RtDBk_ zY{PKqIRP(E+njlJ>;-Ne9DTE9Yc-7W#!7e7F3YVtOg2yK#&M<)w#4K*c(bn^FnHGi zOO53p1ce|18`isRiPy2)Cp&cXWCMewS7U(<3?fr$6<2fP(VAkoOk?Mn;n6cy6eoEN zcTNR*-IloNR3v5#qTkK~&Q92!hff@mt5?U>fQ)(sn9?kZ zoELH=@&o-m=!`QtVP*4!Zq3MI*C)c*169O@A6{Sw1BrU77bX<7)o+B=OKOT3M_qUu z)G%1v*Dw$3!{WTWe}2o~d*W7}{itvohqK!zI4HNk!NALAmrWckmSUmNsWC3}z589I z?(Ph?T0sx*T5P5eOv%MYbRzUJ)6Kn!@@StdaavA^up>Bu#v(VH%nlM5iNgY!YUrMi ze_F{-tA~K?Z+>D_Z`ea`+x(I5S4rc!$&2G#xZi5!P+od8TU36$-U+2lUz(G)^M=`)XHCub}p+?s<^N%UM4vVLX!W z3!0^;2XT5crok6h1={vUZ6hmQ4N20z`>5mfN}W4i2ah$KgcnPPpEs_(#;Q{)27f<( z*y2iflq`qB-OJXu(8w@R=)->-a6|4bNxNMnft?20HkuCy$6$L09kd)G)W4O=9BM|{ z0njynOnyNaTVrFARb&?Wz)KO0c=aeIrmJGdj2T21U*d{=r&%WGB_fB}!Crdq%$!h6 zTYHZU91PZ_u6~E*gTy3XA#JV7W1QF6sjN;@hLE{nCX07QHTpvH15PaG$-!bfNO#d# zLz-yQ&tSY!D@K{1sPCqy(XopWKKD^Su(X0yAdtrAPbwvb;0KzwfBiTWK|Q z=@~d0^<3M_hSR&Ce?AW}16N8iRRYrnJD8B8G!k~7@GQoI<#32mT-zRtY2CpF2f(XA zMU6CkH@0EN1UN@jBxhBao0Y7;t{jc1e4a+0fB6N7b2yPo(8A@@2haBnasAf%nJCjH zql`!qJ9zbokA$A+Li$D^=r%*k928%W0a#oK{oyi-%i#({q!i0)WJ1(aFJgY*$gn{8I=(Ww04qI1{H zye0i*Mr`~uq|h*1yj(Kb6ltw^K@0am&(EmI`#hR*0ct8#{B~3BSz88+3Bzg4k81*^8%KE#*02QR*UK z2M-^JFu#z+ux)Gj9-Ypn7I{$oQ)oL1`l&|nToNk4Tamb^hRS)nuoZIEjHOtFqfhay zZUTan1jXVWhNrTYA$UlLl2*5w4DdkB`Zffs@;~cY=26uyjz?2T9bVi&2sRpcJQEc} zswq*+P- zDN^CmeDw%s_1+%}Im49+!#OjZ;j(Q*hfk#Bm}vcixtLUk-l>q@`BV7ppOrG2W#Z%& zW()~2c*wbgWlG&}uVkUND;LEy@?#C{}77N~WYzz)?Az@B@SyxF&QfwgRVOOn%0aye75&&}>S zzXc$D2{D5sKzp?kZ^aDn`*nF+3|f|e(o$M#yR)s_4THwu&3vi*JPwOBR)%9|cQ^)g z4XHCFEsKY{w1K@z=AIAvPKl3~tb_^UIhBwmBDl`00~fq=Sz&xh<>PA2hJCH!hGwUW zSgtprf2*L$jmE;I<{4F(Ggnc%YAXfr=SqhudnSKgbgU~un2Z{YIR{ZU&6?3OUcSLAaY@eW`eEgpt7 zlUlHem*R=;T?P@87+ei=K*i)c(`M7rgYp~;1v3UAroT0zo2b1J>$(E72e7wJRJ^j+ zfwa{lP}teWV2Cat(t`GRp|FvPh+q_fqDrDbm_Mgv ze11tcDh~Zxw+#nx2(x{He?+>B8}7!V`sarmVDe6{$$s5`AD)NF!*)Lkxhe86X@8YJ zUKj5XynC5Tkh`933miE2XeIrq#2DMX^k7QLZ zL|1DDSCs` zP~b8wgEc_AKuOkS68=kJJcC!LEhv(jc*PJc+JDJEZntc9XnDeon^R1KS8VypEKVS=!F?4_G(KTNE3yww1& z<<4Fsm#(W&-EE|$ep#8R2{KX@^9n+)nbR_CuKu2`y-?j&_Et#qL+_J4;tN=2WAJ?_ z>GAwa1Ld2`rz_J{-N+hUE`7D?$vACB{U+#Df4rK7HY2#|H7ad3`gquCdhAM5`64&^ zml&N+{;t8*A@sURFNd(28=x_y`ZPiZmZ*JTwE@14fXfD|h6GL5)jmGBn&D0L=Vf@m zCfsvhVa?!2*QXbkyXRHMlvIPVI=myUYfFf`Kvx;HNNg+~nfLnniq{U32A~2`%1Vz|wmTEs2e$)WSRz z)ul1TY;;WAQl)z-Kdg2cN`8In{^lIY0O)kQ^I2SoQWf~F>*MJp!pVm!TB9y-tC8z^ zo;bCQ?{j%6p6`I;Hk8t!SYr(BA&>}DrGxg2UYggV|Zk#`Og7%@FQAPviijGoxn3uBn010T08 zQ!nFZtP~|hjSMd!(1+p*Ez!^!t-}`5!O{-R&*GB$6p41JkhO#U#f{uNj#66xGL$#dz~=tSkpT%4i1 zgjkQKiEant8(H)O7-+8ZSoA)7^JvjbKP-NF5#si838FETR9 z{>F}aEty|AxCF?_9K2a!PCD&{mLIaLn~rY9PkVlT{$&jW-^9L(DZPjb!3!(?6gP

!oRptb@n+ zj;Sj1EzP&rTH|dsUF5T#cGro6G4AR2oYP4A6C$$HZsMhb-}MgVJ|9Df9nr7lJz}vl z148Mpnh9;=>i)2Bv@-|m)b&vQU&MMd0hk@(3OOg^&bfmPD_5YKI;h1GgnmUyKMvNS z*Dl@jFEe{GgQYV82Q5l}U@Y#R&i56es!fO#KF~6>m8^j5_VYi$aL3MIurDD=iV!Y# zw)C$KqzsWw6ml!_bkB58+Pnr)j72yJ19dZ;QpeC@=Ysqc6~m1XlxJ}t=Y?#A9ovZP z4*s&io?KSB=5X_Mq0Qr!nZ-97Pc{p8>NN2hw6L1$?|*wdwE()u@GV+8cRmVu4i|nF z2YCia`{H&dzX+@+F~z3}&2HZ~A$J#(3rizQU8HeGveHLO?>XOiq=P#{F`>io&|}#} z+qQJb#$=b8bg=Ps!{v58DK!Z#EWBz+L4AD9zp%|)i>xTf3e{0+~^1&1o6#K zwr3ZRDa!hJPfU|eB7lm6qeNDi)%|oq=$rtSjhii9m6^WZH{st=9fQ#dhr52sEKcDV z){U(4C-G#*1B4TJGjp`CK?-PIECS&zl`y!FXqtN(X=qEa*gBq3^TFm}Cpj!nLubX7V)$@?A?AU0HyDi|)^#d;oP?m&OB|M4~*^s!BC_{@R=DqVy`) z^iz3jFK^wAHbnd?@;r6FdFZxmHA=CJY>9NY7`vW2a@8_3y<&DFpgBkW@T`=eFK8oO zT(y#eS}lrO`ZBfcPaK>$9u2=+_Mtg1J;2yBN4^5}D8XEx0WdGci3PQk{1UaBgCLjA8J&l$QM)18CRi~T;S54ZH(@Xo~$ZF&Js?~!|%D|ZX{Jj z*pc-L3P~#WkVf!P51DxQ^K}CDD=Y?hNA?;=vpqJIB;E8gGMv4?>|>Zb{znXRL*?)Qk_|}2j?T(SeEif3wmvZ0!0BKWR*&#M-@We+n zd!Y-D_)%BP<+!zHM-WgMA-<|E26O*5#V&wF-H?7K{bi0t!Ja@<#T11p`z7kR9bL^I zxiX|bgk@gG;U~e3#Vwfd>bW+G#e;04x)I0s4A&VgI(Fju_0T|cY>fvK^f~+n#M)-I zKA?@0B{P@33F-*DS_^ETL0XcaOIRdDW5V4B_zY`Nd?M#7>oeG!Z^6Ba-dCk{J;lsy ziiSUhyO+>s{C7)Dns`2Rf*jY`gHkmU5gRa2MLAKjTZu0mAO#oAut#vEzYF_C!?|MG zQb|RYeITrDng~^K9yR@$=Tu)pB6?55gtAr{5~EPTj*pnXeR>Z%m;6GME0_TE(4-rw zME3E8f@iqWlgt=}U9DMBcpA3%b9qbF|E~5M9NWd;*ghbr%TH)&^)5!yC%XZ`v?wJT zr0zUE{g^+XtUw(UkwXI0C z{Oks!jZS1P^C2&m%)dTuRCl66MJ9OSvo;iOkk@*49_fS4UK2sIg}$oN5`T)WV_j~$ z#*y;(_hW2|toQ1WCxQ6-vCr-?6*3i$CB?T(Iy(Uu4B{Jjn3Fs5)HYKiwn<7UMvAhM ztl~cib)k*j3wl0-&k>Du))lCI$!YL3LpY?I>g)lzF_iS&;YrENcF9RH%gj>X+UNtpO7cW z=y9bt%UHUm14b%KvB>fmkT=b_ zigd)xBgK2#{h33=bql4K;;83zkU~UB12jdN28+Nt#W^PWf(SsT=lZwNXYAXwH8p+D z2T-wD1`6V}x`JJU5)g?l{KfbY3U{K*jkF9_;!&pOj7b7b<4O5g2XbEfm_g;#Ldp;i zD-*QR?1x>UX&lEA{7w}jiYCK zu00NA=#@FmB`CEgOPGL>*m* z6L!@dqJzFD(40JE-qoB9C0HFL3|4tOJ91pPVZFhw7eu;Rz0}w$sh&XNz#XOq2TvIr zi{~9k7L7M7L#!M~crc`I6W5)r$aG3}pV7pj%;E`lEP-KW&v?w!L}n}ma35b;S~Q7u zWn6QD1W4v?bv$l;!Bx=gbOuF)QJieN_M$nWNG4939a7d{0~7Bj<(#O7(pw&_f1Hi_ z;$$f3(K$+laQ-ssV9rcZ7sUxH?h(ODxMpu8`~q0R@3V<5ZUR7N0B>X7i^k1P11+>c z0#{3cU70M%f?eOzWe+MNx@4`O6KfNE}>-%Ay*gOP`j%nlT#j2qpj#O3UrUg4^id>oy3kT*kQp^XA&x9M7QbcQ+v;w05OGe_zv}@RU3qi z$Z4ZBchBcVa$fo1DFN}YOT80bTTwDSQdcHnV+giyD-Lt zKm&qZyc%9CTM%PKoN%g{XgsPsNM}kO0}&4>JwWdya=9)5Ash~^0(uV>M^ySibGCwz z5$PN+Ml%p$>JJ^#x6tLs0KGyLupO&M$44kv!@+P4tPv-(Q) znW!s-B&%k8 zp97OXN@#wwog-#6l6D~%M86snd|3)a+4OKr(u$6rle32G24##}>NW&kj7TOs3VXJL zc4+@7K%h<|@DEF@-){fDoU^iaDFf32}t$^lA zpl+iL|J2M+g9i#^{QP|PQi<;e0S?)xbB1g1_`<>Y)*w#P&y}I!c21Uq3LcPcH;4bqI0F zG%ZQswtudr3r3w}tQ`@KXB^ZxMGFdmidyI|W43A#-3$(6N2%hin*4IsSIG5R3xLv0o-OG?OH@C^*jHSMd|)m^=k z8q!UF2K{Nd9S!5tX!S5^0(g18+nY#vy3{(tRE6@P4?zeK<>TM)kmGd_VPnQA7kRXf zk$~)TlH+gOn7m=j2vbKXB-!=9II_qaR7Fbv(Ms=PC#2#w`w#W z=rj4$Sqg431ZfI;P81F=%2aAK&1MMC_yLxuW9PMtShb@O%)R9~IY2N4HjJUXmwXHl z=J7qh5e!n|i23lJ3Aori$qjbqY+@PGGUPbj6mN#$9u42-kWv1HK)Xf*7du4zI&Ap; z+W-ZUfh=WXWVbD>z!yT90&Ktv@`?P+^ljzwm*P~Gn%)O?gB56rc2k8*yqZ4@7nX_L)j_!4bYw280A2s4z^0{)=R3vJz7Qz(N>0jX`Il$M5BbQk_^? zmb=2DwO)gQyg->t3JD)mBx;B)gI6cNIfElwxl5wF%+%+FNg$PFXf~%ubeSK6L2;*k z-ZS~l5;+l-wl6{w7Dyq}{-FV>Nn6E;24mwA6(n)DhTzooXGRi@WQFLUlc&&iO=I^T zivywJNawc^=E=0XFqsVRR01*cO<5HEij|eEmVK8g?IfsAJNmq~EgQff zwRv%UW^p&6vzpem6AVaGtc3Q>G5wiRktPK3ep>JKPbd%NiVnQsT{NC%oJLL-qJ!8- zP-h)BwRyVw&H(-~!h9FwJlK~Tt)s~GW9=N{%H zkHahpK^rHdVncAWv!My;Py*&Okv>@=Pj<^*TyrRLzrxUph})=cnGJ9$3I}j$lr?}= zz=2t)jatn_^K@B=I_NPS=#K1BtCqqQnsGNTQfmt49zY^Or3XLIkcNQ*9`Dm{tm+te zGzr-e8FMH~?kI6@V_qIbW6`2CEQp*Gn9!4LSZEWt8?F-u?T9E8^I{i=*dP+gY2|H` zMGdiKCZIJ#i3pZ4sls`onRd=e0U%n#Ca`${WrC4WU~lwxS=8N0NZz6!0k>0lr7=-Wgf`_F=oh+|pA(=&dOHWYHAe`np>Wv*)f@;~V6i<7s3mijc zZ4@C`gzXJ?yt*=6ewBc>XeQn}>W!UeP|~t^p?bStnK{#S5dlPbxd9>u#Kz1>gvttK zd3?&C7ALU8TXCu$a(pA?no^B&vR|6~ij}sirp*p(@KQZ_I24%eSY5CJm0AN|Z&CLzOTfN7OG#0F=>!FqSk3<=Di4`u1Z0Ib8selOlzIIm3id zjw-_NQX_~=kIB1OdIh4uG&6)a$uAeQ-?@5aMkFz+U%>fER>c2C))6vM$q`s74=$Kg ziBjcvbZ75zzxgoHpoIECg8=M24@g-g`GL-3<#WPqoB05WJPdl z87W0Pv(0o1vBq6^KzM1C(IlMdk&y!2xc`xZBy4 zbk(td%vXIm4b=}{q%u%bFrCz%#{%S}5bPliB~ozxLV*SG38`@jJQSBCAc+;i@e`;N zt0M8yifw!cxT+TeLU39XDrBSe#GhY&)-T|b;$R9NG^AMHI2^Lq9 zN)VG}(M5cuIe|8Czv84=B1p?kNhb&-+kCJ~Cp@^WbcRlQNgg+8V1=ctJWBX)kq0fd zAfF&H0wQim;D^RNLt*)8>Blbt34>^ZniMi^9|qnB%ES;E!kSQ!IK8Y>A1x=m76zre zZ2g#{aC_l);B}ZbGf3Y$5Pf?Ha!#0t3<5F`ED$p<#rl0e5CFtqc!!Oi7M~UH7I8~> zKcNUu8%}Z~Bb?-HK-;xoKCjL8>_&0cLO;{MS&3$vA|)_!KSn*s%ug690fdLcraD7- fD&x8tjE$WbXjs&snU8)|^B;s6yTptcKAzx$Qp3K0 literal 0 HcmV?d00001 diff --git a/airtime_mvc/public/fonts/glyphicons-halflings-regular.svg b/airtime_mvc/public/fonts/glyphicons-halflings-regular.svg new file mode 100644 index 000000000..25691af8f --- /dev/null +++ b/airtime_mvc/public/fonts/glyphicons-halflings-regular.svg @@ -0,0 +1,229 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/airtime_mvc/public/fonts/glyphicons-halflings-regular.ttf b/airtime_mvc/public/fonts/glyphicons-halflings-regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..67fa00bf83801d2fa568546b982c80d27f6ef74e GIT binary patch literal 41280 zcmc${2b>$#wLd<0X4JKkMs=IoY9(#guC%-Ix~!LV@5XgawLzwtVoFRi&4B<;Yzzq| z1QHw)z@da0*@PsIyqA!`6G@b6oWOe_b_$P#@)GbXG2Zd-d+unfZAkvV-{LBX3Wc;?Pswd9i3FaAXkSUrx`&zn7GF0_`M^SUUB}0?t9iO6@<@rQX4MYaNTB6W_twTb8q4L*yS58+j!vF z2j3Nh`>lc?ZQXpu)z^G$?&B8=!spQk>+PGb+PGPLztt}YU&eW%aO!9EjS$4lmWxSf0(+a;I;S#pX$!?81r zPxe(ID}q`APM!R3^`f;)g#n@JcY^fY+Km6eDgyYBYd&V!e;1`7xevutA z9r7HC9qK$ZaA-Mx@w`Ku58Zlb*I{&GuRWclsyf4l#;7ri09Ui*6RHTP@wSWT=t=8ZXH=9myY8a)#IAo_0fKca`D z*F~?2UK+h1x;}btbX|01bV+nx^t9+egvQ|i`5yx>jQlJU@$>W=|A&(_6vm%?s-YdZ z;Q!}OV(bZjm;rz1-#tQ;_`j;qrV74A>f+@?>cTDSR3S05S~a&0%~;2e-Lx)tKxMv; z>UNd2#a>sPt?jDVwrIuBoW#0#yDGI^Tpd#fmJh|%fpzVw+(uuGC*n5@{id$Gt`64? z4cEQ9t}YQ*O|3)f+%4<)iFNDnd#1Lkv(9K&&23r(y9;-Z-F4Pkb*g}$v9xK8{LsMY zA#0mgiS=dLRa;x^Cc4QF@cS`UN-jvmR5`U!6_yWe-?)84j5em!#pCPhw)4Fe#va|! zZnVx*=ZWJcj<(n@cz2v_v5abIJ!>cyo0pio;gZ-;tZ<(36Leh_-5IxzZI8{{K6gW6 zdu)4x-!7pFD~8koT#5eCZPkH|w1e-s_?>1Ptd7U)Vh6W_4EWLlv~6{zZD=1ZbGId8 z2P-#E#D*5Ftc$B`-OzS)XhC9oBDQ_O_QVEi33Z3wsXZPV1}}y|p$^c7cTxw?(8S!t zhD+9u?+Ja?*M?4Pzmv$eu#nhpQDe)8rq_KJXZ&sZgaI}%ILH=#(<7WO@OQd+HCi6q zzG5hG9$KFmtiuOO41)3lD~5_fOqg~4V3EZbKGfLxYR$%a-ctNxpiRY5&;@Vp#E_7w zkT-73wkGUcB*ievEJBCIgv|7!MHb)9YG%{FPcKR$HU&+h!zMahw3wx1(~FFb=ajgT z%qfW`HlV-tm%m7{V~3g`k(p2s3i4uku@Dj(1y#tXRXLTFRY#Vo)fv@yP&H*$Z&|fu zwHnqcbawfA;^}-y$tn4eB_4=}ENLa7Skn0dlb+x4dBA$NMe@P+tN3)UA)gG`7`p@g}ksuP_r4esa$Nz(oZ#Y*myhQ zydBZ3YRahfIn`WNYqM$~qdLmPfP*d!c&KGlGHRZ;tf8!hquH$5;L+MytLn+B9c9&> z)%sYg){s}cs-;hDSBj2Uwy&>`sF=@n=M(u{Z@xE|4FyAq?hY~0;1VryOWYj5TSU%f z`^BD|*kB}m6&MwIx%*C_4-Kj)_rGq6J%mIJM#ave| z6W_b;$tSPtXlr}!^3VTT99+%bTYl9u??3I@aP6-itZ}+F;Z~$u6l4`VD`Otmv91d} zER<(S#b#32t`d6j;d0id9}tJcA&h=ofez}MOMLIh@MGecx|6jH@5S#($3Hm!f&3l$ zJD6Q&(h@95us6di-`kyGsRm0GTk_j84vH5XTyyaJs;URwjqa+=zdhYJa8^~?^^8KtwNh&Fei-jtC-6@O7#R52HmK*O{ zb{aZAuyEO0ulKHHb62|T!ydZ}`=7qNxi+xAMLg%B;s5c3YOm_eH`jzt&r4U@9n$wC zpM7|lQe8tUd+7K(@(<((1)oqStP_e*@>*4IMh%tKx(s^5)cTCd4yu8&8t{;8P)(Qv zVE3AU;@u~S9&cl)PcOVYDiH%eQKR|9}_GlobT-NdeEVO-@<}^H#0Y+ z8Q5L)1Y^CPR4l~m!D{tOS)0XjnbmLA4_v#m^vM^Q_j}*d-(&C6IsFf%o!9CIaPl&X zg|#geFV+9@;`eX`hJ?@aA^BN(won6(WNK|j6%Gd{TZs`|W+=eeBozwtMwk^=|gMSwn`IzBM5z3t%CUFVn_xPg)&+-Z}Nm+_k}F^P&%JTTTZ;stRF1+?)Mjd z@9iZ^PjW}`nw`J<%#J^P=9j)n&CF?*>`C{+zjvK zuNOv-VW}N|3CU6jr(;`3FW{u)Z?q=6LBotNQy3JAAabkPmIDEaWZ{fDos*^;yfMJ( zfi(x~V>RAAS`5<>L~AaqQ?lA=oNs!R?p{dTU_il`#v4*K7~%2z>|@S{!3BYEIG}H) z_pxnpX#C#z?d;e^VeztYJHy`@w=?040O^T8t{05-eVK5saD{M-a1YjMP6ciHrCKltrL=JU^%w? z%G&%P`t)e)acuLg*uJ=|U3XVDtKG{fM{{8sGiF08Ye*?QAHB~$=KSRE|D)H310@=Q zQ@pWVr#!_^eBAl$=-)<^As zJhjCaXt;)F)BDM{$J2alXh-S%@f4-CE-W<2@5?O&s9@VPh1%VaGs>!k%%NCOX!q7hU38p|b zovTxd{u+j_eYEZ&L7wLVxj-V2==n%JWNx8UD3m@%8`0O%MTNo`?Y_YEs;F@G1lm<7 z6B|dFie`mXi)&WTk!DpN9@opsy47=}Th&KCR=bk0jD2*^NKaw!Rn)8<*XyrZg3!aP zBWl)*%=02T#&ty@BtHoKp$@D49Dxi+JJ#tozAjnHMJVYQMGK5M)#A~d7;9g-==9M+ zC+sLPnKY*bgA}T+PoUvsAa#550cf*+sDeG+sdP`!3k^+d=n$DPfw7($6FBsXCobH2 zl%02U>xEDJ;>?F$edpDO&Sbv{2MRQk@FosD&zkxl&zG*#jvm#nE9D>W*MI%|7F>mk znUk(EmLpgb1%W{>X`^~fr%;5k(W+UUxg1kH8C5<=T0J^pMJF6Ela21U%bLQaO&%6D zgK<3auK;7Dt%RX3F)~Ql5#33aHxvaxlcG>7)XBT$-NHQKbm2UK)a&JCbx}s`1@%^N z>dh~!^F7)U+zkubO3-P(KsMA2u>BHcpF5E2BUWhiYBd=cmfCW#yk>y{qb^eRN%8a? zI@{~jT2CW}_xYn@Fv={!P(BpIW-dEZ?48L%z4>&$7n?oZ88MY%`Bd7HPGK|A;1YEiG@Keut^O%am$rsLQ0x9U0T7rgScss@?4KCe!Dc zCnPOzoBkzKkurMPR~sJlqu6;PIcA{-F)-Vx|?r? z`d|?X$B)aZ$q&7MOasjecMHWhX;F=^_B*??Sm@K4VoSC+2X&#Y3>A}<3RfGBXENMw zg?V3lkXD^WkCwy`019a$&9s)?Cn=eC2St6RCAO;o}h)=XB2SH>r+jiH(R9}{

PBK;&Wcg|NX{>QR@W3{K zY;bp3^^^Hp4EgCcp#a7O7KV(e2E!07sKTguG(W~^?4lZ66!OsI#=Iw^QS(LZUvY)|-*On%Um?5>WA zl?50LJ%&XEbBcfmH}zOz=!^;alP6P=Rtc7q@Q=l%gyhRfi2{4}=YdE4KV#1hzuEkL zQ`e!oCxJ!)KmnXWYrzo%_u;5NbadmMK<}VRv{vp06NK?w7^1Q$Tj1RM!76dG8csvB z!8uB~T2M}Lf-thpE(M7RjA_gX6%1j2BB6X0eI$mNZ8{a1K44Q>^W@3P_G84KehO22 zJG-|8&J9&`rg~weKrl1JkCIVq&`ucl7;DHYw@0%Zyc$6}?KFTU+2;?{&=A`cEfAzN zU!jp_g3S-`18T6M@<#h3A_2$=zd4rj5XfwaD;BKizzZu%((a@Bm!J{db@_d4*S%kS z85)uJ6H=aVdJ9w~XjG@unH$c0h>vFo<4HQ6M~DkI2t|eFJmy!hTnt8Ojt6To$AMXy z%Ec-Z9jL;jXKDjiV*u!Qj44=K))MH9htwFwi|JpZJZ~{M?9ff()c#tpX0uYaf>A6l zaV{Qgbe)MnbW#laMf4`G#PjHlIUp%<3ly2&o*d>RpmOTnmY2VHufF-SoA1<)E?~R( z=WgS$I7Euy4Rm(-QH_=+`sBw1ta=csoM*|uG8xBOE~wUwTAd@51j zuy`QZW4sK^2*CTH5tN8z;Mj{$CxYdT<=Hw1#U3GNO1s#SIAVG`KswTTkWM*}C5vDY4%wW!qp-T+P zjiH`H`Pj08wXN8~6_I0Gp}9bcbE~-^4mD3Jt=O_gbB3QV zH@0hfXH~q;wCr?tu*vs1?)CViBPBqx&5q{6GO8C#^wH0-chR_FWDrbUXgQ%zxOyH_!jd8*jbwmGetZ z>mI90oWQ{QRn`etwI7z}UM6U%>aS8Ge=hn7*WU)BCt>J`RFVl82?Fd<+Sqyf4cQeRYe?3g$5AO038R??pu*~f{I-;y@--*Usl#4Re< zL0XHkkYPBDUr**?V_4F#Mn-@8g*jJTGHZ?Tt9?CpKKr#hdN1F8-^loVTRu^_1Pm+j5TO#%nF7n|JOqvwP95V~0xY6*TP0JMx!rzqf3C;CtWMZ5^~0 zfB$CDI*O00kSYqexd!cwb5wk$FblTdB4HV028U~%vtf*Q%f;rdIV3Y`GsSf4V#7cw zCfk?Lv4)H$nsHSE3V9aY)Liqi7Y81?fbh=cWVC3e2(E;^A(2-yY~Y<$WZLA)Y7gE$ zT8E=mZQ+p1K(^Syah8q-KrYPTrn>-c$%9<8=VNnP74)pTvUR)I5b;omxX3DD3l3;dW|5Dauo)5oQzd4%ke=n%?~M z83VJpFzJdbi5`Mmay@YZ(+%OsARvLo1SC=ifx8=s3|(X#g#d^XKyO?vL1Z#q?Zb;5 zA-fy+dO>$`EsG3s{LwJd8U9DwWodXXebC_2=_AG&D82jX5Lrq30g|WU3-n9;qCyE< z1?eqPcW{p*(2a2s325o|LSc9|Aw45lHu+UfTu(L|)=yFP*VE`$m9;=Po8=Y}R!}aM z;WRW529hmKs7+7^%Bl}03PuiYIM^lC*n;I+XCVHGG6`wTL(U9~xvx*FgS6)E49qQ% zC;{JnAPtIzXtlv-0G~aTPufS%E41M&N2w&e_2F_XBhp*Ps!L~{dD73yyf)TNi=pdT zNP@zwBc%)LA(R5GyG`y`07Vhif3$W;Z9geJw zgy{`K@NafEbUml^`&HpcBusC(FOTyw{RZ@<`_@2y18KsYLzqEybJdUOVAyuJKY9E# zy8nLMKS(N6XIC9}f=p~dGDqksgTh&9$ghkW;;y0tOrSfn>_uvl!!@Z%D(&MWjXlLx z7&NiNe`EN*;PWEA7v?n9Fnd|GPcWzL5Jg4N0^J9*27q z7YoDQg7}`yo;_9#7Azd&p?6FG5Qp_rgBBy82SCT5LYo66_9A;R95{9;5N0pvbL5-- zkqE^(jjVfQ!-e3bgNHXsw1b5N%MmuCoqMP$v;wgoMTy5;j9QS;YtRL7CxS8nfe{!6 zYy=iEL9Hy%fV~2X0 z#O3|xh#tG%Z}*6UDbZ(VN9;Z^B|7ZGd+js^n6tA>CGoYbTiF@3mVJ2J=j|?+o!-zl z880I~AS@(>cJRd&JQ@M$a&ty)hnfb@Dh49Udl4-cqa2@%X3*EDM@yqOtz|8Tu0$~m zYE7Tknnsu6jma2wNo#M$UbG=W7NHtfw2m$aG@p0Bqoy_kFC!^NMs$OLQFh2!z+Ix7 zM>z-tp#eb?{XvR;XdvZpTC?;Pp)|W?cP_uOrPRD)YKOzQ8=6vKS83O-lDU7Vzki5< zI&>8&P1d?OJ+0UY_@_0)6vj2XSd1>}KL?^m6nZ%CJqw$-0WX955Z4na7eyyYccvyX z2oy84(4K}4Hj~9e7zP9&q!4U^wJrfm(Z$@1`9i)Pc3E?Oqwg$s=L%125BqXMlQ&{E z>$jY(Us+x6Y;n8Ureeo6gTdamKflqw7Liabz7AKF^yV>dXPvVae))f8uY5-TK6nmu zLi#@DYYY})m#|SN#)#+QW#bcJM;M=$vf9P1p(+nJjE@pf*Lay0t2mY|j1H`cWbB{< zX62)l?7%1mF)+<>Y}EIuEedwkE&~6dBlb|JM0baj?lBR1Nh1-F@yQZtvKvTG?J+hI z&{0KOurbPhb=|i^@dk$zgzj$L^7yjSm)G5T(>afPdhw-uA6jS0HA&OzL*Xj7Wgb&M zlRrD(WVJ}n+-Y0puDW+gX~U{BZY$ilWW@%sA>;t&rE~??y=UgvhIy`es<9(OlyR{j0uR*$h-@{gKz7%1**%k? zlOYRapLB|@$Dc5IS1`Kn&y01wBjCvqRq&F2I@d%%3V$1Q2;S z`7-d2?uP^NVzR_O+)wXPjNWMt!S-8xyPDp`A$lL)3)O{|74C5YGP5#~nRMds7vZ5&8wZ(r^v{u0f2-j0|9Z zip8kJTaaIQyx-V2iuPB)t&iCs->brSvZGsL<3W8K8wA7Ug?@;aj&AC2jc$%R`qBL| zdSvwOCdpe&d%pIK&4rQpkrkD3LrejN4lxDjC1MIN zbgOuL!KFODppd1J+?pdF&NUDdw~~%f^u#*JCbB^gHccU`=Qh4}PL3Uz9NF=4`(x0F z!4s2d^>O=SPR@_sBD`gcXa1h;e}L-8c74pSj2ky(lN<+{$Yqronrf}kB1{D$72{Sr zg21pec7W=O5Y$8JI+^Eu1%a_gQk46_CW(W;L$pl@_}KW$rQ}4Z&r>0#QMlBVns7F0E8Zllg+cxU*K5-Sf8k)>cByD zR+)FVvn&69**9`M`(WL{B4+Zf|eCMz5v#4M2e_>(&f1matzv>$xLYm+}2ysk)hGhn7C0 z(gTPkq8vJcwj0s41jbqohgBWoUbHHi+8U;|T7+t@X8;ywxom{_xz^qxr&GjB+{7?{ z?)snKaO2OeU$Eex`ugk*=bwFb>&zD)xMb4<4;6Q*3Y|V%e7a3;!|_hJy@6~o6q^?%_}agJ3LmN6ZCOp;R)DbTxD_!`^<3T^{|m{t6j{>eFWHUZf zm^jAN4w)_Frm6I$XQV5vUy8DTjRhK9CUnLm-m&`L$(?y3a^Z#NM#AhO{Xt9h{8?*e z^%*@{9vd3z(Stqc5R0b}Wx?3b;V$q0wde}vW?eScuf6D37=90||J(*bzj%*0#>V?H z=Jx0K8Tas8B2mIGC}KU1@v@<#`+~6f>6ol&u{eSF72$P?(XxpM!b9KMW(*efuT1XT z8dfLf@77nq#YUqP(nh*8r}Q=I(+>R)bpG_uk`0L$)=UkOZjMm&65nC&!Fq&!W5aTZ zcq>1=B5*_zBuv5hn#YexXy!64NHIZGAxJb)(FDv#0PQS*H3Cr^_^>gcu0V`%0IMLy zE3x$VIT~8}zWy5U&60Q~YkJu@^0NMG{lLqJ@4%HW6O9e~_IA+N2Pzw0K?h<+AR-Lf zqCJHCVQm}rU?7eIF)rlQz#;T}S| zkDDU0&~e-a63FN^N1Ke`+yL%j{4?%Uxe?v!#GC0gl^a%%-joSNhi=Hx(eq+U;+S&`Fa@@1PE$UPzM*eQ7r>_r@;&9^T|8jHMYXl7SkT z#`hU~qhNt%N5t;oAIpoW!<3=I-ZFS}+!*19z=J>_5q4xuktJ1&?ts^Gq?H}xCMWxbjzPlxD9Qk_L>0cH`(Z+GzVq^oEQf(Ocfzf3 zl6xVHWb97-J`?UiV^o0OOO>0rPUEfUG^EgwDnsl%$$mrV$^zP~Z z#$5T9V3GbNe~riJGKAiyza=jJi~b1P@E39Iu=*Fa0bA5J&+%W#E97g)nn~JNo`oy{ z9Aq2xNB$~K53phNMSkhAfCbt0{@yiFB-)gTmsV4PVs3&S0q9$Ks$mZp(2I6rax6k$S}jQBXCO;9WV$4Id%HV>U6FP06B+x-ED9c3}wu1qy@_{Yz3EU8f7CQ}8fUNcbR4E(RO5=;LRnx%r@Mm`?QTUg1HYU^S40y) zeeE|*g(uehGat~j*M|NAxqDi#LF4-sfg4U49oeo#ClF8fN zP@m|U-Bp)8eNO5wta21vH;!M$8qw^uTTBw-i#gC)&9mpp#UG zqN%=_@C`&|TOw(~H@Yy6KBy4;8WJ5DK73y6A*M_dC@d%3r!u7&X=>)ShtiWn`~@5t z5ix`gxR?cATtL`4sN*==n}>fEyEuqbxxn|McYeCmyJeI2M?b20eqHG^cSY7$U$Llk zfA=e;nvDxfi!QJJIefP_-CtWO`ImokPU(WZ@t0nzd*G%8msS7dC!Jp^Exe@q$3F^P zI=^J_>-bpD=vd5GC2r0Lr8h!5AzEl&li^1(Q#|I&Po9548x4-*aRC!KaWu+rT-3v< zLcbQ=dFN##|2d0|#&wPl-~6|cOK>fpbL0C^b3z}+ho@HhK#{0peK6wI#`<75H^)na zu|7atu~W5v(~h-2-l;!+%7*KS9c#-w^(Rhfb6us)V0^GYF}{%;YOFXEuL!#Hie*!VMmqEGUdkz?-?<3F`puEwF^~KXmeY~n!P2F|69iS2 zekIN>VohjEi$2q68Bc%4?+C)ba@`v6Ne_%^YPw4@&%OIU9;W`EtA2G`>GoHjxzNho zMlZz1*`F9MYs`pmQ4DR7sjiIXuIP9nhJQZ1lz8YimfESme%sqSS?V@@Gb+MV4oEgS zf?de21|cEuly`zIXbBA6xB^>O;lI+r(sYsj8ryptOYhWQyG_Lree*W`HL-_&EWJa2 zZ5t%B5mWgfbT-O8UBc8-Z!+zF*_u-cy!@&^T?ofd-v&S6{ieKMbjhfdVCfC!dz0YTeul6S!&fa^ zer>Z#fhirCi#LAZ?zb*#TX@lxpSzRJ*dE2Hs+EI#Q!~%Kbye1HGlgq%SI1&6 zVfr$}6FBAB@_zs;Ng#@C0oP*Zl+`&NZ90ZxAzstxfPJR+LP>*A^CLw+6f_zeVL<4h z%S4b|m+zPJy<$2T3Z~)n74y(=B9cqCm}#3`VY1Dg8y%cFrO6$0`IoIxOwpj-=9VO@ ztELg9A2!VzaHk&oYA}$V=k_jJY06c#T)42qEjnc@V-8QPH#Ie6adppR-x`cexurc| zPxjA<48EIQzPAux(B|{U+##!j$!353j9Hh@dYY}gtZnrpCX}G~)NA)!qZeHE#7gJ1 zy6(EBP>n~ncPv>G>$n^u=lJ)9o8))p98j>Ch+Uf{P=pNMft$_1P^~FPmF$uAO|~A$NM^was_1 ze0XYKq)Yu@wc~<2x-Pyrx!C6yhnnn7YgetGm&wdqziKUZChyzV&p2mFYg6v5X&1TJ zg5;d3H4E2K%KPdCYp>oq>*DJ5jg2%-K??!2P=Q5KM8j#qmxZF6W-3{tgBgkjReNi{ zJ>x(B^EX1E)vmfbT&nZCCe6kE=2EM^i}>z+4!6_Sy3fPkYxsLDe{baPNqR5hER~W; zm|>tHUK%md$oN9qW1s5i6P|ZCt2{NejmeJ69~-dakjp*cU`K~KP|LuJL~9D4&ang$ zIPWF0RtP*3G6JC=xB?kq`G`mZB99V${*39#&*?9JF1h0It1eF4ANs}f$xZigqGm#o zscsi*N(I|94V}IW+t8Yxbz4VOZLKAF#>UT%kz3jM;qrR|8!xU++Bw{-!2p_onm6Fp-Xb3Bu9Kb9%gx6GDo^8fi4y zLY6et=YUcNDC>&4q{)@63k=`vpW+|B`M=nA*mv|N$l)`4_Pm%JYcRz=JXjEaIoyt5 zH)PR3dnS=f@mc|_gDS>xzCgjF6dc`>QIlNGLa}jVi$NYG8LUPWL^4QG5R{{;wSv=w z2n*1{5wgi_5o`vNWY3V#H&5sT;T$Z&D5p4`RCsQ2h9xX!s==I`1f`xP(Kb*SxQ zN2Wpz<|LIBLexGyi#{H7W98)~s4&ZjaYmXOG*K+|4rQOE%FFX8Jh0MWV|R8T6d%|q zp`_q4nEHr*4jKDcAcy`+VHuAM@714T(hWPF)1ML_-*LkubnveLPKRD51ob6S*>2dm zfB62LHyQ_s-)M{|X2T0z)TpikG{i~H>2WC2ME4j&uuN(sT5R}f{bz_*V!J3H%!r>S zZk|Ro088`nPlB7G1+o7L}Y=BVO;jg9^4^pcHV{O%VwE=gCLp_f8W7KchluZ*2l<8b)v6HRR$)r$3K zsb$5@mt46#ms@`2B{#2NYlyP+BJ#20zZ1SGUnIRjT9bq{_B@OHo~>saemDHj?4jQi zT=si$7SVdH@VfkCnQK>Y6hN<>E6x@Nf2Tj9?~%g8-w|j1oI+2QQY`DNA63>7PL4(4JfOX|%*2>y`#BTc)D*1fwSL`O* zZ!IBiv`+scFGU0d9kr?c2sZ%Kd9)F*zKnD`XhCy@Vgrp=O-^kC?LEju;L*Y4d;v}c zHX+#r6{+!{3ez4Ti%0;Y>;ouETBsgvYv-eqLUE}$6ePk~31yXBVk_e-Djy-NtTUh! zVtJ*@;9g35O>X4W-kLJiDd!L}-1~}Xjd-KsmN25OTEba^VZ~7A@SU-Clk`-z*Y~Ir z!0}@<<*Fc`y; z50@i3geSZnq2yKRb|azH_-)K0#Q#!`hzDb3Al8`Z$a;jukBC&Flae7u9v4f1>_Qk8 zWA})I8!63k+?|e9Q*PPF)FPmPu@3OqHjIxAnh(#7<&~XaO2D*54JQMZlabJf34ts| z&ICDp?d6wQ3u}4#W&I#=IPor|g~7l0*$nK_ZTQW4o?S%ts6E3=LTRJnWZYd7Ckce$ z_R*ifPw^ksfA!K!L}DTcU%%XtdX!%Pf31_as22Df4|YL{5-1Mt@#8LV?bVH7cSwsM z*%0N$)S`&^gH+Dr%jE1agQ%)dRo7S zi|v9jWROy9wfOsBx;-@9$iwK-WC`&gMy##_vMLX&hgVgDR|hrM%pR=;ZOihsX{`m0 zMa_w@I#Of6vi)c#5)d_lx?HjrN_Ez+txl8@Ao+L*1WkzEb7!BSv|qtK`AvPCk9?C7zt zm-Kg>4ptvvr|Z9yR&ck(*YPc~hZlnW7l1!nQSGRwl0}4M3q-U=b0kx%v&Ci}Q{9}T zytwX+QF^F3hhDWIf*4|yTq1eoGv(pIrb%lt2Vgk(LZbjEW-A$TrU)6H=7xoJe(xt{ zx^GzNHGBQ%`0>8-2KUS@iodSbYmF2xd1Tp5f1NtjTg#qsPMJH!(RnF5ClG#y&0BJ_ zKjy0q_!^n-mL>YPoERrJ}@HYGXmgax&nlYmbhyp{dNo3 zAK-5MLkdvfPfHKAKlD)hp{0M`zyHr8+ke`}zJo)5+P9CNez@)M(m(Cr|EHyg+mNnI zYc!2HmifJCX8 zEEhm2LMf3Z=Vf8WR`=14{{x)g!Qk0xTV#6j7}4-7bu#hkr#i1wTB38ASx_d?BdDvT|Cv($dQ}e z_jca*Vml8TZl4b6LP>J%==^@CQs<|PAwjEaM3)nNYO|tN_i27$8O6}_(>S`E2Z}+y z{*>i$*Z|2-n(N#@@_4--J>_)@TxP%Z*5f)H(khK7Zm7zc#*d#G@PI^A%v zq#&91Tb%WBGpAjcXqTd>W5Ac1GzGL{Y2vERE)hb|WRL>13z<;nu2Nkh4JQi1-yy@} zc_nF~L^q4e)BmEUx@ z9X1dQS|A+fpfF7{2^sIuSxqijEWL;coF^3XG}oqJPEE_G0bmML&#c%SAiJx1D#(+= z0T1b=RL_ramu7OZc!9ZSE+kzdt_uRB4#}Y-{_k`W>_M?8=@j5EGh|s1h|+Y*4(O#x z6%3gaOPq4ZHt?p4RaK8R1@vc@?pl1kJL%dSJagsq!5X9G*(`Nxoo=%NP5r5Uzu6ak z+``rnX)alH`KHzSFIG8O)#X9Qn)|#}qcmbAg3^9Sgw$V0e0!|c0?{m(l6X+P?1NfvW;@SFFc>kFd6%d41Ub*|j8>e9|YV-*{2u+h0(4w($QcifKyoLxB9QCXMrgQiF=7vW{eSGiiVM!6{ z6T45pTwHy_Z}yzKM}LPL*zi^RnEjO(S&Fs1RPmubg*JJx>P@LwW|)EqxS=*-A|uoW zH7qEULGuHVq1sbH1r=-+66DBICqIV5v(%}oBvt$n3C@Ox4=uWW{GCheK57z>ecmA6 zV532g>94=|3h8wdY1Ch#k%E>OsnACB9a(CX=sSgsStne=WTlzlu2yZR7X&g9OYl~W z&D=?v1aH#WUfn*>e1{UcW zIL39L@k5E=2dYPLk|vT@1qSxyfqaY#{Epa%@+g0K5Y6*>;R~oBZ&=!Z(U)b^&t#bT z5Vv{_5jzAbVq_o2gz}T6i-8?d23#(a4?cnE3s+xv`yF?G4kA~z1J$f*NOev-}lMFTj~RP~}vfT;+LWIQ6D!#^cJg zIgN6r<`iMgxQ~k_e?FMSn?D%nkn%ZB((CywpfHYi_WaFSXKrB5V70Y+Rj|J=Z0(R* z+Re;#(I+Ae3CYz_<(jM5X2d!?S&s}rN*1j(wIQF+VfL7t>dek2m&+&1N!et#R0qu- zYt$RE*_#tHoeo>H*XgiiR=9m$cWZ6G)jh)<=$9nqEOjwSs+H`D!)s}IL!eMxu(76d}Ac2|qP#^&`&Hb*EOh*{F6D#;`_CW1~$a(c~n25MQ-Zb!({aOIWG zMvL94$knTvXqKJl()t8TQxM^&xC4<Z*{)9zOH75B7y#I+k=={;-X_P1_+_N=*?;io+w;OJ1Vh4qkqPjg=tRY)al z4mBoFSE9SD=DBqYCu(Pz41G)|=$BJaX#jvE=05yCJqNX}KAw}nYg!h2xb@aU)*IEj zB%csw{AAPZ<1z|>qsA$mhP+whjk;59!wN<88~6Mmck>5hhTgYMwh3GlKp^s{NrvE! zV^k8)*fR39DlS!Ipd$I%u&V`4pgL2OMn;PhiVq+a7J0A77D~74kCx=cKoqGW5EX#I z-ep22d?&WPkzyb01V2c-29718EjeO;7-w7xG4#60)2r z`z=AIs;LU0n5A`B&|Fw?)hHTeKq;h!8dx0+Q!?Gcq@o5WH$9+$ma;mnnT%tCGNv^n zkCPA$5RU(G!^^rLR&H} z*b8yumBjTpQrJ;xBW0NS{bjY^!~G`n%lq>4XIbI(*TJhqKP-iWPElO}yNj3A z(E1^Lwf5=IfATOLp0l}qa>j@{icp}nMQ|!4lWUZHE$!3$X|u@)!ch~7mO(*+&aP@U zR-tRG%1@AE_lUl3=;e3jM3}MM-F0X9Z5^j2^cyX6*!6y2s4nI9G!Fl!dqMsT zo5|hTn5y=(v$|(&>a7W#yTxib^VqOuj%b=SMe$s)Y|hF}XEe>z1$OYCm-Y?Rd%9X$ z+vr!%%dAzzctXF%GK+m8=m|BZ=@$oQCi({&8w2!v`5sw$=)8?*{_VJ6na+;S+JE-i zPc_E#)%Y>`6CsOxKKR zaZnY^tD5-2PsSIAqbN@SWP!6cjaArB%XlyZ(-xJQV7bCS&q=%drQ7d0@4|a-doi(g z*1VV2E1uS?<_^xAwKnnOjQ)Y(*&9||=^U8VzrJtb)Gb%#=1)Ig@_h28+irX5lO1PV zI&bd3d@>Z8dfVL7=FYqHjE=fBr}YQVxZgR1(`PA2!pKtW9@A&)jwemls zPF4=+jvo!d7&Bh<9-)k=fRAyunE43^6@;KdJpq_Zl~8Cb5r#RqWA>S653;(!!5vn| z#Rv2o|L0t9M>s!tU~q@UdGP^u2lg|Oa3VjrWAN;A2lPJ>Q-8e0y+*%}U?- z-*dg~Q}TmMJ{#Y%^KY$Jx^m&fC9OCzIH><|fZ8kZJZh>PNEKAV6bH{etq?r0su6Yv zM27McAdWCH*!LP$Uw8!#E^0Eo{7W5z6N_dOoIRuv16SbX+(xWo)LDpoE1CJF=@&fw zuD}j#NZ>M5a`F+9gY=0{o7OHg`^1jHrJ4B9wq=FXoE6hsrAMs2 z3kMpeFV8m>A1Zu)byLk=kJ93=x5zUV{Q1eD6---lzMCy$W*3U04&~3fbCzZ4GTGNQ z^Wwqzi>map%i?RBzOnz)Pdb(?Rn|6b5+mWZ>VVk-K*DRCHr(pHV_+U0fq=0r2p347 zLrnE7VTVAN7wiV8C=u>WM2UGHe;|mDKM=&{s?Zc}qCQ@OzA;;@=G70YBXAg7IR0g! zdKyTZN01chB1Fk*IFt5?QwC>|&~+=%Iij(at{m;SylNY0+kz!cYbWDUP_#BIa-<36 zh+d#2mnz7or{WTTiy=`c1T%GIsm!(@mzsRQ7gsSuAfF0rDwoYdw%5-$) zYp1O_r)j8oZTF)3aG`xpy=i z!Wf~#8(bv7Y(T?paY2HMR!0TqfmJwave|uJPXL+= zGUae1Z<#7>01QUQ%zdg=!I}W0my}vO3!_Q_PK5zAY;iw*C zohlD;OcH$sS%AAhasq&EIP`_6wq9=2aqGh&9$sNZCZkDtHF(7`g?{ zCQGZr-NefnGhMX`&@q&#^MjIqcu)iZhNtcW+Jx4_SB*$+FR!odrScx=lnZMk z`rsh!YM+mf4h2Q?CoZ86U}EZn!daO2!G|h7W@5TuDnLpQ{zS#t!_CMq&lG)zATyMnU8-xDl+#rz&r|`(V-H@X?Y4CZ)2I zys9li;xI@-NMHVd6wQH&wGX5>vRFn4jv2+>r~ES)7!fB(IHHyr<-52QTOm4mlEz;D z-`eXyd)>Uf5HJuvcD_#7z0_WN@MGGGif7~6JlbAr6R1ipKEk&Q9vN#YHJj)QNeD(+ z4Bt4#!nTa%?gCRFV+>{h$5x4Z$ruBAh`4yDC=(-2;9D7q531ykQ9|RR@4fpKN;f6X zJd#h1%tgZ89(&t3@%CwS)Hr9@lt49X0 z7DMjr$G6be&fa^J+Cn+8UwL;zBTHe^m3NJd+3_vaokx!n*$ltm2<`si_VNT@ zqrGVQ$G10BN9nwyEt=5Y0_w2x*1q>B5qx}W3+Tv_|J%0y!?cY{)Yg%4p4e7)gg4e8 zJa}a07!!bBml!;WTGflJlh6~AEpQ3AcHa4E@}@Ev7|o=zzC-d&a9+NW4xL08ie&h`Aa~I z5b*~+T_@y##U@O>-h40O`Wm2X z2^RBf))4D>$YiqFY%Zq*Ri|7wYe@ek`+_K1Y&N%DenJ0Wkw>)n^o9O_!|JXQFGlJ- zLt!_k+iCNdf2sd`jgR<|&t*=xYRqL+lLLctHO5Lg*_3L87!SmCKrB*dhcUIGPtk8@t`e8gva8;$9z=*K^)S_Vk-9~LQM9dJt2mhw#fJydT zbxkB1Yb31~`auGO4g$D&&T0er%#YS89Bms-iBDT#HxTMZeL&Pin&K6cJZqpbo0i@% zl2QHemW2i6#v{G*es<)3{Yir*&RcNf=SCRxhNW*mW@Bsa*PZw4k6=!X&&R0~&fqy- z=m%I6!EjiSNPRaoEYX_Ly3#z?1@6e_kzMI>19nEwP)r<{)$<6!N5rmj zVwUAdjt-o*yhPjy`7V{p@S&^rTy@o+$@wm$#o=`?oxWe4|G3Nhvzl@;WOgS z8vc++*v&}dvqE3sPp9(|fE?s20i0L}45L|P6JZxC6zt=2$kh(dv1&xszDS{sR4tQ= z%ew9QyHbp*5)+%CLKX4th#Vccf9s_CGcwvg_U6c@!9Sj#K6-aJe^^?d#Zc{TCI^>3L)$eK#};^5lU8(CAQC6Ma{B-xcb+k*q$x?=V9rbiGSl^#y(I zZt;$BH~*ggQ*qTp`rHSGr)Dd$SfpdxIA&Xom>`4lK;Ga$q`PC%207V-{MJFbbp<0B zB|9oTq@|<}fi|J>4cKsC!)EbY($V`5+|Pb8)&}X{&wF(Pf(^xg`cItEt4`LA5h_e> z2O?uZg^y_pB7gugJH|C->w)uLmFRANW2Em@_&_Wi*l>WojrM)+UGZBV{)vwVJx>tN zAx)TO<>a;|>~A7UmLxRu4QvLNSxduFx|#T-l;op*^#VJu8p*t;in;O~6BB zgF{MEDxDjlWkp*MH4@13G(-xxE*Ik2>7=bUq^RHFz)^5~DdOKfJR9-Mu!IY{rMLVM zE(DK#9i3{NS>gX zAp(nzkWt`eT%!WW?&VENB9|}3s5EY+Vfs7Q-K>9#S~lm#>)3`H_2l94Eqq;n_qtoq zKn*9?--v*XCoAy>!1+xs(2}0pmjFdaYGW9UL3-3As#wyPl@*%!;Bny22k>d785cf@ zbhYOz1S&lFD9o#Q8jc*kK%$I3rWQSt%9-ULU@es>@j)Ovv6^c{V2vNLV|g4$ zXL=wf^|IoHCNp$|&YN{7?;a!$6zOR_q5{Bq<-UsgOM?B`Z!MU8y zj`jliV55DYnh1*_*N9Ul=MGS0333MFpb}N#`*69e8WjX#fgk0u!zl{xN5w!d|3UJB zB4SehI`l!Z0gcMow~?np3)TXg5E1%O4|@+Onhwc)6+xC z7FJ=ELh(_N9+Z^lW==8H^Uv41Iqd*an* zlYTYr$}6HiQMbY6R`@AVrtgcT|ra4gKTFlLn zVAm!Jb~VSyD#GKBNO|K=J3_)qLx)5&Zzfsk+;K{)AZYEqU=+2r&`sR@%Q=BQbUEh*&PMN|?wt!2zE?C3FDLAZeVcSO!AG?bVgX{2D zv5~70fgOXL+=2M}A}T8LBD2t22{Y%ZK3+e;K$(nD_{dB3fMltLYW$C=)MGVP5L1^+ zQoZI;8$KQi;DI)Afd4&7)cYmxFSOGGaQR|#T?}1jZ2>{2hDDF@Kmum^Vt$MiD&uOy zph4Z^^YnwbvSRY@DxG&;sW3eED|dVac8o{x$dAa6peKSCP;ldiOmCF1YZ%8FBWg zx5IUpOIEgQJhpR-(&c~AXI361(s8?l^8u}InM!>nh-LVJDQ@qyj5bK?m=kKR7Q^$& z)Fx$LsyREriAJFbdAO7MB|J|DwV*2bQKZv@k>L_!Ggxmdgy1!}rVzf?A*1Yr>}CN3 zB#Ob*ip?uhsD8pOb3xpExZfWM`+w*U?_m8q_=dT*u=Vwu&wBh5g_&(OTlRoI=VFB%wwdS<0=0LouDekb3&R@zi zs2TOYQ||Y;%Ds42M?6jCY~jloeJP;;J-y?&^o^S!BSxyu<9R?d?EDX|{tD&*cmJqt zCHu*ECb}P9eynULRZD0xP&&Slas7bi(8xpZ#!B4eFmWgVA)tUs5KTZCLi_`91$>8d z9v;F#pOoi7pTo0hJWcd0Dc%Osn4|pJz4I$rjiEP_-Ge}sQLKji@j#9c;;Si?KkX01 z5=|{!wgM-`er+t(L{X}U*dJAE4ZDq8ZAd;&AU_$3Rv=-5s3ol12LV@5w~8-NzUA=j zttzja#2KDyQGsqmNbIvCbcOE3J7sI^HG~+6;xJ=;;NcJ(4GkQ603k*(Zz;9_cc9geb$EMrfZuz#kq7AcODK)>DIO4|cL z{v4!JwB4it20Uqt(WVodsz17$4)3N?f0O0`)f`I$128a4%mWyX@CzlfRH8A-AN5l~ z1R(ZC+fMV;i1?@6tT<}Ud&mt$_yL~VP?<% z+}oGh29Ig;wr!~shk*M*R&86eX4@(%nKgNiCwRW=Xx}P5LEh_VPbzIi_S)zik0YFd z^rw+I-jHhg2rim1$LTSKm=h=Ii@`(S`FjiGJpj=C5i^|dZ`6_rDyl;ri^DVhcO9nF+`LLxhAJT@1m+zLeY z0h>b<2zo@Y$|ypIb#oMcOfCn5)R7)849424EK9m(yLIYAoY6@u{RUf?;(p=x9tP@vctQN~Bnjo_K^ z5r()@gjJp!RHq1!tDzN~l%m3^N%I9VSd2gDpU2-n{;>R_d>U4gm~a)3a03SJ^{7=8 zsRBnLWqE^CkY$FMMTK;YdS&op6Ziwh*JQ+c7Xu-x*RMrLRrSI^(Hw9*Xl`^+;14?8 zC)karE>|h2*$^;m@ZQ5eXCb}=Mw;U9Bdx$F(L>(=X@eDb=EwzlUk z|NO7T!PRUk`iSv=Z~6ae?P`Ofy3X)@*98F)Q4tXo*AGDD!+rOA0f{J5gTzwXM6lK% zB7zDS!4DdnrY5n}8f(?0CK^qnX%nj!t+B*9Hcf2DwvOo}*0lNPbexRikBsd&X{Y04 zpwGGYS;fSD{K)Q}ecyBLInQ~|-RIuD_uO;dv)26Q9KCTQW$A`@o*9#zva0VXlVYx1 zZnw?!`Ddd?2HpDEm(7w+#(&i~I2kxGJkzWXgRU9djznBB+k?mknBfebfE5X{Uv@3& zy3-6CappF{*s;H_HS@W~jYmIYiTTfP*0QN~x8nZ70>KC4LKk!5#g9%|@tYenS%TZL zz8ig4;uf3l+66*~-Fxw$gAr%xqs`0|JU+pso4nyrFy<%EZUct4 znC^TGRmWb9?}|=$w^T(6Of5yBs+L4w$-{M-yOwkwbfqL#wYbg%Ye%J~SG8pKT`VjV zUv^7X#&}QDj75*d*FAKw(>=`XYB6mvq5Q@E8`~ZnR{9TXJnqKvdNVl@^LicGU);Yh z?gPxiF<#{DdmCsd7njlhxcyz+_jcR|Hj*h4dmWHoYl=Y|5HP#ZiMzI$lK43(1$WC* ziK2gIIEc78&gVMPY(rU7-X75G?!hQM8w;MI9Zb_tHyQzX`g@&lN8K?y#v#v2<~8|Q z#>#Zc8jrGeJ#Jv^gKo;1G{kM)$bsczcE#}TCS#cBCAwu(5ISr%-ZcAPft)a4+W?II zy+}9ZV`;k?UpF8vwk?L=jcrDc1#UO3}Nd`0|~!PSF%2473qo#;)hPu!i9lvI(_opgQ314DKUxtd&-+%t6S(Dg$Prxd5u zr)*7mf7qW=t5dsEFAq-{o;!T^h_n&)Bi0Cz(~5n=(&jUe5e5D=o{LH9u=h)~T$&W_>(1W$dD{hsItX=NtEW zc53$4?2pD*j(>jqYvZqY;yu$mm7X@w4$qAVD<_$T2?zOy>yp?$ur$nYSPU)Q*ntEwk+q94JoAXcP-z=yo*i(46@M=+0 z(axfq(~G?s-cy>ZkLX*z1YfVe-oGP|8F(S+4mJhPhSEceLnp&Y;rj5A@F$U)$jN9% zv^M&5^ipv~@si>##g|J8N;*saQaZD=x%B-R6*FEcOD&sQcBbt5J>Gkso#~ocKl5by z#PaU)zt7q{>tD0GXaBRJw4%OZzkT+457(5oj~MVo5a6gm;NSqisd){vPV*c$()gsn z6_>d2*w9*un4=4xl5e8!Lci@H>VwR+H+4692K%VTSsNupJ>Ck*G3p6cx_n4I5&BK) zL#)ZJRO-pl1Jp-Cucdz8N_WL<_^su2?cA_oL(z)WU2B?KmbJHa6fJ9S#i-48%-Qb3 zl|c*E^=!5}ah32gg3t0|#H=4$1GaiFbAPGT200J;*F!h?SD`1+1Me}b@ix~MF@z2~ zw%qE#>Q!rzdpVAVBFt8;#tH;AIE&wlTEA$`hi@GZVoOoF384k}D^O+u@~?mg`_*hqO74pFS){^GVg0`rcs^C`0lOU?u&~|U2Lo-Yv0LF-c-zuuGv-f|u^6tOX-BUMM z=3RvSy&Avr8vOn(w7LVS#{O12$LEn}AzIvk_L_ZSSmx}L`|S8_e)+JEJlIPSJOeNc zEXKYFAjRQh07s(z!pdFtBU2|f;QKusr!FxbXop%U7$*`Z@o;{XAc>MBLj==};nL6a z?GBd_*55FxH4UAr>3BexA!8&{vSch~`hOUa69KQZ4t% ze2lxUkuS*t`LcXP?uWykg;FbZvPixvi{)#wL>@FAdZa;?p-X?cG|37$rfiXwvPxD< ztF%eGtdWOgt#nAItdsS!K{iU4d|e)vP4W$SM7}AH%C}^*Jcj?2CuEC!Te{^tvQ@q- z+vG{vF5g3U)b}w^c$e&!r{rn*f$WiIn=9Fe1POnxdoavaldekLd772JvZTzchIIW51CGZ^)7R(>h3$*<&fc|*?0ujMyb z+zv~>%J1a&asge!7v)X)16Cq zNZSZVyK+doa!9*!NV{@K8)uGJ?Z!ab_>ja=;;7viq!Ukxr^Hj@De-*7^AXQSJRk9V z#Pbo)M?4?#e8lq+&rdu*@%+T|6VFdPKk@v;^ApccJU{UQ#0wBFK)e9)0>ldtFF?Ei z@dCsP5HCo)An}643lc9#ydd#{#0wHHNW38NLc|LZCq$eOaYDoi5hp~P5OG4p2@@ww zyTZf^6E94>F!92~3llF)yfE=1#ETFwLc9p^BE*XjFG9Qs@gl^F5HCu+DDk4iixMwN zyeRRa#EUw3O5Q7ZujIXYopMV4EBUYFzmoq-{ww*ftO8zVPujIdy|4RNV`LE=^ zlK)EnEBUYFzmoq-{ww*ftO8zVPujIdy|4RNV`Hv+t&3R&ulK)EnEBUYFzmoq- z{ww*ftO8zVPujIXw_e$O?d9UO>y#F|MkoQX7D|xTvy^{Az-Ya>pA%_o2{ww*f ztO8zVPujIdy|4RNV`LE=^lK)EnV@(LhUh-eben*C^B33F^`zzF+C&yytvzO0{|1%B6xsj) literal 0 HcmV?d00001 diff --git a/airtime_mvc/public/fonts/glyphicons-halflings-regular.woff b/airtime_mvc/public/fonts/glyphicons-halflings-regular.woff new file mode 100644 index 0000000000000000000000000000000000000000..8c54182aa5d4d1ab3c9171976b615c1dcb1dc187 GIT binary patch literal 23320 zcmY&6mA1(8T6a0V( z7zzkXUYUXEN9+9I!ap!DFOd#1wlTB=0s{G=z_>rwLFyJd-Ppy62nY!Dzg$rNAC#b> zW_IQ_KN{(eU)_(Nsd6JjiMgTUPb}E#|M~#|A(>mdoBe3JKtOVEKtTU^2nd*oEldqf zfPj=PfBaZ}zy@NZ@n!KN0s$!#{qXEt`TP45!w50c8!{TL10RAG)dniu*zrR^LTrn}O+tRb0xd~0E&>H($0brSGJ*iX z8bUAslphEzmTHiWB72`anLv4VuEY~_ za}WVZu^zT;R-~y&T~BYSiJ>00^O~gpl9q$zHI%Y>Lhsr-MaOrb%y%q|(42pX<4bce z&%S(EIYGx}q8~@4pX*EKdS?h=SI&tEv`GGM8)AScL0;U}brn10v;~p2;1NOn2Um$W z*U=i%VuwBRz@Z11qKr(qgO8vr*&X5{?12dd{6*l`Yp`?k3MDcih%qI+g!qV2n61L{ zS-80y9H-NmrN`sSUC*p$lut-w`?nyb*goYXni_zf3okCBA{zrCwXDq^$DQB5U?DQ* z61o2X9r4;yA!5sN`)f6pe9e8pguH(cK5%0-vMf9zrWWth^A{_9wXmH0nW$}wo9hf@Mt&V*5m2_W0Zac{Bwl*3N0W}7D6V5mO|AbT zMePe7b5d1qntWOB)2(kfH3+1h@`qdCj$7%?Ws`6C=E;z?vBmFy(ZuU>?ZKAjdKnE_$3iyZHlp%_ z77-FteGS2x>7s==RC=EgNc20pi}B5ZYP?<*;Yn$7M)<7;<>9ljc|Q@}q1HAXA>?XX z{-<=FYU*8Yx_bmPn*eq|(6}#S=KV{`|BZ*Xn#BSEOxT0n<2%3UJglMVh`FJxT)N*_o6m(8iH0h%=F{CzZaZ8j3d^x{KT0bRC__^79ko z=tr+cA_{hBgbop+gr}pTjdh4lR9OGJYID{f-h7TdFVsTYrJ)sVL)@`Nes|mRJSCBQ z1vY;D{cTS=MKu(Wy%|e~Iy~QIi?KJEB~oXKHbERbMSWb} zZ$4oLo6Q7!JY7E&nSn99sadal3PMV~{548>MpAHY2H1T`ZcmF;%7p*Gd@)Z2X$V%V z$1bYU`a7{N-&8b(7EKxaD_#{2yNI&{t3rygLIQh8i%wdtQ^A4QWPw@AUkIZjStyRy zt6gfVP}$xz$w}4TO!~910gWc?ujr|I`%rxo*~ZRJj0)|c2kf0tbH}jLi*?h7#a}r#3UcIh%=Rq+9Oy<}9gOY2vy$@K}ixTio-4X=M1@9qI z^=K!qz=h?boc7!Dn&OoiZq*aBh4h7*kXhO z>pcXk->0DSLp`H8gAy`9imj3RrTwYMLn%~ax2R;y6z$S#bv?dXh$n!f{I%|F6CUzH zNglJr&iX(OdhO|M-zijiorLRikL!4b&v<-I;cb2U*9AhJqg6Km0|C@3UPi3VuIeHB zEvJkk^d768V;-U<9n39OEzwHebV z^!;=ohVM{+SKmNmc(fHuOajOg)eZg4gP9Z?_0r_5C&wd<_hxoo_+<48kwZJ{Y3kdj z-euRxbNtS4ORoUDw~*0{d?YbybVf*Z&j3f0Df|p6wtg}#){z60vHIVDYyvXYiqtw5fLstI@;wPh+Bd5ldW?|#AJXDCfR%eUYew_;&(+g6-=ThC?S3>8w7??8cY@rx zXANRWBOACbA6cC_l4+aF!&NSKMmjmK4PZoF7UG%C5 zf)X%cLC&;>^$NdUhi>}OaeOh-03Qt>c;rBMl8FXlh6u#+T;)aNQAM7iYm9MwQAwQ$ zauN?iXC->xfF|9A>Yn3rfOkVpm+8&z?LmtUcZTECdVP6@K8N`=NVn%wvgYT?wv(~@ zRQi1syDn_w+iAw6*B2j_C#*4Oa=3>>HsxLFzfc-lqHiBWPsG=v_Rqfna_4v6=XxDj zbWvX=bCj4jf>-mGLa)^qT)yEMN*AOa6}Y=z5r^W#5+eB*=NMYFLlxp|l;Umkrykmm z>1Pb@=d7ZMXh-p<@vNTD{%C%$y%YYN-VTD)5%>5QvQPlpLYJRSmulc?J zubo~#6g|MIS#tM^y?0~C`jU2#a#T$VEGW;6HZHFWLEd6C6gfhTw6Hw56Q8*V+~VWN z4AL!NdF6?QxaUpsR*ZThZ22BrG(+5-Ud8j`|8n^?HPZ7*MH$Y-GdTEy_<}Ip%UH`% zC_ybkuvZT`(*5-7zTSgt1y-AX_=4Vq{_y1PK|t=n8Jsz8N`x^1R#L(Hf(SZ(R}et= z20=K0`i!{GTB{~I3$HZ!fZ7PE0K3mgrlOj^=HLjmlzB{Q!INjU2`4JhvkVArhWI3g z2BFDRMNusx)0QK>n-{_BPLkO*tH?}~b^*t2 zL|B8@3a#it1GzFLG>-jntCpno1TF0OMs-3&ICPgAm$awK{?_0%(W?W=|3Ym<2B399 z6?sOv=odFeFq-4ZH~dK}*A#W0I_F%hOcy3B(B=(oS9N?rZK6R)u8SFgYl67%j$Vzn zT2com)G;k5ej>5&f(ldAjf;DQ6!5hOSn{C{3@HGgJfyHHbCwb;JWINl)t_@@KmMH+bk8Q`tU&fRBnQ(#)4NSadxDOZI(w zdDV`IZHTev{l3e|YJOjG)!*{Qd3Bbc-oK>W2LbR{;`&r7v=uuYN}Q!j?bR6qQf6%Z zD|U^HaP=Duw&<9^4wcHPM`Vo0d8#?cwduvt)W!CY2}SzBBsBVDmS^qNq)C$4z-w!v zu|}GDNU(nCqGP?m2nGh>so7Y#2jSAF;UD3l zTWTJlAQB4XoWDz=q%Vn+jEY#AwT@9A52;uB*W>Xje?f=`^s2DJ+s}6b zZHctO--vJs(vA6u2D!C~MMV%ZF_OWKERqY*L7bn~pu>emnX~};w>xKsx+HmlModD* zRe7jxvS`Tr6uHz_O`!|yld+VyK0FQd$icoJ&6I5J_C@tYl{!GM>wg8ezB^sMFG{SP z+~tO=8DM|68>>8kL{vLa+9stZVE2&^q(j&WrimlxADG12>h3l$)MnnoG~F+Q9%u&_RYNWV-S zu8Zij1T3udO7yF++y7qK8?@Qy;j&>d29gBr(=CZ4lKGZq^?3#ajS1CkdX7~BF>3+> zYZVG#qpmz`T?l5}q@jYe4}&tAuC*{c-?JynbwY*R0wc+;hotR!1CBsHEV}H{pEV_Q zQbs{v@#pEsI<-g|xh#rQJeXH}di`N|kNqjL$UE~3So5Z0bsl-UTxtBvq=J|gu+RPErd8o zq%Cu)1CPBz7A=EEzAUR|YC=IU9%hvt-M5s$vP}yYbrS8_xEfnDFCI~k&{z?w$lx zkHl$$>l6w9E<=%h&m}p0DcU+fGPM`d($iGo+S3fJhaypcIE2yU{5H<0HCgoFK{GLe zCVD+P9e_etX_H9_t6xc?c?>7@pb;TOf6%r&2oND`VL682Y@H zo9cs|v@$?BZbm;;TeI&1a|hDjryghe`LAHHYtRh=V`G;8&hH=u_R(Y1pv%n=LH^3^ zFkvIs>V~3aP^2c9bjt$HI!&KIsHF;<6GGV<&cs3&h&!7&F_0TJrW*V^F`?h4z4b9P z)shrVOIq;gnBtPE8xy|c?B+5Qhe9v=A{q0$_8i?gn>U-#3cMhdDV#r)gg$jBSHuwk zk}gryawT5)H|i8gP1CW0tGr3sKVvSH=C;mKYmExi&<#lKQbxbVfh72pcQ7oRvXB%= zj1OXzBoz0nqSwe)?dUE|N0dA`Jm0((=&k$p`L1c)=>Mo*a}LJx~+>;2tcjSh+G1pg5Y6PO}pj8+;DLXc4La-kzxi{dPSiJ7 z8JC>pyci_t`xsI3_*zD$W!*$<4tXVP|Lyd;LAI{(?h2Cw%dD@_;lH-jHe9S+i*4E z4mm+=yxP3;fjmRcM+tj5WK$Q-9_(!w&4?Zu{~+v=o|o`vvKeY_m&uw>iUOhrn)3ws&_6vxHpM+hCYx}osCc0Y-Tyq0z_HH?lw9s=QM+-Q{gQx~FocK9j!8!mtbNX&zBR0Xt$l zvErya$XNJ@m2B@ie45(Z(19?S0|j@Eej=zw0gE??YVlwp4LSl7VHUHoo|LraFf00W znbw<}e@IUzes(fu}n<{VdSNo|T`)7axnJ2E3 zGN-K>ywjN_qvqSYS+3(Tift}Ac+Th~V)w~#F13j;D~$iUE^?zyrm7R;K!FVAfwf4+ zgEe5#q65&2_@2P9Xi0@IzKKB$Mr=t77zjDw^ry*`L~i%3hjv^6l}?gMTjnmHPNyRD!RE? zVzeC>gkFuW>V5P|ms&5GT4O@NM-mhCx+a!f0)LQsDAs{!i(cE9Ov8j9Ot~S$SX^Tu zbvv@~cen9fE3YI>r2~|YyQVnWpZ-X~m^M6OE$L`m&MG`G=33X8DprYlBgvrAjN>#) zf7F5}TO}Od#i%Pvr08HxB1L|F7Lms;vt;^z`LYoE^HAlcM$*80N!_Nc@Z0C)>z37! zB*8pC&7s#0b$L(fb6zzb_{hxyz+_iYonkQLn|M^r48oOlXXt>e7{zFo03wLhcxL@> zruxmZD;ZM5U?3RR7ni`br#{#)H87#K@FBbE7!;=-Y}c+8!h3d5JExlz2JatQJ+?rH zEiUGqC0jaoW>(Evnh`H^?>C|E?;wdM>7y!8D4dVkC<+|T0zP?LNZT4#$T22k5m50< zzoALNpZ84Yo=WEiK^k;g##y>nq*73%RqJFJOX%P{Sin)USV69lwgt`-QDJjC{IgNf zBW4`*siNB=F5h|FpHc}mY9&H}jGvvlX!|~~dIc_J`?;(WsSic(jU>39iqS|Q7u!DA zY&kA%G@cdsQv^FWgQ+Nx#A;({7tI>&nigS1N0T`xz+mg6@_{zT%;E%P(``j&bsETN zs(q(bWF8KI1M_eY6S%3}4I-pbgJgDL2EYIzPp(Kd(4_CqWI0N zt8t_kb+H2&h#4kT$#q>Ac%Z2bj@0N+O;y@sWv$8hU9Zv@p#uT7sP~{kG6820-K~jc zzx+zAW+=CEi%kufkYzrAXi1hFg5D^8VfWJSQx~1y>x~0bBV$33&FY`a087m+i@@r# zv~L(PphOgimWm81wL^lXk96(eK$#U=hQ}pu<-Srb@X)RzEK4@vVL9cwNBv&D7`P0@ zqV@&7+T19`yV}oc>o1R%dLPHOtgykfkQ$mBKeZU*==5=O;{`t7RV`&nOFus5HWa@{ zXbhx+TZxRv=(Ko|DZe>7Tjhggvxn2ed0umrYSl8cq1^h1GLxv~Ovi$ld?|yHWQbL0 z!Ivh5s&TPz0K^%VfE05%mJqQKs?A%Hu%Xt@^>Aoa$L6|fp<>G;+%>slePPEnR_yRL zj;yc0lCyoP$Ic|g#bX(o<$00nsg*!S33aGHMx(FL1IZKmm2(3;)8v{BEh zq+0};_3dYnO)g&8rn2p~Esgh&5iy4}Tc`s#l(NQVP*B`-s(Tsgb%=E*x!`vNJk-`k z+fm(7Qcae_0=zlj<0~2F)s}a7tknTT`cdo_)g;9@CX6}Sx(tZ-vBXh9eV`-C^l3uT_&kk_ zy!QGr?i9qmGaJ`03`VTK^)eYd43pD#6!NwJr0B=zjQz5pDVIxqPspfGxc527cKuN} zM+02tzw?((Ojfsh0mh)!EsE8yz$@B*zv5LC{@~DSWie_CKtd_%3$Mw8a()p(IDD|g zE`aGjSXm`BggX|S0Iz8=DQwWq7Y>nH=l2gF6&gHY9=4{U@)*&>a5Lg$i6r`O!H}dD zW;VLr?c@ISTZz-X^w-r)NsJz*7Ik*4Ly0i!Bq{Zd;rF?m8fkO1OM@>WW%j&Gv#v`$ zQmZ$kLeIBScr38Jb@l%c_PQ|;xB~H7qh?jaoofQxl!Mou$divTfpW_5t{jt5n6rPK z!vRqg8v?Nc`M^e6lM(@2!!NA&BnKun1vVjc1z9YJv06oEUF=G;UtEZ%aSas1z8-O2 z9BC#xzszD?1bF!myHOXw5=A=9o9-@Lhm!h0YZ-|@A8@Y(+_Z-DK5aN{$p1>cump2t zD5Y<$oDGvcGH&@I&=`_@&z9%lM_#_W8iyXJa<&`Ydn;~#brX*PwN-j%3hf05d z4E%>Bj9t_c-iGDTJ%p5oMe%gVzvc6bd`PTb9cQF~$q=bA787VjPi04Chi`i>W<+{G zV&FRA7KPur^W&w!IseMOaI{i>RU}bnWQwl$BQA-{N7}-t4=-KVk!vbXQ}zLtKK~Vb zh}Ni+HS~8TjiAhC5SP%}5)++t1N`_`^O*%;^P^`Rj#KY=G1%z*MAySF&MiUH~wJ&BDU^kXcQH6%9!xbzqRA z*C;FT!ttCmLLmGAVU95En90d_(qX5~%fa`pstx}K4cq`D|L4WUM|^?pXIDSM7j{_` z3G3~Fb+5YFcta__mAzP+vqYM1(W%@8)d!*dz-)tf@tMWp!rn*|T0x9DwQmg`{~HF^ z(&{06L_~x$VO)QgY!}xSiz9L|mX(gredtzS?t3cy_RjmTIU(u5dB$Pw+b^CLxKo!Kal-ql57+p#JJ3zg*_!Lh#CTQlhLZaSdUpir$y9?7cH^D{5SFz4E4#R}~cZf9Y7m zo;9Cm&MV)C>%p+!bv-*M+$WJVT;|RqRPchoQ_7BbK-|yWM-<~FecpFY< z*+V%yqBEN@TuW|VvPKxu;wzn6PE#vLx(^m2Npl0_=R`(f{eE#>@hhO=C}MNbxWW_v z>i*?56p5poIt)%$`T(F>Fbvwm_u72fIj{*&-QjYl(EG&}&x2XCp-|gm&6LNw(*^~r z(;e^7)q{$HCsydP(lnZ{CMFoZw`Di*O0teoyeuOUSTp1qVs*`Z9<21;EeAe2nsvN~ zRC6*s$3cgHx807}TdF!K-J0iGN^SO{w>QZ;&Y$k3Kg?6j$YHFGxQg*a{%}-aq4xqy z&jBywOH07(H!X%N)*9k*pouLg-u)|*fP*&bSExgq7b56vts%pZKc$!0Wz)kTr{n^c zH0~1dFP!u<3h8{HY$Lt50id%$jqN@8k8{VALlSz2UVh`a-#R#>zHXSNNR|{7e9pN> z7TX5KSq#wFmVO-1xo)>HN)vR#Rlnv;&}%R75X^KT9xE{?m|>iz_BH-9O;l0+ZPl<= zgateSH#Dy&8cL!Z-sT5hq(D<^FoqY@mUzl=C-x$j>?y7nvAexvXwZ#MsHgqBZp zatbN4V_H3K-L2vU@+EGATIm6Ap`GU7lnAV|6g`8C(61y*zDel%2}VNAy1~`blPHN= zu~bPszDZI*Nw!P&qvtzvpA@&tGdJu;DIn1jLdX; z)t`xZwPI`TdB?s+nt}J71mU}hawwEbPnX$OL8-5nO5zHu%kT?MIW=*XjkB-H;p1>i zcVuPz(G&BP?D09Rzm-PH5sJ;n5|jQEen*(AWy!9%8%FrobT2yz?d&1r2KSS&4>U<6 zI`!cdm9dC1Hqn|R>+xX&B?|~3hd5zh)13!mfVsLczdYF0Z^iL|oZ=M%0c8`h0j{;h z%1hkP*~06j7+rI@eA;#HV5_3yPVSKp^*V2eP_Sfgqg3u-*%?R0LP3RyTYh<}z$74T zm;u}KQ$iP(LarIp;*m~l_iNZU>-f~@+~!>SGMv8xF)qs2Y$b}ymmJp+*51+kk=cjL zmrRQpnwbhoGj^9~t(5N((?x;Acs$~9zAnWpC^CsfbL2PPH_JB*;3Rr>5>gypdKu}@ z_u^!zU-oM)A~Rv>w@^Qe=A>t8Iv^I5(_hL|C*0994Dztje1-tP3-Ei}#z%jPDdt{8 zyj~NQD-NaTJp#iw;$eW^b71W?UD@s5BzgyHwZ@1vXRIB(t^Jc6R_Dv)Hs|F8qoLtu zkC$6KPc3aY4^Z{pf-Y8+AhHwBfE}WYF<334Vo!l}AXb%trV`AC8!T6My>xRvk#pm3 zHHM+JX=1+RLngN;k-3IQ<#A5MJ7DB2=>^LqDb1%kc#Q5A6%d%>IN;UIK4n-`2>D{q z6jHM}#0~z-%3!K9@Y#+aN0N<0nV7!}Yjdma*li{=yZCa;H1McT5{GWCXe?F`+{8IZy5ljQQS zrTFrqEl5LQ6y%wNh;`4Sr5J9RFfaH9Na!?n-MFD%$2Vk4(|tbc=g}P52_RgNSWcn3t)I333gCka0q_DoXC$EE|u?la)3Hi z^Oqsl%8F|h!WfxtA3&}E0KOg)%}(*;8p7JP~oIr7x~qr5ZS zt}-eG#D;|kb-q_a=YwMke!SFlTUXIIIyhgBr@r1$`M=v573zGUZ&Z;ovB#T+9BM0n zr7D53GV;cMPnitw@6~l#XLgD-r1|n4y?bO!UcEc(qc7(MCKr0=6j!>Gfu7UOSM}Wr zrxrvQMB^yRGbu2{3OLrjP=6`>V`nK;{YAu2$`B8FPF$7gZq2ZawtwRV0kK!LeuHJz zBRuR2nG8L&T7&sF(BmF^9-`K%l-a6BxnQhEsSCcMv@ca`7C+N|8~^)`NY6R>9&v-F zrSt9am3)7()aGkIp=6JF|$3I0`=vgS2}W>J>gIe0La)`lZ1P z{l;udc}QmIM(7D`(wZl?Lb}i=W9(rVd}caMm3YX@2^XEe7&6ov>SA_Ul!YAv^tDYe z*R}KK;n3W|(DgTksHFp3@6t-fBvNI)YrjgMY^JK*K9SzP;OKf3rVT zZIRx%tWtOEFkX+LaNh*i3kxphn^$o6AR{?)Vf=48wJF#hmJAL{4=%^PHvR5{s~IP{ zw@K5SuH&}_b#waDN@Dr*1#;8 zj3>L`zy2mj!ymgpko;mUZsF9%+di@q6&^JI&CNM|2-W!Zeqx=@JCWw~Na&^Xr+cBx zD~Z_rhQn8JeQezgl~_%EHY<}DHhMelQ2W>38M}*g^5Ct4+hNyYc-PQrKYdKg5LHHH z5W7c4sF^;~J5~Mpel;s1wg&NA+sZYw=yb=+oocgx@pdsA=k7k;S&^0Ye2PKV+jA=J z%kv8!s;L>%L)sb~z5JD`X-KkMJ5d1~ffCHpybzHPuu8Wkh9i;1AKMAU1s;ZClWgMl z9P`0tCm%NxKJ+&MOk+0dFd)syx<+DEDBOC1G?twC@TmJP@Pf+(*wj=;G#0iQZJ(iJ zhG-xA3G|5*R@}e@#7hh_*PQ0J_Ka#hcc~Q+8mb_($57A2Z^ikOt#!vf@PA|k3?1E5 z^UZ$&A+KqZAMh0`O@?fzgWeM%dCVoQ%|~*CFOh+?GLu=z8cs0Doi&=R*WpzS47aux zHba&$jRt-gFb4(L@D#uGjmM|c$++VCtQCqFUas=KKW6lql}beIi}Ay+xI^LtKc@0l zdkQ#o-z()ZN*r?{x*<KqloOmbT5w&V zwbjn3a$Q(Enfrp$2j4p_eha~MoJ&}&iUWxSZ!8q_P97wWkI`RGWaL1RonK|Uak^P; z{w86F#atZuy~}Jq{ejUdkdpr)fS;-)D&h^{m;kRv&q0P&gY>_Wn_t;WSnIeQ`eb z%#)mE*~XX(4i>^EwvF2`&wtc>49nS`qmL5rVz_@uPo?s)>dW#p*sb5eNQ$qmB5fE7 zIKEk*|9H&Y!}-D4T&BI9rH|YQxZHIugY!WQFWiyQn?n9k3;PL8)U< z#A$~V3iae6z(8e(o%*Jz6x-yjLA3G>j@cDD{8TQFa@~$UQzl;@bJcoH%=3~W6|DQs z(HWs+Dv4k7d(U{^^k~iOA&FEyEHm?ov{QGSJr>~ zNBu!tDZKyZ{}g5cj*I*BSypu7bHuIB>1sJ{JNP717@@1r>7Y4r23)bUfoFRm^)9*) zCp9u|gQ?d{lA>+D7QCSr-=sytp!RCmlefdPbI3o?<*$WGQBXkp!Cmif{c*L*AGg&b z?7DWdx+ZbqK6&wh=w7UbYfJvH%6U0zyA-;}t7CBq?(%dq3th6bFl7)PLYI4xVL;II zyHxo?4$HrM`P6?8Tvl|24X-t54n_i-h0-n0Sl27fDZZL8HpAEcQr6*yVHCb~N7E27 zmK=cCh>pD6WTW;ikgkvgiM7ROCf}QC3cT(BH$oGu-0t^8PgZ6MX?z=8Lz0ne4T4^V z-thAcyiPMh&#zu3J_ES$FBkO~$SuMt-s!u@48@57H?*$e8Pwbi2Yrp3CQGtR8@!yj zUk8vkyy#dDr0sf^D6wod7j5Ylf6w`wCmvcUyN^|w?dyUD_KL31 zE~V1>J!2e)z`E#xwN&7d0=DYa2DB6pQ4$wj;@8aSM@4AZA{vjr3qxAHqrY=7T1`94 z_r7;6x{PXo9hdnJ!N8{tBM9uaKE8=KN-T_n=P(rOra}Vi)`j2v%gIZ{7+g3|lAtj* zB}}a4stt3~a*NENyqPR5c(%njgkzR6v4J&RA53RN_zXRj1VRWa@ngnMMCvLZvQ@+s}}=U?P|DLxeem<(Nuv7p63NlkA7!CE10D3wO$!ANw9 zObXX`YL=R6%2TeGd1?xrLK$VEwP`qN7HPlo`MM}dK3I_H9Mzu;W}$)%JINEGUpF90 z#}mTOLB17SWhL}ZMRGTaFgmU`2O4g(>;@kprlF*Cp)kpy38(i>~14$R3s?6^?3 z(HgVQFov4jM7QWqadph`*vm$aIIXJNNcy|m2$G|ntBgb!GwWC48iMztD|o=(>;15q z{$%3Oyvm9@O`4JoB64cJ6IF%XU*;BiuoJW(Z#j^UH$l#9HR{Mm7GhSUp-f9TbS(>+ z=TBhELjbeJW#KE%-tr3Zh`nd{*Z|1O0F`(MTCf5%G2HfRAaIr0SmvO)Tb5xAR`)IS zDJQ*_aT_PknaBS3@{3I7may&O+zm8(y_ea0+%G2M5N-*A7TFy3Ev_pPhhj93^hy2p zsf~STscg0VHv6)-suJJ_HvfhYQrC_Zn#OPKnOTJx| zt$bef1E2v24uA^CoX;uvbNr#<^;$Bn%#1V#=IB2G9-e7lqg49ji0~i?uStqONO;%fa+^ReCL3RZjio@nXo^g1nNPbwp1HNQV$> z1@gTfZyF)87$l6~%5yxJnEQ+ie9+G%;f-}&?6HbOe(kPIzzE$iqX`vfok4&ai`W-d zwC99WD{QBt=6MXVD;D962#XX?i!3ihIshIg{q>fXgAMys=@kLkS%9d+mfwd@#_C~~ zWK@5#ngAyP8WOs%@7M-tVjQG={`OIT#6O?~USMV}Aqz>h#^!wFb!x$Ak5eY`gw_Il z+T)(XzI$10nIxlz0YQ2v4bhDugbSQ_y@s>>rHp1+Svi2@-tSsqlpIzzPTyUJ4&6Wg z8t%*#w>(z0UiMXQELXctsZ9~k5wCOwHVp$8E;=11PHAtA3;??YDwCu|jO0#YA&u$Y zH5r8Whl=eb)AhDqcB?eTs5~8M?tF{1{8~NvkvAAqv1XpE@W8WAi4NlSL<2eyn*gM< z`9H|9_I|T^m{J0!3b3`LzciFAtd2LRu7s*s_Jsb0!7S+S7aJc*lt;`*gA-fKO8ArY zhA?VR7)jaRX;6nU@n|8Tf?%{mBM3tZ{xr8|dm^KZpSP}F*K>^y1+c#*N_x*PnQV4j zHXXs6C)_oV)=7T8wRg}#7y$*Oxzi|WxACj3t`$g+Hqob;^h}z0MYNO*)*)W%TP2K^ z8+E9AzoFgl+*G|4FIloWVp$TG!&6mGHAR&+;NTh5J^p6y6{5nltCkJrWQ|oU6qW*h zPfOY$qZTp;a(A%n4fddVdJyiB=7!MR^#1%L6Aw9d{;jcxYG!qJqe2pMrVyVhg_AWH zCaVB55F%KKa5^A)lmMTPG=x(hh32&U*SA$xDMyd3{ZPxizi!QSz5K)*82;WGBaTay zHDeWU8ME{rnLTO@q8U-xW(Oe4ST5z)w)yoW?X}$W+~i-yIXAq7T_olt03# zG2Gu}eml^<1&ha=qIj=`nCg>Wm_0+Cwd6oS*LRkQkSgAw;gvpLKW`3noP`D1=r5(` zPz>bAt@<5_%*bgTP#IghY!XJ=NFJ98zDt@(K^*}B$ts!PZjYpvq%tq5kYKLcJ@r)h zpjGeWgspjG$}U5I3;E(wFu-T*ttBj99nkVSJy04B*>3M>M=4CJBW{W+wr zmo8Lbm?dVE#ijL><;n9dCt|#Od|9HFF4#}Y<2rV})IKejs~q4`MWlQNc41Kjp$r;F zAUY8dDHmc{hLF%=Kik+j1W{WEZP4aaE0T_9G2k3)50J+n4@!F~;6Mm#3~zA2!(uNW zD?3~9!k5Ezu$*P; z0Z-5cF&^e2ZT=G7;H2(U6=DL_gI^{}SNj?dg8|^Sxt0p`cq^jwVM;7!Xjm8d4}Ns& zKcd#kpeC&YrVPU?^63<(P>{Ui+6jp;gFDhm^1pecu3C8b+kR_Tdy{IMWKB?1fmzJA zRrWbi2iAWJf`OWX5*Mgp>n7+MnqV+8M&DPEmPa?H%ZJ7^zBIqoh9?*U3kCchz3T<( z{o=DphBZPs)&O&+xL<}PTrSUw@BBJF-j`J7B@go*T)LO-j{0ZZpPSq}+fSEg4@}1L zZ8|B8jgb2gyHh2Popw{~EdhN#pk1m(0#ygca8F4f!i2@Brzr~+t!U)sEME!yD(7c} zHIM`C5Sn4OHuPfASSw^KEK{5G&ZKT-udhQ|yIrv`02n2nEE6 zJaaj=cYtkxDp%*vn;v7!mw#(ERHUI8&%?XwWWwd^?J-?@A*9kw-cvd2{8XJT$}8H$!5 z(CR70IjoaC>DD~Sdvbq8(GW$Ab&QVqs>5qM-s&(pM zPqqe9RFj;kYc-8w?^V+V%7{u54k`7Ve?+hh+r~`oRnKXVB3p_X{b-SP*}HtZ{G!PA zYJH&DPN4_-LI0Qq?XoMhMUDvc#~1H5z9hRdmx!A;m8^?6m~Y-#b1hlP<)Eq8U>?U? zbrG~tojEl{f3~|C?x{5NaaOUOJ;yJ2hOz;`4;z|OgBGHrpdB>_F3<8WI*%OHZMd3j zy2oRMzZ)xk)fy^F3L0R20hg0paZ$rdG{I|!)H%|BW%n4OCnFJO{@5hlKEt@{ZF)bo zm3&_P62l@ToZ9vsZl7rqgY|j&J=M}0aCXo$QWJ`uVjhB(*uS+H^UDM}9(ER4+JpW&Q9Bny4m*?YQ~L|5@IZr?xwVdan$7a%9{gv7nROdai@`14 zG+-^|Z})4_OtE~I#aE~AS0(LCtNXU(!?C{8pLWYD$$@TV2HsDljoVJZ)B}69$9)?5 ziNy=R_Yv5a^;THLpxNLO zy{q2MTR&jkfAcY;d3}8rjNG3Cyi-4GYlGzJkoOXtWoKd{@;N{&Tdn@M?Y}BW7UX`* zGLMt1)|BC45~;O zYEbYSZ2{~+yv)QlkAVg?M_pjZ-!GCpjqn>zMaydQ%*lyE0`=2E_1o>1!sJ380i_My zB})!KN8vNL^sR*WbvXhjt`v!TIljZl+nd*r_Ksa?e3=XQf1O-aR2;mzg<{2Bixzj6 z!AsHN?hb=%ahKw5#bL1GFgQgEgBN$VL0hCa#pd##a~|%x_wD3M@@21YV9+3{YvzBcTXYf<5#f zw@nazWj_=%=H(>O2QSy@P=u8`{8`_bk}x;!P%>I-jlqoScuG}=Yua=oBl+#ICF~F+ znS@$6yzx^4vw5R$n+4Gep@PYrOxf{U!b#0SW0W|~0Cd`pgH+d9 zHF2Y}rq%oV6;IeW|n{J_U0dOcSD`AWh!D^dDYCb*c8^ladlx6e8v=7}U zpGCJ-DErivDK7O9PLYZ!KW$fh`Bl7Ghke)_A2^fB_mP3$@dtVOu4PdD;J9^%pt#r7 z9aUCSF@MAA8f69~*msmp;gomRMsbEyIuir9mRT;mS7@#2U>)4Yq%WOoTL5&hULy8K z>kDnMX|3fn-RNuw(0Sen*8dtIY+Cz>5U7I^6VXeO{2jLdd$q><>Xl&1Vu0p7fs&1| z$PbIJ`zdYzEI~m!7&#%G%tX&h5*}N*sl~^UqaR>nhkNBS8AZM}wh=ZX zrjv;)`|w%_y2#qZAId_YsddV+wJ2*du<$W+5t&FUFZk{rEi3ntr&SUnt|%1C=Jd5_ ze_CF4u9zeMdmT+erqTwwyjqRMS zXmyK_a6D!#O9m>R+q5u*q)F~4F&iq;iKuj7YDjg=gR!K0M@3p&cI+#a>do7bc+EFf zp}{hAArKj;X%SHZ6D9Rz4`|SSmahv#VAGy11cXaX)Mt;d8M1&}1|-hAvZVNiXA6o< z6cfy5!JL;QBlt}Ru*oAMLs~|FY5`ga72TPzIc9tZFpU~37kdem-*}k9(J*PIpJJ^J zsSU)i+YsOesy~Wy%t%w6zMqz(_qC;@@v>^vIJuyqXhxU}irkNHR{VlcZHy_J-_{`! z{(i{Z^`o?+;-T}NH3_eik^=@7nJ{&KH>NC>I8$+d06Es1h|Pqo^o{1;)^}_EW(|57 zyJj+53*y)m6e5F~AR#?Ia_O;t0+cCf@_;lqd9@>cWM%$cNkbgsDZ7Cp`OsmBv5a=TQADA0^??l-fO1^j=fqzmv>$Ik zsF<+b%&B*pk!HX9Wifnau{En>S<+**we#g+tIq++C!fFshl@IZ%_AS&j%yNkj=w#j zV1zL4>BCBv?8m!_A8vU5w_+jRJAUa*K$Sh=>u;o)@%gZm(Hl#>>H9yA=VDeWW`zerl}&-1icy~%Cs2WRZT1JiK;)SUZQ>Vwq?HIZ#4y{7%`Ht@uU9-2mT?U8mz zC94OXy-c}dfYYZ@TnK!7OnYwUnU#=S)k-Tj1Py{Y_*g>!$igUn_8Hg?Yd`YAZ|zO)ET;+xY)CD|&4M8hSGJ5rwlLozN)`xJkphmTWhnkH7R zp|GN?86tSl;KdX2OoQGhRYBxMNYX@MpSn5D7F}DSPf1*q`Ib#*a4Jg@qHh z`7qyVkKaMCcRemWNY651aHvi)Dt;N!*0nRH%gv3csv7=?{>O*|2rMzztJ4FC53iHh~I24S*ZN8u3B45qTO2k zV#a%2-hio? zIFEIohf8EYWRDv0QIK6XdRv9JD+t>+-4?eH^&08HLs(EaIj}>ufdPG-&FK`ox(hP) zSX*Zqbos^?mzT7`kU=2R(_sFto#;e1-jS!3{wMk2OMcoJ>~6zIk%mvT-Jh7Kvbt$B z8|rO?J^g2Xr^H3M{Vu`P<)l*|Vr*E1X<+$j`p8kgt6ScMbN952xjmdzc;`UuBmU19zH1 zdQm<7)we%}!ruutZS5wmd;bx?EJ416t*z8Mi{3Jr!!9It;_W3U$&c}W?2NupfPAbz zaEvS>tF=;!K5Ao~-wL{`AaKW`2vX9W!v);+3Ne%UcVx zb;L=lm)%rYtA=x^cwa@f^IsmG_fHBMF!yLCJ+BFOHR>7stJd)?=Nxz%8iP-Ve6eSZD~t{%G|HvhpWj*; za3=~ov&HyCmD2vW$N+mUE$10$G3&6M?QY&iR^o`>Vh|lw=YCxOOE?w`X@(U<9Y7~6 z)Fcq!<`YOUk`P*#e17Azvnu6Onjf2;iYsll!t!`CbngkGOAaC^m4^RW((d+S-n)L~ zTM!mauKzQ?74*h_S1@6)A_2|}RmHj8#A&~vV*Vg@W*Y<^Q_2%(ZD@hdlKyCe zl)xetJ8!pZ#}qf;Cj>*iNq*>30qx?euIoKYV8uSrbVuX;KB~UnQ#KvGL+w`BNcSS1 z;U~2{1T}vKDOh?GjZqA^@8P+OEsh={qVYmQ$vY&4jYp=IpNGGesr;aBWx6o41JoSQ z(}BH4cv2?sB~?BFm6;E1bvk7aC#n*P%Oi?dG5L^1-hlm5(P&r2+cnG+!{_XV`;L8< zl|p)Pedy^d3gl4Zq{eg%;hsN&VW1 z*YjjpggMwY-|~3Adr8jW^cl@Ov{4xMvHHP;dHlW{U@^uuI}B#!zEBT+oebadmu;(T zo?I5REG^zcKLB?tC^&z^j$_l$2Lu>djULQa(#{(k8C0@jcH@Y5plQC>XSdZR<%2Fn zC1CnY9?x1zI@i^uFuX5uMtLaq!#%??TkQR2I!ifI;x}j8 zfr`BP^Q6sA8vDu}yITqBe`9jn(s4p+U@XAi4YXGwT!~ej6K_%!Fo)U1FJx5?IX7s? znI|z&$~=$$T+LNGw@LY9(K6|S?R%;K9(2@!slJPxmJQWG-*CpPI!DGkfnTM3=U`@k zo*N7*koGrw`pli4^pJpjgSMLFVm&}>!aSM4cPn7hzsL14QkK>UK(EW*q=T~B>6G2r z3kc0PU=Gmf_i1!^$IwY;XsZc*z39uQZd1T0?3v{XK|jR#Tw@inoudHrzw!~8x`ZUL zP>9mhb4GJ95$7l35USY0dK*R}JR4u>ysHdTTaV{r`q%*N4gv7}Dp8PMMD8}ve;U>< zz?5tAj*Jp>e1)7Dm#5|^+uIQ)R zX62|+|J^j_h#O};zES66?fadp5IKr-?2tmw=@pHfATcp)iM6Rfhw?q^hF;g%B>Ngy zio;8u$*OB7`R;LZ8jGhZ+?gbNu(sYscLxZv$G)#thMhWlfXW2Q$W_rJ(Q!NDXH0+x zQ3s->rPUy=JY3Vfy|$uMz(uPW}@g0hNlv$ z8ijAn!zVyZm6Y}Z3dOh3D#DU@xDFGReL@V#ku=QZMao^QT&DAIy!9xSy^UP-`SW&!tYS7JG zFuK6m-6-0VSp-+>X2;maXQ{4IlvcA2;7P8*nSegnv|P;nf$F9NvbhM?*;a6o)S^Gb z(#qjN-*PB$lw~&sFU;|DeLP1Jbw(%3@f$Qif%2~O;`X-ZWzTE(*kP+j%s0<2)Gc{o zZK-afhs+SDT!8Ina4zgiAp9*+$_7H7)cTEKJW8+e^gJKxMz$6cypGY^89fs|HazKi z9n3p~+HR|@$_yMOa9sUnF;{1K)uoFj5JlS{O;LE*{bHusUdI3Tf@H8^QTqikAog%~ zKpdW@gb&u4i17=8{|9yEsYL~NCnUb3#Jq@Qp#7zhik~?7U0OP-<_c7yiHiuw$`g5h z4Dk+W4~Sojj=p;}luTuL6Lg+6F>9i|YRt#X8cuo(eUrk>Z>~;aJ7ZEaCnWA`MdBc) zfcc&Z3TO&v%@gFl5^ijq;B^ zvz8RN(2l6Y91W9g(>MrZChD2F_&#rCv~!t_YmXK2dn;Sfp`KiR*b4t{fjQf3Q%`r#62E zj5SJx>6Fh)rVp`o2&;!MR!DuBI_q1wKrBVwev-|v@UfT;AjKp)rCR(I^k*jgDeg(( zdIc?W4ny#lvCc_WrNwMjR|zJNNMLrso)T%|FFxc4pSXieYJ+Job9`0RJB;*H!b0G7 zyjcJul}ATXgRQD@Yuqc@Nx`3oT8^GKT7Y2wB1^J~i?05JS~|{5gv0O!nY8;jhq0iY zVPoNDo!<0;UZgQ{97H7O8$7r_f}$GyC*2ad(Cb5O_SsS6e2xlbCFI@169mKacNBKf zncO?#D0m>Z?KHU#0TyrHUQLXd?I=E6L`*jy4f(hrAVIealGr`&NqObgCPsaV$ z8;05!V_^4BID!xGSMV_+$cnGE^*&HvV`wNmYWa_4B{2+)8oakTZumHz++1AiUv>v2 z#nF>*L#C+#6)*VlrjjSHLTcbM41+%nJ9?1D{^dNxjG)t8k0`ncWIu@OM^XynqfH0G z=WwG`Md9|NH0e)Y7u}|NWi1mh^%BJSW&Nd4yG7L! zA@u}#ogp?Nh4ArWVO%kyr}loh$H1|nzQ_RWz(EfYHvCCq4=quN)z(Gd%sNZ1qRFGv z^hc>BnG`qrT+|>4Uw)fXDcX!5DHZN5M4oHh9*!Q7CqcvjL}A1_)JxPVR25u2+)p?i^lS|4 zjQzB!bd8Ey${wkDsmttcR2Kpl#CSw_%6N}-o^&?yFDaL)RVk|sp31*snxmUTn+rX1 zuLX`#W=*Z`t%|L_j&!B*r;5=rQZLcp$!;nKg+9Uml|yqxGeC1j^F_la5N8H5Q>wdb z2p1WZcd5uoTc?ikYU3_oEdZ)=wYDl{Dm^PsHT{bw%L~eaR3K8cGL})_vJVJrMQa6D zNmp~5gOA&f#-}&RAC)+jT~aqW16dJJ!<{1SBRwNC-+@s#0J0xpc8U*({ev?ecGPiyM}y+{LPI^Pz?Ji3a8#5efn?b(KWc-fBU|^ znzO>c4x)cqC;rQm)MvF;V?w20k|d9a4=;gCLFjI~FAkIXegCKr4lG7?rbLS=Ln@|L z3$L)>=Fje6xLl#+7Nq=-S)MTw-AEsaotO9R?|`NzO}OzLB(ed{M5IYv+ZmE2)-yjn z2;LdNB6l201nn}Usb78XPvsv(=a!oOv=Mt%G*z0SZdP*I7d0QUxQDKO-T~4G=ztAc z@B5-Vu`Zg*ttfNbRp&NiZ?^jV+^pKthCKh^v*imA8R6#*MAthXKqK*C3<_ro+!3&|sV3VO#qfx35<~sF#wVm#wXr zv7ndFub0-Mm+PsQd81c|xtyG^oTa>+{`$UVUrwz(!b9^**P7>RzFx_3TK;;vTtKm$ zGI}yV@QugpOa4lP@k+wRO1RicT=z;;;7ZanAOryr9S->N5fBdngwX{r(}c7_!*5CkfA>g#46{`oCAdW=8fv-O$1Et7)?S0IJTuYb}cw|G&rE{b=#ln zcJ1qS4CYi+WlZDI*ue}(LFN#t^cb$&^Ceg#i;iA!~bT6jrXc!gwoNoab7xphgg zb%h{ti7#=5-h273_iFgwj`wgXy8!hHIC13FsTn2m{qdX#eajU}YW!4kITQvWO?tT;Vf8g(x{~xTU8MmMO%erSx?CP6!SO0-5{u$k4 zCf4#NV_{_?ECrJF}4UgOzZ`I+?ZFg9Uc||hEIS~1iw|&Yk-GO)NhbQ mX4Rts 0) { + $(".help-message").addClass("has-error"); + $(".form-control-feedback").show(); + } else { + $(".help-message").addClass("has-success"); + } + toggleMessage(data.message); + for (var i = 0; i < data.errors.length; i++) { + $("#" + data.errors[i]).parent().addClass("has-error has-feedback"); + } +} + +/** + * Reset form feedback when resubmitting + */ +function resetFeedback() { + $(".form-control-feedback").hide(); + $("#helpBlock").html(""); + $(".has-error, .has-feedback").removeClass("has-error has-feedback"); +} + +/** + * Show the return message from the POST request, then set a timeout to hide it again + * @param msg the return message from the POST request + */ +function toggleMessage(msg) { + /* + * Since setting display:none; on this element causes odd behaviour + * with bootstrap, hide() the element so we can slide it in. + * This is only really only necessary the first time this + * function is called after page load. + */ + $(".help-message").hide(); + $(".help-message").html(msg); + $(".help-message").slideDown(200); + window.setTimeout(function() { + $(".help-message").slideUp(200); + }, 3000); +} + +/** + * Show the overlay and loading gif + */ +function addOverlay() { + $("body").append("

"); +} + +/** + * Remove the overlay and loading gif + */ +function removeOverlay() { + var overlay = $("#overlay, #loadingImage"); + $("#loadingImage").fadeOut(250); + $("#overlay").fadeOut(500, function() { + overlay.remove(); + }); +} + +/** + * Fade out the previous setup step and fade in the next one + */ +function nextSlide() { + $(".btn").attr("disabled", "disabled"); + $(".form-slider").animate({left: "-=100%"}, 500, function() { + $(".btn").removeAttr("disabled"); + }); + var stepCount = parseInt($("#stepCount").html()); + $("#stepCount").html(stepCount + 1); +} + +/** + * Fade out the current setup step and fade in the previous one + */ +function prevSlide() { + $(".btn").attr("disabled", "disabled"); + $(".form-slider").animate({left: "+=100%"}, 500, function() { + $(".btn").removeAttr("disabled"); + }); + var stepCount = parseInt($("#stepCount").html()); + $("#stepCount").html(stepCount - 1); +} + +$(function() { + $(".form-slider").draggable({ + revert: true, + axis: 'x', + snap: ".viewport", + snapMode: "both", + }); + + window.onresize = function() { + var headerHeight = $(".header").outerHeight(), + viewport = $(".viewport"), + viewportHeight = viewport.outerHeight(); + // If the viewport would go outside the page bounds, + // shrink it to fit the window + if (viewportHeight + headerHeight > window.innerHeight) { + viewport.css("height", window.innerHeight - headerHeight); + } + // Otherwise, go back to what we have in the stylesheet + else { + viewport.css("height", ""); + } + }; +}); diff --git a/airtime_mvc/public/setup/database-setup.php b/airtime_mvc/public/setup/database-setup.php new file mode 100644 index 000000000..f29355d83 --- /dev/null +++ b/airtime_mvc/public/setup/database-setup.php @@ -0,0 +1,146 @@ +validateDatabaseConnection()) { + // We know that the user credentials check out, so check if the database exists + if ($this->validateDatabaseSettings()) { + // The database already exists, so we can just set up the schema + if ($this->createDatabaseTables()) { + self::$message = "Successfully installed Airtime database to '" . self::$name . "'"; + } else { + self::$message = "Something went wrong setting up the Airtime schema!"; + } + } else { + // The database doesn't exist, so check if the user can create databases + if ($this->checkUserCanCreateDb()) { + // The user can create a database, do it + if ($this->createDatabase()) { + if ($this->createDatabaseTables()) { + self::$message = "Successfully installed Airtime database to '" . self::$name . "'"; + } else { + self::$message = "Something went wrong setting up the Airtime schema!"; + } + } else { + self::$message = "There was an error installing the database!"; + } + } // The user can't create databases, so we're done + else { + self::$message = "No database " . self::$name . " exists; user " . self::$user + . " does not have permission to create databases on " . self::$host; + } + } + } + + return array( + "message" => self::$message, + "errors" => self::$errors, + ); + } + + /** + * Check if the user's database connection is valid + * @return boolean true if the connection are valid + */ + function validateDatabaseConnection() { + // This is pretty redundant, but we need to test both + // the existence and the validity of the given credentials + exec("export PGPASSWORD=" . self::$pass . " && psql -h " + . self::$host . " -U " . self::$user . " 2>&1", $out, $status); + foreach ($out as $o) { + if (strpos($o, "host name")) { + self::$message = "Invalid connection parameters!"; + self::$errors[] = self::DB_HOST; + return false; + } else if (strpos($o, "authentication")) { + self::$message = "User credentials are invalid!"; + self::$errors[] = self::DB_USER; + self::$errors[] = self::DB_PASS; + return false; + } + } + return $status == 0; + } + + /** + * Check if the database settings and credentials given are valid + * @return boolean true if the database given exists and the user is valid and can access it + */ + function validateDatabaseSettings() { + exec("export PGPASSWORD=" . self::$pass . " && psql -lqt -h " . self::$host . " -U " . self::$user + . "| cut -d \\| -f 1 | grep -w " . self::$name, $out, $status); + return $status == 0; + } + + /** + * Check if the given user has access on the given host to create a new database + * @return boolean true if the given user has permission to create a database on the given host + */ + function checkUserCanCreateDb() { + exec("export PGPASSWORD=" . self::$pass . " && psql -h " . self::$host . " -U " . self::$user . " -tAc" + . "\"SELECT 1 FROM pg_roles WHERE rolname='" . self::$user . "' AND rolcreatedb='t'\"", $out, $status); + return $status == 0; + } + + /** + * Creates the Airtime database using the given credentials + * @return boolean true if the database was created + */ + function createDatabase() { + exec("export PGPASSWORD=" . self::$pass . " && psql -h " . self::$host . " -U " . self::$user . " -tAc" + . "\"CREATE DATABASE " . self::$name . " WITH ENCODING 'UTF8' TEMPLATE template0 OWNER " + . self::$user . "\"", $out, $status); + return $status == 0; + } + + /** + * Creates the Airtime database schema using the given credentials + * @return boolean true if the database tables were created without error + */ + function createDatabaseTables() { + $sqlDir = dirname(dirname(__DIR__)) . "/build/sql/"; + $files = array("schema.sql", "sequences.sql", "views.sql", "triggers.sql", "defaultdata.sql"); + + foreach($files as $f) { + try { + exec("export PGPASSWORD=" . self::$pass . " && psql -U " . self::$user . " --dbname " + . self::$name . " -h " . self::$host . " -f $sqlDir$f 2>/dev/null", $out, $status); + } catch(Exception $e) { + return false; + } + } + return true; + } + +} diff --git a/airtime_mvc/public/setup/rabbitmq-setup.php b/airtime_mvc/public/setup/rabbitmq-setup.php new file mode 100644 index 000000000..0dc2334c2 --- /dev/null +++ b/airtime_mvc/public/setup/rabbitmq-setup.php @@ -0,0 +1,41 @@ + $message, + "errors" => $errors + ); + } + +} \ No newline at end of file diff --git a/airtime_mvc/public/setup/setup-functions.php b/airtime_mvc/public/setup/setup-functions.php new file mode 100644 index 000000000..7273527ad --- /dev/null +++ b/airtime_mvc/public/setup/setup-functions.php @@ -0,0 +1,45 @@ +runSetup()); + } + } +} diff --git a/installer/airtime/airtime.conf b/installer/airtime/airtime.conf deleted file mode 100644 index 7495bd9f3..000000000 --- a/installer/airtime/airtime.conf +++ /dev/null @@ -1,32 +0,0 @@ -[database] -host = localhost -dbname = airtime -dbuser = airtime -dbpass = airtime - -[rabbitmq] -host = 127.0.0.1 -port = 5672 -user = guest -password = guest -vhost = / - -[general] -api_key = AAA -web_server_user = www-data -airtime_dir = x -base_url = localhost -base_port = 80 -base_dir = '/' - -;How many hours ahead of time should Airtime playout engine (PYPO) -;cache scheduled media files. -cache_ahead_hours = 1 - -[monit] -monit_user = guest -monit_password = airtime - -[soundcloud] -connection_retries = 3 -time_between_retries = 60 diff --git a/installer/install b/installer/install index 043d9cae6..bcfa5eb8d 100644 --- a/installer/install +++ b/installer/install @@ -9,14 +9,18 @@ fi showhelp () { echo "Usage: airtime-install [options] ---help|-h Displays usage information." +--help|-h Displays usage information. +--apache|-a Installs apache and deploys a basic configuration for Airtime." exit 0 } +apache="f" + while [ $# -gt 0 ] do case "$1" in (-h|--help) showhelp; exit 0;; + (-a|--apache) apache="t";; (--) shift; break;; (-*) echo "$0: error - unrecognized option $1" 1>&2; exit 1;; @@ -37,54 +41,72 @@ echo " * \/ \/ \/ echo " ****************************************************************" echo " ____ ______ ____ ____ __________ __ _________ ____ ____ " -echo " / _ \\\\____ \_/ __ \ / \ / ___/ _ \| | \_ __ \_/ ___\/ __ \ " +echo -e " / _ \\\\____ \_/ __ \ / \ / ___/ _ \| | \_ __ \_/ ___\/ __ \ " echo " ( <_> ) |_> > ___/| | \ \___ ( <_> ) | /| | \/\ \__\ ___/ " echo " \____/| __/ \___ >___| / /____ >____/|____/ |__| \___ >___ > " echo " |__| \/ \/ \/ \/ \/ " echo " .___.__ __ __ .__ " echo "____________ __| _/|__| ____ _____ __ ___/ |_ ____ _____ _____ _/ |_|__| ____ ____ " -echo "\_ __ \__ \ / __ | | |/ _ \ \__ \ | | \ __\/ _ \ / \\\\__ \\\\ __\ |/ _ \ / \ " +echo -e "\_ __ \__ \ / __ | | |/ _ \ \__ \ | | \ __\/ _ \ / \\\\__ \\\\ __\ |/ _ \ / \ " echo " | | \// __ \_/ /_/ | | ( <_> ) / __ \| | /| | ( <_> ) Y Y \/ __ \| | | ( <_> ) | \ " echo " |__| (____ /\____ | |__|\____/ (____ /____/ |__| \____/|__|_| (____ /__| |__|\____/|___| / " echo " \/ \/ \/ \/ \/ \/ " +if [ apache = "t" ]; then + echo -e "\n-----------------------------------------------------" + echo " * Installing Apache * " + echo "-----------------------------------------------------" + + apt-get -y --force-yes install apache2 libapache2-mod-php5 + set +e + apache2 -v | grep "2\.4" > /dev/null + apacheversion=$? + set -e + + # Apache Config File + if [ "$apacheversion" != "1" ]; then + airtimeconfigfile="airtime.conf" + else + airtimeconfigfile="airtime" + fi + + if [ ! -f /etc/apache2/sites-available/${airtimeconfigfile} ]; then + echo " ## Creating Apache config for Airtime..." + + cp apache/airtime-vhost /etc/apache2/sites-available/${airtimeconfigfile} + a2dissite 000-default + a2ensite airtime + else + echo "Apache config for Airtime already exists, skipping" + fi + + if [ ! -d /usr/share/airtime/public ]; then + echo " ## Creating Apache web root directory..." + mkdir -p /usr/share/airtime/public/ + else + echo "Airtime web root directory already exists, skipping" + fi +fi + echo -e "\n-----------------------------------------------------" -echo " * Installing Apache * " +echo " * Installing PHP * " echo "-----------------------------------------------------" -apt-get -y --force-yes install apache2 libapache2-mod-php5 -set +e -apache2 -v | grep "2\.4" > /dev/null -apacheversion=$? -set -e +apt-get -y --force-yes install php5 -# Apache Config File -if [ "$apacheversion" != "1" ]; then - airtimeconfigfile="airtime.conf" +echo " ## Installing Zend framework..." +#Debian Squeeze only has zendframework package. Newer versions of Ubuntu have zend-framework package. +#Ubuntu Lucid has both zendframework and zend-framework. Difference appears to be that zendframework is for +#1.10 and zend-framework is 1.11 +if [ "$dist" = "Debian" ]; then + apt-get -y --force-yes install zendframework else - airtimeconfigfile="airtime" -fi - -if [ ! -f /etc/apache2/sites-available/${airtimeconfigfile} ]; then - echo "Creating Apache config for Airtime..." - - cp apache/airtime-vhost /etc/apache2/sites-available/${airtimeconfigfile} - a2dissite 000-default - a2ensite airtime -else - echo "Apache config for Airtime already exists, skipping" -fi - -if [ ! -d /usr/share/airtime/public ]; then - echo "Creating Apache web root directory..." - mkdir -p /usr/share/airtime/public/ -else - echo "Airtime web root directory already exists, skipping" + apt-get -y --force-yes install libzend-framework-php fi # PHP Config File for Apache if [ ! -f /etc/php5/apache2/airtime.ini ]; then - echo "Creating Airtime PHP config for Apache..." + echo " ## Creating Airtime PHP config for Apache..." cp php/airtime.ini /etc/php5/apache2/conf.d/airtime.ini else echo "Airtime PHP config for Apache already exists, skipping" @@ -95,44 +117,38 @@ a2enmod rewrite php5 service apache2 restart echo -e "\n-----------------------------------------------------" -echo " * Installing PHP * " +echo " * Installing PostgreSQL * " echo "-----------------------------------------------------" -apt-get -y --force-yes install php5 - -#Debian Squeeze only has zendframework package. Newer versions of Ubuntu have zend-framework package. -#Ubuntu Lucid has both zendframework and zend-framework. Difference appears to be that zendframework is for -#1.10 and zend-framework is 1.11 -if [ "$dist" = "Debian" ]; then - apt-get -y --force-yes install zendframework -else - apt-get -y --force-yes install libzend-framework-php -fi +apt-get -y --force-yes install postgresql php5-pgsql echo -e "\n-----------------------------------------------------" -echo " * Setting up Airtime * " +echo " * Setting up RabbitMQ * " echo "-----------------------------------------------------" -# Clear any previous configuration files -if [ -d "/etc/airtime/" ]; then - rm -rf /etc/airtime/* -else - mkdir /etc/airtime +apt-get -y --force-yes install rabbitmq-server + +RABBITMQ_VHOST=$(awk -F ' = ' '{if (! ($0 ~ /^;/) && $0 ~ /^vhost/ ) print $2}' ../airtime_mvc/build/airtime.example.conf) +RABBITMQ_USER=$(awk -F ' = ' '{if (! ($0 ~ /^;/) && $0 ~ /^user/ ) print $2}' ../airtime_mvc/build/airtime.example.conf) +RABBITMQ_PASSWORD=$(awk -F ' = ' '{if (! ($0 ~ /^;/) && $0 ~ /^password/ ) print $2}' ../airtime_mvc/build/airtime.example.conf) +EXCHANGES="airtime-pypo|pypo-fetch|airtime-media-monitor|media-monitor" + +rabbitmqctl list_vhosts | grep -w ${RABBITMQ_VHOST} +RESULT="$?" + +if [ ${RESULT} != "0" ]; then + echo " ## Creating RabbitMQ user $RABBITMQ_USER" + + rabbitmqctl add_vhost ${RABBITMQ_VHOST} + rabbitmqctl add_user ${RABBITMQ_USER} ${RABBITMQ_PASSWORD} + rabbitmqctl set_permissions -p ${RABBITMQ_VHOST} ${RABBITMQ_USER} "$EXCHANGES" "$EXCHANGES" "$EXCHANGES" fi -cp airtime/airtime.conf /etc/airtime/airtime.conf -chown -R www-data:www-data /etc/airtime - -if [ ! -d "/var/log/airtime" ]; then - mkdir /var/log/airtime -fi - -chown -R www-data:www-data /var/log/airtime -apt-get -y --force-yes install postgresql php5-pgsql php5-mysql - echo -e "\n-----------------------------------------------------" echo " * Basic Setup DONE! * " echo " " echo " To get started with Airtime, visit localhost:5000 " +echo " or, if you've set up your own web configuration, " +echo " the Airtime webroot on your webserver " echo " in your web browser of choice " echo "-----------------------------------------------------" From f5b492853888706de84e749de24cce19f175f6ed Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Tue, 9 Dec 2014 17:48:16 -0500 Subject: [PATCH 021/168] More work on web installer --- airtime_mvc/application/configs/conf.php | 2 +- .../application/configs/config-check.php | 24 ++-- .../airtime-setup/forms/database-settings.php | 19 +--- .../airtime-setup/forms/finish-settings.php | 22 ++++ .../airtime-setup/forms/general-settings.php | 31 +++++ .../airtime-setup/forms/media-settings.php | 31 +++++ .../airtime-setup/forms/rabbitmq-settings.php | 16 +-- airtime_mvc/build/airtime-setup/load.php | 25 +++- .../build/airtime-setup/setup-config.php | 18 ++- airtime_mvc/library/php-amqplib/amqp.inc | 22 ++-- airtime_mvc/public/css/setup/config-check.css | 27 +++++ airtime_mvc/public/css/setup/setup-config.css | 65 ++++++----- airtime_mvc/public/index.php | 4 +- airtime_mvc/public/js/setup/setup-config.js | 83 ++++++++------ airtime_mvc/public/setup/database-setup.php | 98 +++++++++++++--- airtime_mvc/public/setup/finish-setup.php | 31 +++++ airtime_mvc/public/setup/general-setup.php | 61 ++++++++++ airtime_mvc/public/setup/media-setup.php | 107 ++++++++++++++++++ airtime_mvc/public/setup/rabbitmq-setup.php | 69 ++++++++++- airtime_mvc/public/setup/setup-functions.php | 41 ++++++- .../models/unit/PreferenceUnitTest.php | 2 +- installer/install | 64 +++++++++-- utils/soundcloud-uploader.php | 52 +++------ 23 files changed, 728 insertions(+), 186 deletions(-) create mode 100644 airtime_mvc/build/airtime-setup/forms/finish-settings.php create mode 100644 airtime_mvc/build/airtime-setup/forms/general-settings.php create mode 100644 airtime_mvc/build/airtime-setup/forms/media-settings.php create mode 100644 airtime_mvc/public/setup/finish-setup.php create mode 100644 airtime_mvc/public/setup/general-setup.php create mode 100644 airtime_mvc/public/setup/media-setup.php diff --git a/airtime_mvc/application/configs/conf.php b/airtime_mvc/application/configs/conf.php index 903b845c2..132605179 100644 --- a/airtime_mvc/application/configs/conf.php +++ b/airtime_mvc/application/configs/conf.php @@ -34,7 +34,7 @@ class Config { $CC_CONFIG['baseDir'] = $values['general']['base_dir']; $CC_CONFIG['baseUrl'] = $values['general']['base_url']; $CC_CONFIG['basePort'] = $values['general']['base_port']; - $CC_CONFIG['phpDir'] = $values['general']['airtime_dir']; +// $CC_CONFIG['phpDir'] = $values['general']['airtime_dir']; $CC_CONFIG['cache_ahead_hours'] = $values['general']['cache_ahead_hours']; diff --git a/airtime_mvc/application/configs/config-check.php b/airtime_mvc/application/configs/config-check.php index 11291d446..384856dbd 100644 --- a/airtime_mvc/application/configs/config-check.php +++ b/airtime_mvc/application/configs/config-check.php @@ -20,19 +20,18 @@ $r = array_reduce($phpDependencies, "booleanReduce", true); $result = $r && $database; ?> - + - +

-
+
Configuration Checklist

- +
- - -
@@ -61,10 +60,10 @@ $result = $r && $database; Zend MVC Framework > + > + ?>"> Ubuntu: try running sudo apt-get install libzend-framework-php
Debian: try running sudo apt-get install zendframework PDO and PostgreSQL libraries
> + > + ?>"> Try running sudo apt-get install php5-pgsql Database configuration for Airtime > + > + ?>"> Make sure you aren't missing any of the Postgres dependencies in the table above. If your dependencies check out, make sure your database configuration settings in airtime.conf is correct and the Airtime database was installed correctly. @@ -118,6 +117,7 @@ $result = $r && $database;
+
@@ -135,8 +135,6 @@ $result = $r && $database; -
-
@@ -32,6 +31,21 @@ require_once SETUP_PATH . "forms/rabbitmq-settings.php"; ?>
+
+ +
+
+ +
+
+ +
diff --git a/airtime_mvc/library/php-amqplib/amqp.inc b/airtime_mvc/library/php-amqplib/amqp.inc index 1bf03b3c4..eca4de6fe 100644 --- a/airtime_mvc/library/php-amqplib/amqp.inc +++ b/airtime_mvc/library/php-amqplib/amqp.inc @@ -436,10 +436,13 @@ class AMQPConnection extends AbstractChannel $len = strlen($data); while(true) { - if(false === ($written = fwrite($this->sock, $data))) + $written = fwrite($this->sock, $data); + + if($written == false || $written <= 0) { throw new Exception ("Error sending data"); } + $len = $len - $written; if($len>0) $data=substr($data,0-$len); @@ -599,12 +602,17 @@ class AMQPConnection extends AbstractChannel */ public function close($reply_code=0, $reply_text="", $method_sig=array(0, 0)) { - $args = new AMQPWriter(); - $args->write_short($reply_code); - $args->write_shortstr($reply_text); - $args->write_short($method_sig[0]); // class_id - $args->write_short($method_sig[1]); // method_id - $this->send_method_frame(array(10, 60), $args); + try { + $args = new AMQPWriter(); + $args->write_short($reply_code); + $args->write_shortstr($reply_text); + $args->write_short($method_sig[0]); // class_id + $args->write_short($method_sig[1]); // method_id + $this->send_method_frame(array(10, 60), $args); + } catch(Exception $e) { + return; + } + return $this->wait(array( "10,61", // Connection.close_ok )); diff --git a/airtime_mvc/public/css/setup/config-check.css b/airtime_mvc/public/css/setup/config-check.css index d535a5dd3..6967f1165 100644 --- a/airtime_mvc/public/css/setup/config-check.css +++ b/airtime_mvc/public/css/setup/config-check.css @@ -1,3 +1,26 @@ +html { + background-color: #f5f5f5; +} + +body { + padding: 2em 0; + min-width: 600px; + width: 50%; + text-align: center; + margin: 3em auto; + border: 1px solid lightgray; + border-radius: 5em; +} + +.logo { + margin-bottom: .5em; +} + +.table { + padding: 0; + margin: 3em 0 0 0; +} + .checklist { overflow: auto; height: 50%; @@ -16,6 +39,10 @@ width: 40%; } +.check { + background: #dff0d8 url("css/images/accept.png") no-repeat center; +} + .footer { margin: inherit; width: inherit; diff --git a/airtime_mvc/public/css/setup/setup-config.css b/airtime_mvc/public/css/setup/setup-config.css index 9c5356791..b2dd4844f 100644 --- a/airtime_mvc/public/css/setup/setup-config.css +++ b/airtime_mvc/public/css/setup/setup-config.css @@ -47,8 +47,12 @@ body { * ############################################################################ */ form { - width: 80%; margin: auto; + top: 0; + width: 99%; + position: absolute; + float: right; + } form p { @@ -69,6 +73,10 @@ form .form-group { overflow-y: auto; } +.form-wrapper { + overflow: auto; +} + .form-title { margin: 1em 0; } @@ -166,23 +174,6 @@ form .form-group { border-bottom: 4px solid #fff; } -/* ############################################################################ - * - * Database Settings Form Styles - * - * ############################################################################ */ - -#dbSettingsForm { - top: 0; - width: 99%; - position: absolute; - float: right; -} - -#dbSettings { - overflow: auto; -} - /* ############################################################################ * * RabbitMQ Settings Form Styles @@ -190,17 +181,39 @@ form .form-group { * ############################################################################ */ #rmqSettingsForm { - top: 0; left: 100%; - width: 99%; - position: absolute; - float: right; -} - -#rmqSettings { - overflow: auto; } #rmqFormBody { display: none; +} + +/* ############################################################################ + * + * General Settings Form Styles + * + * ############################################################################ */ + +#generalSettingsForm { + left: 200%; +} + +/* ############################################################################ + * + * Media Settings Form Styles + * + * ############################################################################ */ + +#mediaSettingsForm { + left: 300%; +} + +/* ############################################################################ + * + * Finish Settings Form Styles + * + * ############################################################################ */ + +#finishSettingsForm { + left: 400%; } \ No newline at end of file diff --git a/airtime_mvc/public/index.php b/airtime_mvc/public/index.php index 41c2b7966..45e519111 100644 --- a/airtime_mvc/public/index.php +++ b/airtime_mvc/public/index.php @@ -24,6 +24,8 @@ define('SETUP_PATH', BUILD_PATH . 'airtime-setup/'); define('APPLICATION_PATH', ROOT_PATH . 'application/'); define('CONFIG_PATH', APPLICATION_PATH . 'configs/'); +define("AIRTIME_CONFIG_STOR", "/etc/airtime/"); + define('AIRTIME_CONFIG', 'airtime.conf'); require_once(LIB_PATH . "propel/runtime/lib/Propel.php"); @@ -37,7 +39,7 @@ if (array_key_exists('config', $_GET)) { } // If a configuration file exists, forward to our boot script -if (file_exists(BUILD_PATH . AIRTIME_CONFIG)) { +if (file_exists(AIRTIME_CONFIG_STOR . AIRTIME_CONFIG)) { /* * Even if the user has been through the setup process and * created an airtime.conf file (or they may have simply diff --git a/airtime_mvc/public/js/setup/setup-config.js b/airtime_mvc/public/js/setup/setup-config.js index 113710e8f..9441ed44d 100644 --- a/airtime_mvc/public/js/setup/setup-config.js +++ b/airtime_mvc/public/js/setup/setup-config.js @@ -2,6 +2,7 @@ * Do some cleanup when we get a success response from a POST request * during setup * @param data the POST request return data + * @param e the jquery event */ function cleanupStep(data, e) { showFeedback(data); @@ -19,16 +20,16 @@ function cleanupStep(data, e) { * @param data the POST request return data */ function showFeedback(data) { - if (data.errors.length > 0) { - $(".help-message").addClass("has-error"); - $(".form-control-feedback").show(); - } else { - $(".help-message").addClass("has-success"); - } toggleMessage(data.message); for (var i = 0; i < data.errors.length; i++) { $("#" + data.errors[i]).parent().addClass("has-error has-feedback"); } + if (data.errors.length > 0) { + $(".help-message").addClass("has-error"); + $(".has-error .form-control-feedback").show(); + } else { + $(".help-message").addClass("has-success"); + } } /** @@ -36,8 +37,7 @@ function showFeedback(data) { */ function resetFeedback() { $(".form-control-feedback").hide(); - $("#helpBlock").html(""); - $(".has-error, .has-feedback").removeClass("has-error has-feedback"); + $(".has-success, .has-error, .has-feedback").removeClass("has-success has-error has-feedback"); } /** @@ -47,16 +47,12 @@ function resetFeedback() { function toggleMessage(msg) { /* * Since setting display:none; on this element causes odd behaviour - * with bootstrap, hide() the element so we can slide it in. + * with bootstrap, hide() the element so we can formSlide it in. * This is only really only necessary the first time this * function is called after page load. */ - $(".help-message").hide(); - $(".help-message").html(msg); - $(".help-message").slideDown(200); - window.setTimeout(function() { - $(".help-message").slideUp(200); - }, 3000); + var help = $(".help-message"); + help.html(msg).show(); } /** @@ -77,37 +73,60 @@ function removeOverlay() { }); } +function formSlide(dir) { + var delta = (dir == "next") ? "-=100%" : "+=100%"; + $(".btn").attr("disabled", "disabled"); + $(".form-slider").animate({left: delta}, 500, function() { + $(".btn").removeAttr("disabled"); + }); + var stepCount = $("#stepCount"), + steps = parseInt(stepCount.html()); + stepCount.html((dir == "next") ? (steps + 1) : (steps - 1)); + hideRMQForm(); +} + /** * Fade out the previous setup step and fade in the next one */ function nextSlide() { - $(".btn").attr("disabled", "disabled"); - $(".form-slider").animate({left: "-=100%"}, 500, function() { - $(".btn").removeAttr("disabled"); - }); - var stepCount = parseInt($("#stepCount").html()); - $("#stepCount").html(stepCount + 1); + formSlide("next"); } /** * Fade out the current setup step and fade in the previous one */ function prevSlide() { - $(".btn").attr("disabled", "disabled"); - $(".form-slider").animate({left: "+=100%"}, 500, function() { - $(".btn").removeAttr("disabled"); + formSlide("prev"); +} + +/** + * Hide the RMQ form when the slider is called to avoid showing + * scrollbars on slider panels that fit vertically + */ +function hideRMQForm() { + $("#rmqFormBody").slideUp(500); + $("#advCaret").removeClass("caret-up"); +} + +function submitForm(e, obj) { + resetFeedback(); + e.preventDefault(); + var d = $(e.target).serializeArray(); + addOverlay(); + // Append .promise().done() rather than using a + // callback to avoid weird alert duplication + $("#overlay, #loadingImage").fadeIn(500).promise().done(function() { + // Proxy function for passing the event to the cleanup function + var cleanupProxy = function(data) { + cleanupStep.call(this, data, e); + }; + $.post('setup/setup-functions.php?obj=' + obj, d, cleanupProxy, "json"); }); - var stepCount = parseInt($("#stepCount").html()); - $("#stepCount").html(stepCount - 1); } $(function() { - $(".form-slider").draggable({ - revert: true, - axis: 'x', - snap: ".viewport", - snapMode: "both", - }); + // Stop the user from dragging the slider + $(".form-slider").draggable('disable'); window.onresize = function() { var headerHeight = $(".header").outerHeight(), diff --git a/airtime_mvc/public/setup/database-setup.php b/airtime_mvc/public/setup/database-setup.php index f29355d83..115cf840c 100644 --- a/airtime_mvc/public/setup/database-setup.php +++ b/airtime_mvc/public/setup/database-setup.php @@ -1,20 +1,29 @@ value pairs for airtime.conf + static $properties; + + // Message and error fields to return to the front-end static $message = null; static $errors = array(); @@ -23,6 +32,13 @@ class DatabaseSetup extends Setup { self::$pass = $settings[self::DB_PASS]; self::$name = $settings[self::DB_NAME]; self::$host = $settings[self::DB_HOST]; + + self::$properties = array( + "host" => self::$host, + "dbname" => self::$name, + "dbuser" => self::$user, + "dbpass" => self::$pass, + ); } /** @@ -33,47 +49,70 @@ class DatabaseSetup extends Setup { */ function runSetup() { // Check the connection and user credentials - if ($this->validateDatabaseConnection()) { + if ($this->checkDatabaseConnection()) { // We know that the user credentials check out, so check if the database exists - if ($this->validateDatabaseSettings()) { - // The database already exists, so we can just set up the schema - if ($this->createDatabaseTables()) { - self::$message = "Successfully installed Airtime database to '" . self::$name . "'"; + if ($this->checkDatabaseExists()) { + // The database already exists, check if the schema exists as well + if ($this->checkSchemaExists()) { + self::$message = "Airtime is already installed in this database!"; } else { - self::$message = "Something went wrong setting up the Airtime schema!"; + if ($this->createDatabaseTables()) { + self::$message = "Successfully installed Airtime database to '" . self::$name . "'"; + } else { + self::$message = "Something went wrong setting up the Airtime schema!"; + self::$errors[] = self::DB_NAME; + } } } else { // The database doesn't exist, so check if the user can create databases if ($this->checkUserCanCreateDb()) { // The user can create a database, do it if ($this->createDatabase()) { - if ($this->createDatabaseTables()) { - self::$message = "Successfully installed Airtime database to '" . self::$name . "'"; + // Ensure that the database was installed in UTF8 (we only care about the Airtime database) + if ($this->checkDatabaseSchema()) { + if ($this->createDatabaseTables()) { + self::$message = "Successfully installed Airtime database to '" . self::$name . "'"; + } else { + self::$message = "Something went wrong setting up the Airtime schema!"; + self::$errors[] = self::DB_NAME; + } } else { - self::$message = "Something went wrong setting up the Airtime schema!"; + self::$message = "The database was installed with an incorrect encoding type!"; + self::$errors[] = self::DB_NAME; } } else { self::$message = "There was an error installing the database!"; + self::$errors[] = self::DB_NAME; } } // The user can't create databases, so we're done else { self::$message = "No database " . self::$name . " exists; user " . self::$user . " does not have permission to create databases on " . self::$host; + self::$errors[] = self::DB_NAME; } } } + if (count(self::$errors) <= 0) { + $this->writeToTemp(); + } + return array( "message" => self::$message, "errors" => self::$errors, ); } + function writeToTemp() { + parent::writeToTemp(self::SECTION, self::$properties); + } + + /** * Check if the user's database connection is valid * @return boolean true if the connection are valid */ - function validateDatabaseConnection() { + function checkDatabaseConnection() { // This is pretty redundant, but we need to test both // the existence and the validity of the given credentials exec("export PGPASSWORD=" . self::$pass . " && psql -h " @@ -97,12 +136,23 @@ class DatabaseSetup extends Setup { * Check if the database settings and credentials given are valid * @return boolean true if the database given exists and the user is valid and can access it */ - function validateDatabaseSettings() { + function checkDatabaseExists() { exec("export PGPASSWORD=" . self::$pass . " && psql -lqt -h " . self::$host . " -U " . self::$user . "| cut -d \\| -f 1 | grep -w " . self::$name, $out, $status); return $status == 0; } + /** + * Check if the database schema has already been set up + * @return boolean true if the database schema exists + */ + function checkSchemaExists() { + // Check for cc_pref to see if the schema is already installed in this database + exec("export PGPASSWORD=" . self::$pass . " && psql -U " . self::$user . " -h " + . self::$host . " -d " . self::$name . " -tAc \"SELECT * FROM cc_pref\"", $out, $status); + return $status == 0; + } + /** * Check if the given user has access on the given host to create a new database * @return boolean true if the given user has permission to create a database on the given host @@ -132,15 +182,33 @@ class DatabaseSetup extends Setup { $sqlDir = dirname(dirname(__DIR__)) . "/build/sql/"; $files = array("schema.sql", "sequences.sql", "views.sql", "triggers.sql", "defaultdata.sql"); - foreach($files as $f) { + foreach ($files as $f) { try { exec("export PGPASSWORD=" . self::$pass . " && psql -U " . self::$user . " --dbname " . self::$name . " -h " . self::$host . " -f $sqlDir$f 2>/dev/null", $out, $status); - } catch(Exception $e) { + } catch (Exception $e) { return false; } } return true; } + /** + * Checks whether the newly-created database's encoding was properly set to UTF8 + * @return boolean true if the database encoding is UTF8 + */ + function checkDatabaseEncoding() { + exec("export PGPASSWORD=" . self::$pass . " && psql -U " . self::$user . " -h " + . self::$host . " -d " . self::$name . " -tAc \"SHOW SERVER_ENCODING\"", $out, $status); + return $out && $out[0] == "UTF8"; + } + + // TODO Since we already check the encoding, is there a purpose to verifying the schema? + function checkDatabaseSchema() { + $outFile = "/tmp/tempSchema.xml"; + exec("export PGPASSWORD=" . self::$pass . " && psql -U " . self::$user . " -h " + . self::$host . " -o ${outFile} -tAc \"SELECT database_to_xml(FALSE, FALSE, '" + . self::$name . "')\"", $out, $status); + } + } diff --git a/airtime_mvc/public/setup/finish-setup.php b/airtime_mvc/public/setup/finish-setup.php new file mode 100644 index 000000000..704164c14 --- /dev/null +++ b/airtime_mvc/public/setup/finish-setup.php @@ -0,0 +1,31 @@ +createAirtimeConfigDirectory()) { + $this->moveAirtimeConfig(); + } + } + + function createAirtimeConfigDirectory() { + return file_exists("/etc/airtime/") ? true + : mkdir("/etc/airtime/", 0755, true); + } + + function moveAirtimeConfig() { + return copy(AIRTIME_CONF_TEMP_PATH, "/etc/airtime/airtime.conf"); + } + +} \ No newline at end of file diff --git a/airtime_mvc/public/setup/general-setup.php b/airtime_mvc/public/setup/general-setup.php new file mode 100644 index 000000000..cf5516820 --- /dev/null +++ b/airtime_mvc/public/setup/general-setup.php @@ -0,0 +1,61 @@ +value pairs for airtime.conf + static $properties; + + // Message and error fields to return to the front-end + static $message = null; + static $errors = array(); + + function __construct($settings) { + self::$host = $settings[self::GENERAL_HOST]; + self::$port = $settings[self::GENERAL_PORT]; + + self::$properties = array( + "api_key" => $this->generateRandomString(), + "base_url" => self::$host, + "base_port" => self::$port, + ); + } + + function writeToTemp() { + parent::writeToTemp(self::SECTION, self::$properties); + } + + /** + * @return array associative array containing a display message and fields with errors + */ + function runSetup() { + + + if (count(self::$errors) <= 0) { + $this->writeToTemp(); + } + + return array( + "message" => self::$message, + "errors" => self::$errors + ); + } + +} \ No newline at end of file diff --git a/airtime_mvc/public/setup/media-setup.php b/airtime_mvc/public/setup/media-setup.php new file mode 100644 index 000000000..a5525b0df --- /dev/null +++ b/airtime_mvc/public/setup/media-setup.php @@ -0,0 +1,107 @@ +setupMusicDirectory(); + } else { + self::$message = "Invalid path!"; + self::$errors[] = self::MEDIA_FOLDER; + } + + return array( + "message" => self::$message, + "errors" => self::$errors + ); + } + + /** + * Add the given directory to cc_music_dirs + * TODO Should we check for an existing entry in cc_music_dirs? + */ + function setupMusicDirectory() { + try { + $_SERVER['AIRTIME_CONF'] = AIRTIME_CONF_TEMP_PATH; + Propel::init(CONFIG_PATH . "airtime-conf-production.php"); + $con = Propel::getConnection(); + } catch(Exception $e) { + self::$message = "Failed to insert media folder; database isn't configured properly!"; + self::$errors[] = self::MEDIA_FOLDER; + return; + } + + $this->runMusicDirsQuery($con); + } + + function runMusicDirsQuery($con) { + try { + if ($this->checkMusicDirectoryExists($con)) { + $dir = CcMusicDirsQuery::create()->findPk(1, $con); + } else { + $dir = new CcMusicDirs(); + } + + $dir->setDirectory(self::$path) + ->setType("stor") + ->save(); + self::$message = "Successfully set up media folder!"; + Propel::close(); + unset($_SERVER['AIRTIME_CONF']); + } catch (Exception $e) { + self::$message = "Failed to insert " . self::$path . " into cc_music_dirs"; + self::$errors[] = self::MEDIA_FOLDER; + } + + } + + function checkMusicDirectoryExists($con) { + $entry = CcMusicDirsQuery::create()->findPk(1, $con); + return isset($entry) && $entry; + } + +} \ No newline at end of file diff --git a/airtime_mvc/public/setup/rabbitmq-setup.php b/airtime_mvc/public/setup/rabbitmq-setup.php index 0dc2334c2..817b51742 100644 --- a/airtime_mvc/public/setup/rabbitmq-setup.php +++ b/airtime_mvc/public/setup/rabbitmq-setup.php @@ -1,4 +1,7 @@ value pairs for airtime.conf + static $properties; + + // Message and error fields to return to the front-end + static $message = null; + static $errors = array(); function __construct($settings) { self::$user = $settings[self::RMQ_USER]; @@ -23,19 +38,63 @@ class RabbitMQSetup extends Setup { self::$port = $settings[self::RMQ_PORT]; self::$host = $settings[self::RMQ_HOST]; self::$vhost = $settings[self::RMQ_VHOST]; + + self::$properties = array( + "host" => self::$host, + "port" => self::$port, + "user" => self::$user, + "password" => self::$pass, + "vhost" => self::$vhost, + ); } /** * @return array associative array containing a display message and fields with errors */ function runSetup() { - $message = ""; - $errors = array(); + try { + if ($this->checkRMQConnection()) { + self::$message = "Connection successful!"; + } else { + $this->identifyRMQConnectionError(); + } + } catch(Exception $e) { + $this->identifyRMQConnectionError(); + } + + if (count(self::$errors) <= 0) { + $this->writeToTemp(); + } return array( - "message" => $message, - "errors" => $errors + "message" => self::$message, + "errors" => self::$errors ); } + function writeToTemp() { + parent::writeToTemp(self::SECTION, self::$properties); + } + + function checkRMQConnection() { + $conn = new AMQPConnection(self::$host, + self::$port, + self::$user, + self::$pass, + self::$vhost); + return isset($conn); + } + + function identifyRMQConnectionError() { + // It's impossible to identify errors coming out of amqp.inc without a major + // rewrite, so for now just tell the user ALL THE THINGS went wrong + self::$message = "Couldn't connect to RabbitMQ server! Please check if the server " + . "is running and your credentials are correct."; + self::$errors[] = self::RMQ_USER; + self::$errors[] = self::RMQ_PASS; + self::$errors[] = self::RMQ_HOST; + self::$errors[] = self::RMQ_PORT; + self::$errors[] = self::RMQ_VHOST; + } + } \ No newline at end of file diff --git a/airtime_mvc/public/setup/setup-functions.php b/airtime_mvc/public/setup/setup-functions.php index 7273527ad..d7c61c050 100644 --- a/airtime_mvc/public/setup/setup-functions.php +++ b/airtime_mvc/public/setup/setup-functions.php @@ -1,5 +1,8 @@ assertEquals(Application_Model_Preference::GetHeadTitle(), $title); } diff --git a/installer/install b/installer/install index bcfa5eb8d..79fdc7413 100644 --- a/installer/install +++ b/installer/install @@ -9,22 +9,50 @@ fi showhelp () { echo "Usage: airtime-install [options] ---help|-h Displays usage information. ---apache|-a Installs apache and deploys a basic configuration for Airtime." +-h, --help Displays usage information. +-w, --web-user=WEB_USER Set the default apache web user. +-a, --apache Installs apache and deploys a basic configuration for Airtime." exit 0 } +web_user="www-data" apache="f" -while [ $# -gt 0 ] -do +while :; do case "$1" in - (-h|--help) showhelp; exit 0;; - (-a|--apache) apache="t";; - - (--) shift; break;; - (-*) echo "$0: error - unrecognized option $1" 1>&2; exit 1;; - (*) break;; + -h|-\?|--help) + showhelp + exit + ;; + -a|--apache) + apache="t" + ;; + -w|--web-user) + if [ "$2" ]; then + web_user=$2 + shift 2 + continue + else + echo 'ERROR: Must specify a non-empty "--web-user WEB_USER" argument.' >&2 + exit 1 + fi + ;; + --web-user=?*) + web_user=${1#*=} # Delete everything up to "=" and assign the remainder. + ;; + --web-user=) + echo 'ERROR: Must specify a non-empty "--web-user WEB_USER" argument.' >&2 + exit 1 + ;; + --) + shift + break + ;; + -?*) + echo "$0: error - unrecognized option $1" 1>&2; + ;; + *) + break esac shift done @@ -136,14 +164,26 @@ EXCHANGES="airtime-pypo|pypo-fetch|airtime-media-monitor|media-monitor" rabbitmqctl list_vhosts | grep -w ${RABBITMQ_VHOST} RESULT="$?" +# Only run these if the user doesn't exist if [ ${RESULT} != "0" ]; then - echo " ## Creating RabbitMQ user $RABBITMQ_USER" + echo " ## Creating RabbitMQ user ${RABBITMQ_USER}..." rabbitmqctl add_vhost ${RABBITMQ_VHOST} rabbitmqctl add_user ${RABBITMQ_USER} ${RABBITMQ_PASSWORD} - rabbitmqctl set_permissions -p ${RABBITMQ_VHOST} ${RABBITMQ_USER} "$EXCHANGES" "$EXCHANGES" "$EXCHANGES" +else + echo "RabbitMQ user already exists, skipping creation" fi +echo " ## Setting RabbitMQ user permissions..." +rabbitmqctl set_permissions -p ${RABBITMQ_VHOST} ${RABBITMQ_USER} "$EXCHANGES" "$EXCHANGES" "$EXCHANGES" + +echo -e "\n-----------------------------------------------------" +echo " * Installing Airtime * " +echo "-----------------------------------------------------" + +mkdir /etc/airtime +chown -R ${web_user}:${web_user} /etc/airtime + echo -e "\n-----------------------------------------------------" echo " * Basic Setup DONE! * " echo " " diff --git a/utils/soundcloud-uploader.php b/utils/soundcloud-uploader.php index 0e1245945..646c1695d 100644 --- a/utils/soundcloud-uploader.php +++ b/utils/soundcloud-uploader.php @@ -1,52 +1,31 @@ setSoundCloudFileId(SOUNDCLOUD_PROGRESS); $file->uploadToSoundCloud(); - From e9a966a8a496fd0539204ca51757bef0783f675f Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Thu, 11 Dec 2014 12:53:45 -0500 Subject: [PATCH 022/168] Test closing the session to prevent asnyc blocking to see if it impacts load performance --- airtime_mvc/application/controllers/plugins/Acl_plugin.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/airtime_mvc/application/controllers/plugins/Acl_plugin.php b/airtime_mvc/application/controllers/plugins/Acl_plugin.php index 2771b1121..55e2b04a7 100644 --- a/airtime_mvc/application/controllers/plugins/Acl_plugin.php +++ b/airtime_mvc/application/controllers/plugins/Acl_plugin.php @@ -138,6 +138,8 @@ class Zend_Controller_Plugin_Acl extends Zend_Controller_Plugin_Abstract } else { $userInfo = Zend_Auth::getInstance()->getStorage()->read(); + // For now, close the session here to prevent it from blocking requests + session_write_close(); $this->setRoleName($userInfo->type); Zend_View_Helper_Navigation_HelperAbstract::setDefaultAcl($this->_acl); From ccd515e7d6e30e3130fb9d72419eea81cea07b91 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Thu, 11 Dec 2014 12:54:50 -0500 Subject: [PATCH 023/168] Rewrote database-setup to use PDO and be overall more readable --- .../airtime-setup/forms/database-settings.php | 1 + airtime_mvc/public/setup/database-setup.php | 232 ++++++++---------- 2 files changed, 105 insertions(+), 128 deletions(-) diff --git a/airtime_mvc/build/airtime-setup/forms/database-settings.php b/airtime_mvc/build/airtime-setup/forms/database-settings.php index fa03926a2..4bc93ff8b 100644 --- a/airtime_mvc/build/airtime-setup/forms/database-settings.php +++ b/airtime_mvc/build/airtime-setup/forms/database-settings.php @@ -17,6 +17,7 @@
+
diff --git a/airtime_mvc/public/setup/database-setup.php b/airtime_mvc/public/setup/database-setup.php index 115cf840c..769431778 100644 --- a/airtime_mvc/public/setup/database-setup.php +++ b/airtime_mvc/public/setup/database-setup.php @@ -18,197 +18,173 @@ class DatabaseSetup extends Setup { DB_HOST = "dbHost"; // Form field values - static $user, $pass, $name, $host; + private $user, $pass, $name, $host; // Array of key->value pairs for airtime.conf static $properties; - // Message and error fields to return to the front-end - static $message = null; - static $errors = array(); + static $dbh = null; - function __construct($settings) { - self::$user = $settings[self::DB_USER]; - self::$pass = $settings[self::DB_PASS]; - self::$name = $settings[self::DB_NAME]; - self::$host = $settings[self::DB_HOST]; + public function __construct($settings) { + $this->user = $settings[self::DB_USER]; + $this->pass = $settings[self::DB_PASS]; + $this->name = $settings[self::DB_NAME]; + $this->host = $settings[self::DB_HOST]; self::$properties = array( - "host" => self::$host, - "dbname" => self::$name, - "dbuser" => self::$user, - "dbpass" => self::$pass, + "host" => $this->host, + "dbname" => $this->name, + "dbuser" => $this->user, + "dbpass" => $this->pass, ); } + private function setNewDatabaseConnection($dbName) { + self::$dbh = new PDO("pgsql:host=" . $this->host . ";dbname=" . $dbName . ";port=5432" + . ";user=" . $this->user . ";password=" . $this->pass); + $err = self::$dbh->errorInfo(); + if ($err[1] != null) { + throw new AirtimeDatabaseException("Couldn't establish a connection to the database!", + array( + self::DB_NAME, + self::DB_USER, + self::DB_PASS, + )); + } + } + /** * Runs various database checks against the given settings. If a database with the given name already exists, * we attempt to install the Airtime schema. If not, we first check if the user can create databases, then try * to create the database. If we encounter errors, the offending fields are returned in an array to the browser. * @return array associative array containing a display message and fields with errors + * @throws AirtimeDatabaseException */ - function runSetup() { - // Check the connection and user credentials - if ($this->checkDatabaseConnection()) { - // We know that the user credentials check out, so check if the database exists - if ($this->checkDatabaseExists()) { - // The database already exists, check if the schema exists as well - if ($this->checkSchemaExists()) { - self::$message = "Airtime is already installed in this database!"; - } else { - if ($this->createDatabaseTables()) { - self::$message = "Successfully installed Airtime database to '" . self::$name . "'"; - } else { - self::$message = "Something went wrong setting up the Airtime schema!"; - self::$errors[] = self::DB_NAME; - } - } - } else { - // The database doesn't exist, so check if the user can create databases - if ($this->checkUserCanCreateDb()) { - // The user can create a database, do it - if ($this->createDatabase()) { - // Ensure that the database was installed in UTF8 (we only care about the Airtime database) - if ($this->checkDatabaseSchema()) { - if ($this->createDatabaseTables()) { - self::$message = "Successfully installed Airtime database to '" . self::$name . "'"; - } else { - self::$message = "Something went wrong setting up the Airtime schema!"; - self::$errors[] = self::DB_NAME; - } - } else { - self::$message = "The database was installed with an incorrect encoding type!"; - self::$errors[] = self::DB_NAME; - } - } else { - self::$message = "There was an error installing the database!"; - self::$errors[] = self::DB_NAME; - } - } // The user can't create databases, so we're done - else { - self::$message = "No database " . self::$name . " exists; user " . self::$user - . " does not have permission to create databases on " . self::$host; - self::$errors[] = self::DB_NAME; - } - } + public function runSetup() { + $this->setNewDatabaseConnection("postgres"); + if ($this->checkDatabaseExists()) { + $this->installDatabaseTables(); + } else { + $this->checkUserCanCreateDb(); + $this->createDatabase(); + $this->installDatabaseTables(); } - if (count(self::$errors) <= 0) { - $this->writeToTemp(); - } + $this->writeToTemp(); + self::$dbh = null; return array( - "message" => self::$message, - "errors" => self::$errors, + "message" => "Airtime database was created successfully!", + "errors" => array(), ); } - function writeToTemp() { + protected function writeToTemp() { parent::writeToTemp(self::SECTION, self::$properties); } - - /** - * Check if the user's database connection is valid - * @return boolean true if the connection are valid - */ - function checkDatabaseConnection() { - // This is pretty redundant, but we need to test both - // the existence and the validity of the given credentials - exec("export PGPASSWORD=" . self::$pass . " && psql -h " - . self::$host . " -U " . self::$user . " 2>&1", $out, $status); - foreach ($out as $o) { - if (strpos($o, "host name")) { - self::$message = "Invalid connection parameters!"; - self::$errors[] = self::DB_HOST; - return false; - } else if (strpos($o, "authentication")) { - self::$message = "User credentials are invalid!"; - self::$errors[] = self::DB_USER; - self::$errors[] = self::DB_PASS; - return false; - } - } - return $status == 0; + private function installDatabaseTables() { + $this->checkDatabaseEncoding(); + $this->setNewDatabaseConnection($this->name); + $this->checkSchemaExists(); + $this->createDatabaseTables(); } /** * Check if the database settings and credentials given are valid * @return boolean true if the database given exists and the user is valid and can access it */ - function checkDatabaseExists() { - exec("export PGPASSWORD=" . self::$pass . " && psql -lqt -h " . self::$host . " -U " . self::$user - . "| cut -d \\| -f 1 | grep -w " . self::$name, $out, $status); - return $status == 0; + private function checkDatabaseExists() { + $statement = self::$dbh->prepare("SELECT datname FROM pg_database WHERE datname = :dbname"); + $statement->execute(array(":dbname" => $this->name)); + $result = $statement->fetch(); + return isset($result[0]); } /** * Check if the database schema has already been set up - * @return boolean true if the database schema exists + * @throws AirtimeDatabaseException */ - function checkSchemaExists() { - // Check for cc_pref to see if the schema is already installed in this database - exec("export PGPASSWORD=" . self::$pass . " && psql -U " . self::$user . " -h " - . self::$host . " -d " . self::$name . " -tAc \"SELECT * FROM cc_pref\"", $out, $status); - return $status == 0; + private function checkSchemaExists() { + $statement = self::$dbh->prepare("SELECT EXISTS (SELECT relname FROM pg_class WHERE relname='cc_files')"); + $statement->execute(); + $result = $statement->fetch(); + if (isset($result[0]) && $result[0] == "t") { + throw new AirtimeDatabaseException("Airtime is already installed in this database!", array()); + } } /** * Check if the given user has access on the given host to create a new database - * @return boolean true if the given user has permission to create a database on the given host + * @throws AirtimeDatabaseException */ - function checkUserCanCreateDb() { - exec("export PGPASSWORD=" . self::$pass . " && psql -h " . self::$host . " -U " . self::$user . " -tAc" - . "\"SELECT 1 FROM pg_roles WHERE rolname='" . self::$user . "' AND rolcreatedb='t'\"", $out, $status); - return $status == 0; + private function checkUserCanCreateDb() { + $statement = self::$dbh->prepare("SELECT 1 FROM pg_roles WHERE rolname=:dbuser AND rolcreatedb='t'"); + $statement->execute(array(":dbuser" => $this->user)); + $result = $statement->fetch(); + if (!isset($result[0])) { + throw new AirtimeDatabaseException("No database " . $this->name . " exists; user '" . $this->user + . "' does not have permission to create databases on " . $this->host, + array( + self::DB_NAME, + self::DB_USER, + self::DB_PASS, + )); + } } /** * Creates the Airtime database using the given credentials - * @return boolean true if the database was created + * @throws AirtimeDatabaseException */ - function createDatabase() { - exec("export PGPASSWORD=" . self::$pass . " && psql -h " . self::$host . " -U " . self::$user . " -tAc" - . "\"CREATE DATABASE " . self::$name . " WITH ENCODING 'UTF8' TEMPLATE template0 OWNER " - . self::$user . "\"", $out, $status); - return $status == 0; + private function createDatabase() { + $statement = self::$dbh->prepare("CREATE DATABASE " . pg_escape_string($this->name) + . " WITH ENCODING 'UTF8' TEMPLATE template0" + . " OWNER " . pg_escape_string($this->user)); + if (!$statement->execute()) { + throw new AirtimeDatabaseException("There was an error creating the database!", + array(self::DB_NAME,)); + } } /** * Creates the Airtime database schema using the given credentials - * @return boolean true if the database tables were created without error + * @throws AirtimeDatabaseException */ - function createDatabaseTables() { + private function createDatabaseTables() { $sqlDir = dirname(dirname(__DIR__)) . "/build/sql/"; $files = array("schema.sql", "sequences.sql", "views.sql", "triggers.sql", "defaultdata.sql"); - foreach ($files as $f) { try { - exec("export PGPASSWORD=" . self::$pass . " && psql -U " . self::$user . " --dbname " - . self::$name . " -h " . self::$host . " -f $sqlDir$f 2>/dev/null", $out, $status); + /* + * Unfortunately, we need to use exec here due to PDO's lack of support for importing + * multi-line .sql files. PDO->exec() almost works, but any SQL errors stop the import, + * so the necessary DROPs on non-existent tables make it unusable. Prepared statements + * have multiple issues; they similarly die on any SQL errors, fail to read in multi-line + * commands, and fail on any unescaped ? or $ characters. + */ + exec("export PGPASSWORD=" . $this->pass . " && psql -U " . $this->user . " --dbname " + . $this->name . " -h " . $this->host . " -f $sqlDir$f 2>/dev/null", $out, $status); } catch (Exception $e) { - return false; + throw new AirtimeDatabaseException("There was an error setting up the Airtime schema!", + array(self::DB_NAME,)); } } - return true; } /** * Checks whether the newly-created database's encoding was properly set to UTF8 - * @return boolean true if the database encoding is UTF8 + * @throws AirtimeDatabaseException */ - function checkDatabaseEncoding() { - exec("export PGPASSWORD=" . self::$pass . " && psql -U " . self::$user . " -h " - . self::$host . " -d " . self::$name . " -tAc \"SHOW SERVER_ENCODING\"", $out, $status); - return $out && $out[0] == "UTF8"; + private function checkDatabaseEncoding() { + $statement = self::$dbh->prepare("SELECT pg_encoding_to_char(encoding) " + . "FROM pg_database WHERE datname = :dbname"); + $statement->execute(array(":dbname" => $this->name)); + $encoding = $statement->fetch(); + if (!($encoding && $encoding[0] == "UTF8")) { + throw new AirtimeDatabaseException("The database was installed with an incorrect encoding type!", + array(self::DB_NAME,)); + } } - // TODO Since we already check the encoding, is there a purpose to verifying the schema? - function checkDatabaseSchema() { - $outFile = "/tmp/tempSchema.xml"; - exec("export PGPASSWORD=" . self::$pass . " && psql -U " . self::$user . " -h " - . self::$host . " -o ${outFile} -tAc \"SELECT database_to_xml(FALSE, FALSE, '" - . self::$name . "')\"", $out, $status); - } - -} +} \ No newline at end of file From e338598a30f57bbe80e8aafbaaed9a3dbfbafbf8 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Thu, 11 Dec 2014 12:56:07 -0500 Subject: [PATCH 024/168] Try to create the stor directory in the default case --- airtime_mvc/public/setup/media-setup.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/airtime_mvc/public/setup/media-setup.php b/airtime_mvc/public/setup/media-setup.php index a5525b0df..3e9fdb450 100644 --- a/airtime_mvc/public/setup/media-setup.php +++ b/airtime_mvc/public/setup/media-setup.php @@ -1,6 +1,7 @@ Date: Thu, 11 Dec 2014 12:57:21 -0500 Subject: [PATCH 025/168] Added AirtimeDatabaseException class to handle error cases in database-setup --- airtime_mvc/public/setup/setup-functions.php | 27 +++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/airtime_mvc/public/setup/setup-functions.php b/airtime_mvc/public/setup/setup-functions.php index d7c61c050..80144305d 100644 --- a/airtime_mvc/public/setup/setup-functions.php +++ b/airtime_mvc/public/setup/setup-functions.php @@ -61,6 +61,22 @@ abstract class Setup { } +class AirtimeDatabaseException extends Exception { + + protected $message = "Unknown Airtime database exception"; + protected $errors = array(); + + public function __construct($message = null, $errors = array(), $code = 0, Exception $previous = null) { + parent::__construct($message, $code, $previous); + $this->errors = $errors; + } + + public function getErrorFields() { + return $this->errors; + } + +} + // Import Setup subclasses require_once('database-setup.php'); @@ -74,7 +90,16 @@ if (!file_exists("/etc/airtime/airtime.conf")) { if (isset($_GET["obj"]) && $objType = $_GET["obj"]) { $obj = new $objType($_POST); if ($obj instanceof Setup) { - echo json_encode($obj->runSetup()); + try { + $response = $obj->runSetup(); + } catch(AirtimeDatabaseException $e) { + $response = array( + "message" => $e->getMessage(), + "errors" => $e->getErrorFields(), + ); + } + + echo json_encode($response); } } } From f80d74822dea681ef07c0bcef3d735b3a19fe5f1 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Thu, 11 Dec 2014 12:58:34 -0500 Subject: [PATCH 026/168] More work on base install script --- installer/apache/airtime-vhost | 4 +- installer/install | 247 +++++++++++++++++++++++---------- 2 files changed, 176 insertions(+), 75 deletions(-) diff --git a/installer/apache/airtime-vhost b/installer/apache/airtime-vhost index 90d4e0373..a1060d875 100644 --- a/installer/apache/airtime-vhost +++ b/installer/apache/airtime-vhost @@ -1,9 +1,9 @@ ServerAdmin foo@bar.org - DocumentRoot /usr/share/airtime/public + DocumentRoot WEB_ROOT php_admin_value upload_tmp_dir /tmp - + DirectoryIndex index.php AllowOverride all Order allow,deny diff --git a/installer/install b/installer/install index 79fdc7413..8bff5a2d3 100644 --- a/installer/install +++ b/installer/install @@ -7,16 +7,61 @@ if [[ $EUID -ne 0 ]]; then exit 1 fi +AIRTIMEROOT=./.. + showhelp () { - echo "Usage: airtime-install [options] --h, --help Displays usage information. --w, --web-user=WEB_USER Set the default apache web user. --a, --apache Installs apache and deploys a basic configuration for Airtime." + echo "Usage: sudo bash install [options] + -h, --help + Display usage information + -V, --version + Display version information + -v, --verbose + More output + -q, --quiet, --silent + No output except errors + -w, --web-user=WEB_USER + Set the default apache web user + -i, --in-place + Set the current Airtime root as the working directory for + Airtime + Note that you will need to give your web user permissions on + these directories + -d, --install-directory=INSTALL_PATH + Set the web root for Airtime files + This will copy the Airtime application files and make them + accessible to the web user + If no directory or an empty string is given, this defaults to + an in-place installation, and will give the web user + permissions on the current Airtime root + -a, --apache + Install apache and deploys a basic configuration for Airtime" + exit 0 +} + +showversion () { + . ${AIRTIMEROOT}/VERSION > /dev/null + echo "Airtime Version ${PRODUCT_RELEASE}" exit 0 } web_user="www-data" +install_directory="" apache="f" +in_place="f" +_v=0 +_q=0 + +function verbose() { + if [[ ${_v} -eq 1 ]]; then + echo -e "$@" + fi +} + +function loud() { + if [[ ${_q} -eq 0 ]]; then + echo -e "$@" + fi +} while :; do case "$1" in @@ -24,9 +69,21 @@ while :; do showhelp exit ;; + -V|--version) + showversion + ;; + -v|--verbose) + _v=1 + ;; + -q|--quiet|--silent) + _q=1 + ;; -a|--apache) apache="t" ;; + -i|--in-place) + in_place="t" + ;; -w|--web-user) if [ "$2" ]; then web_user=$2 @@ -41,7 +98,24 @@ while :; do web_user=${1#*=} # Delete everything up to "=" and assign the remainder. ;; --web-user=) - echo 'ERROR: Must specify a non-empty "--web-user WEB_USER" argument.' >&2 + echo 'ERROR: Must specify a non-empty "--web-user=WEB_USER" argument.' >&2 + exit 1 + ;; + -d|--install-directory) + if [ "$2" ]; then + install_directory=$2 + shift 2 + continue + else + echo 'ERROR: Must specify a non-empty "--install-directory INSTALL_DIRECTORY" argument.' >&2 + exit 1 + fi + ;; + --install-directory=?*) + install_directory=${1#*=} # Delete everything up to "=" and assign the remainder. + ;; + --install-directory=) + echo 'ERROR: Must specify a non-empty "--install-directory=INSTALL_DIRECTORY" argument.' >&2 exit 1 ;; --) @@ -57,41 +131,56 @@ while :; do shift done +if [ -z install_directory -a ! -d install_directory ]; then + echo "$install_directory doesn't exist!" + exit 1 +fi + dist=`lsb_release -is` -echo -e "\n ****************************************************************" -echo " * _____ .________________________.___ _____ ___________ *" -echo " * / _ \ | \______ \__ ___/| | / \ \_ _____/ *" -echo " * / /_\ \| || _/ | | | |/ \ / \ | __)_ *" -echo " * / | \ || | \ | | | / Y \| \ *" -echo " * \____|__ /___||____|_ / |____| |___\____|__ /_______ / *" -echo " * \/ \/ \/ \/ *" -echo " ****************************************************************" +echo -e "\n _____ .________________________.___ _____ ___________ " +echo " / _ \ | \______ \__ ___/| | / \ \_ _____/ " +echo " / /_\ \| || _/ | | | |/ \ / \ | __)_ " +echo "/ | \ || | \ | | | / Y \| \ " +echo "\____|__ /___||____|_ / |____| |___\____|__ /_______ / " +echo -e " \/ \/ \/ \/ \n" -echo " ____ ______ ____ ____ __________ __ _________ ____ ____ " -echo -e " / _ \\\\____ \_/ __ \ / \ / ___/ _ \| | \_ __ \_/ ___\/ __ \ " -echo " ( <_> ) |_> > ___/| | \ \___ ( <_> ) | /| | \/\ \__\ ___/ " -echo " \____/| __/ \___ >___| / /____ >____/|____/ |__| \___ >___ > " -echo " |__| \/ \/ \/ \/ \/ " -echo " .___.__ __ __ .__ " -echo "____________ __| _/|__| ____ _____ __ ___/ |_ ____ _____ _____ _/ |_|__| ____ ____ " -echo -e "\_ __ \__ \ / __ | | |/ _ \ \__ \ | | \ __\/ _ \ / \\\\__ \\\\ __\ |/ _ \ / \ " -echo " | | \// __ \_/ /_/ | | ( <_> ) / __ \| | /| | ( <_> ) Y Y \/ __ \| | | ( <_> ) | \ " -echo " |__| (____ /\____ | |__|\____/ (____ /____/ |__| \____/|__|_| (____ /__| |__|\____/|___| / " -echo " \/ \/ \/ \/ \/ \/ " +echo " ____ ______ ____ ____ __________ __ _________ ____ ____ " +echo " / _ \\\\____ \_/ __ \ / \ / ___/ _ \| | \_ __ \_/ ___\/ __ \ " +echo "( <_> ) |_> > ___/| | \ \___ ( <_> ) | /| | \/\ \__\ ___/ " +echo " \____/| __/ \___ >___| / /____ >____/|____/ |__| \___ >___ > " +echo " |__| \/ \/ \/ \/ \/ " +echo " .___.__ __ __ .__ " +echo "____________ __| _/|__| ____ _____ __ ___/ |_ ____ _____ _____ _/ |_|__| ____ ____ " +echo "\_ __ \__ \ / __ | | |/ _ \ \__ \ | | \ __\/ _ \ / \\\\__ \\\\ __\ |/ _ \ / \ " +echo " | | \// __ \_/ /_/ | | ( <_> ) / __ \| | /| | ( <_> ) Y Y \/ __ \| | | ( <_> ) | \ " +echo " |__| (____ /\____ | |__|\____/ (____ /____/ |__| \____/|__|_| (____ /__| |__|\____/|___| / " +echo -e " \/ \/ \/ \/ \/ \/ \n" -if [ apache = "t" ]; then - echo -e "\n-----------------------------------------------------" - echo " * Installing Apache * " - echo "-----------------------------------------------------" +if [ "$apache" = "t" ]; then + loud "\n-----------------------------------------------------" + loud " * Installing Apache * " + loud "-----------------------------------------------------" - apt-get -y --force-yes install apache2 libapache2-mod-php5 + if [ "$in_place" = "t" ]; then + verbose "\n * Setting current Airtime directory as web root..." + install_directory=${AIRTIMEROOT}/airtime_mvc/public + chomod -R 755 ${AIRTIMEROOT} + elif [ -n "$install_directory" ]; then + verbose "\n * Creating Apache web root directory..." + mkdir -p ${install_directory}/airtime/public/ + cp -R ${AIRTIMEROOT}/airtime_mvc/* ${install_directory}/airtime/ + chomod -R 755 ${install_directory} + fi + + sed "/s/WEB_ROOT/${install_directory}" apache/airtime-vhost > apache/airtime-vhost.tmp + + loud "`apt-get -y --force-yes install apache2 libapache2-mod-php5`" set +e apache2 -v | grep "2\.4" > /dev/null apacheversion=$? set -e - # Apache Config File if [ "$apacheversion" != "1" ]; then airtimeconfigfile="airtime.conf" else @@ -99,90 +188,102 @@ if [ apache = "t" ]; then fi if [ ! -f /etc/apache2/sites-available/${airtimeconfigfile} ]; then - echo " ## Creating Apache config for Airtime..." + verbose "\n * Creating Apache config for Airtime..." - cp apache/airtime-vhost /etc/apache2/sites-available/${airtimeconfigfile} - a2dissite 000-default - a2ensite airtime + mv apache/airtime-vhost.tmp /etc/apache2/sites-available/${airtimeconfigfile} + loud "`a2dissite 000-default`" + loud "`a2ensite airtime`" else - echo "Apache config for Airtime already exists, skipping" - fi - - if [ ! -d /usr/share/airtime/public ]; then - echo " ## Creating Apache web root directory..." - mkdir -p /usr/share/airtime/public/ - else - echo "Airtime web root directory already exists, skipping" + verbose "\nApache config for Airtime already exists, skipping" + rm -f apache/airtime-vhost.tmp fi fi -echo -e "\n-----------------------------------------------------" -echo " * Installing PHP * " -echo "-----------------------------------------------------" +if [ ! -d /var/log/airtime ]; then + loud "\n-----------------------------------------------------" + loud " * Installing Log Files * " + loud "-----------------------------------------------------" -apt-get -y --force-yes install php5 + verbose "\n * Creating /var/log/airtime..." + mkdir -p /var/log/airtime + chmod a+x /var/log/airtime + chown ${web_user}:${web_user} /var/log/airtime/ -echo " ## Installing Zend framework..." + cp ${AIRTIMEROOT}/airtime_mvc/build/airtime-php.logrotate /etc/logrotate.d/airtime-php +fi + +loud "\n-----------------------------------------------------" +loud " * Installing PHP * " +loud "-----------------------------------------------------" + +loud "`apt-get -y --force-yes install php5`" + +verbose "\n * Installing Zend framework..." #Debian Squeeze only has zendframework package. Newer versions of Ubuntu have zend-framework package. #Ubuntu Lucid has both zendframework and zend-framework. Difference appears to be that zendframework is for #1.10 and zend-framework is 1.11 if [ "$dist" = "Debian" ]; then - apt-get -y --force-yes install zendframework + loud "`apt-get -y --force-yes install zendframework`" else - apt-get -y --force-yes install libzend-framework-php + loud "`apt-get -y --force-yes install libzend-framework-php`" fi # PHP Config File for Apache -if [ ! -f /etc/php5/apache2/airtime.ini ]; then - echo " ## Creating Airtime PHP config for Apache..." +if [ ! -f "/etc/php5/apache2/conf.d/airtime.ini" ]; then + verbose "\n * Creating Airtime PHP config for Apache..." cp php/airtime.ini /etc/php5/apache2/conf.d/airtime.ini else - echo "Airtime PHP config for Apache already exists, skipping" + verbose "\nAirtime PHP config for Apache already exists, skipping" fi # Enable modules -a2enmod rewrite php5 -service apache2 restart +loud "`a2enmod rewrite php5`" -echo -e "\n-----------------------------------------------------" -echo " * Installing PostgreSQL * " -echo "-----------------------------------------------------" +loud "\n-----------------------------------------------------" +loud " * Installing PostgreSQL * " +loud "-----------------------------------------------------" -apt-get -y --force-yes install postgresql php5-pgsql +loud "`apt-get -y --force-yes install postgresql php5-pgsql`" -echo -e "\n-----------------------------------------------------" -echo " * Setting up RabbitMQ * " -echo "-----------------------------------------------------" +loud "\n-----------------------------------------------------" +loud " * Setting up RabbitMQ * " +loud "-----------------------------------------------------" -apt-get -y --force-yes install rabbitmq-server +loud "`apt-get -y --force-yes install rabbitmq-server`" RABBITMQ_VHOST=$(awk -F ' = ' '{if (! ($0 ~ /^;/) && $0 ~ /^vhost/ ) print $2}' ../airtime_mvc/build/airtime.example.conf) RABBITMQ_USER=$(awk -F ' = ' '{if (! ($0 ~ /^;/) && $0 ~ /^user/ ) print $2}' ../airtime_mvc/build/airtime.example.conf) RABBITMQ_PASSWORD=$(awk -F ' = ' '{if (! ($0 ~ /^;/) && $0 ~ /^password/ ) print $2}' ../airtime_mvc/build/airtime.example.conf) EXCHANGES="airtime-pypo|pypo-fetch|airtime-media-monitor|media-monitor" -rabbitmqctl list_vhosts | grep -w ${RABBITMQ_VHOST} +rabbitmqctl list_vhosts | grep -w ${RABBITMQ_VHOST} > /dev/null RESULT="$?" # Only run these if the user doesn't exist -if [ ${RESULT} != "0" ]; then - echo " ## Creating RabbitMQ user ${RABBITMQ_USER}..." +if [ "${RESULT}" != "0" ]; then + verbose "\n * Creating RabbitMQ user ${RABBITMQ_USER}..." rabbitmqctl add_vhost ${RABBITMQ_VHOST} rabbitmqctl add_user ${RABBITMQ_USER} ${RABBITMQ_PASSWORD} else - echo "RabbitMQ user already exists, skipping creation" + verbose "\nRabbitMQ user already exists, skipping creation" fi -echo " ## Setting RabbitMQ user permissions..." -rabbitmqctl set_permissions -p ${RABBITMQ_VHOST} ${RABBITMQ_USER} "$EXCHANGES" "$EXCHANGES" "$EXCHANGES" +verbose "\n * Setting RabbitMQ user permissions..." +loud "`rabbitmqctl set_permissions -p ${RABBITMQ_VHOST} ${RABBITMQ_USER} "$EXCHANGES" "$EXCHANGES" "$EXCHANGES"`" -echo -e "\n-----------------------------------------------------" -echo " * Installing Airtime * " -echo "-----------------------------------------------------" +if [ ! -d "/etc/airtime" ]; then + loud "\n-----------------------------------------------------" + loud " * Installing Airtime * " + loud "-----------------------------------------------------" -mkdir /etc/airtime -chown -R ${web_user}:${web_user} /etc/airtime + verbose "\n * Creating /etc/airtime/ directory..." + mkdir /etc/airtime + chown -R ${web_user}:${web_user} /etc/airtime +fi + +verbose "\n * Restarting apache..." +loud "`service apache2 restart 2>/dev/null`" echo -e "\n-----------------------------------------------------" echo " * Basic Setup DONE! * " From 3966a7aa3632894985c68357ff965b03ce9c48ad Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Thu, 11 Dec 2014 14:13:17 -0500 Subject: [PATCH 027/168] More work on base install script --- installer/install | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/installer/install b/installer/install index 8bff5a2d3..08d6a92bb 100644 --- a/installer/install +++ b/installer/install @@ -7,7 +7,7 @@ if [[ $EUID -ne 0 ]]; then exit 1 fi -AIRTIMEROOT=./.. +AIRTIMEROOT=$(readlink -f ./..) showhelp () { echo "Usage: sudo bash install [options] @@ -165,15 +165,15 @@ if [ "$apache" = "t" ]; then if [ "$in_place" = "t" ]; then verbose "\n * Setting current Airtime directory as web root..." install_directory=${AIRTIMEROOT}/airtime_mvc/public - chomod -R 755 ${AIRTIMEROOT} + chmod -R 755 ${AIRTIMEROOT} elif [ -n "$install_directory" ]; then verbose "\n * Creating Apache web root directory..." mkdir -p ${install_directory}/airtime/public/ cp -R ${AIRTIMEROOT}/airtime_mvc/* ${install_directory}/airtime/ - chomod -R 755 ${install_directory} + chmod -R 755 ${install_directory} fi - sed "/s/WEB_ROOT/${install_directory}" apache/airtime-vhost > apache/airtime-vhost.tmp + sed -e "s@WEB_ROOT@${install_directory}@g" apache/airtime-vhost > apache/airtime-vhost.tmp loud "`apt-get -y --force-yes install apache2 libapache2-mod-php5`" set +e @@ -251,9 +251,9 @@ loud "-----------------------------------------------------" loud "`apt-get -y --force-yes install rabbitmq-server`" -RABBITMQ_VHOST=$(awk -F ' = ' '{if (! ($0 ~ /^;/) && $0 ~ /^vhost/ ) print $2}' ../airtime_mvc/build/airtime.example.conf) -RABBITMQ_USER=$(awk -F ' = ' '{if (! ($0 ~ /^;/) && $0 ~ /^user/ ) print $2}' ../airtime_mvc/build/airtime.example.conf) -RABBITMQ_PASSWORD=$(awk -F ' = ' '{if (! ($0 ~ /^;/) && $0 ~ /^password/ ) print $2}' ../airtime_mvc/build/airtime.example.conf) +RABBITMQ_VHOST=$(awk -F ' = ' '{if (! ($0 ~ /^;/) && $0 ~ /^vhost/ ) print $2}' ${AIRTIMEROOT}/airtime_mvc/build/airtime.example.conf) +RABBITMQ_USER=$(awk -F ' = ' '{if (! ($0 ~ /^;/) && $0 ~ /^user/ ) print $2}' ${AIRTIMEROOT}/airtime_mvc/build/airtime.example.conf) +RABBITMQ_PASSWORD=$(awk -F ' = ' '{if (! ($0 ~ /^;/) && $0 ~ /^password/ ) print $2}' ${AIRTIMEROOT}/airtime_mvc/build/airtime.example.conf) EXCHANGES="airtime-pypo|pypo-fetch|airtime-media-monitor|media-monitor" rabbitmqctl list_vhosts | grep -w ${RABBITMQ_VHOST} > /dev/null From 270e84e9d85ea22e296c622bab7ddd3e6a7735b7 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Thu, 11 Dec 2014 15:54:55 -0500 Subject: [PATCH 028/168] Updated db setup to catch PDOExceptions --- airtime_mvc/public/setup/database-setup.php | 35 ++++++++++++--------- 1 file changed, 20 insertions(+), 15 deletions(-) diff --git a/airtime_mvc/public/setup/database-setup.php b/airtime_mvc/public/setup/database-setup.php index 769431778..6971501ee 100644 --- a/airtime_mvc/public/setup/database-setup.php +++ b/airtime_mvc/public/setup/database-setup.php @@ -41,15 +41,10 @@ class DatabaseSetup extends Setup { private function setNewDatabaseConnection($dbName) { self::$dbh = new PDO("pgsql:host=" . $this->host . ";dbname=" . $dbName . ";port=5432" - . ";user=" . $this->user . ";password=" . $this->pass); + . ";user=" . $this->user . ";password=" . $this->pass); $err = self::$dbh->errorInfo(); if ($err[1] != null) { - throw new AirtimeDatabaseException("Couldn't establish a connection to the database!", - array( - self::DB_NAME, - self::DB_USER, - self::DB_PASS, - )); + throw new PDOException(); } } @@ -61,13 +56,23 @@ class DatabaseSetup extends Setup { * @throws AirtimeDatabaseException */ public function runSetup() { - $this->setNewDatabaseConnection("postgres"); - if ($this->checkDatabaseExists()) { - $this->installDatabaseTables(); - } else { - $this->checkUserCanCreateDb(); - $this->createDatabase(); - $this->installDatabaseTables(); + try { + $this->setNewDatabaseConnection("postgres"); + if ($this->checkDatabaseExists()) { + $this->installDatabaseTables(); + } else { + $this->checkUserCanCreateDb(); + $this->createDatabase(); + $this->installDatabaseTables(); + } + } catch (PDOException $e) { + throw new AirtimeDatabaseException("Couldn't establish a connection to the database! " + . "Please check your credentials and try again.", + array( + self::DB_NAME, + self::DB_USER, + self::DB_PASS, + )); } $this->writeToTemp(); @@ -178,7 +183,7 @@ class DatabaseSetup extends Setup { */ private function checkDatabaseEncoding() { $statement = self::$dbh->prepare("SELECT pg_encoding_to_char(encoding) " - . "FROM pg_database WHERE datname = :dbname"); + . "FROM pg_database WHERE datname = :dbname"); $statement->execute(array(":dbname" => $this->name)); $encoding = $statement->fetch(); if (!($encoding && $encoding[0] == "UTF8")) { From 065d8da4f44f0afffc743c896c64a486ad2f2c87 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Thu, 11 Dec 2014 15:55:16 -0500 Subject: [PATCH 029/168] More work on base install script --- installer/install | 82 +++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 69 insertions(+), 13 deletions(-) diff --git a/installer/install b/installer/install index 08d6a92bb..6ff58e8a8 100644 --- a/installer/install +++ b/installer/install @@ -11,7 +11,7 @@ AIRTIMEROOT=$(readlink -f ./..) showhelp () { echo "Usage: sudo bash install [options] - -h, --help + -h, --help, -? Display usage information -V, --version Display version information @@ -19,6 +19,8 @@ showhelp () { More output -q, --quiet, --silent No output except errors + -n, --non-interactive + Turn off interactive prompts -w, --web-user=WEB_USER Set the default apache web user -i, --in-place @@ -33,6 +35,9 @@ showhelp () { If no directory or an empty string is given, this defaults to an in-place installation, and will give the web user permissions on the current Airtime root + -p, --postgres-init + Create a default postgres user named 'airtime' with password + 'airtime' -a, --apache Install apache and deploys a basic configuration for Airtime" exit 0 @@ -48,7 +53,12 @@ web_user="www-data" install_directory="" apache="f" in_place="f" +create_postgres_user="f" +# Interactive +_i=1 +# Verbose _v=0 +# Quiet _q=0 function verbose() { @@ -63,6 +73,16 @@ function loud() { fi } +# Evaluate commands silently if quiet +function loudCmd() { + if [[ ${_q} -eq 0 ]]; then + eval $@ + else + eval $@ > /dev/null + fi +} + + while :; do case "$1" in -h|-\?|--help) @@ -78,12 +98,18 @@ while :; do -q|--quiet|--silent) _q=1 ;; + -n|--non-interactive) + _i=0 + ;; -a|--apache) apache="t" ;; -i|--in-place) in_place="t" ;; + -p|--postgres-init) + create_postgres_user="t" + ;; -w|--web-user) if [ "$2" ]; then web_user=$2 @@ -103,7 +129,7 @@ while :; do ;; -d|--install-directory) if [ "$2" ]; then - install_directory=$2 + install_directory=$(readlink -f $2) shift 2 continue else @@ -124,6 +150,8 @@ while :; do ;; -?*) echo "$0: error - unrecognized option $1" 1>&2; + echo "Try 'install --help' for more information." + exit 1 ;; *) break @@ -157,6 +185,14 @@ echo " | | \// __ \_/ /_/ | | ( <_> ) / __ \| | /| | ( <_> ) Y Y \/ echo " |__| (____ /\____ | |__|\____/ (____ /____/ |__| \____/|__|_| (____ /__| |__|\____/|___| / " echo -e " \/ \/ \/ \/ \/ \/ \n" +if [ "$apache" = "f" -a ${_i} -eq 1 ]; then + echo -e "Install default Airtime apache configuration? (Y/n): \c" + read IN + if [ "${IN}" = "y" -o "${IN}" = "Y" ]; then + apache="t" + fi +fi + if [ "$apache" = "t" ]; then loud "\n-----------------------------------------------------" loud " * Installing Apache * " @@ -171,11 +207,16 @@ if [ "$apache" = "t" ]; then mkdir -p ${install_directory}/airtime/public/ cp -R ${AIRTIMEROOT}/airtime_mvc/* ${install_directory}/airtime/ chmod -R 755 ${install_directory} + else + verbose "\n * Creating default Apache web root directory /usr/share/airtime/..." + install_directory="/usr/share" + mkdir -p ${install_directory}/airtime/public/ + cp -R ${AIRTIMEROOT}/airtime_mvc/* ${install_directory}/airtime/ fi sed -e "s@WEB_ROOT@${install_directory}@g" apache/airtime-vhost > apache/airtime-vhost.tmp - loud "`apt-get -y --force-yes install apache2 libapache2-mod-php5`" + loudCmd "apt-get -y --force-yes install apache2 libapache2-mod-php5" set +e apache2 -v | grep "2\.4" > /dev/null apacheversion=$? @@ -191,8 +232,8 @@ if [ "$apache" = "t" ]; then verbose "\n * Creating Apache config for Airtime..." mv apache/airtime-vhost.tmp /etc/apache2/sites-available/${airtimeconfigfile} - loud "`a2dissite 000-default`" - loud "`a2ensite airtime`" + loudCmd "a2dissite 000-default" + loudCmd "a2ensite airtime" else verbose "\nApache config for Airtime already exists, skipping" rm -f apache/airtime-vhost.tmp @@ -216,16 +257,16 @@ loud "\n-----------------------------------------------------" loud " * Installing PHP * " loud "-----------------------------------------------------" -loud "`apt-get -y --force-yes install php5`" +loudCmd "apt-get -y --force-yes install php5" verbose "\n * Installing Zend framework..." #Debian Squeeze only has zendframework package. Newer versions of Ubuntu have zend-framework package. #Ubuntu Lucid has both zendframework and zend-framework. Difference appears to be that zendframework is for #1.10 and zend-framework is 1.11 if [ "$dist" = "Debian" ]; then - loud "`apt-get -y --force-yes install zendframework`" + loudCmd "apt-get -y --force-yes install zendframework" else - loud "`apt-get -y --force-yes install libzend-framework-php`" + loudCmd "apt-get -y --force-yes install libzend-framework-php" fi # PHP Config File for Apache @@ -237,19 +278,34 @@ else fi # Enable modules -loud "`a2enmod rewrite php5`" +loudCmd "a2enmod rewrite php5" loud "\n-----------------------------------------------------" loud " * Installing PostgreSQL * " loud "-----------------------------------------------------" -loud "`apt-get -y --force-yes install postgresql php5-pgsql`" +loudCmd "apt-get -y --force-yes install postgresql php5-pgsql" + +setupAirtimePostgresUser() { + su postgres + psql -d postgres -tAc "CREATE USER airtime WITH ENCRYPTED PASSWORD 'airtime'; ALTER USER airtime CREATEDB;" +} + +if [ ${create_postgres_user} = "t" ]; then + setupAirtimePostgresUser +elif [ ${_i} -eq 1 ]; then + echo -e "Create default airtime postgres user? (Y/n): \c" + read IN + if [ "$IN" = "y" -o "$IN" = "Y" ]; then + setupAirtimePostgresUser + fi +fi loud "\n-----------------------------------------------------" loud " * Setting up RabbitMQ * " loud "-----------------------------------------------------" -loud "`apt-get -y --force-yes install rabbitmq-server`" +loudCmd "apt-get -y --force-yes install rabbitmq-server" RABBITMQ_VHOST=$(awk -F ' = ' '{if (! ($0 ~ /^;/) && $0 ~ /^vhost/ ) print $2}' ${AIRTIMEROOT}/airtime_mvc/build/airtime.example.conf) RABBITMQ_USER=$(awk -F ' = ' '{if (! ($0 ~ /^;/) && $0 ~ /^user/ ) print $2}' ${AIRTIMEROOT}/airtime_mvc/build/airtime.example.conf) @@ -270,7 +326,7 @@ else fi verbose "\n * Setting RabbitMQ user permissions..." -loud "`rabbitmqctl set_permissions -p ${RABBITMQ_VHOST} ${RABBITMQ_USER} "$EXCHANGES" "$EXCHANGES" "$EXCHANGES"`" +loudCmd 'rabbitmqctl set_permissions -p ${RABBITMQ_VHOST} ${RABBITMQ_USER} "$EXCHANGES" "$EXCHANGES" "$EXCHANGES"' if [ ! -d "/etc/airtime" ]; then loud "\n-----------------------------------------------------" @@ -283,7 +339,7 @@ if [ ! -d "/etc/airtime" ]; then fi verbose "\n * Restarting apache..." -loud "`service apache2 restart 2>/dev/null`" +loudCmd "service apache2 restart 2>/dev/null" echo -e "\n-----------------------------------------------------" echo " * Basic Setup DONE! * " From 369b18cb98beb399b206f01d9508a7ecf0059b74 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Thu, 11 Dec 2014 16:42:05 -0500 Subject: [PATCH 030/168] More work on base install script --- installer/install | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) mode change 100644 => 100755 installer/install diff --git a/installer/install b/installer/install old mode 100644 new mode 100755 index 6ff58e8a8..6078b867f --- a/installer/install +++ b/installer/install @@ -19,7 +19,7 @@ showhelp () { More output -q, --quiet, --silent No output except errors - -n, --non-interactive + -f, --force Turn off interactive prompts -w, --web-user=WEB_USER Set the default apache web user @@ -98,7 +98,7 @@ while :; do -q|--quiet|--silent) _q=1 ;; - -n|--non-interactive) + -f|--force) _i=0 ;; -a|--apache) @@ -287,11 +287,12 @@ loud "-----------------------------------------------------" loudCmd "apt-get -y --force-yes install postgresql php5-pgsql" setupAirtimePostgresUser() { - su postgres + su postgres <<'EOF' psql -d postgres -tAc "CREATE USER airtime WITH ENCRYPTED PASSWORD 'airtime'; ALTER USER airtime CREATEDB;" +EOF } -if [ ${create_postgres_user} = "t" ]; then +if [ "$create_postgres_user" = "t" ]; then setupAirtimePostgresUser elif [ ${_i} -eq 1 ]; then echo -e "Create default airtime postgres user? (Y/n): \c" @@ -312,7 +313,7 @@ RABBITMQ_USER=$(awk -F ' = ' '{if (! ($0 ~ /^;/) && $0 ~ /^user/ ) print $2}' ${ RABBITMQ_PASSWORD=$(awk -F ' = ' '{if (! ($0 ~ /^;/) && $0 ~ /^password/ ) print $2}' ${AIRTIMEROOT}/airtime_mvc/build/airtime.example.conf) EXCHANGES="airtime-pypo|pypo-fetch|airtime-media-monitor|media-monitor" -rabbitmqctl list_vhosts | grep -w ${RABBITMQ_VHOST} > /dev/null +rabbitmqctl list_vhosts | grep -w ${RABBITMQ_VHOST} RESULT="$?" # Only run these if the user doesn't exist @@ -334,7 +335,9 @@ if [ ! -d "/etc/airtime" ]; then loud "-----------------------------------------------------" verbose "\n * Creating /etc/airtime/ directory..." + mkdir -p /srv/airtime mkdir /etc/airtime + chown -R ${web_user}:${web_user} /srv/airtime chown -R ${web_user}:${web_user} /etc/airtime fi From 889112ca848c597f84d4a9ef5116667f0b55dc31 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Thu, 11 Dec 2014 19:16:18 -0500 Subject: [PATCH 031/168] More work on base install script --- installer/install | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/installer/install b/installer/install index 6078b867f..4255d91ca 100755 --- a/installer/install +++ b/installer/install @@ -313,10 +313,13 @@ RABBITMQ_USER=$(awk -F ' = ' '{if (! ($0 ~ /^;/) && $0 ~ /^user/ ) print $2}' ${ RABBITMQ_PASSWORD=$(awk -F ' = ' '{if (! ($0 ~ /^;/) && $0 ~ /^password/ ) print $2}' ${AIRTIMEROOT}/airtime_mvc/build/airtime.example.conf) EXCHANGES="airtime-pypo|pypo-fetch|airtime-media-monitor|media-monitor" +# Ignore errors in this check to avoid dying when vhost isn't found +set +e rabbitmqctl list_vhosts | grep -w ${RABBITMQ_VHOST} RESULT="$?" +set -e -# Only run these if the user doesn't exist +# Only run these if the vhost doesn't exist if [ "${RESULT}" != "0" ]; then verbose "\n * Creating RabbitMQ user ${RABBITMQ_USER}..." @@ -327,7 +330,7 @@ else fi verbose "\n * Setting RabbitMQ user permissions..." -loudCmd 'rabbitmqctl set_permissions -p ${RABBITMQ_VHOST} ${RABBITMQ_USER} "$EXCHANGES" "$EXCHANGES" "$EXCHANGES"' +loudCmd "rabbitmqctl set_permissions -p ${RABBITMQ_VHOST} ${RABBITMQ_USER} \"$EXCHANGES\" \"$EXCHANGES\" \"$EXCHANGES\"" if [ ! -d "/etc/airtime" ]; then loud "\n-----------------------------------------------------" From 034353a6e18f6049a0092bedb40a5376998fe691 Mon Sep 17 00:00:00 2001 From: Albert Santoni Date: Fri, 12 Dec 2014 11:48:32 -0500 Subject: [PATCH 032/168] Undo the session closing thing --- airtime_mvc/application/controllers/plugins/Acl_plugin.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/airtime_mvc/application/controllers/plugins/Acl_plugin.php b/airtime_mvc/application/controllers/plugins/Acl_plugin.php index 55e2b04a7..2771b1121 100644 --- a/airtime_mvc/application/controllers/plugins/Acl_plugin.php +++ b/airtime_mvc/application/controllers/plugins/Acl_plugin.php @@ -138,8 +138,6 @@ class Zend_Controller_Plugin_Acl extends Zend_Controller_Plugin_Abstract } else { $userInfo = Zend_Auth::getInstance()->getStorage()->read(); - // For now, close the session here to prevent it from blocking requests - session_write_close(); $this->setRoleName($userInfo->type); Zend_View_Helper_Navigation_HelperAbstract::setDefaultAcl($this->_acl); From ec13b451b2ff8511e9e0f4141c04ca9b83fa6cdb Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 15 Dec 2014 09:48:21 -0500 Subject: [PATCH 033/168] Started updating installation instructions --- README | 44 +++++++++++++++++++++++++++++++++++++------- 1 file changed, 37 insertions(+), 7 deletions(-) diff --git a/README b/README index 0c003c7e7..a4be320b3 100644 --- a/README +++ b/README @@ -18,7 +18,7 @@ Major features: * Solid playout. Airtime uses the open source Liquidsoap streaming language for reliable and precise playback to multiple outputs. * Open, extensible architecture. Stations are free to extend and alter - all parts of the program code, under the GNU GPLv3 license. + all parts of the program code, under the GNU AGPLv3 license. INSTALLATION @@ -30,16 +30,46 @@ http://sourcefabric.booktype.pro/airtime-25-for-broadcasters/preparing-the-serve If you are a developer, please see this page: http://wiki.sourcefabric.org/display/CC/Airtime+Dev+Site -For installation direct from a git checkout on Ubuntu 12.04 LTS, run: +Basic installation has two steps: - cd install_full/ubuntu - sudo ./airtime-full-install +1) Run the install script, located in the Airtime/installer directory. -For installation from git on Debian wheezy, run: + cd installer - cd install_full/debian - sudo ./airtime-full-install +For an interactive installation, run: + sudo ./install + +The installer will then prompt you about how you want to set up your Airtime installation. + +For a simple full installation (setting up apache and postgres configurations and users for you), run + + sudo ./install -fap + +What this means: + + -f - force; non-interactive (no prompts) + -a - install the default apache setup for Airtime + -p - create a default Airtime postgres user + +This will install all components necessary for Airtime, and set up /usr/share/airtime as your +web root (where apache looks for your Airtime files). + +There are several options for installation - to see them all, run + + sudo ./install --help + +2) Once you've run the installer, navigate to localhost/ (if you have a custom apache configuration, navigate to +your Airtime web host) to run an interactive setup. + +If you just want to run Airtime with default settings, you won't need to change anything, but if you have any custom +configuration settings you'll be able to specify them. + +Once you finish the setup process, you'll be presented with a configuration checklist so you can ensure that +your Airtime installation is working correctly. If anything was mis-configured, the checklist will provide some +helpful tips to resolve the issue. + +If your checklist is all green, you're ready to get started with Airtime! Quick links to our resources ---------------------------- From 8f99595f5476c3b806042369c2fe04f807faa34b Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 15 Dec 2014 09:49:00 -0500 Subject: [PATCH 034/168] Added button to redirect to login page from config-check page on success --- airtime_mvc/application/configs/config-check.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/airtime_mvc/application/configs/config-check.php b/airtime_mvc/application/configs/config-check.php index 384856dbd..fe2d24de9 100644 --- a/airtime_mvc/application/configs/config-check.php +++ b/airtime_mvc/application/configs/config-check.php @@ -38,10 +38,10 @@ $result = $r && $database; Component - Description + Description - Solution + Solution @@ -109,7 +109,7 @@ $result = $r && $database; ?>"> Make sure you aren't missing any of the Postgres dependencies in the table above. If your dependencies check out, make sure your database configuration settings in - airtime.conf is correct and the Airtime database was installed correctly. + airtime.conf are correct and the Airtime database was installed correctly. @@ -132,6 +132,7 @@ $result = $r && $database;

Your Airtime station is up and running!

+ @@ -148,4 +149,3 @@ $result = $r && $database; ?>

- Date: Mon, 15 Dec 2014 09:49:35 -0500 Subject: [PATCH 035/168] Removed call to session_write_close() --- airtime_mvc/application/controllers/plugins/Acl_plugin.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/airtime_mvc/application/controllers/plugins/Acl_plugin.php b/airtime_mvc/application/controllers/plugins/Acl_plugin.php index 55e2b04a7..2771b1121 100644 --- a/airtime_mvc/application/controllers/plugins/Acl_plugin.php +++ b/airtime_mvc/application/controllers/plugins/Acl_plugin.php @@ -138,8 +138,6 @@ class Zend_Controller_Plugin_Acl extends Zend_Controller_Plugin_Abstract } else { $userInfo = Zend_Auth::getInstance()->getStorage()->read(); - // For now, close the session here to prevent it from blocking requests - session_write_close(); $this->setRoleName($userInfo->type); Zend_View_Helper_Navigation_HelperAbstract::setDefaultAcl($this->_acl); From ed7b85c69b0e3cbbfaa79906d6d91e208cbea1a3 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 15 Dec 2014 09:50:25 -0500 Subject: [PATCH 036/168] Removed references to image path and instance_description --- airtime_mvc/application/models/Show.php | 5 ----- 1 file changed, 5 deletions(-) diff --git a/airtime_mvc/application/models/Show.php b/airtime_mvc/application/models/Show.php index 987b5a6c2..8abb6031a 100644 --- a/airtime_mvc/application/models/Show.php +++ b/airtime_mvc/application/models/Show.php @@ -1221,7 +1221,6 @@ SELECT si.starts AS start_timestamp, si.id AS instance_id, si.record, s.url, - s.image_path, starts, ends FROM cc_show_instances si @@ -1273,7 +1272,6 @@ SQL; "starts" => $rows[$i-1]['starts'], "ends" => $rows[$i-1]['ends'], "record" => $rows[$i-1]['record'], - "image_path" => $rows[$i-1]['image_path'], "type" => "show"); } @@ -1291,7 +1289,6 @@ SQL; "starts" => $rows[$i+1]['starts'], "ends" => $rows[$i+1]['ends'], "record" => $rows[$i+1]['record'], - "image_path" => $rows[$i+1]['image_path'], "type" => "show"); } break; @@ -1313,7 +1310,6 @@ SQL; "starts" => $rows[$i]['starts'], "ends" => $rows[$i]['ends'], "record" => $rows[$i]['record'], - "image_path" => $rows[$i]['image_path'], "type" => "show"); break; } @@ -1331,7 +1327,6 @@ SQL; "starts" => $rows[$previousShowIndex]['starts'], "ends" => $rows[$previousShowIndex]['ends'], "record" => $rows[$previousShowIndex]['record'], - "image_path" => $rows[$previousShowIndex]['image_path'], "type" => "show"); } From 4583be981d13edde789c61919711b51538d0e2f5 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 15 Dec 2014 09:51:25 -0500 Subject: [PATCH 037/168] Updated installer forms --- airtime_mvc/build/airtime-setup/forms/finish-settings.php | 1 - airtime_mvc/build/airtime-setup/forms/general-settings.php | 7 +++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/airtime_mvc/build/airtime-setup/forms/finish-settings.php b/airtime_mvc/build/airtime-setup/forms/finish-settings.php index 809013b4d..bf98c954e 100644 --- a/airtime_mvc/build/airtime-setup/forms/finish-settings.php +++ b/airtime_mvc/build/airtime-setup/forms/finish-settings.php @@ -17,6 +17,5 @@ \ No newline at end of file diff --git a/airtime_mvc/build/airtime-setup/forms/general-settings.php b/airtime_mvc/build/airtime-setup/forms/general-settings.php index 14e788459..dbfbb570a 100644 --- a/airtime_mvc/build/airtime-setup/forms/general-settings.php +++ b/airtime_mvc/build/airtime-setup/forms/general-settings.php @@ -3,16 +3,19 @@

General Settings

+

+ These values are automatically pulled from your webserver settings, under most circumstances you will not need to change them. +

- + "/>
- + "/>
From 5f315abb797c0eb292f5570f49b379085971cd70 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 15 Dec 2014 09:52:10 -0500 Subject: [PATCH 038/168] Updated final install step --- airtime_mvc/public/js/setup/setup-config.js | 8 +++++-- airtime_mvc/public/setup/finish-setup.php | 26 ++++++++++++++++----- 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/airtime_mvc/public/js/setup/setup-config.js b/airtime_mvc/public/js/setup/setup-config.js index 9441ed44d..255beb93c 100644 --- a/airtime_mvc/public/js/setup/setup-config.js +++ b/airtime_mvc/public/js/setup/setup-config.js @@ -9,8 +9,12 @@ function cleanupStep(data, e) { // If there are no errors, we can continue with // the installation process if (data.errors.length == 0) { - // Call nextSlide from the submit button's context - nextSlide.call($(e.target)); + if ($(e.target).attr("id") == "finishSettingsForm") { + window.location.replace("/?config"); + } else { + // Call nextSlide from the submit button's context + nextSlide.call($(e.target)); + } } removeOverlay(); } diff --git a/airtime_mvc/public/setup/finish-setup.php b/airtime_mvc/public/setup/finish-setup.php index 704164c14..a79b5bf4b 100644 --- a/airtime_mvc/public/setup/finish-setup.php +++ b/airtime_mvc/public/setup/finish-setup.php @@ -14,18 +14,32 @@ class FinishSetup extends Setup { } function runSetup() { - if ($this->createAirtimeConfigDirectory()) { - $this->moveAirtimeConfig(); + $message = null; + $errors = array(); + + if ($this->checkAirtimeConfigDirectory()) { + if (!$this->moveAirtimeConfig()) { + $message = "Error moving airtime.conf or deleting /tmp/airtime.conf.temp!"; + $errors[] = "ERR"; + } + } else { + $message = "Failed to move airtime.conf; /etc/airtime doesn't exist!"; + $errors[] = "ERR"; } + + return array( + "message" => $message, + "errors" => $errors, + ); } - function createAirtimeConfigDirectory() { - return file_exists("/etc/airtime/") ? true - : mkdir("/etc/airtime/", 0755, true); + function checkAirtimeConfigDirectory() { + return file_exists("/etc/airtime/"); } function moveAirtimeConfig() { - return copy(AIRTIME_CONF_TEMP_PATH, "/etc/airtime/airtime.conf"); + return copy(AIRTIME_CONF_TEMP_PATH, "/etc/airtime/airtime.conf") + && unlink(AIRTIME_CONF_TEMP_PATH); } } \ No newline at end of file From b47f02d3316f1f20dd91c40cbb773ed8d2be9e3e Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 15 Dec 2014 09:53:50 -0500 Subject: [PATCH 039/168] TODO --- airtime_mvc/public/setup/general-setup.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airtime_mvc/public/setup/general-setup.php b/airtime_mvc/public/setup/general-setup.php index cf5516820..f63a84f90 100644 --- a/airtime_mvc/public/setup/general-setup.php +++ b/airtime_mvc/public/setup/general-setup.php @@ -46,7 +46,7 @@ class GeneralSetup extends Setup { * @return array associative array containing a display message and fields with errors */ function runSetup() { - + // TODO Do we need to validate these settings? if (count(self::$errors) <= 0) { $this->writeToTemp(); From baa6d89f9392685da8fef02e0df65b21a84b86fe Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 15 Dec 2014 09:54:15 -0500 Subject: [PATCH 040/168] More work on base install script --- installer/install | 217 +++++++++++++++++++++++++++++++++------------- 1 file changed, 155 insertions(+), 62 deletions(-) diff --git a/installer/install b/installer/install index 4255d91ca..92a901181 100755 --- a/installer/install +++ b/installer/install @@ -21,25 +21,29 @@ showhelp () { No output except errors -f, --force Turn off interactive prompts + -d, --install-dependencies + Install binary dependencies -w, --web-user=WEB_USER Set the default apache web user - -i, --in-place - Set the current Airtime root as the working directory for - Airtime - Note that you will need to give your web user permissions on - these directories - -d, --install-directory=INSTALL_PATH + -r, --web-root=WEB_ROOT Set the web root for Airtime files This will copy the Airtime application files and make them accessible to the web user If no directory or an empty string is given, this defaults to an in-place installation, and will give the web user permissions on the current Airtime root + -i, --in-place + Set the current Airtime root as the working directory for + Airtime + Note that you will need to give your web user permissions on + these directories -p, --postgres-init Create a default postgres user named 'airtime' with password 'airtime' -a, --apache - Install apache and deploys a basic configuration for Airtime" + Install apache and deploy a basic configuration for Airtime + -c, --icecast + Install Icecast 2 and deploy a basic configuration for Airtime" exit 0 } @@ -50,10 +54,12 @@ showversion () { } web_user="www-data" -install_directory="" -apache="f" +web_root="" in_place="f" -create_postgres_user="f" +postgres="f" +apache="f" +icecast="f" +install_dependencies="f" # Interactive _i=1 # Verbose @@ -82,35 +88,39 @@ function loudCmd() { fi } - while :; do case "$1" in - -h|-\?|--help) + --help) showhelp - exit ;; - -V|--version) + --version) showversion ;; - -v|--verbose) + --verbose) _v=1 ;; - -q|--quiet|--silent) + --quiet|--silent) _q=1 ;; - -f|--force) + --force) _i=0 ;; - -a|--apache) + --install-dependencies) + install_dependencies="t" + ;; + --apache) apache="t" ;; - -i|--in-place) + --icecast) + icecast="t" + ;; + --postgres-init) + postgres="t" + ;; + --in-place) in_place="t" ;; - -p|--postgres-init) - create_postgres_user="t" - ;; - -w|--web-user) + --web-user) if [ "$2" ]; then web_user=$2 shift 2 @@ -127,21 +137,21 @@ while :; do echo 'ERROR: Must specify a non-empty "--web-user=WEB_USER" argument.' >&2 exit 1 ;; - -d|--install-directory) + --web-root) if [ "$2" ]; then - install_directory=$(readlink -f $2) + web_root=$(readlink -f $2) shift 2 continue else - echo 'ERROR: Must specify a non-empty "--install-directory INSTALL_DIRECTORY" argument.' >&2 + echo 'ERROR: Must specify a non-empty "--web-root WEB_ROOT" argument.' >&2 exit 1 fi ;; - --install-directory=?*) - install_directory=${1#*=} # Delete everything up to "=" and assign the remainder. + --web-root=?*) + web_root=${1#*=} # Delete everything up to "=" and assign the remainder. ;; - --install-directory=) - echo 'ERROR: Must specify a non-empty "--install-directory=INSTALL_DIRECTORY" argument.' >&2 + --web-root=) + echo 'ERROR: Must specify a non-empty "--web-root=WEB_ROOT" argument.' >&2 exit 1 ;; --) @@ -149,9 +159,62 @@ while :; do break ;; -?*) - echo "$0: error - unrecognized option $1" 1>&2; - echo "Try 'install --help' for more information." - exit 1 + for ((i = 1; i < ${#1}; i++)); do + case "${1:$i:1}" in + h|\?) + showhelp + ;; + V) + showversion + ;; + v) + _v=1 + ;; + q) + _q=1 + ;; + f) + _i=0 + ;; + d) + install_dependencies="t" + ;; + a) + apache="t" + ;; + c) + icecast="t" + ;; + p) + postgres="t" + ;; + i) + in_place="t" + ;; + w) + if [ "$2" ]; then + web_user=$2 + continue + else + echo 'ERROR: Must specify a non-empty "-w WEB_USER" argument.' >&2 + exit 1 + fi + ;; + r) + if [ "$2" ]; then + web_root=$(readlink -f $2) + continue + else + echo 'ERROR: Must specify a non-empty "-d WEB_ROOT" argument.' >&2 + exit 1 + fi + ;; + *) + echo "$0: error - unrecognized option $1" >&2; + echo "Try 'install --help' for more information." + exit 1 + esac + done ;; *) break @@ -159,12 +222,13 @@ while :; do shift done -if [ -z install_directory -a ! -d install_directory ]; then - echo "$install_directory doesn't exist!" +if [ -z web_root -a ! -d web_root ]; then + echo "$web_root doesn't exist!" exit 1 fi dist=`lsb_release -is` +code=`lsb_release -cs` echo -e "\n _____ .________________________.___ _____ ___________ " echo " / _ \ | \______ \__ ___/| | / \ \_ _____/ " @@ -173,22 +237,22 @@ echo "/ | \ || | \ | | | / Y \| \ " echo "\____|__ /___||____|_ / |____| |___\____|__ /_______ / " echo -e " \/ \/ \/ \/ \n" -echo " ____ ______ ____ ____ __________ __ _________ ____ ____ " -echo " / _ \\\\____ \_/ __ \ / \ / ___/ _ \| | \_ __ \_/ ___\/ __ \ " -echo "( <_> ) |_> > ___/| | \ \___ ( <_> ) | /| | \/\ \__\ ___/ " -echo " \____/| __/ \___ >___| / /____ >____/|____/ |__| \___ >___ > " -echo " |__| \/ \/ \/ \/ \/ " -echo " .___.__ __ __ .__ " -echo "____________ __| _/|__| ____ _____ __ ___/ |_ ____ _____ _____ _/ |_|__| ____ ____ " -echo "\_ __ \__ \ / __ | | |/ _ \ \__ \ | | \ __\/ _ \ / \\\\__ \\\\ __\ |/ _ \ / \ " -echo " | | \// __ \_/ /_/ | | ( <_> ) / __ \| | /| | ( <_> ) Y Y \/ __ \| | | ( <_> ) | \ " -echo " |__| (____ /\____ | |__|\____/ (____ /____/ |__| \____/|__|_| (____ /__| |__|\____/|___| / " -echo -e " \/ \/ \/ \/ \/ \/ \n" +# echo " ____ ______ ____ ____ __________ __ _________ ____ ____ " +# echo " / _ \\\\____ \_/ __ \ / \ / ___/ _ \| | \_ __ \_/ ___\/ __ \ " +# echo "( <_> ) |_> > ___/| | \ \___ ( <_> ) | /| | \/\ \__\ ___/ " +# echo " \____/| __/ \___ >___| / /____ >____/|____/ |__| \___ >___ > " +# echo " |__| \/ \/ \/ \/ \/ " +# echo " .___.__ __ __ .__ " +# echo "____________ __| _/|__| ____ _____ __ ___/ |_ ____ _____ _____ _/ |_|__| ____ ____ " +# echo "\_ __ \__ \ / __ | | |/ _ \ \__ \ | | \ __\/ _ \ / \\\\__ \\\\ __\ |/ _ \ / \ " +# echo " | | \// __ \_/ /_/ | | ( <_> ) / __ \| | /| | ( <_> ) Y Y \/ __ \| | | ( <_> ) | \ " +# echo " |__| (____ /\____ | |__|\____/ (____ /____/ |__| \____/|__|_| (____ /__| |__|\____/|___| / " +# echo -e " \/ \/ \/ \/ \/ \/ \n" if [ "$apache" = "f" -a ${_i} -eq 1 ]; then echo -e "Install default Airtime apache configuration? (Y/n): \c" read IN - if [ "${IN}" = "y" -o "${IN}" = "Y" ]; then + if [ "$IN" = "y" -o "$IN" = "Y" ]; then apache="t" fi fi @@ -200,21 +264,21 @@ if [ "$apache" = "t" ]; then if [ "$in_place" = "t" ]; then verbose "\n * Setting current Airtime directory as web root..." - install_directory=${AIRTIMEROOT}/airtime_mvc/public + web_root=${AIRTIMEROOT}/airtime_mvc/public chmod -R 755 ${AIRTIMEROOT} - elif [ -n "$install_directory" ]; then + elif [ -n "$web_root" ]; then verbose "\n * Creating Apache web root directory..." - mkdir -p ${install_directory}/airtime/public/ - cp -R ${AIRTIMEROOT}/airtime_mvc/* ${install_directory}/airtime/ - chmod -R 755 ${install_directory} + mkdir -p ${web_root}/airtime/public/ + cp -R ${AIRTIMEROOT}/airtime_mvc/* ${web_root}/airtime/ + chmod -R 755 ${web_root} else verbose "\n * Creating default Apache web root directory /usr/share/airtime/..." - install_directory="/usr/share" - mkdir -p ${install_directory}/airtime/public/ - cp -R ${AIRTIMEROOT}/airtime_mvc/* ${install_directory}/airtime/ + web_root="/usr/share" + mkdir -p ${web_root}/airtime/public/ + cp -R ${AIRTIMEROOT}/airtime_mvc/* ${web_root}/airtime/ fi - sed -e "s@WEB_ROOT@${install_directory}@g" apache/airtime-vhost > apache/airtime-vhost.tmp + sed -e "s@WEB_ROOT@${web_root}@g" apache/airtime-vhost > apache/airtime-vhost.tmp loudCmd "apt-get -y --force-yes install apache2 libapache2-mod-php5" set +e @@ -240,6 +304,20 @@ if [ "$apache" = "t" ]; then fi fi +if [ "$icecast" = "t" ]; then + loud "\n-----------------------------------------------------" + loud " * Installing Icecast * " + loud "-----------------------------------------------------" + + loudCmd "apt-get -y --force-yes install icecast2" + + verbose "\n * Enabling Icecast 2..." + sed -i 's/ENABLE=false/ENABLE=true/g' /etc/default/icecast2 + set +e + service icecast2 start + set -e +fi + if [ ! -d /var/log/airtime ]; then loud "\n-----------------------------------------------------" loud " * Installing Log Files * " @@ -254,7 +332,7 @@ if [ ! -d /var/log/airtime ]; then fi loud "\n-----------------------------------------------------" -loud " * Installing PHP * " +loud " * Installing PHP * " loud "-----------------------------------------------------" loudCmd "apt-get -y --force-yes install php5" @@ -287,12 +365,14 @@ loud "-----------------------------------------------------" loudCmd "apt-get -y --force-yes install postgresql php5-pgsql" setupAirtimePostgresUser() { + # here-doc to execute this block as postgres user su postgres <<'EOF' psql -d postgres -tAc "CREATE USER airtime WITH ENCRYPTED PASSWORD 'airtime'; ALTER USER airtime CREATEDB;" +# don't indent this! EOF } -if [ "$create_postgres_user" = "t" ]; then +if [ "$postgres" = "t" ]; then setupAirtimePostgresUser elif [ ${_i} -eq 1 ]; then echo -e "Create default airtime postgres user? (Y/n): \c" @@ -303,7 +383,7 @@ elif [ ${_i} -eq 1 ]; then fi loud "\n-----------------------------------------------------" -loud " * Setting up RabbitMQ * " +loud " * Installing RabbitMQ * " loud "-----------------------------------------------------" loudCmd "apt-get -y --force-yes install rabbitmq-server" @@ -315,12 +395,12 @@ EXCHANGES="airtime-pypo|pypo-fetch|airtime-media-monitor|media-monitor" # Ignore errors in this check to avoid dying when vhost isn't found set +e -rabbitmqctl list_vhosts | grep -w ${RABBITMQ_VHOST} +rabbitmqctl list_vhosts | grep -w ${RABBITMQ_VHOST} > /dev/null RESULT="$?" set -e # Only run these if the vhost doesn't exist -if [ "${RESULT}" != "0" ]; then +if [ "$RESULT" != "0" ]; then verbose "\n * Creating RabbitMQ user ${RABBITMQ_USER}..." rabbitmqctl add_vhost ${RABBITMQ_VHOST} @@ -338,12 +418,25 @@ if [ ! -d "/etc/airtime" ]; then loud "-----------------------------------------------------" verbose "\n * Creating /etc/airtime/ directory..." - mkdir -p /srv/airtime mkdir /etc/airtime chown -R ${web_user}:${web_user} /srv/airtime chown -R ${web_user}:${web_user} /etc/airtime fi +if [ ! -d "/srv/airtime" ]; then + mkdir -p /srv/airtime +fi + +if [ "$install_dependencies" = "t" ]; then + loud "\n-----------------------------------------------------" + loud " * Installing External Dependencies * " + loud "-----------------------------------------------------" + + verbose "\n * Reading requirements-${dist,,}-${code,,}.apt..." + + loudCmd "apt-get -y --force-yes install $(grep -vE \"^\s*#\" \"bin/requirements-${dist,,}-${code,,}.apt\" | tr \"\n\" \" \")" +fi + verbose "\n * Restarting apache..." loudCmd "service apache2 restart 2>/dev/null" From 4dfd49d12cc170602eec35a33acca5390daf150d Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Tue, 16 Dec 2014 12:24:41 -0500 Subject: [PATCH 041/168] Initial work on monitless installation --- .gitignore | 1 + README | 7 +- .../application/configs/config-check.php | 10 +- .../airtime-setup/forms/finish-settings.php | 2 +- airtime_mvc/build/airtime.example.conf | 117 ++++++++++++------ airtime_mvc/public/css/setup/config-check.css | 5 +- airtime_mvc/public/css/setup/setup-config.css | 2 +- airtime_mvc/public/js/setup/setup-config.js | 22 ++-- airtime_mvc/public/setup/finish-setup.php | 29 +++-- dev_tools/compare_cc_files_to_fs.py | 2 +- installer/install | 97 +++++++++++---- python_apps/api_clients/api_client.py | 4 +- .../airtime-media-monitor-init-d | 4 +- .../airtimefilemonitor/mediaconfig.py | 2 +- .../install/media-monitor-copy-files.py | 6 +- python_apps/media-monitor/media_monitor.py | 5 +- .../media-monitor2/media/saas/launcher.py | 4 +- python_apps/media-monitor2/mm2.py | 4 +- .../media-monitor2/tests/prepare_tests.py | 2 +- python_apps/pypo/install/pypo-copy-files.py | 6 +- .../liquidsoap_prepare_terminate.py | 2 +- utils/airtime-import/airtime-import.py | 2 +- utils/airtime-silan.py | 2 +- 23 files changed, 225 insertions(+), 112 deletions(-) diff --git a/.gitignore b/.gitignore index bc3c72ed9..c3b9f8c91 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .* *.pyc +*~ diff --git a/README b/README index a4be320b3..483367e88 100644 --- a/README +++ b/README @@ -42,15 +42,18 @@ For an interactive installation, run: The installer will then prompt you about how you want to set up your Airtime installation. -For a simple full installation (setting up apache and postgres configurations and users for you), run +For a simple full installation (do this if you're installing Airtime from scratch and don't have any of your own +configuration set up), run - sudo ./install -fap + sudo ./install -fiapd What this means: -f - force; non-interactive (no prompts) + -i - install the default Icecast 2 setup for Airtime -a - install the default apache setup for Airtime -p - create a default Airtime postgres user + -d - install binary dependencies needed for Airtime This will install all components necessary for Airtime, and set up /usr/share/airtime as your web root (where apache looks for your Airtime files). diff --git a/airtime_mvc/application/configs/config-check.php b/airtime_mvc/application/configs/config-check.php index fe2d24de9..58176f355 100644 --- a/airtime_mvc/application/configs/config-check.php +++ b/airtime_mvc/application/configs/config-check.php @@ -109,7 +109,7 @@ $result = $r && $database; ?>"> Make sure you aren't missing any of the Postgres dependencies in the table above. If your dependencies check out, make sure your database configuration settings in - airtime.conf are correct and the Airtime database was installed correctly. + /etc/airtime.conf are correct and the Airtime database was installed correctly. @@ -143,8 +143,14 @@ $result = $r && $database;

diff --git a/airtime_mvc/build/airtime-setup/forms/finish-settings.php b/airtime_mvc/build/airtime-setup/forms/finish-settings.php index bf98c954e..549cb9472 100644 --- a/airtime_mvc/build/airtime-setup/forms/finish-settings.php +++ b/airtime_mvc/build/airtime-setup/forms/finish-settings.php @@ -2,7 +2,7 @@ ?> -

Media Settings

+

Setup Complete!

Looks like you're almost done! Click "Done!" to bring up the Airtime configuration checklist; if diff --git a/airtime_mvc/build/airtime.example.conf b/airtime_mvc/build/airtime.example.conf index 090f4103d..cb1a71930 100644 --- a/airtime_mvc/build/airtime.example.conf +++ b/airtime_mvc/build/airtime.example.conf @@ -10,6 +10,44 @@ # ---------------------------------------------------------------------- +# ---------------------------------------------------------------------- +# G E N E R A L S E T T I N G S +# ---------------------------------------------------------------------- +# +# These settings are used for Airtime's webserver configuration, and +# for general-purpose properties. +# +# api_key: The API key for your Airtime installation. +# The value is generated the first time you use Airtime. +# +# web_server_user: The default webserver user. +# The default is www-data. +# +# base_url: The host name for your webserver. +# The default is localhost. +# +# base_port: The port for your webserver. +# The default is 80. +# +# base_dir: The root directory for your Airtime installation +# on your webserver, relative to the base_url. +# The default is /. +# +# cache_ahead_hours: How many hours ahead of time the Airtime playout +# engine (PYPO) should cache scheduled media files. +# The default is 1. +# +[general] +api_key = +web_server_user = www-data +base_url = localhost +base_port = 80 +base_dir = / +cache_ahead_hours = 1 +# +# ---------------------------------------------------------------------- + + # ---------------------------------------------------------------------- # D A T A B A S E # ---------------------------------------------------------------------- @@ -69,44 +107,6 @@ vhost = /airtime # ---------------------------------------------------------------------- -# ---------------------------------------------------------------------- -# G E N E R A L S E T T I N G S -# ---------------------------------------------------------------------- -# -# These settings are used for Airtime's webserver configuration, and -# for general-purpose properties. -# -# api_key: The API key for your Airtime installation. -# The value is generated the first time you use Airtime. -# -# web_server_user: The default webserver user. -# The default is www-data. -# -# base_url: The host name for your webserver. -# The default is localhost. -# -# base_port: The port for your webserver. -# The default is 80. -# -# base_dir: The root directory for your Airtime installation -# on your webserver, relative to the base_url. -# The default is /. -# -# cache_ahead_hours: How many hours ahead of time the Airtime playout -# engine (PYPO) should cache scheduled media files. -# The default is 1. -# -[general] -api_key = -web_server_user = www-data -base_url = localhost -base_port = 80 -base_dir = / -cache_ahead_hours = 1 -# -# ---------------------------------------------------------------------- - - # ---------------------------------------------------------------------- # M O N I T # ---------------------------------------------------------------------- @@ -124,6 +124,47 @@ monit_password = airtime # ---------------------------------------------------------------------- +# ---------------------------------------------------------------------- +# M E D I A M O N I T O R +# ---------------------------------------------------------------------- +# +# api_client: ??? +# +# bin_dir: Directory containing media monitor binaries +# +# log_dir: Directory containing media monitor log files +# +# check_filesystem_events: How long to queue up events performed on the +# files themselves +# +# check_airtime_events: How long to queue metadata input from airtime +# +# touch_interval +# +# chunking_number +# +# request_max_wait +# +# rmq_event_wait +# +# logpath +# +# index_path +# +[media-monitor] +api_client = "airtime" +check_filesystem_events = 5 +check_airtime_events = 30 +touch_interval = 5 +chunking_number = 450 +request_max_wait = 3.0 +rmq_event_wait = 0.1 +logpath = '/var/log/airtime/media-monitor/media-monitor.log' +index_path = '/var/tmp/airtime/media-monitor/last_index' +# +# ---------------------------------------------------------------------- + + # ---------------------------------------------------------------------- # S O U N D C L O U D # ---------------------------------------------------------------------- diff --git a/airtime_mvc/public/css/setup/config-check.css b/airtime_mvc/public/css/setup/config-check.css index 6967f1165..31983f4b1 100644 --- a/airtime_mvc/public/css/setup/config-check.css +++ b/airtime_mvc/public/css/setup/config-check.css @@ -18,12 +18,13 @@ body { .table { padding: 0; - margin: 3em 0 0 0; + margin: 1em 0 0 0; } .checklist { overflow: auto; height: 50%; + min-height: 200px; } .caption { @@ -40,7 +41,7 @@ body { } .check { - background: #dff0d8 url("css/images/accept.png") no-repeat center; + background: #dff0d8 url("../images/accept.png") no-repeat center; } .footer { diff --git a/airtime_mvc/public/css/setup/setup-config.css b/airtime_mvc/public/css/setup/setup-config.css index b2dd4844f..69870ede4 100644 --- a/airtime_mvc/public/css/setup/setup-config.css +++ b/airtime_mvc/public/css/setup/setup-config.css @@ -143,7 +143,7 @@ form .form-group { * Button Styles * * ############################################################################ */ - + .btn-primary { font-weight: bold; } diff --git a/airtime_mvc/public/js/setup/setup-config.js b/airtime_mvc/public/js/setup/setup-config.js index 255beb93c..5ffae047c 100644 --- a/airtime_mvc/public/js/setup/setup-config.js +++ b/airtime_mvc/public/js/setup/setup-config.js @@ -78,11 +78,15 @@ function removeOverlay() { } function formSlide(dir) { - var delta = (dir == "next") ? "-=100%" : "+=100%"; - $(".btn").attr("disabled", "disabled"); - $(".form-slider").animate({left: delta}, 500, function() { - $(".btn").removeAttr("disabled"); - }); + var delta = (dir == "next") ? "-=100%" : "+=100%", + parent = $(this).parents("div.form-wrapper"), + toForm = (dir == "next") ? parent.next() : parent.prev(); + + parent.find(".btn").attr("disabled", "disabled"); + toForm.find(".btn").removeAttr("disabled"); + toForm.find(":input :first").focus(); + + $(".form-slider").animate({left: delta}, 500); var stepCount = $("#stepCount"), steps = parseInt(stepCount.html()); stepCount.html((dir == "next") ? (steps + 1) : (steps - 1)); @@ -93,14 +97,14 @@ function formSlide(dir) { * Fade out the previous setup step and fade in the next one */ function nextSlide() { - formSlide("next"); + formSlide.call($(this), "next"); } /** * Fade out the current setup step and fade in the previous one */ function prevSlide() { - formSlide("prev"); + formSlide.call($(this), "prev"); } /** @@ -118,7 +122,7 @@ function submitForm(e, obj) { var d = $(e.target).serializeArray(); addOverlay(); // Append .promise().done() rather than using a - // callback to avoid weird alert duplication + // callback to avoid call duplication $("#overlay, #loadingImage").fadeIn(500).promise().done(function() { // Proxy function for passing the event to the cleanup function var cleanupProxy = function(data) { @@ -131,6 +135,8 @@ function submitForm(e, obj) { $(function() { // Stop the user from dragging the slider $(".form-slider").draggable('disable'); + $(".btn").attr("disabled", "disabled"); + $("form:first .btn").removeAttr("disabled"); window.onresize = function() { var headerHeight = $(".header").outerHeight(), diff --git a/airtime_mvc/public/setup/finish-setup.php b/airtime_mvc/public/setup/finish-setup.php index a79b5bf4b..3d35fee7b 100644 --- a/airtime_mvc/public/setup/finish-setup.php +++ b/airtime_mvc/public/setup/finish-setup.php @@ -9,6 +9,8 @@ * Wrapper class for finalizing and moving airtime.conf */ class FinishSetup extends Setup { + + const AIRTIME_CONF_PATH = "/etc/airtime/airtime.conf"; function __construct($settings) { } @@ -17,7 +19,7 @@ class FinishSetup extends Setup { $message = null; $errors = array(); - if ($this->checkAirtimeConfigDirectory()) { + if (file_exists("/etc/airtime/")) { if (!$this->moveAirtimeConfig()) { $message = "Error moving airtime.conf or deleting /tmp/airtime.conf.temp!"; $errors[] = "ERR"; @@ -26,20 +28,31 @@ class FinishSetup extends Setup { $message = "Failed to move airtime.conf; /etc/airtime doesn't exist!"; $errors[] = "ERR"; } - + + if (empty($errors)) { + // Write service configurations for pypo and media-monitor + $this->startServices(); + } + return array( "message" => $message, "errors" => $errors, ); } - - function checkAirtimeConfigDirectory() { - return file_exists("/etc/airtime/"); - } - + + /** + * Moves /tmp/airtime.conf.temp to /etc/airtime.conf and then removes it to complete setup + * @return boolean false if either of the copy or removal operations fail + */ function moveAirtimeConfig() { - return copy(AIRTIME_CONF_TEMP_PATH, "/etc/airtime/airtime.conf") + return copy(AIRTIME_CONF_TEMP_PATH, self::AIRTIME_CONF_PATH) && unlink(AIRTIME_CONF_TEMP_PATH); } + + function startServices() { + exec("service airtime-media-monitor start-with-monit"); + exec("service airtime-playout start-with-monit"); + exec("service airtime-liquidsoap start-with-monit"); + } } \ No newline at end of file diff --git a/dev_tools/compare_cc_files_to_fs.py b/dev_tools/compare_cc_files_to_fs.py index 3f35fc033..fe842332b 100644 --- a/dev_tools/compare_cc_files_to_fs.py +++ b/dev_tools/compare_cc_files_to_fs.py @@ -25,7 +25,7 @@ class AirtimeMediaMonitorBootstrap(): api_clients -- reference of api_clients to communicate with airtime-server """ def __init__(self): - config = ConfigObj('/etc/airtime/media-monitor.cfg') + config = ConfigObj('/etc/airtime/airtime.conf') self.api_client = apc.api_client_factory(config) """ diff --git a/installer/install b/installer/install index 92a901181..c2db7eae5 100755 --- a/installer/install +++ b/installer/install @@ -32,17 +32,17 @@ showhelp () { If no directory or an empty string is given, this defaults to an in-place installation, and will give the web user permissions on the current Airtime root - -i, --in-place + -I, --in-place Set the current Airtime root as the working directory for Airtime Note that you will need to give your web user permissions on these directories - -p, --postgres-init + -p, --postgres Create a default postgres user named 'airtime' with password 'airtime' -a, --apache Install apache and deploy a basic configuration for Airtime - -c, --icecast + -i, --icecast Install Icecast 2 and deploy a basic configuration for Airtime" exit 0 } @@ -114,7 +114,7 @@ while :; do --icecast) icecast="t" ;; - --postgres-init) + --postgres) postgres="t" ;; --in-place) @@ -182,13 +182,13 @@ while :; do a) apache="t" ;; - c) + i) icecast="t" ;; p) postgres="t" ;; - i) + I) in_place="t" ;; w) @@ -210,7 +210,7 @@ while :; do fi ;; *) - echo "$0: error - unrecognized option $1" >&2; + echo "$0: error - unrecognized option '${1:$i:1}'" >&2; echo "Try 'install --help' for more information." exit 1 esac @@ -237,18 +237,6 @@ echo "/ | \ || | \ | | | / Y \| \ " echo "\____|__ /___||____|_ / |____| |___\____|__ /_______ / " echo -e " \/ \/ \/ \/ \n" -# echo " ____ ______ ____ ____ __________ __ _________ ____ ____ " -# echo " / _ \\\\____ \_/ __ \ / \ / ___/ _ \| | \_ __ \_/ ___\/ __ \ " -# echo "( <_> ) |_> > ___/| | \ \___ ( <_> ) | /| | \/\ \__\ ___/ " -# echo " \____/| __/ \___ >___| / /____ >____/|____/ |__| \___ >___ > " -# echo " |__| \/ \/ \/ \/ \/ " -# echo " .___.__ __ __ .__ " -# echo "____________ __| _/|__| ____ _____ __ ___/ |_ ____ _____ _____ _/ |_|__| ____ ____ " -# echo "\_ __ \__ \ / __ | | |/ _ \ \__ \ | | \ __\/ _ \ / \\\\__ \\\\ __\ |/ _ \ / \ " -# echo " | | \// __ \_/ /_/ | | ( <_> ) / __ \| | /| | ( <_> ) Y Y \/ __ \| | | ( <_> ) | \ " -# echo " |__| (____ /\____ | |__|\____/ (____ /____/ |__| \____/|__|_| (____ /__| |__|\____/|___| / " -# echo -e " \/ \/ \/ \/ \/ \/ \n" - if [ "$apache" = "f" -a ${_i} -eq 1 ]; then echo -e "Install default Airtime apache configuration? (Y/n): \c" read IN @@ -304,6 +292,14 @@ if [ "$apache" = "t" ]; then fi fi +if [ "$icecast" = "f" -a ${_i} -eq 1 ]; then + echo -e "Install default Airtime Icecast configuration? (Y/n): \c" + read IN + if [ "$IN" = "y" -o "$IN" = "Y" ]; then + icecast="t" + fi +fi + if [ "$icecast" = "t" ]; then loud "\n-----------------------------------------------------" loud " * Installing Icecast * " @@ -318,6 +314,49 @@ if [ "$icecast" = "t" ]; then set -e fi +loud "\n-----------------------------------------------------" +loud " * Installing Python Apps * " +loud "-----------------------------------------------------" + +verbose "\n * Installing virtualenv..." +loudCmd "$AIRTIMEROOT/python_apps/python-virtualenv/virtualenv-install.sh" + +verbose "\n * Installing liquidsoap..." +loudCmd "apt-get -y --force-yes install liquidsoap" + +# ------------ Activate virtualenv ------------ +virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/" +. ${virtualenv_bin}activate + +verbose "\n * Installing API client..." +cp -R ${AIRTIMEROOT}/python_apps/api_clients /usr/lib/airtime/api_clients + +verbose "\n * Copying media-monitor files..." +cp -R ${AIRTIMEROOT}/python_apps/media-monitor /usr/lib/airtime/media-monitor +cp -R ${AIRTIMEROOT}/python_apps/media-monitor2 /usr/lib/airtime/media-monitor/mm2 + +sed -e "s@WEB_USER@${web_user}@g" /usr/lib/airtime/media-monitor/airtime-media-monitor-init-d > /etc/init.d/airtime-media-monitor +touch /etc/sudoers.d/airtime-media-monitor_${web_user} +echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-media-monitor, \ + /sbin/stop airtime-media-monitor, \ + /sbin/restart airtime-media-monitor, \ + /sbin/status airtime-media-monitor" > /etc/sudoers.d/airtime-media-monitor_${web_user} + +verbose "\n * Copying pypo files..." +python $AIRTIMEROOT/python_apps/pypo/install/pypo-copy-files.py + +verbose "\n * Initializing media monitor..." +python $AIRTIMEROOT/python_apps/media-monitor/install/media-monitor-initialize.py + +verbose "\n * Initializing pypo..." +python $AIRTIMEROOT/python_apps/pypo/install/pypo-initialize.py + +loudCmd "service airtime-media-monitor restart 2>/dev/null" +loudCmd "service airtime-playout restart 2>/dev/null" + +deactivate +# ------------ Deactivate virtualenv ------------ + if [ ! -d /var/log/airtime ]; then loud "\n-----------------------------------------------------" loud " * Installing Log Files * " @@ -325,9 +364,9 @@ if [ ! -d /var/log/airtime ]; then verbose "\n * Creating /var/log/airtime..." mkdir -p /var/log/airtime - chmod a+x /var/log/airtime - chown ${web_user}:${web_user} /var/log/airtime/ - + mkdir -p /var/log/airtime/media-monitor + chmod -R a+x /var/log/airtime + chown -R ${web_user}:${web_user} /var/log/airtime/ cp ${AIRTIMEROOT}/airtime_mvc/build/airtime-php.logrotate /etc/logrotate.d/airtime-php fi @@ -367,7 +406,9 @@ loudCmd "apt-get -y --force-yes install postgresql php5-pgsql" setupAirtimePostgresUser() { # here-doc to execute this block as postgres user su postgres <<'EOF' + set +e psql -d postgres -tAc "CREATE USER airtime WITH ENCRYPTED PASSWORD 'airtime'; ALTER USER airtime CREATEDB;" + set -e # don't indent this! EOF } @@ -419,12 +460,20 @@ if [ ! -d "/etc/airtime" ]; then verbose "\n * Creating /etc/airtime/ directory..." mkdir /etc/airtime - chown -R ${web_user}:${web_user} /srv/airtime chown -R ${web_user}:${web_user} /etc/airtime fi if [ ! -d "/srv/airtime" ]; then mkdir -p /srv/airtime + chown -R ${web_user}:${web_user} /srv/airtime +fi + +if [ "$install_dependencies" = "f" -a ${_i} -eq 1 ]; then + echo -e "Install external binary dependencies? (Y/n): \c" + read IN + if [ "$IN" = "y" -o "$IN" = "Y" ]; then + install_dependencies="t" + fi fi if [ "$install_dependencies" = "t" ]; then @@ -434,7 +483,7 @@ if [ "$install_dependencies" = "t" ]; then verbose "\n * Reading requirements-${dist,,}-${code,,}.apt..." - loudCmd "apt-get -y --force-yes install $(grep -vE \"^\s*#\" \"bin/requirements-${dist,,}-${code,,}.apt\" | tr \"\n\" \" \")" + loudCmd "apt-get -y --force-yes install $(grep -vE '^\s*#' bin/requirements-${dist,,}-${code,,}.apt | tr '\n' ' ')" fi verbose "\n * Restarting apache..." diff --git a/python_apps/api_clients/api_client.py b/python_apps/api_clients/api_client.py index 6c12e6fb6..6aaa0a7d0 100644 --- a/python_apps/api_clients/api_client.py +++ b/python_apps/api_clients/api_client.py @@ -83,6 +83,8 @@ api_config['push_stream_stats'] = 'push-stream-stats/api_key/%%api_key%%/format/ api_config['update_stream_setting_table'] = 'update-stream-setting-table/api_key/%%api_key%%/format/json' api_config['get_files_without_silan_value'] = 'get-files-without-silan-value/api_key/%%api_key%%' api_config['update_cue_values_by_silan'] = 'update-cue-values-by-silan/api_key/%%api_key%%' +api_config['api_base'] = 'api' +api_config['bin_dir'] = '/usr/lib/airtime/api_clients' @@ -203,7 +205,7 @@ class RequestProvider(object): class AirtimeApiClient(object): - def __init__(self, logger=None,config_path='/etc/airtime/api_client.cfg'): + def __init__(self, logger=None,config_path='/etc/airtime/airtime.conf'): if logger is None: self.logger = logging else: self.logger = logger diff --git a/python_apps/media-monitor/airtime-media-monitor-init-d b/python_apps/media-monitor/airtime-media-monitor-init-d index d059e9389..f1fb319de 100755 --- a/python_apps/media-monitor/airtime-media-monitor-init-d +++ b/python_apps/media-monitor/airtime-media-monitor-init-d @@ -9,8 +9,8 @@ # Short-Description: Manage airtime-media-monitor daemon ### END INIT INFO -USERID=root -GROUPID=www-data +USERID=WEB_USER +GROUPID=WEB_USER NAME=Airtime\ Media\ Monitor DAEMON=/usr/lib/airtime/media-monitor/airtime-media-monitor diff --git a/python_apps/media-monitor/airtimefilemonitor/mediaconfig.py b/python_apps/media-monitor/airtimefilemonitor/mediaconfig.py index f51b23506..5f3865829 100644 --- a/python_apps/media-monitor/airtimefilemonitor/mediaconfig.py +++ b/python_apps/media-monitor/airtimefilemonitor/mediaconfig.py @@ -16,7 +16,7 @@ class AirtimeMediaConfig: # loading config file try: - config = ConfigObj('/etc/airtime/media-monitor.cfg') + config = ConfigObj('/etc/airtime/airtime.conf') self.cfg = config except Exception, e: logger.info('Error loading config: ', e) diff --git a/python_apps/media-monitor/install/media-monitor-copy-files.py b/python_apps/media-monitor/install/media-monitor-copy-files.py index 073f09dad..0d149c67e 100644 --- a/python_apps/media-monitor/install/media-monitor-copy-files.py +++ b/python_apps/media-monitor/install/media-monitor-copy-files.py @@ -44,17 +44,13 @@ try: # load config file try: config = ConfigObj(PATH_INI_FILE) - config['rabbitmq_user'] = os.environ['RABBITMQ_USER'] - config['rabbitmq_password'] = os.environ['RABBITMQ_PASSWORD'] - config['rabbitmq_vhost'] = os.environ['RABBITMQ_VHOST'] - config.write() except Exception, e: print 'Error loading config file: ', e sys.exit(1) #copy monit files shutil.copy('%s/../../monit/monit-airtime-generic.cfg'%current_script_dir, '/etc/monit/conf.d/') - subprocess.call('sed -i "s/\$admin_pass/%s/g" /etc/monit/conf.d/monit-airtime-generic.cfg' % get_rand_string(), shell=True) + subprocess.call('sed -i "s/\$admin_pass/%s/g" /etc/monit/conf.d/monit-airtime-generic.cfg' % get_rand_string(), shell=True, close_fds=True) shutil.copy('%s/../monit-airtime-media-monitor.cfg'%current_script_dir, '/etc/monit/conf.d/') #create log dir diff --git a/python_apps/media-monitor/media_monitor.py b/python_apps/media-monitor/media_monitor.py index d41bbac93..aabc2e6f5 100644 --- a/python_apps/media-monitor/media_monitor.py +++ b/python_apps/media-monitor/media_monitor.py @@ -4,8 +4,7 @@ import sys import mm2.mm2 as mm2 from std_err_override import LogWriter -global_cfg = '/etc/airtime/media-monitor.cfg' -api_client_cfg = '/etc/airtime/api_client.cfg' +global_cfg = '/etc/airtime/airtime.conf' logging_cfg = '/usr/lib/airtime/media-monitor/logging.cfg' -mm2.main( global_cfg, api_client_cfg, logging_cfg ) +mm2.main( global_cfg, logging_cfg ) diff --git a/python_apps/media-monitor2/media/saas/launcher.py b/python_apps/media-monitor2/media/saas/launcher.py index c561464e3..24a483ade 100644 --- a/python_apps/media-monitor2/media/saas/launcher.py +++ b/python_apps/media-monitor2/media/saas/launcher.py @@ -97,9 +97,9 @@ class MM2(InstanceThread, Loggable): manager.loop() -def launch_instance(name, root, global_cfg, apc_cfg): +def launch_instance(name, root, global_cfg): cfg = { - 'api_client' : apc_cfg, + 'api_client' : global_cfg, 'media_monitor' : global_cfg, } ai = AirtimeInstance(name, root, cfg) diff --git a/python_apps/media-monitor2/mm2.py b/python_apps/media-monitor2/mm2.py index 7c447c060..37b7b9e54 100644 --- a/python_apps/media-monitor2/mm2.py +++ b/python_apps/media-monitor2/mm2.py @@ -4,12 +4,12 @@ import os from media.saas.launcher import setup_global, launch_instance, setup_logger from media.monitor.config import MMConfig -def main(global_config, api_client_config, log_config): +def main(global_config, log_config): """ function to run hosted install """ mm_config = MMConfig(global_config) log = setup_logger( log_config, mm_config['logpath'] ) setup_global(log) - launch_instance('hosted_install', '/', global_config, api_client_config) + launch_instance('hosted_install', '/', global_config) __doc__ = """ Usage: diff --git a/python_apps/media-monitor2/tests/prepare_tests.py b/python_apps/media-monitor2/tests/prepare_tests.py index ebbce89b8..e145c9fa5 100644 --- a/python_apps/media-monitor2/tests/prepare_tests.py +++ b/python_apps/media-monitor2/tests/prepare_tests.py @@ -8,7 +8,7 @@ real_path1 = u'/home/rudi/throwaway/watch/unknown/unknown/ACDC_-_Back_In_Black-s opath = u"/home/rudi/Airtime/python_apps/media-monitor2/tests/" ppath = u"/home/rudi/Airtime/python_apps/media-monitor2/media/" -api_client_path = '/etc/airtime/api_client.cfg' +api_client_path = '/etc/airtime/airtime.conf' # holdover from the time we had a special config for testing sample_config = api_client_path real_config = api_client_path diff --git a/python_apps/pypo/install/pypo-copy-files.py b/python_apps/pypo/install/pypo-copy-files.py index f3e1a428d..8009c6a8d 100644 --- a/python_apps/pypo/install/pypo-copy-files.py +++ b/python_apps/pypo/install/pypo-copy-files.py @@ -81,17 +81,13 @@ try: # load config file try: config = ConfigObj(PATH_INI_FILE) - config['rabbitmq_user'] = os.environ['RABBITMQ_USER'] - config['rabbitmq_password'] = os.environ['RABBITMQ_PASSWORD'] - config['rabbitmq_vhost'] = os.environ['RABBITMQ_VHOST'] - config.write() except Exception, e: print 'Error loading config file: ', e sys.exit(1) #copy monit files shutil.copy('%s/../../monit/monit-airtime-generic.cfg'%current_script_dir, '/etc/monit/conf.d/') - subprocess.call('sed -i "s/\$admin_pass/%s/g" /etc/monit/conf.d/monit-airtime-generic.cfg' % get_rand_string(), shell=True) + subprocess.call('sed -i "s/\$admin_pass/%s/g" /etc/monit/conf.d/monit-airtime-generic.cfg' % get_rand_string(), shell=True, close_fds=True) monit_version = get_monit_version() if version_compare(monit_version, "5.3.0") >= 0: diff --git a/python_apps/pypo/liquidsoap_scripts/liquidsoap_prepare_terminate.py b/python_apps/pypo/liquidsoap_scripts/liquidsoap_prepare_terminate.py index 2f632d9c7..4a2ddc08a 100644 --- a/python_apps/pypo/liquidsoap_scripts/liquidsoap_prepare_terminate.py +++ b/python_apps/pypo/liquidsoap_scripts/liquidsoap_prepare_terminate.py @@ -14,6 +14,6 @@ try: tn.read_all() except Exception, e: - print('Error loading config file: %s', e) + print 'Error loading config file: %s' % e sys.exit() diff --git a/utils/airtime-import/airtime-import.py b/utils/airtime-import/airtime-import.py index 97d4c4e35..0aba7d209 100644 --- a/utils/airtime-import/airtime-import.py +++ b/utils/airtime-import/airtime-import.py @@ -27,7 +27,7 @@ if (os.geteuid() != 0): # loading config file try: - config = ConfigObj('/etc/airtime/media-monitor.cfg') + config = ConfigObj('/etc/airtime/airtime.conf') except Exception, e: print('Error loading config file: %s', e) sys.exit() diff --git a/utils/airtime-silan.py b/utils/airtime-silan.py index d434d2ddb..0cc0d7f8b 100644 --- a/utils/airtime-silan.py +++ b/utils/airtime-silan.py @@ -24,7 +24,7 @@ if os.geteuid() != 0: # loading config file try: - config = ConfigObj('/etc/airtime/media-monitor.cfg') + config = ConfigObj('/etc/airtime/airtime.conf') except Exception, e: print('Error loading config file: %s', e) sys.exit(1) From 8ec6eb0140af90081ab62e2c68ae2a46c091cc91 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Tue, 16 Dec 2014 15:02:53 -0500 Subject: [PATCH 042/168] More work on monitless installer --- airtime_mvc/build/airtime.example.conf | 144 ++++++++++++++++++++++--- installer/install | 51 ++++++--- 2 files changed, 164 insertions(+), 31 deletions(-) diff --git a/airtime_mvc/build/airtime.example.conf b/airtime_mvc/build/airtime.example.conf index cb1a71930..5ca59909c 100644 --- a/airtime_mvc/build/airtime.example.conf +++ b/airtime_mvc/build/airtime.example.conf @@ -34,7 +34,7 @@ # The default is /. # # cache_ahead_hours: How many hours ahead of time the Airtime playout -# engine (PYPO) should cache scheduled media files. +# engine (pypo) should cache scheduled media files. # The default is 1. # [general] @@ -128,31 +128,33 @@ monit_password = airtime # M E D I A M O N I T O R # ---------------------------------------------------------------------- # -# api_client: ??? -# -# bin_dir: Directory containing media monitor binaries -# -# log_dir: Directory containing media monitor log files -# # check_filesystem_events: How long to queue up events performed on the -# files themselves +# files themselves, in seconds +# The default is 5 # -# check_airtime_events: How long to queue metadata input from airtime +# check_airtime_events: How long to queue metadata input from airtime, +# in seconds +# The default is 30 # -# touch_interval +# touch_interval: +# The default is 5 # -# chunking_number +# chunking_number: +# The default is 450 # -# request_max_wait +# request_max_wait: The maximum request wait time, in seconds +# The default is 3.0 # -# rmq_event_wait +# rmq_event_wait: The RabbitMQ event wait time, in seconds +# The default is 0.1 # -# logpath +# logpath: The media monitor log file path +# The default is '/var/log/airtime/media-monitor/media-monitor.log' # -# index_path +# index_path: The media monitor index path +# The default is '/var/tmp/airtime/media-monitor/last_index' # [media-monitor] -api_client = "airtime" check_filesystem_events = 5 check_airtime_events = 30 touch_interval = 5 @@ -165,6 +167,116 @@ index_path = '/var/tmp/airtime/media-monitor/last_index' # ---------------------------------------------------------------------- +# ---------------------------------------------------------------------- +# P Y P O +# ---------------------------------------------------------------------- +# +# api_client: Set the type of client you are using. +# Currently supported types: +# 1) 'obp' = Open Broadcast Platform +# 2) 'airtime' +# The default is 'airtime' +# +# cache_dir: The directory for pypo cache files +# The default is '/var/tmp/airtime/pypo/cache/' +# +# file_dir: The directory for pypo media files +# The default is '/var/tmp/airtime/pypo/files/' +# +# tmp_dir: The directory for pypo temp files +# The default is '/var/tmp/airtime/pypo/tmp/' +# +# cache_base_dir: The pypo base cache directory +# The default is '/var/tmp/airtime/pypo/' +# +# bin_dir: The directory containing pypo binaries +# The default is '/usr/lib/airtime/pypo' +# +# log_base_dir: The base directory for Airtime log files +# The default is '/var/log/airtime' +# +# pypo_log_dir: The directory for pypo log files +# The default is '/var/log/airtime/pypo' +# +# liquidsoap_log_dir: The directory for liquidsoap log files +# The default is '/var/log/airtime/pypo-liquidsoap' +# +# ls_host: Liquidsoap connection host +# The default is '127.0.0.1' +# +# ls_port: Liquidsoap connection port +# The default is '1234' +# +# poll_interval: Poll interval in seconds +# +# This will rarely need to be changed because any schedule +# changes are automatically sent to pypo immediately +# This is how often the poll script downloads new schedules +# and files from the server in the event that no changes +# are made to the schedule +# The default is 3600 +# +# push_interval: Push interval in seconds +# +# This is how often the push script checks whether it has +# something new to push to liquidsoap +# The default is 1 +# +# cue_style: Can be set to 'pre' or 'otf' +# 'pre' cues while playlist preparation +# 'otf' (on the fly) cues while loading into ls +# (needs the post_processor patch) +# The default is 'pre' +# +# record_bitrate: The bitrate for recordings +# The default is 256 +# +# record_samplerate: The samplerate for recordings +# The default is 44100 +# +# record_channels: The number of channels for recordings +# The default is 2 +# +# record_sample_size: The sample size for recordings +# The default is 16 +# +# record_file_type: Can be either ogg|mp3, mp3 recording requires +# installation of the package "lame" +# The default is ogg +# +# base_recorded_files: Base path to store recordered shows at +# The default is '/var/tmp/airtime/show-recorder/' +# +[pypo] +api_client = 'airtime' +# ---------- Cache directories - !! Include trailing slash !! ---------- +cache_dir = '/var/tmp/airtime/pypo/cache/' +file_dir = '/var/tmp/airtime/pypo/files/' +tmp_dir = '/var/tmp/airtime/pypo/tmp/' +# ------- Setup directories - !! Don't include trailing slash !! ------- +cache_base_dir = '/var/tmp/airtime/pypo' +bin_dir = '/usr/lib/airtime/pypo' +log_base_dir = '/var/log/airtime' +pypo_log_dir = '/var/log/airtime/pypo' +liquidsoap_log_dir = '/var/log/airtime/pypo-liquidsoap' +# ------------------------ Liquidsoap Settings ------------------------- +ls_host = '127.0.0.1' +ls_port = '1234' +# -------------------------- Pypo Preferences -------------------------- +poll_interval = 3600 +push_interval = 1 +cue_style = 'pre' +# ---------------------- Recorded Audio Settings ----------------------- +record_bitrate = 256 +record_samplerate = 44100 +record_channels = 2 +record_sample_size = 16 +record_file_type = 'ogg' +base_recorded_files = '/var/tmp/airtime/show-recorder/' +# +# ---------------------------------------------------------------------- + + # ---------------------------------------------------------------------- # S O U N D C L O U D # ---------------------------------------------------------------------- diff --git a/installer/install b/installer/install index c2db7eae5..603890abf 100755 --- a/installer/install +++ b/installer/install @@ -314,6 +314,7 @@ if [ "$icecast" = "t" ]; then set -e fi + loud "\n-----------------------------------------------------" loud " * Installing Python Apps * " loud "-----------------------------------------------------" @@ -324,10 +325,6 @@ loudCmd "$AIRTIMEROOT/python_apps/python-virtualenv/virtualenv-install.sh" verbose "\n * Installing liquidsoap..." loudCmd "apt-get -y --force-yes install liquidsoap" -# ------------ Activate virtualenv ------------ -virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/" -. ${virtualenv_bin}activate - verbose "\n * Installing API client..." cp -R ${AIRTIMEROOT}/python_apps/api_clients /usr/lib/airtime/api_clients @@ -335,7 +332,7 @@ verbose "\n * Copying media-monitor files..." cp -R ${AIRTIMEROOT}/python_apps/media-monitor /usr/lib/airtime/media-monitor cp -R ${AIRTIMEROOT}/python_apps/media-monitor2 /usr/lib/airtime/media-monitor/mm2 -sed -e "s@WEB_USER@${web_user}@g" /usr/lib/airtime/media-monitor/airtime-media-monitor-init-d > /etc/init.d/airtime-media-monitor +sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/media-monitor/airtime-media-monitor-init-d > /etc/init.d/airtime-media-monitor touch /etc/sudoers.d/airtime-media-monitor_${web_user} echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-media-monitor, \ /sbin/stop airtime-media-monitor, \ @@ -343,19 +340,23 @@ echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-media-monitor, \ /sbin/status airtime-media-monitor" > /etc/sudoers.d/airtime-media-monitor_${web_user} verbose "\n * Copying pypo files..." -python $AIRTIMEROOT/python_apps/pypo/install/pypo-copy-files.py +cp -R ${AIRTIMEROOT}/python_apps/pypo /usr/lib/airtime/pypo/bin/ -verbose "\n * Initializing media monitor..." -python $AIRTIMEROOT/python_apps/media-monitor/install/media-monitor-initialize.py +sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/pypo/bin/airtime-playout-init-d > /etc/init.d/airtime-playout +touch /etc/sudoers.d/airtime-playout_${web_user} +echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-playout, \ + /sbin/stop airtime-playout, \ + /sbin/restart airtime-playout, \ + /sbin/status airtime-playout" > /etc/sudoers.d/airtime-playout_${web_user} -verbose "\n * Initializing pypo..." -python $AIRTIMEROOT/python_apps/pypo/install/pypo-initialize.py +sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/pypo/bin/airtime-liquidsoap-init-d > /etc/init.d/airtime-liquidsoap +touch /etc/sudoers.d/airtime-liquidsoap_${web_user} +echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-liquidsoap, \ + /sbin/stop airtime-liquidsoap, \ + /sbin/restart airtime-liquidsoap, \ + /sbin/status airtime-liquidsoap" > /etc/sudoers.d/airtime-liquidsoap_${web_user} -loudCmd "service airtime-media-monitor restart 2>/dev/null" -loudCmd "service airtime-playout restart 2>/dev/null" - -deactivate -# ------------ Deactivate virtualenv ------------ +# Do we need to run the init scripts for media-monitor and pypo here? if [ ! -d /var/log/airtime ]; then loud "\n-----------------------------------------------------" @@ -365,9 +366,29 @@ if [ ! -d /var/log/airtime ]; then verbose "\n * Creating /var/log/airtime..." mkdir -p /var/log/airtime mkdir -p /var/log/airtime/media-monitor + mkdir -p /var/log/airtime/pypo + mkdir -p /var/log/airtime/pypo-liquidsoap + + verbose "\n * Creating /var/tmp/airtime..." + mkdir -p /var/tmp/airtime/media-monitor + mkdir -p /var/tmp/airtime/pypo/cache/ + mkdir -p /var/tmp/airtime/pypo/files/ + mkdir -p /var/tmp/airtime/pypo/tmp/ + mkdir -p /var/tmp/airtime/show-recorder/ + + verbose "\n * Setting permissions on /var/log/airtime..." chmod -R a+x /var/log/airtime chown -R ${web_user}:${web_user} /var/log/airtime/ + + verbose "\n * Setting permissions on /var/tmp/airtime..." + chmod -R a+x /var/tmp/airtime + chmod 755 /usr/lib/airtime/pypo/bin/liquidsoap_scripts/notify.sh + chown -R ${web_user}:${web_user} /var/tmp/airtime/ + chown -R ${web_user}:${web_user} /usr/lib/airtime/ + + verbose "\n * Copying logrotate files..." cp ${AIRTIMEROOT}/airtime_mvc/build/airtime-php.logrotate /etc/logrotate.d/airtime-php + cp /usr/lib/airtime/pypo/bin/liquidsoap_scripts/airtime-liquidsoap.logrotate /etc/logrotate.d/airtime-liquidsoap fi loud "\n-----------------------------------------------------" From 8a353f970c262cbb6d5c780becebcf5ddf4ffd2b Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Tue, 16 Dec 2014 15:45:35 -0500 Subject: [PATCH 043/168] More work on monitless installer --- installer/install | 18 ++++++++++++++---- python_apps/pypo/airtime-liquidsoap-init-d | 4 ++-- python_apps/pypo/airtime-playout-init-d | 2 +- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/installer/install b/installer/install index 603890abf..02da1ffb3 100755 --- a/installer/install +++ b/installer/install @@ -319,18 +319,20 @@ loud "\n-----------------------------------------------------" loud " * Installing Python Apps * " loud "-----------------------------------------------------" -verbose "\n * Installing virtualenv..." -loudCmd "$AIRTIMEROOT/python_apps/python-virtualenv/virtualenv-install.sh" - -verbose "\n * Installing liquidsoap..." loudCmd "apt-get -y --force-yes install liquidsoap" +verbose "\n * Creating /usr/lib/airtime..." +mkdir -p /usr/lib/airtime +verbose "...Done" + verbose "\n * Installing API client..." cp -R ${AIRTIMEROOT}/python_apps/api_clients /usr/lib/airtime/api_clients +verbose "...Done" verbose "\n * Copying media-monitor files..." cp -R ${AIRTIMEROOT}/python_apps/media-monitor /usr/lib/airtime/media-monitor cp -R ${AIRTIMEROOT}/python_apps/media-monitor2 /usr/lib/airtime/media-monitor/mm2 +verbose "...Done" sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/media-monitor/airtime-media-monitor-init-d > /etc/init.d/airtime-media-monitor touch /etc/sudoers.d/airtime-media-monitor_${web_user} @@ -340,8 +342,11 @@ echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-media-monitor, \ /sbin/status airtime-media-monitor" > /etc/sudoers.d/airtime-media-monitor_${web_user} verbose "\n * Copying pypo files..." +mkdir -p /usr/lib/airtime/pypo cp -R ${AIRTIMEROOT}/python_apps/pypo /usr/lib/airtime/pypo/bin/ +verbose "...Done" +verbose "\n * Creating init files..." sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/pypo/bin/airtime-playout-init-d > /etc/init.d/airtime-playout touch /etc/sudoers.d/airtime-playout_${web_user} echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-playout, \ @@ -349,12 +354,17 @@ echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-playout, \ /sbin/restart airtime-playout, \ /sbin/status airtime-playout" > /etc/sudoers.d/airtime-playout_${web_user} +ln -sf /usr/bin/airtime-liquidsoap /usr/bin/liquidsoap sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/pypo/bin/airtime-liquidsoap-init-d > /etc/init.d/airtime-liquidsoap touch /etc/sudoers.d/airtime-liquidsoap_${web_user} echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-liquidsoap, \ /sbin/stop airtime-liquidsoap, \ /sbin/restart airtime-liquidsoap, \ /sbin/status airtime-liquidsoap" > /etc/sudoers.d/airtime-liquidsoap_${web_user} +verbose "...Done" + +chmod 700 /etc/init.d/airtime-* +initctl reload-configuration # Do we need to run the init scripts for media-monitor and pypo here? diff --git a/python_apps/pypo/airtime-liquidsoap-init-d b/python_apps/pypo/airtime-liquidsoap-init-d index f8b749c2b..a7d85a745 100755 --- a/python_apps/pypo/airtime-liquidsoap-init-d +++ b/python_apps/pypo/airtime-liquidsoap-init-d @@ -9,8 +9,8 @@ # Short-Description: Liquidsoap daemon ### END INIT INFO -USERID=pypo -GROUPID=pypo +USERID=WEB_USER +GROUPID=WEB_USER NAME="Liquidsoap Playout Engine" DAEMON=/usr/lib/airtime/pypo/bin/airtime-liquidsoap diff --git a/python_apps/pypo/airtime-playout-init-d b/python_apps/pypo/airtime-playout-init-d index 1d760d43a..cf3cbfd91 100755 --- a/python_apps/pypo/airtime-playout-init-d +++ b/python_apps/pypo/airtime-playout-init-d @@ -9,7 +9,7 @@ # Short-Description: Manage airtime-playout daemon ### END INIT INFO -USERID=root +USERID=WEB_USER NAME="Airtime Scheduler" DAEMON=/usr/lib/airtime/pypo/bin/airtime-playout From bfe9d4f2c5e2b55bd7ad1a4e3420ce20943fcfd0 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Tue, 16 Dec 2014 16:00:23 -0500 Subject: [PATCH 044/168] More work on monitless installer --- installer/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installer/install b/installer/install index 02da1ffb3..d8784c0a8 100755 --- a/installer/install +++ b/installer/install @@ -354,7 +354,7 @@ echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-playout, \ /sbin/restart airtime-playout, \ /sbin/status airtime-playout" > /etc/sudoers.d/airtime-playout_${web_user} -ln -sf /usr/bin/airtime-liquidsoap /usr/bin/liquidsoap +ln -sf /usr/bin/liquidsoap /usr/bin/airtime-liquidsoap sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/pypo/bin/airtime-liquidsoap-init-d > /etc/init.d/airtime-liquidsoap touch /etc/sudoers.d/airtime-liquidsoap_${web_user} echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-liquidsoap, \ From 4043ebfd25d99955c7ff1d1b46a8f49cb20957a5 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Tue, 16 Dec 2014 16:26:58 -0500 Subject: [PATCH 045/168] More work on monitless installer --- .../application/configs/config-check.php | 2 +- installer/install | 33 +++++++++++-------- .../airtime-media-monitor-init-d | 2 +- python_apps/pypo/airtime-liquidsoap-init-d | 2 +- python_apps/pypo/airtime-playout-init-d | 2 +- 5 files changed, 24 insertions(+), 17 deletions(-) diff --git a/airtime_mvc/application/configs/config-check.php b/airtime_mvc/application/configs/config-check.php index 58176f355..b7b28e72e 100644 --- a/airtime_mvc/application/configs/config-check.php +++ b/airtime_mvc/application/configs/config-check.php @@ -130,7 +130,7 @@ $result = $r && $database; } else { ?>

- Your Airtime station is up and running! + Your Airtime station is up and running! Get started by logging in with the default username and password: 'admin'/'admin'

/etc/init.d/airtime-media-monitor touch /etc/sudoers.d/airtime-media-monitor_${web_user} echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-media-monitor, \ - /sbin/stop airtime-media-monitor, \ - /sbin/restart airtime-media-monitor, \ - /sbin/status airtime-media-monitor" > /etc/sudoers.d/airtime-media-monitor_${web_user} +/sbin/stop airtime-media-monitor, \ +/sbin/restart airtime-media-monitor, \ +/sbin/status airtime-media-monitor" > /etc/sudoers.d/airtime-media-monitor_${web_user} verbose "\n * Copying pypo files..." mkdir -p /usr/lib/airtime/pypo @@ -349,21 +356,21 @@ verbose "...Done" verbose "\n * Creating init files..." sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/pypo/bin/airtime-playout-init-d > /etc/init.d/airtime-playout touch /etc/sudoers.d/airtime-playout_${web_user} -echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-playout, \ - /sbin/stop airtime-playout, \ - /sbin/restart airtime-playout, \ - /sbin/status airtime-playout" > /etc/sudoers.d/airtime-playout_${web_user} +echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-playout, \ +/sbin/stop airtime-playout, \ +/sbin/restart airtime-playout, \ +/sbin/status airtime-playout" > /etc/sudoers.d/airtime-playout_${web_user} ln -sf /usr/bin/liquidsoap /usr/bin/airtime-liquidsoap sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/pypo/bin/airtime-liquidsoap-init-d > /etc/init.d/airtime-liquidsoap touch /etc/sudoers.d/airtime-liquidsoap_${web_user} echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-liquidsoap, \ - /sbin/stop airtime-liquidsoap, \ - /sbin/restart airtime-liquidsoap, \ - /sbin/status airtime-liquidsoap" > /etc/sudoers.d/airtime-liquidsoap_${web_user} +/sbin/stop airtime-liquidsoap, \ +/sbin/restart airtime-liquidsoap, \ +/sbin/status airtime-liquidsoap" > /etc/sudoers.d/airtime-liquidsoap_${web_user} verbose "...Done" -chmod 700 /etc/init.d/airtime-* +chmod 755 /etc/init.d/airtime-* initctl reload-configuration # Do we need to run the init scripts for media-monitor and pypo here? diff --git a/python_apps/media-monitor/airtime-media-monitor-init-d b/python_apps/media-monitor/airtime-media-monitor-init-d index f1fb319de..b5636e70b 100755 --- a/python_apps/media-monitor/airtime-media-monitor-init-d +++ b/python_apps/media-monitor/airtime-media-monitor-init-d @@ -14,7 +14,7 @@ GROUPID=WEB_USER NAME=Airtime\ Media\ Monitor DAEMON=/usr/lib/airtime/media-monitor/airtime-media-monitor -PIDFILE=/var/run/airtime-media-monitor.pid +PIDFILE=/var/run/airtime/airtime-media-monitor.pid start () { start-stop-daemon --start --background --quiet --chuid $USERID:$GROUPID \ diff --git a/python_apps/pypo/airtime-liquidsoap-init-d b/python_apps/pypo/airtime-liquidsoap-init-d index a7d85a745..31144cc92 100755 --- a/python_apps/pypo/airtime-liquidsoap-init-d +++ b/python_apps/pypo/airtime-liquidsoap-init-d @@ -14,7 +14,7 @@ GROUPID=WEB_USER NAME="Liquidsoap Playout Engine" DAEMON=/usr/lib/airtime/pypo/bin/airtime-liquidsoap -PIDFILE=/var/run/airtime-liquidsoap.pid +PIDFILE=/var/run/airtime/airtime-liquidsoap.pid EXEC='/usr/bin/airtime-liquidsoap' start () { diff --git a/python_apps/pypo/airtime-playout-init-d b/python_apps/pypo/airtime-playout-init-d index cf3cbfd91..07dfc4476 100755 --- a/python_apps/pypo/airtime-playout-init-d +++ b/python_apps/pypo/airtime-playout-init-d @@ -13,7 +13,7 @@ USERID=WEB_USER NAME="Airtime Scheduler" DAEMON=/usr/lib/airtime/pypo/bin/airtime-playout -PIDFILE=/var/run/airtime-playout.pid +PIDFILE=/var/run/airtime/airtime-playout.pid start () { mkdir -p /var/log/airtime/pypo From ad4b61e89f8e6f8e7ad09abeb228440be90e5ccf Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Tue, 16 Dec 2014 19:05:17 -0500 Subject: [PATCH 046/168] More work on monitless installer --- installer/install | 8 ++++++-- python_apps/api_clients/api_client.py | 1 + python_apps/pypo/airtime-liquidsoap-init-d | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/installer/install b/installer/install index 50026996f..f573c60ef 100755 --- a/installer/install +++ b/installer/install @@ -319,7 +319,7 @@ loud "\n-----------------------------------------------------" loud " * Installing Airtime Services * " loud "-----------------------------------------------------" -loudCmd "apt-get -y --force-yes install liquidsoap python python-virtaulenv" +loudCmd "apt-get -y --force-yes install liquidsoap python python-virtualenv" loudCmd "$AIRTIMEROOT/python_apps/python-virtualenv/virtualenv-install.sh" verbose "\n * Creating /usr/lib/airtime..." @@ -332,7 +332,11 @@ chmod 755 /run/airtime chown -R ${web_user}:${web_user} /run/airtime verbose "...Done" -verbose "\n * Installing API client..." +verbose "\n * Cpoying logging files..." +cp -R ${AIRTIMEROOT}/python_apps/std_err_override /usr/lib/airtime/std_err_override +verbose "...Done" + +verbose "\n * Cpoying API client files..." cp -R ${AIRTIMEROOT}/python_apps/api_clients /usr/lib/airtime/api_clients verbose "...Done" diff --git a/python_apps/api_clients/api_client.py b/python_apps/api_clients/api_client.py index 6aaa0a7d0..8d35a11be 100644 --- a/python_apps/api_clients/api_client.py +++ b/python_apps/api_clients/api_client.py @@ -213,6 +213,7 @@ class AirtimeApiClient(object): try: self.config = ConfigObj(config_path) self.config.update(api_config) + self.logger.info(json.dumps(self.config)) self.services = RequestProvider(self.config) except Exception, e: self.logger.error('Error loading config file: %s', config_path) diff --git a/python_apps/pypo/airtime-liquidsoap-init-d b/python_apps/pypo/airtime-liquidsoap-init-d index 31144cc92..181dbcc83 100755 --- a/python_apps/pypo/airtime-liquidsoap-init-d +++ b/python_apps/pypo/airtime-liquidsoap-init-d @@ -31,7 +31,7 @@ start () { #start-stop-daemon --start --quiet --chuid $USERID:$GROUPID \ #--pidfile $PIDFILE --nicelevel -15 --startas $DAEMON start-stop-daemon --start --quiet --chuid $USERID:$GROUPID \ - --nicelevel -15 --startas $DAEMON --exec $EXEC + --startas $DAEMON --exec $EXEC } stop () { From 8a2c15528926b5527a5b486000549088750e3d18 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Tue, 16 Dec 2014 19:42:07 -0500 Subject: [PATCH 047/168] More work on monitless installer --- python_apps/api_clients/api_client.py | 20 +++++++++---------- .../airtimefilemonitor/airtimenotifier.py | 2 +- .../media-monitor2/media/monitor/airtime.py | 6 +++--- .../media-monitor2/media/saas/launcher.py | 16 +++++++-------- python_apps/pypo/pypocli.py | 15 +++++++------- 5 files changed, 30 insertions(+), 29 deletions(-) diff --git a/python_apps/api_clients/api_client.py b/python_apps/api_clients/api_client.py index 8d35a11be..021967031 100644 --- a/python_apps/api_clients/api_client.py +++ b/python_apps/api_clients/api_client.py @@ -183,17 +183,17 @@ class RequestProvider(object): def __init__(self, cfg): self.config = cfg self.requests = {} - if self.config["base_dir"].startswith("/"): - self.config["base_dir"] = self.config["base_dir"][1:] + if self.config["general"]["base_dir"].startswith("/"): + self.config["general"]["base_dir"] = self.config["general"]["base_dir"][1:] self.url = ApcUrl("http://%s:%s/%s%s/%s" \ - % (self.config["host"], str(self.config["base_port"]), - self.config["base_dir"], self.config["api_base"], + % (self.config["general"]["base_url"], str(self.config["general"]["base_port"]), + self.config["general"]["base_dir"], self.config["api_base"], '%%action%%')) # Now we must discover the possible actions actions = dict( (k,v) for k,v in cfg.iteritems() if '%%api_key%%' in v) for action_name, action_value in actions.iteritems(): new_url = self.url.params(action=action_value).params( - api_key=self.config['api_key']) + api_key=self.config["general"]['api_key']) self.requests[action_name] = ApiRequest(action_name, new_url) def available_requests(self) : return self.requests.keys() @@ -321,13 +321,13 @@ class AirtimeApiClient(object): def construct_url(self,config_action_key): """Constructs the base url for every request""" # TODO : Make other methods in this class use this this method. - if self.config["base_dir"].startswith("/"): - self.config["base_dir"] = self.config["base_dir"][1:] + if self.config["general"]["base_dir"].startswith("/"): + self.config["general"]["base_dir"] = self.config["general"]["base_dir"][1:] url = "http://%s:%s/%s%s/%s" % \ - (self.config["host"], str(self.config["base_port"]), - self.config["base_dir"], self.config["api_base"], + (self.config["general"]["base_url"], str(self.config["general"]["base_port"]), + self.config["general"]["base_dir"], self.config["api_base"], self.config[config_action_key]) - url = url.replace("%%api_key%%", self.config["api_key"]) + url = url.replace("%%api_key%%", self.config["general"]["api_key"]) return url """ diff --git a/python_apps/media-monitor/airtimefilemonitor/airtimenotifier.py b/python_apps/media-monitor/airtimefilemonitor/airtimenotifier.py index 1077f5abb..dc27a36ec 100644 --- a/python_apps/media-monitor/airtimefilemonitor/airtimenotifier.py +++ b/python_apps/media-monitor/airtimefilemonitor/airtimenotifier.py @@ -45,7 +45,7 @@ class AirtimeNotifier(Notifier): try: schedule_exchange = Exchange("airtime-media-monitor", "direct", durable=True, auto_delete=True) schedule_queue = Queue("media-monitor", exchange=schedule_exchange, key="filesystem") - self.connection = BrokerConnection(self.config.cfg["rabbitmq_host"], self.config.cfg["rabbitmq_user"], self.config.cfg["rabbitmq_password"], self.config.cfg["rabbitmq_vhost"]) + self.connection = BrokerConnection(self.config.cfg["rabbitmq"]["rabbitmq_host"], self.config.cfg["rabbitmq"]["rabbitmq_user"], self.config.cfg["rabbitmq"]["rabbitmq_password"], self.config.cfg["rabbitmq"]["rabbitmq_vhost"]) channel = self.connection.channel() consumer = Consumer(channel, schedule_queue) consumer.register_callback(self.handle_message) diff --git a/python_apps/media-monitor2/media/monitor/airtime.py b/python_apps/media-monitor2/media/monitor/airtime.py index d1124449a..4640fe8b4 100644 --- a/python_apps/media-monitor2/media/monitor/airtime.py +++ b/python_apps/media-monitor2/media/monitor/airtime.py @@ -38,9 +38,9 @@ class AirtimeNotifier(Loggable): durable=True, auto_delete=True) schedule_queue = Queue("media-monitor", exchange=schedule_exchange, key="filesystem") - self.connection = BrokerConnection(self.cfg["rabbitmq_host"], - self.cfg["rabbitmq_user"], self.cfg["rabbitmq_password"], - self.cfg["rabbitmq_vhost"]) + self.connection = BrokerConnection(self.cfg["rabbitmq"]["rabbitmq_host"], + self.cfg["rabbitmq"]["rabbitmq_user"], self.cfg["rabbitmq"]["rabbitmq_password"], + self.cfg["rabbitmq"]["rabbitmq_vhost"]) channel = self.connection.channel() self.simple_queue = SimpleQueue(channel, schedule_queue) diff --git a/python_apps/media-monitor2/media/saas/launcher.py b/python_apps/media-monitor2/media/saas/launcher.py index 24a483ade..496addcb4 100644 --- a/python_apps/media-monitor2/media/saas/launcher.py +++ b/python_apps/media-monitor2/media/saas/launcher.py @@ -23,10 +23,10 @@ class MM2(InstanceThread, Loggable): def index_create(self, index_create_attempt=False): config = user().mm_config if not index_create_attempt: - if not os.path.exists(config['index_path']): + if not os.path.exists(config['media-monitor']['index_path']): self.logger.info("Attempting to create index file:...") try: - with open(config['index_path'], 'w') as f: f.write(" ") + with open(config['media-monitor']['index_path'], 'w') as f: f.write(" ") except Exception as e: self.logger.info("Failed to create index file with exception: %s" \ % str(e)) @@ -36,8 +36,8 @@ class MM2(InstanceThread, Loggable): else: self.logger.info("Already tried to create index. Will not try again ") - if not os.path.exists(config['index_path']): - raise CouldNotCreateIndexFile(config['index_path']) + if not os.path.exists(config['media-monitor']['index_path']): + raise CouldNotCreateIndexFile(config['media-monitor']['index_path']) def run(self): self.index_create() @@ -45,8 +45,8 @@ class MM2(InstanceThread, Loggable): apiclient = apc() config = user().mm_config WatchSyncer(signal=getsig('watch'), - chunking_number=config['chunking_number'], - timeout=config['request_max_wait']) + chunking_number=config['media-monitor']['chunking_number'], + timeout=config['media-monitor']['request_max_wait']) airtime_receiver = AirtimeMessageReceiver(config,manager) airtime_notifier = AirtimeNotifier(config, airtime_receiver) @@ -76,14 +76,14 @@ class MM2(InstanceThread, Loggable): else: self.logger.info("Failed to add watch on %s" % str(watch_dir)) EventDrainer(airtime_notifier, - interval=float(config['rmq_event_wait'])) + interval=float(config['media-monitor']['rmq_event_wait'])) # Launch the toucher that updates the last time when the script was # ran every n seconds. # TODO : verify that this does not interfere with bootstrapping because the # toucher thread might update the last_ran variable too fast ToucherThread(path=user().touch_file_path(), - interval=int(config['touch_interval'])) + interval=int(config['media-monitor']['touch_interval'])) success = False while not success: diff --git a/python_apps/pypo/pypocli.py b/python_apps/pypo/pypocli.py index e0208e83a..9dac72105 100644 --- a/python_apps/pypo/pypocli.py +++ b/python_apps/pypo/pypocli.py @@ -137,7 +137,7 @@ configure_locale() # loading config file try: - config = ConfigObj('/etc/airtime/pypo.cfg') + config = ConfigObj('/etc/airtime/airtime.conf') except Exception, e: logger.error('Error loading config file: %s', e) sys.exit(1) @@ -241,8 +241,8 @@ if __name__ == '__main__': telnet_lock = Lock() - ls_host = config['ls_host'] - ls_port = config['ls_port'] + ls_host = config['pypo']['ls_host'] + ls_port = config['pypo']['ls_port'] liquidsoap_startup_test() @@ -269,19 +269,20 @@ if __name__ == '__main__': """ media_q = Queue() - pmh = PypoMessageHandler(pypoFetch_q, recorder_q, config) + # Pass only the configuration sections needed; PypoMessageHandler only needs rabbitmq settings + pmh = PypoMessageHandler(pypoFetch_q, recorder_q, config['rabbitmq']) pmh.daemon = True pmh.start() - pfile = PypoFile(media_q, config) + pfile = PypoFile(media_q, config['pypo']) pfile.daemon = True pfile.start() - pf = PypoFetch(pypoFetch_q, pypoPush_q, media_q, telnet_lock, pypo_liquidsoap, config) + pf = PypoFetch(pypoFetch_q, pypoPush_q, media_q, telnet_lock, pypo_liquidsoap, config['pypo']) pf.daemon = True pf.start() - pp = PypoPush(pypoPush_q, telnet_lock, pypo_liquidsoap, config) + pp = PypoPush(pypoPush_q, telnet_lock, pypo_liquidsoap, config['pypo']) pp.daemon = True pp.start() From 51a95fb989051f9b8b4a601d621046dfdfaee7bc Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Tue, 16 Dec 2014 20:12:20 -0500 Subject: [PATCH 048/168] More work on monitless installer --- python_apps/media-monitor/monit-airtime-media-monitor.cfg | 2 +- python_apps/monit/monit-airtime-rabbitmq-server.cfg | 2 +- .../pypo/liquidsoap_scripts/airtime-liquidsoap.logrotate | 2 +- python_apps/pypo/liquidsoap_scripts/ls_script.liq | 2 +- python_apps/pypo/monit-airtime-playout.cfg | 2 +- python_apps/pypo/monit-pre530-airtime-liquidsoap.cfg | 2 +- utils/rabbitmq-update-pid.sh | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/python_apps/media-monitor/monit-airtime-media-monitor.cfg b/python_apps/media-monitor/monit-airtime-media-monitor.cfg index 7001a3f5a..51a632f21 100644 --- a/python_apps/media-monitor/monit-airtime-media-monitor.cfg +++ b/python_apps/media-monitor/monit-airtime-media-monitor.cfg @@ -4,6 +4,6 @@ set httpd port 2812 check process airtime-media-monitor - with pidfile "/var/run/airtime-media-monitor.pid" + with pidfile "/var/run/airtime/airtime-media-monitor.pid" start program = "/etc/init.d/airtime-media-monitor start" with timeout 10 seconds stop program = "/etc/init.d/airtime-media-monitor stop" diff --git a/python_apps/monit/monit-airtime-rabbitmq-server.cfg b/python_apps/monit/monit-airtime-rabbitmq-server.cfg index dac2463c8..2ee2455a5 100644 --- a/python_apps/monit/monit-airtime-rabbitmq-server.cfg +++ b/python_apps/monit/monit-airtime-rabbitmq-server.cfg @@ -2,6 +2,6 @@ set logfile /var/log/monit.log check process rabbitmq-server - with pidfile "/var/run/rabbitmq.pid" + with pidfile "/var/run/airtime/rabbitmq.pid" start program = "/bin/bash -c '/etc/init.d/rabbitmq-server start; /usr/lib/airtime/utils/rabbitmq-update-pid.sh'" stop program = "/etc/init.d/rabbitmq-server stop" diff --git a/python_apps/pypo/liquidsoap_scripts/airtime-liquidsoap.logrotate b/python_apps/pypo/liquidsoap_scripts/airtime-liquidsoap.logrotate index 9e0efed20..c08f5491c 100644 --- a/python_apps/pypo/liquidsoap_scripts/airtime-liquidsoap.logrotate +++ b/python_apps/pypo/liquidsoap_scripts/airtime-liquidsoap.logrotate @@ -6,6 +6,6 @@ notifempty sharedscripts postrotate - start-stop-daemon --stop --signal USR1 --quiet --pidfile /var/run/airtime-liquidsoap.pid + start-stop-daemon --stop --signal USR1 --quiet --pidfile /var/run/airtime/airtime-liquidsoap.pid endscript } diff --git a/python_apps/pypo/liquidsoap_scripts/ls_script.liq b/python_apps/pypo/liquidsoap_scripts/ls_script.liq index 86770458b..49c84b62d 100644 --- a/python_apps/pypo/liquidsoap_scripts/ls_script.liq +++ b/python_apps/pypo/liquidsoap_scripts/ls_script.liq @@ -3,7 +3,7 @@ set("log.file.path", log_file) set("server.telnet", true) set("server.telnet.port", 1234) -set("init.daemon.pidfile.path", "/var/run/airtime-liquidsoap.pid") +set("init.daemon.pidfile.path", "/var/run/airtime/airtime-liquidsoap.pid") %include "library/pervasives.liq" diff --git a/python_apps/pypo/monit-airtime-playout.cfg b/python_apps/pypo/monit-airtime-playout.cfg index 453f4efec..9f0642bab 100644 --- a/python_apps/pypo/monit-airtime-playout.cfg +++ b/python_apps/pypo/monit-airtime-playout.cfg @@ -4,6 +4,6 @@ set httpd port 2812 check process airtime-playout - with pidfile "/var/run/airtime-playout.pid" + with pidfile "/var/run/airtime/airtime-playout.pid" start program = "/etc/init.d/airtime-playout start" with timeout 5 seconds stop program = "/etc/init.d/airtime-playout stop" diff --git a/python_apps/pypo/monit-pre530-airtime-liquidsoap.cfg b/python_apps/pypo/monit-pre530-airtime-liquidsoap.cfg index 4b2265f18..0cf179831 100644 --- a/python_apps/pypo/monit-pre530-airtime-liquidsoap.cfg +++ b/python_apps/pypo/monit-pre530-airtime-liquidsoap.cfg @@ -3,6 +3,6 @@ set httpd port 2812 - check process airtime-liquidsoap with pidfile "/var/run/airtime-liquidsoap.pid" + check process airtime-liquidsoap with pidfile "/var/run/airtime/airtime-liquidsoap.pid" start program = "/etc/init.d/airtime-liquidsoap start" with timeout 5 seconds stop program = "/etc/init.d/airtime-liquidsoap stop" diff --git a/utils/rabbitmq-update-pid.sh b/utils/rabbitmq-update-pid.sh index a756c0d1c..435939196 100755 --- a/utils/rabbitmq-update-pid.sh +++ b/utils/rabbitmq-update-pid.sh @@ -12,4 +12,4 @@ else fi echo "RabbitMQ PID: $rabbitmqpid" -echo "$rabbitmqpid" > /var/run/rabbitmq.pid +echo "$rabbitmqpid" > /var/run/airtime/rabbitmq.pid From eefe8910cf786389d50de5388f38815fc87751e9 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Tue, 16 Dec 2014 21:27:37 -0500 Subject: [PATCH 049/168] More work on monitless installer --- installer/bin/requirements-ubuntu-saucy.apt | 64 +++++++++++++++++++ installer/bin/requirements-ubuntu-trusty.apt | 46 +++++++++++++ installer/install | 2 +- python_apps/api_clients/api_client.py | 1 - .../media-monitor2/media/monitor/airtime.py | 6 +- .../media-monitor2/media/monitor/config.py | 2 +- .../media/saas/airtimeinstance.py | 2 +- python_apps/media-monitor2/mm2.py | 2 +- python_apps/pypo/pypomessagehandler.py | 8 +-- 9 files changed, 121 insertions(+), 12 deletions(-) create mode 100644 installer/bin/requirements-ubuntu-saucy.apt create mode 100644 installer/bin/requirements-ubuntu-trusty.apt diff --git a/installer/bin/requirements-ubuntu-saucy.apt b/installer/bin/requirements-ubuntu-saucy.apt new file mode 100644 index 000000000..0d818a8dd --- /dev/null +++ b/installer/bin/requirements-ubuntu-saucy.apt @@ -0,0 +1,64 @@ +php-pear +php5-gd + +odbc-postgresql + +python +python-virtualenv + +libsoundtouch-ocaml +libtaglib-ocaml +libao-ocaml +libmad-ocaml +ecasound +libesd0 +libportaudio2 +libsamplerate0 + +patch + +php5-curl +mpg123 +monit + +libcamomile-ocaml-data +libpulse0 +vorbis-tools +lsb-release +lsof +mp3gain +vorbisgain +flac +vorbis-tools +pwgen +libfaad2 +php-apc + +libmp3lame-dev +lame + +libzend-framework-php + +coreutils + +php5-json + +liquidsoap-plugin-alsa +liquidsoap-plugin-ao +liquidsoap-plugin-faad +liquidsoap-plugin-flac +liquidsoap-plugin-icecast +liquidsoap-plugin-lame +liquidsoap-plugin-mad +liquidsoap-plugin-ogg +liquidsoap-plugin-opus +liquidsoap-plugin-portaudio +liquidsoap-plugin-pulseaudio +liquidsoap-plugin-taglib +liquidsoap-plugin-voaacenc +liquidsoap-plugin-vorbis + +sourcefabric-keyring +liquidsoap +silan +libopus0 \ No newline at end of file diff --git a/installer/bin/requirements-ubuntu-trusty.apt b/installer/bin/requirements-ubuntu-trusty.apt new file mode 100644 index 000000000..affad0d98 --- /dev/null +++ b/installer/bin/requirements-ubuntu-trusty.apt @@ -0,0 +1,46 @@ +php-pear +php5-gd + +odbc-postgresql + +python +python-virtualenv + +libsoundtouch-ocaml +libtaglib-ocaml +libao-ocaml +libmad-ocaml +ecasound +libesd0 +libportaudio2 +libsamplerate0 + +patch + +php5-curl +mpg123 +monit + +libcamomile-ocaml-data +libpulse0 +vorbis-tools +lsb-release +lsof +mp3gain +vorbisgain +flac +vorbis-tools +pwgen +libfaad2 +php-apc + +libmp3lame-dev +lame + +libzend-framework-php + +coreutils + +liquidsoap +silan +libopus0 \ No newline at end of file diff --git a/installer/install b/installer/install index f573c60ef..da4c7a103 100755 --- a/installer/install +++ b/installer/install @@ -525,7 +525,7 @@ if [ "$install_dependencies" = "t" ]; then verbose "\n * Reading requirements-${dist,,}-${code,,}.apt..." - loudCmd "apt-get -y --force-yes install $(grep -vE '^\s*#' bin/requirements-${dist,,}-${code,,}.apt | tr '\n' ' ')" + loudCmd "apt-get -y -m --force-yes install $(grep -vE '^\s*#' bin/requirements-${dist,,}-${code,,}.apt | tr '\n' ' ')" fi verbose "\n * Restarting apache..." diff --git a/python_apps/api_clients/api_client.py b/python_apps/api_clients/api_client.py index 021967031..c3b1431d0 100644 --- a/python_apps/api_clients/api_client.py +++ b/python_apps/api_clients/api_client.py @@ -213,7 +213,6 @@ class AirtimeApiClient(object): try: self.config = ConfigObj(config_path) self.config.update(api_config) - self.logger.info(json.dumps(self.config)) self.services = RequestProvider(self.config) except Exception, e: self.logger.error('Error loading config file: %s', config_path) diff --git a/python_apps/media-monitor2/media/monitor/airtime.py b/python_apps/media-monitor2/media/monitor/airtime.py index 4640fe8b4..e9244857e 100644 --- a/python_apps/media-monitor2/media/monitor/airtime.py +++ b/python_apps/media-monitor2/media/monitor/airtime.py @@ -38,9 +38,9 @@ class AirtimeNotifier(Loggable): durable=True, auto_delete=True) schedule_queue = Queue("media-monitor", exchange=schedule_exchange, key="filesystem") - self.connection = BrokerConnection(self.cfg["rabbitmq"]["rabbitmq_host"], - self.cfg["rabbitmq"]["rabbitmq_user"], self.cfg["rabbitmq"]["rabbitmq_password"], - self.cfg["rabbitmq"]["rabbitmq_vhost"]) + self.connection = BrokerConnection(self.cfg["rabbitmq"]["host"], + self.cfg["rabbitmq"]["user"], self.cfg["rabbitmq"]["password"], + self.cfg["rabbitmq"]["vhost"]) channel = self.connection.channel() self.simple_queue = SimpleQueue(channel, schedule_queue) diff --git a/python_apps/media-monitor2/media/monitor/config.py b/python_apps/media-monitor2/media/monitor/config.py index b06e00a84..064caa158 100644 --- a/python_apps/media-monitor2/media/monitor/config.py +++ b/python_apps/media-monitor2/media/monitor/config.py @@ -28,5 +28,5 @@ class MMConfig(object): def last_ran(self): """ Returns the last time media monitor was ran by looking at the time when the file at 'index_path' was modified """ - return mmp.last_modified(self.cfg['index_path']) + return mmp.last_modified(self.cfg['media-monitor']['index_path']) diff --git a/python_apps/media-monitor2/media/saas/airtimeinstance.py b/python_apps/media-monitor2/media/saas/airtimeinstance.py index c808a0620..b2fdf2f60 100644 --- a/python_apps/media-monitor2/media/saas/airtimeinstance.py +++ b/python_apps/media-monitor2/media/saas/airtimeinstance.py @@ -41,7 +41,7 @@ class AirtimeInstance(object): def touch_file_path(self): """ Get the path of the touch file for every instance """ - touch_base_path = self.mm_config['index_path'] + touch_base_path = self.mm_config['media-monitor']['index_path'] touch_base_name = basename(touch_base_path) new_base_name = self.name + touch_base_name return join(dirname(touch_base_path), new_base_name) diff --git a/python_apps/media-monitor2/mm2.py b/python_apps/media-monitor2/mm2.py index 37b7b9e54..0f14909e8 100644 --- a/python_apps/media-monitor2/mm2.py +++ b/python_apps/media-monitor2/mm2.py @@ -7,7 +7,7 @@ from media.monitor.config import MMConfig def main(global_config, log_config): """ function to run hosted install """ mm_config = MMConfig(global_config) - log = setup_logger( log_config, mm_config['logpath'] ) + log = setup_logger( log_config, mm_config['media-monitor']['logpath'] ) setup_global(log) launch_instance('hosted_install', '/', global_config) diff --git a/python_apps/pypo/pypomessagehandler.py b/python_apps/pypo/pypomessagehandler.py index 56fa1389e..c9f9110f5 100644 --- a/python_apps/pypo/pypomessagehandler.py +++ b/python_apps/pypo/pypomessagehandler.py @@ -36,10 +36,10 @@ class PypoMessageHandler(Thread): try: schedule_exchange = Exchange("airtime-pypo", "direct", durable=True, auto_delete=True) schedule_queue = Queue("pypo-fetch", exchange=schedule_exchange, key="foo") - connection = BrokerConnection(self.config["rabbitmq_host"], \ - self.config["rabbitmq_user"], \ - self.config["rabbitmq_password"], \ - self.config["rabbitmq_vhost"]) + connection = BrokerConnection(self.config["host"], \ + self.config["user"], \ + self.config["password"], \ + self.config["vhost"]) channel = connection.channel() self.simple_queue = SimpleQueue(channel, schedule_queue) From d3fe20824e61f498783f1c8c549684acd75fc704 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Wed, 17 Dec 2014 11:05:02 -0500 Subject: [PATCH 050/168] Fix to accommodate running installer from inside an lxc container daemon --- installer/install | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/installer/install b/installer/install index da4c7a103..7cdd24860 100755 --- a/installer/install +++ b/installer/install @@ -7,7 +7,7 @@ if [[ $EUID -ne 0 ]]; then exit 1 fi -AIRTIMEROOT=$(readlink -f ./..) +AIRTIMEROOT="$( cd "$( dirname "$0" )/.." && pwd )" showhelp () { echo "Usage: sudo bash install [options] @@ -305,7 +305,7 @@ if [ "$icecast" = "t" ]; then loud " * Installing Icecast * " loud "-----------------------------------------------------" - loudCmd "apt-get -y --force-yes install icecast2" + loudCmd "DEBIAN_FRONTEND=noninteractive apt-get -y --force-yes install icecast2" verbose "\n * Enabling Icecast 2..." sed -i 's/ENABLE=false/ENABLE=true/g' /etc/default/icecast2 From 144923c3534d3d7de7c67ba1058d94d5a48296f4 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Wed, 17 Dec 2014 11:15:36 -0500 Subject: [PATCH 051/168] More fixes to accommodate running installer from inside an lxc container daemon --- installer/install | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/installer/install b/installer/install index 7cdd24860..a74beb833 100755 --- a/installer/install +++ b/installer/install @@ -7,7 +7,8 @@ if [[ $EUID -ne 0 ]]; then exit 1 fi -AIRTIMEROOT="$( cd "$( dirname "$0" )/.." && pwd )" +SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )" +AIRTIMEROOT="$( cd "${SCRIPT_DIR}/.." && pwd )" showhelp () { echo "Usage: sudo bash install [options] @@ -266,8 +267,6 @@ if [ "$apache" = "t" ]; then cp -R ${AIRTIMEROOT}/airtime_mvc/* ${web_root}/airtime/ fi - sed -e "s@WEB_ROOT@${web_root}@g" apache/airtime-vhost > apache/airtime-vhost.tmp - loudCmd "apt-get -y --force-yes install apache2 libapache2-mod-php5" set +e apache2 -v | grep "2\.4" > /dev/null @@ -282,13 +281,11 @@ if [ "$apache" = "t" ]; then if [ ! -f /etc/apache2/sites-available/${airtimeconfigfile} ]; then verbose "\n * Creating Apache config for Airtime..." - - mv apache/airtime-vhost.tmp /etc/apache2/sites-available/${airtimeconfigfile} + sed -e "s@WEB_ROOT@${web_root}@g" ${SCRIPT_DIR}/apache/airtime-vhost > /etc/apache2/sites-available/${airtimeconfigfile} loudCmd "a2dissite 000-default" loudCmd "a2ensite airtime" else verbose "\nApache config for Airtime already exists, skipping" - rm -f apache/airtime-vhost.tmp fi fi @@ -431,7 +428,7 @@ fi # PHP Config File for Apache if [ ! -f "/etc/php5/apache2/conf.d/airtime.ini" ]; then verbose "\n * Creating Airtime PHP config for Apache..." - cp php/airtime.ini /etc/php5/apache2/conf.d/airtime.ini + cp ${SCRIPT_DIR}/php/airtime.ini /etc/php5/apache2/conf.d/airtime.ini else verbose "\nAirtime PHP config for Apache already exists, skipping" fi @@ -524,8 +521,7 @@ if [ "$install_dependencies" = "t" ]; then loud "-----------------------------------------------------" verbose "\n * Reading requirements-${dist,,}-${code,,}.apt..." - - loudCmd "apt-get -y -m --force-yes install $(grep -vE '^\s*#' bin/requirements-${dist,,}-${code,,}.apt | tr '\n' ' ')" + loudCmd "apt-get -y -m --force-yes install $(grep -vE '^\s*#' ${SCRIPT_DIR}/bin/requirements-${dist,,}-${code,,}.apt | tr '\n' ' ')" fi verbose "\n * Restarting apache..." From 97805ad271d935b1e056b7abb4b48e0379657d18 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Wed, 17 Dec 2014 16:22:40 -0500 Subject: [PATCH 052/168] Removed many unnecessary files and started changing pypo to use setuptools --- install_full/apache/airtime-vhost | 12 - install_full/debian/airtime-full-install | 14 - install_full/nginx/airtime-vhost | 56 - install_full/php5-fpm/airtime.conf | 250 --- install_full/php5/airtime.ini | 8 - install_full/ubuntu/airtime-full-install | 216 -- .../ubuntu/airtime-full-install-nginx | 10 - .../Version20110312121200.php | 19 - .../Version20110331111708.php | 96 - .../Version20110402164819.php | 28 - .../Version20110406182005.php | 47 - .../Version20110629143017.php | 30 - .../Version20110711161043.php | 51 - .../Version20110713161043.php | 26 - .../Version20110829143306.php | 27 - .../Version20110922153933.php | 23 - .../Version20110925171051.php | 26 - .../Version20110925171256.php | 29 - .../Version20110929184401.php | 23 - .../Version20111102142811.php | 25 - .../Version20111103141311.php | 21 - .../Version20111114222927.php | 20 - .../Version20120613123039.php | 20 - .../DoctrineMigrations/migrations.xml | 15 - install_minimal/airtime-dircheck.php | 5 - install_minimal/airtime-install | 253 --- install_minimal/airtime-php.ini | 1854 ----------------- install_minimal/airtime-uninstall | 66 - install_minimal/include/AirtimeIni.php | 349 ---- install_minimal/include/AirtimeInstall.php | 500 ----- install_minimal/include/airtime-constants.php | 3 - install_minimal/include/airtime-copy-files.sh | 111 - .../include/airtime-db-install.php | 84 - install_minimal/include/airtime-initialize.sh | 67 - install_minimal/include/airtime-install.ini | 1 - install_minimal/include/airtime-install.php | 88 - .../include/airtime-installed-check.php | 48 - .../include/airtime-remove-files.sh | 45 - .../include/airtime-uninitialize.sh | 31 - install_minimal/include/airtime-uninstall.php | 107 - install_minimal/include/airtime-upgrade.php | 105 - .../airtime-2.2.0/ConfFileUpgrade.php | 16 - .../upgrades/airtime-2.2.0/DbUpgrade.php | 24 - install_minimal/upgrades/airtime-2.2.0/TODO | 9 - .../airtime-2.2.0/airtime-upgrade.php | 11 - .../airtime-2.2.0/common/UpgradeCommon.php | 322 --- .../upgrades/airtime-2.2.0/data/upgrade.sql | 227 -- .../airtime-2.2.0/etc/airtime.conf.220 | 31 - .../airtime-2.2.0/etc/api_client.cfg.220 | 121 -- .../airtime-2.2.0/etc/media-monitor.cfg.220 | 31 - .../upgrades/airtime-2.2.0/etc/pypo.cfg.220 | 85 - .../upgrades/airtime-2.2.1/DbUpgrade.php | 24 - .../airtime-2.2.1/airtime-upgrade.php | 8 - .../upgrades/airtime-2.2.1/data/upgrade.sql | 9 - .../airtime-2.3.0/ConfFileUpgrade.php | 16 - .../upgrades/airtime-2.3.0/DbUpgrade.php | 25 - .../airtime-2.3.0/airtime-upgrade.php | 11 - .../airtime-2.3.0/common/UpgradeCommon.php | 322 --- .../upgrades/airtime-2.3.0/data/schema.sql | 93 - .../upgrades/airtime-2.3.0/data/upgrade.sql | 47 - .../airtime-2.3.0/etc/airtime.conf.230 | 32 - .../airtime-2.3.0/etc/api_client.cfg.230 | 128 -- .../airtime-2.3.0/etc/media-monitor.cfg.230 | 31 - .../upgrades/airtime-2.3.0/etc/pypo.cfg.230 | 85 - .../upgrades/airtime-2.3.1/DbUpgrade.php | 25 - .../airtime-2.3.1/airtime-upgrade.php | 15 - .../airtime-2.3.1/common/UpgradeCommon.php | 312 --- .../upgrades/airtime-2.3.1/data/upgrade.sql | 2 - .../airtime-2.4.0/ConfFileUpgrade.php | 28 - .../upgrades/airtime-2.4.0/DbUpgrade.php | 25 - .../airtime-2.4.0/airtime-upgrade.php | 11 - .../airtime-2.4.0/common/UpgradeCommon.php | 98 - .../upgrades/airtime-2.4.0/data/schema.sql | 17 - .../upgrades/airtime-2.4.0/data/upgrade.sql | 32 - .../upgrades/airtime-2.4.0/etc/api_client.cfg | 12 - .../upgrades/airtime-2.4.1/DbUpgrade.php | 24 - .../airtime-2.4.1/airtime-upgrade.php | 8 - .../upgrades/airtime-2.4.1/data/upgrade.sql | 3 - .../upgrades/airtime-2.5.0/DbUpgrade.php | 25 - .../airtime-2.5.0/airtime-upgrade.php | 8 - .../upgrades/airtime-2.5.0/data/schema.sql | 83 - .../upgrades/airtime-2.5.0/data/upgrade.sql | 69 - .../upgrades/airtime-2.5.1/DbUpgrade.php | 24 - .../airtime-2.5.1/airtime-upgrade.php | 8 - .../upgrades/airtime-2.5.1/data/upgrade.sql | 2 - .../upgrades/airtime-2.5.2/data/upgrade.sql | 8 - .../upgrade-template/UpgradeCommon.php | 235 --- .../upgrade-template/airtime-upgrade.php | 82 - installer/install | 12 +- python_apps/api_clients/api_client.cfg | 12 - .../api_clients/install/api_client_install.py | 31 - .../install/api_client_uninstall.py | 21 - python_apps/create-pypo-user.py | 32 - .../install/media-monitor-copy-files.py | 70 - .../install/media-monitor-initialize.py | 21 - .../install/media-monitor-remove-files.py | 44 - .../install/media-monitor-uninitialize.py | 19 - .../install/media-monitor-uninstall.py | 50 - .../monit-airtime-media-monitor.cfg | 9 - .../media-monitor2/configs/airtime.conf | 32 - .../media-monitor2/configs/api_client.cfg | 126 -- .../media-monitor2/configs/media-monitor.cfg | 31 - python_apps/monit/monit-airtime-generic.cfg | 6 - .../monit/monit-airtime-rabbitmq-server.cfg | 7 - python_apps/pypo/install/pypo-copy-files.py | 140 -- python_apps/pypo/install/pypo-initialize.py | 95 - python_apps/pypo/install/pypo-remove-files.py | 54 - python_apps/pypo/install/pypo-uninitialize.py | 33 - python_apps/pypo/liquidsoap_bin | 1 - python_apps/pypo/monit-airtime-liquidsoap.cfg | 17 - python_apps/pypo/monit-airtime-playout.cfg | 9 - .../pypo/monit-pre530-airtime-liquidsoap.cfg | 8 - python_apps/pypo/{ => pypo}/AUTHORS | 0 python_apps/pypo/{ => pypo}/LICENSE | 0 python_apps/pypo/{ => pypo}/__init__.py | 0 .../pypo/{ => pypo}/airtime-liquidsoap | 0 .../pypo/{ => pypo}/airtime-liquidsoap-init-d | 31 - python_apps/pypo/{ => pypo}/airtime-playout | 0 .../pypo/{ => pypo}/airtime-playout-init-d | 22 - python_apps/pypo/{ => pypo}/eventtypes.py | 0 .../{ => pypo}/liquidsoap_scripts/aac.liq | 0 .../{ => pypo}/liquidsoap_scripts/aacplus.liq | 0 .../airtime-liquidsoap.logrotate | 0 .../{ => pypo}/liquidsoap_scripts/fdkaac.liq | 0 .../generate_liquidsoap_cfg.py | 0 .../liquidsoap_scripts/library/externals.liq | 0 .../liquidsoap_scripts/library/flows.liq | 0 .../liquidsoap_scripts/library/gstreamer.liq | 0 .../liquidsoap_scripts/library/http.liq | 0 .../liquidsoap_scripts/library/http_codes.liq | 0 .../liquidsoap_scripts/library/lastfm.liq | 0 .../liquidsoap_scripts/library/pervasives.liq | 0 .../liquidsoap_scripts/library/shoutcast.liq | 0 .../liquidsoap_scripts/library/utils.liq | 0 .../liquidsoap_scripts/library/video_text.liq | 0 .../liquidsoap_scripts/liquidsoap.cfg | 0 .../liquidsoap_scripts/liquidsoap_auth.py | 0 .../liquidsoap_prepare_terminate.py | 0 .../{ => pypo}/liquidsoap_scripts/ls_lib.liq | 0 .../liquidsoap_scripts/ls_script.liq | 0 .../{ => pypo}/liquidsoap_scripts/mp3.liq | 0 .../{ => pypo}/liquidsoap_scripts/notify.sh | 0 .../{ => pypo}/liquidsoap_scripts/ogg.liq | 0 .../{ => pypo}/liquidsoap_scripts/opus.liq | 0 python_apps/pypo/{ => pypo}/listenerstat.py | 0 python_apps/pypo/{ => pypo}/logging.cfg | 0 python_apps/pypo/{ => pypo}/media/__init__.py | 0 .../pypo/{ => pypo}/media/update/__init__.py | 0 .../{ => pypo}/media/update/replaygain.py | 0 .../media/update/replaygainupdater.py | 0 .../{ => pypo}/media/update/silananalyzer.py | 0 .../pypo/{ => pypo}/notify_logging.cfg | 0 python_apps/pypo/{ => pypo}/pure.py | 0 python_apps/pypo/{ => pypo}/pypo.cfg | 0 python_apps/pypo/{ => pypo}/pypocli.py | 0 python_apps/pypo/{ => pypo}/pypofetch.py | 0 python_apps/pypo/{ => pypo}/pypofile.py | 0 python_apps/pypo/{ => pypo}/pypoliqqueue.py | 0 python_apps/pypo/{ => pypo}/pypoliquidsoap.py | 0 .../pypo/{ => pypo}/pypomessagehandler.py | 0 python_apps/pypo/{ => pypo}/pyponotify.py | 0 python_apps/pypo/{ => pypo}/pypopush.py | 0 python_apps/pypo/{ => pypo}/recorder.py | 0 .../pypo/{ => pypo}/telnetliquidsoap.py | 0 .../pypo/{ => pypo}/testpypoliqqueue.py | 0 .../pypo/{ => pypo}/tests/run_tests.sh | 0 .../{ => pypo}/tests/test_modify_cue_in.py | 0 python_apps/pypo/{ => pypo}/timeout.py | 0 python_apps/remove-pypo-user.py | 19 - 169 files changed, 5 insertions(+), 8620 deletions(-) delete mode 100644 install_full/apache/airtime-vhost delete mode 100755 install_full/debian/airtime-full-install delete mode 100644 install_full/nginx/airtime-vhost delete mode 100644 install_full/php5-fpm/airtime.conf delete mode 100644 install_full/php5/airtime.ini delete mode 100755 install_full/ubuntu/airtime-full-install delete mode 100755 install_full/ubuntu/airtime-full-install-nginx delete mode 100644 install_minimal/DoctrineMigrations/Version20110312121200.php delete mode 100644 install_minimal/DoctrineMigrations/Version20110331111708.php delete mode 100644 install_minimal/DoctrineMigrations/Version20110402164819.php delete mode 100644 install_minimal/DoctrineMigrations/Version20110406182005.php delete mode 100644 install_minimal/DoctrineMigrations/Version20110629143017.php delete mode 100644 install_minimal/DoctrineMigrations/Version20110711161043.php delete mode 100644 install_minimal/DoctrineMigrations/Version20110713161043.php delete mode 100644 install_minimal/DoctrineMigrations/Version20110829143306.php delete mode 100644 install_minimal/DoctrineMigrations/Version20110922153933.php delete mode 100644 install_minimal/DoctrineMigrations/Version20110925171051.php delete mode 100644 install_minimal/DoctrineMigrations/Version20110925171256.php delete mode 100644 install_minimal/DoctrineMigrations/Version20110929184401.php delete mode 100644 install_minimal/DoctrineMigrations/Version20111102142811.php delete mode 100644 install_minimal/DoctrineMigrations/Version20111103141311.php delete mode 100644 install_minimal/DoctrineMigrations/Version20111114222927.php delete mode 100644 install_minimal/DoctrineMigrations/Version20120613123039.php delete mode 100644 install_minimal/DoctrineMigrations/migrations.xml delete mode 100644 install_minimal/airtime-dircheck.php delete mode 100755 install_minimal/airtime-install delete mode 100644 install_minimal/airtime-php.ini delete mode 100755 install_minimal/airtime-uninstall delete mode 100644 install_minimal/include/AirtimeIni.php delete mode 100644 install_minimal/include/AirtimeInstall.php delete mode 100644 install_minimal/include/airtime-constants.php delete mode 100755 install_minimal/include/airtime-copy-files.sh delete mode 100644 install_minimal/include/airtime-db-install.php delete mode 100755 install_minimal/include/airtime-initialize.sh delete mode 100644 install_minimal/include/airtime-install.ini delete mode 100644 install_minimal/include/airtime-install.php delete mode 100644 install_minimal/include/airtime-installed-check.php delete mode 100755 install_minimal/include/airtime-remove-files.sh delete mode 100755 install_minimal/include/airtime-uninitialize.sh delete mode 100644 install_minimal/include/airtime-uninstall.php delete mode 100644 install_minimal/include/airtime-upgrade.php delete mode 100644 install_minimal/upgrades/airtime-2.2.0/ConfFileUpgrade.php delete mode 100644 install_minimal/upgrades/airtime-2.2.0/DbUpgrade.php delete mode 100644 install_minimal/upgrades/airtime-2.2.0/TODO delete mode 100644 install_minimal/upgrades/airtime-2.2.0/airtime-upgrade.php delete mode 100644 install_minimal/upgrades/airtime-2.2.0/common/UpgradeCommon.php delete mode 100644 install_minimal/upgrades/airtime-2.2.0/data/upgrade.sql delete mode 100644 install_minimal/upgrades/airtime-2.2.0/etc/airtime.conf.220 delete mode 100644 install_minimal/upgrades/airtime-2.2.0/etc/api_client.cfg.220 delete mode 100644 install_minimal/upgrades/airtime-2.2.0/etc/media-monitor.cfg.220 delete mode 100644 install_minimal/upgrades/airtime-2.2.0/etc/pypo.cfg.220 delete mode 100644 install_minimal/upgrades/airtime-2.2.1/DbUpgrade.php delete mode 100644 install_minimal/upgrades/airtime-2.2.1/airtime-upgrade.php delete mode 100644 install_minimal/upgrades/airtime-2.2.1/data/upgrade.sql delete mode 100644 install_minimal/upgrades/airtime-2.3.0/ConfFileUpgrade.php delete mode 100644 install_minimal/upgrades/airtime-2.3.0/DbUpgrade.php delete mode 100644 install_minimal/upgrades/airtime-2.3.0/airtime-upgrade.php delete mode 100644 install_minimal/upgrades/airtime-2.3.0/common/UpgradeCommon.php delete mode 100644 install_minimal/upgrades/airtime-2.3.0/data/schema.sql delete mode 100644 install_minimal/upgrades/airtime-2.3.0/data/upgrade.sql delete mode 100644 install_minimal/upgrades/airtime-2.3.0/etc/airtime.conf.230 delete mode 100644 install_minimal/upgrades/airtime-2.3.0/etc/api_client.cfg.230 delete mode 100644 install_minimal/upgrades/airtime-2.3.0/etc/media-monitor.cfg.230 delete mode 100644 install_minimal/upgrades/airtime-2.3.0/etc/pypo.cfg.230 delete mode 100644 install_minimal/upgrades/airtime-2.3.1/DbUpgrade.php delete mode 100644 install_minimal/upgrades/airtime-2.3.1/airtime-upgrade.php delete mode 100644 install_minimal/upgrades/airtime-2.3.1/common/UpgradeCommon.php delete mode 100644 install_minimal/upgrades/airtime-2.3.1/data/upgrade.sql delete mode 100644 install_minimal/upgrades/airtime-2.4.0/ConfFileUpgrade.php delete mode 100644 install_minimal/upgrades/airtime-2.4.0/DbUpgrade.php delete mode 100644 install_minimal/upgrades/airtime-2.4.0/airtime-upgrade.php delete mode 100644 install_minimal/upgrades/airtime-2.4.0/common/UpgradeCommon.php delete mode 100644 install_minimal/upgrades/airtime-2.4.0/data/schema.sql delete mode 100644 install_minimal/upgrades/airtime-2.4.0/data/upgrade.sql delete mode 100644 install_minimal/upgrades/airtime-2.4.0/etc/api_client.cfg delete mode 100644 install_minimal/upgrades/airtime-2.4.1/DbUpgrade.php delete mode 100644 install_minimal/upgrades/airtime-2.4.1/airtime-upgrade.php delete mode 100644 install_minimal/upgrades/airtime-2.4.1/data/upgrade.sql delete mode 100644 install_minimal/upgrades/airtime-2.5.0/DbUpgrade.php delete mode 100644 install_minimal/upgrades/airtime-2.5.0/airtime-upgrade.php delete mode 100644 install_minimal/upgrades/airtime-2.5.0/data/schema.sql delete mode 100644 install_minimal/upgrades/airtime-2.5.0/data/upgrade.sql delete mode 100644 install_minimal/upgrades/airtime-2.5.1/DbUpgrade.php delete mode 100644 install_minimal/upgrades/airtime-2.5.1/airtime-upgrade.php delete mode 100644 install_minimal/upgrades/airtime-2.5.1/data/upgrade.sql delete mode 100644 install_minimal/upgrades/airtime-2.5.2/data/upgrade.sql delete mode 100644 install_minimal/upgrades/upgrade-template/UpgradeCommon.php delete mode 100644 install_minimal/upgrades/upgrade-template/airtime-upgrade.php delete mode 100644 python_apps/api_clients/api_client.cfg delete mode 100644 python_apps/api_clients/install/api_client_install.py delete mode 100644 python_apps/api_clients/install/api_client_uninstall.py delete mode 100644 python_apps/create-pypo-user.py delete mode 100644 python_apps/media-monitor/install/media-monitor-copy-files.py delete mode 100644 python_apps/media-monitor/install/media-monitor-initialize.py delete mode 100644 python_apps/media-monitor/install/media-monitor-remove-files.py delete mode 100644 python_apps/media-monitor/install/media-monitor-uninitialize.py delete mode 100644 python_apps/media-monitor/install/media-monitor-uninstall.py delete mode 100644 python_apps/media-monitor/monit-airtime-media-monitor.cfg delete mode 100644 python_apps/media-monitor2/configs/airtime.conf delete mode 100644 python_apps/media-monitor2/configs/api_client.cfg delete mode 100644 python_apps/media-monitor2/configs/media-monitor.cfg delete mode 100644 python_apps/monit/monit-airtime-generic.cfg delete mode 100644 python_apps/monit/monit-airtime-rabbitmq-server.cfg delete mode 100644 python_apps/pypo/install/pypo-copy-files.py delete mode 100644 python_apps/pypo/install/pypo-initialize.py delete mode 100644 python_apps/pypo/install/pypo-remove-files.py delete mode 100644 python_apps/pypo/install/pypo-uninitialize.py delete mode 160000 python_apps/pypo/liquidsoap_bin delete mode 100644 python_apps/pypo/monit-airtime-liquidsoap.cfg delete mode 100644 python_apps/pypo/monit-airtime-playout.cfg delete mode 100644 python_apps/pypo/monit-pre530-airtime-liquidsoap.cfg rename python_apps/pypo/{ => pypo}/AUTHORS (100%) rename python_apps/pypo/{ => pypo}/LICENSE (100%) rename python_apps/pypo/{ => pypo}/__init__.py (100%) rename python_apps/pypo/{ => pypo}/airtime-liquidsoap (100%) rename python_apps/pypo/{ => pypo}/airtime-liquidsoap-init-d (75%) rename python_apps/pypo/{ => pypo}/airtime-playout (100%) rename python_apps/pypo/{ => pypo}/airtime-playout-init-d (75%) rename python_apps/pypo/{ => pypo}/eventtypes.py (100%) rename python_apps/pypo/{ => pypo}/liquidsoap_scripts/aac.liq (100%) rename python_apps/pypo/{ => pypo}/liquidsoap_scripts/aacplus.liq (100%) rename python_apps/pypo/{ => pypo}/liquidsoap_scripts/airtime-liquidsoap.logrotate (100%) rename python_apps/pypo/{ => pypo}/liquidsoap_scripts/fdkaac.liq (100%) rename python_apps/pypo/{ => pypo}/liquidsoap_scripts/generate_liquidsoap_cfg.py (100%) rename python_apps/pypo/{ => pypo}/liquidsoap_scripts/library/externals.liq (100%) rename python_apps/pypo/{ => pypo}/liquidsoap_scripts/library/flows.liq (100%) rename python_apps/pypo/{ => pypo}/liquidsoap_scripts/library/gstreamer.liq (100%) rename python_apps/pypo/{ => pypo}/liquidsoap_scripts/library/http.liq (100%) rename python_apps/pypo/{ => pypo}/liquidsoap_scripts/library/http_codes.liq (100%) rename python_apps/pypo/{ => pypo}/liquidsoap_scripts/library/lastfm.liq (100%) rename python_apps/pypo/{ => pypo}/liquidsoap_scripts/library/pervasives.liq (100%) rename python_apps/pypo/{ => pypo}/liquidsoap_scripts/library/shoutcast.liq (100%) rename python_apps/pypo/{ => pypo}/liquidsoap_scripts/library/utils.liq (100%) rename python_apps/pypo/{ => pypo}/liquidsoap_scripts/library/video_text.liq (100%) rename python_apps/pypo/{ => pypo}/liquidsoap_scripts/liquidsoap.cfg (100%) rename python_apps/pypo/{ => pypo}/liquidsoap_scripts/liquidsoap_auth.py (100%) rename python_apps/pypo/{ => pypo}/liquidsoap_scripts/liquidsoap_prepare_terminate.py (100%) rename python_apps/pypo/{ => pypo}/liquidsoap_scripts/ls_lib.liq (100%) rename python_apps/pypo/{ => pypo}/liquidsoap_scripts/ls_script.liq (100%) rename python_apps/pypo/{ => pypo}/liquidsoap_scripts/mp3.liq (100%) rename python_apps/pypo/{ => pypo}/liquidsoap_scripts/notify.sh (100%) rename python_apps/pypo/{ => pypo}/liquidsoap_scripts/ogg.liq (100%) rename python_apps/pypo/{ => pypo}/liquidsoap_scripts/opus.liq (100%) rename python_apps/pypo/{ => pypo}/listenerstat.py (100%) rename python_apps/pypo/{ => pypo}/logging.cfg (100%) rename python_apps/pypo/{ => pypo}/media/__init__.py (100%) rename python_apps/pypo/{ => pypo}/media/update/__init__.py (100%) rename python_apps/pypo/{ => pypo}/media/update/replaygain.py (100%) rename python_apps/pypo/{ => pypo}/media/update/replaygainupdater.py (100%) rename python_apps/pypo/{ => pypo}/media/update/silananalyzer.py (100%) rename python_apps/pypo/{ => pypo}/notify_logging.cfg (100%) rename python_apps/pypo/{ => pypo}/pure.py (100%) rename python_apps/pypo/{ => pypo}/pypo.cfg (100%) rename python_apps/pypo/{ => pypo}/pypocli.py (100%) rename python_apps/pypo/{ => pypo}/pypofetch.py (100%) rename python_apps/pypo/{ => pypo}/pypofile.py (100%) rename python_apps/pypo/{ => pypo}/pypoliqqueue.py (100%) rename python_apps/pypo/{ => pypo}/pypoliquidsoap.py (100%) rename python_apps/pypo/{ => pypo}/pypomessagehandler.py (100%) rename python_apps/pypo/{ => pypo}/pyponotify.py (100%) rename python_apps/pypo/{ => pypo}/pypopush.py (100%) rename python_apps/pypo/{ => pypo}/recorder.py (100%) rename python_apps/pypo/{ => pypo}/telnetliquidsoap.py (100%) rename python_apps/pypo/{ => pypo}/testpypoliqqueue.py (100%) rename python_apps/pypo/{ => pypo}/tests/run_tests.sh (100%) rename python_apps/pypo/{ => pypo}/tests/test_modify_cue_in.py (100%) rename python_apps/pypo/{ => pypo}/timeout.py (100%) delete mode 100644 python_apps/remove-pypo-user.py diff --git a/install_full/apache/airtime-vhost b/install_full/apache/airtime-vhost deleted file mode 100644 index 1f42bdf02..000000000 --- a/install_full/apache/airtime-vhost +++ /dev/null @@ -1,12 +0,0 @@ - - ServerAdmin foo@bar.org - DocumentRoot /usr/share/airtime/public - php_admin_value upload_tmp_dir /tmp - - - DirectoryIndex index.php - AllowOverride all - Order allow,deny - Allow from all - - diff --git a/install_full/debian/airtime-full-install b/install_full/debian/airtime-full-install deleted file mode 100755 index 805f1ee7e..000000000 --- a/install_full/debian/airtime-full-install +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash -# -# Auto install script for airtime on Debian - - -#Current dir -# Absolute path to this script, e.g. /home/user/bin/foo.sh -SCRIPT=`readlink -f $0` -# Absolute path this script is in, thus /home/user/bin -SCRIPTPATH=`dirname $SCRIPT` - -cd $SCRIPTPATH/../ubuntu -./airtime-full-install - diff --git a/install_full/nginx/airtime-vhost b/install_full/nginx/airtime-vhost deleted file mode 100644 index 069bf970a..000000000 --- a/install_full/nginx/airtime-vhost +++ /dev/null @@ -1,56 +0,0 @@ -# This file is contributed by Eugene MechanisM -# Link to the post: -# http://forum.sourcefabric.org/discussion/13563/first-step-to-run-airtime-via-nginx-based-on-airtime-2.0-beta-files - -upstream php5-fpm { - ip_hash; - server unix:/var/run/airtime.php.sock; -} -server { - listen 80; - server_name airtime; #change to your host - include mime.types; - root /usr/share/airtime/public; - access_log /var/log/airtime.access.log; - error_log /var/log/airtime.error.log; - index index.php; - include fastcgi_params; - client_max_body_size 1G; - - location ~* ^.+\.(css|js|jpg|jpeg|gif|png|ico|gz|svg|svgz|ttf|otf|woff|eot|mp4|ogg|ogv|webm)$ { - expires max; - access_log off; - add_header Pragma public; - add_header Cache-Control "public, must-revalidate, proxy-revalidate"; - } - location / { - if (-e $request_filename){ - set $rule_0 1; - } - if ($request_filename ~ "-l"){ - set $rule_0 1; - } - if (-d $request_filename){ - set $rule_0 1; - } - rewrite ^/.*$ /index.php last; - try_files $uri $uri/ index.php; - - } - location ~ \.php$ { - include fastcgi_params; - fastcgi_pass php5-fpm; - } - location = /favicon.ico { - log_not_found off; - access_log off; - } - location = /robots.txt { - allow all; - log_not_found off; - access_log off; - } - location ~ /\.ht { - deny all; - } -} diff --git a/install_full/php5-fpm/airtime.conf b/install_full/php5-fpm/airtime.conf deleted file mode 100644 index cb0e2f335..000000000 --- a/install_full/php5-fpm/airtime.conf +++ /dev/null @@ -1,250 +0,0 @@ -# NGINX changes are contributed by Eugene MechanisM -# Link to the post: -# http://forum.sourcefabric.org/discussion/13563/first-step-to-run-airtime-via-nginx-based-on-airtime-2.0-beta-files - -; Start a new pool named 'airtime'. -; the variable $pool can we used in any directive and will be replaced by the -; pool name ('airtime' here) -[airtime] - -; Per pool prefix -; It only applies on the following directives: -; - 'slowlog' -; - 'listen' (unixsocket) -; - 'chroot' -; - 'chdir' -; - 'php_values' -; - 'php_admin_values' -; When not set, the global prefix (or /usr) applies instead. -; Note: This directive can also be relative to the global prefix. -; Default Value: none -;prefix = /path/to/pools/$pool - -; The address on which to accept FastCGI requests. -; Valid syntaxes are: -; 'ip.add.re.ss:port' - to listen on a TCP socket to a specific address on -; a specific port; -; 'port' - to listen on a TCP socket to all addresses on a -; specific port; -; '/path/to/unix/socket' - to listen on a unix socket. -; Note: This value is mandatory. -listen = '/var/run/airtime.php.sock' - -; Set listen(2) backlog. A value of '-1' means unlimited. -; Default Value: 128 (-1 on FreeBSD and OpenBSD) -;listen.backlog = -1 - -; List of ipv4 addresses of FastCGI clients which are allowed to connect. -; Equivalent to the FCGI_WEB_SERVER_ADDRS environment variable in the original -; PHP FCGI (5.2.2+). Makes sense only with a tcp listening socket. Each address -; must be separated by a comma. If this value is left blank, connections will be -; accepted from any ip address. -; Default Value: any -;listen.allowed_clients = 127.0.0.1 - -; Set permissions for unix socket, if one is used. In Linux, read/write -; permissions must be set in order to allow connections from a web server. Many -; BSD-derived systems allow connections regardless of permissions. -; Default Values: user and group are set as the running user -; mode is set to 0666 -;listen.owner = www-data -;listen.group = www-data -;listen.mode = 0666 - -; Unix user/group of processes -; Note: The user is mandatory. If the group is not set, the default user's group -; will be used. -user = www-data -group = www-data - -; Choose how the process manager will control the number of child processes. -; Possible Values: -; static - a fixed number (pm.max_children) of child processes; -; dynamic - the number of child processes are set dynamically based on the -; following directives: -; pm.max_children - the maximum number of children that can -; be alive at the same time. -; pm.start_servers - the number of children created on startup. -; pm.min_spare_servers - the minimum number of children in 'idle' -; state (waiting to process). If the number -; of 'idle' processes is less than this -; number then some children will be created. -; pm.max_spare_servers - the maximum number of children in 'idle' -; state (waiting to process). If the number -; of 'idle' processes is greater than this -; number then some children will be killed. -; Note: This value is mandatory. -pm = dynamic - -; The number of child processes to be created when pm is set to 'static' and the -; maximum number of child processes to be created when pm is set to 'dynamic'. -; This value sets the limit on the number of simultaneous requests that will be -; served. Equivalent to the ApacheMaxClients directive with mpm_prefork. -; Equivalent to the PHP_FCGI_CHILDREN environment variable in the original PHP -; CGI. -; Note: Used when pm is set to either 'static' or 'dynamic' -; Note: This value is mandatory. -pm.max_children = 10 - -; The number of child processes created on startup. -; Note: Used only when pm is set to 'dynamic' -; Default Value: min_spare_servers + (max_spare_servers - min_spare_servers) / 2 -pm.start_servers = 4 - -; The desired minimum number of idle server processes. -; Note: Used only when pm is set to 'dynamic' -; Note: Mandatory when pm is set to 'dynamic' -pm.min_spare_servers = 2 - -; The desired maximum number of idle server processes. -; Note: Used only when pm is set to 'dynamic' -; Note: Mandatory when pm is set to 'dynamic' -pm.max_spare_servers = 6 - -; The number of requests each child process should execute before respawning. -; This can be useful to work around memory leaks in 3rd party libraries. For -; endless request processing specify '0'. Equivalent to PHP_FCGI_MAX_REQUESTS. -; Default Value: 0 -;pm.max_requests = 500 - -; The URI to view the FPM status page. If this value is not set, no URI will be -; recognized as a status page. By default, the status page shows the following -; information: -; accepted conn - the number of request accepted by the pool; -; pool - the name of the pool; -; process manager - static or dynamic; -; idle processes - the number of idle processes; -; active processes - the number of active processes; -; total processes - the number of idle + active processes. -; max children reached - number of times, the process limit has been reached, -; when pm tries to start more children (works only for -; pm 'dynamic') -; The values of 'idle processes', 'active processes' and 'total processes' are -; updated each second. The value of 'accepted conn' is updated in real time. -; Example output: -; accepted conn: 12073 -; pool: www -; process manager: static -; idle processes: 35 -; active processes: 65 -; total processes: 100 -; max children reached: 1 -; By default the status page output is formatted as text/plain. Passing either -; 'html' or 'json' as a query string will return the corresponding output -; syntax. Example: -; http://www.foo.bar/status -; http://www.foo.bar/status?json -; http://www.foo.bar/status?html -; Note: The value must start with a leading slash (/). The value can be -; anything, but it may not be a good idea to use the .php extension or it -; may conflict with a real PHP file. -; Default Value: not set -;pm.status_path = /status - -; The ping URI to call the monitoring page of FPM. If this value is not set, no -; URI will be recognized as a ping page. This could be used to test from outside -; that FPM is alive and responding, or to -; - create a graph of FPM availability (rrd or such); -; - remove a server from a group if it is not responding (load balancing); -; - trigger alerts for the operating team (24/7). -; Note: The value must start with a leading slash (/). The value can be -; anything, but it may not be a good idea to use the .php extension or it -; may conflict with a real PHP file. -; Default Value: not set -;ping.path = /ping - -; This directive may be used to customize the response of a ping request. The -; response is formatted as text/plain with a 200 response code. -; Default Value: pong -;ping.response = pong - -; The timeout for serving a single request after which the worker process will -; be killed. This option should be used when the 'max_execution_time' ini option -; does not stop script execution for some reason. A value of '0' means 'off'. -; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) -; Default Value: 0 -;request_terminate_timeout = 0 - -; The timeout for serving a single request after which a PHP backtrace will be -; dumped to the 'slowlog' file. A value of '0s' means 'off'. -; Available units: s(econds)(default), m(inutes), h(ours), or d(ays) -; Default Value: 0 -;request_slowlog_timeout = 0 - -; The log file for slow requests -; Default Value: not set -; Note: slowlog is mandatory if request_slowlog_timeout is set -;slowlog = log/$pool.log.slow - -; Set open file descriptor rlimit. -; Default Value: system defined value -;rlimit_files = 1024 - -; Set max core size rlimit. -; Possible Values: 'unlimited' or an integer greater or equal to 0 -; Default Value: system defined value -;rlimit_core = 0 - -; Chroot to this directory at the start. This value must be defined as an -; absolute path. When this value is not set, chroot is not used. -; Note: you can prefix with '$prefix' to chroot to the pool prefix or one -; of its subdirectories. If the pool prefix is not set, the global prefix -; will be used instead. -; Note: chrooting is a great security feature and should be used whenever -; possible. However, all PHP paths will be relative to the chroot -; (error_log, sessions.save_path, ...). -; Default Value: not set -;chroot = - -; Chdir to this directory at the start. -; Note: relative path can be used. -; Default Value: current directory or / when chroot -chdir = / - -; Redirect worker stdout and stderr into main error log. If not set, stdout and -; stderr will be redirected to /dev/null according to FastCGI specs. -; Note: on highloaded environement, this can cause some delay in the page -; process time (several ms). -; Default Value: no -;catch_workers_output = yes - -; Pass environment variables like LD_LIBRARY_PATH. All $VARIABLEs are taken from -; the current environment. -; Default Value: clean env -;env[HOSTNAME] = $HOSTNAME -;env[PATH] = /usr/local/bin:/usr/bin:/bin -;env[TMP] = /tmp -;env[TMPDIR] = /tmp -;env[TEMP] = /tmp - -; Additional php.ini defines, specific to this pool of workers. These settings -; overwrite the values previously defined in the php.ini. The directives are the -; same as the PHP SAPI: -; php_value/php_flag - you can set classic ini defines which can -; be overwritten from PHP call 'ini_set'. -; php_admin_value/php_admin_flag - these directives won't be overwritten by -; PHP call 'ini_set' -; For php_*flag, valid values are on, off, 1, 0, true, false, yes or no. - -; Defining 'extension' will load the corresponding shared extension from -; extension_dir. Defining 'disable_functions' or 'disable_classes' will not -; overwrite previously defined php.ini values, but will append the new value -; instead. - -; Note: path INI options can be relative and will be expanded with the prefix -; (pool, global or /usr) - -; Default Value: nothing is defined by default except the values in php.ini and -; specified at startup with the -d argument -;php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com -;php_flag[display_errors] = off -;php_admin_value[error_log] = /var/log/fpm-php.www.log -;php_admin_flag[log_errors] = on -;php_admin_value[memory_limit] = 32M - -php_admin_value[error_log] = /var/log/airtime.php-fpm.error.log -php_admin_value[post_max_size] = 500M -php_admin_value[upload_max_filesize] = 500M -php_admin_value[request_order] = GPC -php_admin_value[session.gc_probability] = 0 -php_admin_value[upload_tmp_dir] = /tmp diff --git a/install_full/php5/airtime.ini b/install_full/php5/airtime.ini deleted file mode 100644 index 829e5edd0..000000000 --- a/install_full/php5/airtime.ini +++ /dev/null @@ -1,8 +0,0 @@ -[PHP] -memory_limit = 512M -magic_quotes_gpc = Off -file_uploads = On -upload_tmp_dir = /tmp -apc.write_lock = 1 -apc.slam_defense = 0 - diff --git a/install_full/ubuntu/airtime-full-install b/install_full/ubuntu/airtime-full-install deleted file mode 100755 index 5bd4a6485..000000000 --- a/install_full/ubuntu/airtime-full-install +++ /dev/null @@ -1,216 +0,0 @@ -#!/bin/bash -e -# -# Auto install script for airtime on Ubuntu -# -# NGINX changes are contributed by Eugene MechanisM -# Link to the post: -# http://forum.sourcefabric.org/discussion/13563/first-step-to-run-airtime-via-nginx-based-on-airtime-2.0-beta-files - -exec > >(tee install_log.txt) -exec 2>&1 - -if [ "$(id -u)" != "0" ]; then - echo "Please run as root user." - exit 1 -fi - -server="$1" - -#Current dir -# Absolute path to this script, e.g. /home/user/bin/foo.sh -SCRIPT=`readlink -f $0` -# Absolute path this script is in, thus /home/user/bin -SCRIPTPATH=`dirname $SCRIPT` - -#Prerequisite -echo "----------------------------------------------------" -echo " 1. Install Packages" -echo "----------------------------------------------------" - -dist=`lsb_release -is` -code=`lsb_release -cs` - -#enable squeeze backports to get lame packages -if [ "$dist" = "Debian" -a "$code" = "squeeze" ]; then - set +e - grep -E "deb http://backports.debian.org/debian-backports squeeze-backports main" /etc/apt/sources.list - returncode=$? - set -e - if [ "$returncode" -ne "0" ]; then - echo "deb http://backports.debian.org/debian-backports squeeze-backports main" >> /etc/apt/sources.list - fi -fi - -codename=`lsb_release -sc` -set +e -grep -E "deb +http://apt.sourcefabric.org/? +$codename +main" /etc/apt/sources.list -returncode=$? -set -e -if [ "$returncode" != "0" ]; then - echo "deb http://apt.sourcefabric.org/ $codename main" >> /etc/apt/sources.list -fi - -apt-get update - -# Updated package list -apt-get -y --force-yes install tar gzip curl php5-pgsql \ -php-pear php5-gd postgresql odbc-postgresql python libsoundtouch-ocaml \ -libtaglib-ocaml libao-ocaml libmad-ocaml ecasound \ -libesd0 libportaudio2 libsamplerate0 rabbitmq-server patch \ -php5-curl mpg123 monit python-virtualenv multitail libcamomile-ocaml-data \ -libpulse0 vorbis-tools lsb-release lsof sudo mp3gain vorbisgain flac vorbis-tools \ -pwgen libfaad2 php-apc - - -#install packages with --force-yes option (this is useful in the case -#of Debian, where these packages are unauthorized) -apt-get -y --force-yes install libmp3lame-dev lame icecast2 - -#Debian Squeeze only has zendframework package. Newer versions of Ubuntu have zend-framework package. -#Ubuntu Lucid has both zendframework and zend-framework. Difference appears to be that zendframework is for -#1.10 and zend-framework is 1.11 -if [ "$dist" = "Debian" ]; then - apt-get -y --force-yes install zendframework -else - apt-get -y --force-yes install libzend-framework-php -fi - -#get the "timeout" unix command -if [ "$code" = "lucid" ]; then - apt-get -y --force-yes install timeout -else - apt-get -y --force-yes install coreutils -fi - -#install aac package only available in new distributions: (Debian Wheezy, Ubuntu Precise or newer) -if [ "$code" != "squeeze" -a "$code" != "lucid" ]; then - apt-get -y --force-yes install libvo-aacenc0 -fi - -#Install some plugin packages on Ubuntu Saucy. -if [ "$dist" = "Ubuntu" -a "$code" = "saucy" ]; then - apt-get -y --force-yes install php5-json - apt-get -y --force-yes install liquidsoap-plugin-alsa liquidsoap-plugin-ao liquidsoap-plugin-faad liquidsoap-plugin-flac liquidsoap-plugin-icecast liquidsoap-plugin-lame liquidsoap-plugin-mad liquidsoap-plugin-ogg liquidsoap-plugin-opus liquidsoap-plugin-portaudio liquidsoap-plugin-pulseaudio liquidsoap-plugin-taglib liquidsoap-plugin-voaacenc liquidsoap-plugin-vorbis - -fi - -#Install packages back-ported by Sourcefabric -apt-get -y --force-yes install sourcefabric-keyring -apt-get -y --force-yes install liquidsoap -apt-get -y --force-yes install silan -apt-get -y --force-yes install libopus0 - -if [ "$server" = "nginx" ]; then - apt-get -y --force-yes install nginx php5-fpm - # NGINX Config File - echo "----------------------------------------------------" - echo "2.1 NGINX Config File" - echo "----------------------------------------------------" - if [ ! -f /etc/nginx/sites-available/airtime ]; then - cp $SCRIPTPATH/../nginx/airtime-vhost /etc/nginx/sites-available/airtime - ln -s /etc/nginx/sites-available/airtime /etc/nginx/sites-enabled/airtime - service nginx reload - else - echo "NGINX config for Airtime already exists..." - fi - - # php-fpm Airtime pool file - echo "----------------------------------------------------" - echo "2.2 Airtime php pool file" - echo "----------------------------------------------------" - if [ ! -f /etc/php5/fpm/pool.d/airtime.conf ]; then - cp $SCRIPTPATH/../php5-fpm/airtime.conf /etc/php5/fpm/pool.d/airtime.conf - service php5-fpm reload - else - echo "Airtime php pool file already exists..." - fi -else - apt-get -y --force-yes install apache2 libapache2-mod-php5 - set +e - apache2 -v | grep "2\.4" > /dev/null - apacheversion=$? - set -e - - - # Apache Config File - echo "----------------------------------------------------" - echo "2.1 Apache Config File" - echo "----------------------------------------------------" - - if [ "$apacheversion" != "1" ]; then - airtimeconfigfile="airtime.conf" - else - airtimeconfigfile="airtime" - fi - - if [ ! -f /etc/apache2/sites-available/$airtimeconfigfile ]; then - echo "Creating Apache config for Airtime..." - - cp $SCRIPTPATH/../apache/airtime-vhost /etc/apache2/sites-available/$airtimeconfigfile - a2dissite 000-default - a2ensite airtime - else - echo "Apache config for Airtime already exists..." - fi - - if [ ! -d /usr/share/airtime/public ]; then - echo "Creating Apache web root directory..." - mkdir -p /usr/share/airtime/public/ - else - echo "Airtime web root directory already exists..." - fi - - # PHP Config File for Apache - echo "----------------------------------------------------" - echo "2.2 PHP Config File for Apache" - echo "----------------------------------------------------" - if [ ! -f /etc/php5/apache2/airtime.ini ]; then - echo "Creating Airtime PHP config for Apache..." - cp $SCRIPTPATH/../php5/airtime.ini /etc/php5/apache2/conf.d/airtime.ini - else - echo "Airtime PHP config for Apache already exists..." - fi - - # Enable modules and restart Apache to enable any configuration changes - echo "----------------------------------------------------" - echo "2.3 Enable Apache Modules and Restart Apache" - echo "----------------------------------------------------" - a2enmod rewrite php5 - service apache2 restart -fi - -# Enable Icecast -echo "----------------------------------------------------" -echo "3. Enable Icecast" -echo "----------------------------------------------------" -cd /etc/default/ -sed -i 's/ENABLE=false/ENABLE=true/g' icecast2 -set +e -service icecast2 start -set -e -echo "" - -# Enable Monit -echo "----------------------------------------------------" -echo "4. Enable Monit" -echo "----------------------------------------------------" -cd /etc/default/ -sed -i 's/startup=0/startup=1/g' monit - -set +e -grep -q "include /etc/monit/conf.d" /etc/monit/monitrc -RETVAL=$? -set -e -if [ $RETVAL -ne 0 ] ; then - mkdir -p /etc/monit/conf.d - echo "include /etc/monit/conf.d/*" >> /etc/monit/monitrc -fi - -# Run Airtime Install -echo "----------------------------------------------------" -echo "5. Run Airtime Install" -echo "----------------------------------------------------" -cd $SCRIPTPATH/../../install_minimal -# Restart apache to clear php cache -service apache2 restart -./airtime-install diff --git a/install_full/ubuntu/airtime-full-install-nginx b/install_full/ubuntu/airtime-full-install-nginx deleted file mode 100755 index 7f55a3aa2..000000000 --- a/install_full/ubuntu/airtime-full-install-nginx +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/bash -# Auto install script for airtime + nginx - -# Absolute path to this script, e.g. /home/user/bin/foo.sh -SCRIPT=`readlink -f $0` -# Absolute path this script is in, thus /home/user/bin -SCRIPTPATH=`dirname $SCRIPT` - -$SCRIPTPATH/airtime-full-install nginx - diff --git a/install_minimal/DoctrineMigrations/Version20110312121200.php b/install_minimal/DoctrineMigrations/Version20110312121200.php deleted file mode 100644 index 8bf20d856..000000000 --- a/install_minimal/DoctrineMigrations/Version20110312121200.php +++ /dev/null @@ -1,19 +0,0 @@ -dropTable("cc_backup"); - $schema->dropTable("cc_trans"); - } - - public function down(Schema $schema) - { - } -} diff --git a/install_minimal/DoctrineMigrations/Version20110331111708.php b/install_minimal/DoctrineMigrations/Version20110331111708.php deleted file mode 100644 index d355566a9..000000000 --- a/install_minimal/DoctrineMigrations/Version20110331111708.php +++ /dev/null @@ -1,96 +0,0 @@ -getTable('cc_show_instances'); - - $show_instances_table->addColumn('record', 'smallint', array('notnull' => 0, 'default' => 0)); - $show_instances_table->addColumn('rebroadcast', 'smallint', array('notnull' => 0, 'default' => 0)); - $show_instances_table->addColumn('instance_id', 'integer', array('notnull' => 0)); - $show_instances_table->addColumn('file_id', 'integer', array('notnull' => 0)); - $show_instances_table->addColumn('soundcloud_id', 'integer', array('notnull' => 0)); - - $show_instances_table->addNamedForeignKeyConstraint('cc_original_show_instance_fkey', $show_instances_table, array('instance_id'), array('id'), array('onDelete' => 'CASCADE')); - - $files_table = $schema->getTable('cc_files'); - $show_instances_table->addNamedForeignKeyConstraint('cc_recorded_file_fkey', $files_table, array('file_id'), array('id'), array('onDelete' => 'CASCADE')); - //end cc_show_instances modifications - - //start cc_show_days modifications - $show_days_table = $schema->getTable('cc_show_days'); - - $show_days_table->addColumn('record', 'smallint', array( 'notnull' => 0, 'default' => 0)); - //end cc_show_days modifications - - //start cc_show modifications - $show_table = $schema->getTable('cc_show'); - - $show_table->addColumn('url', 'string', array('notnull' => 0, 'length' => 255)); - //end cc_show modifications - - //start cc_schedule modifications - $schedule_table = $schema->getTable('cc_schedule'); - - $playlist_id_col = $schedule_table->getColumn('playlist_id'); - $playlist_id_col->setNotnull(false); - //end cc_schedule modifications - - //create cc_show_rebroadcast table - $cc_show_rebroadcast_table = $schema->createTable('cc_show_rebroadcast'); - - $cc_show_rebroadcast_table->addColumn('id', 'integer', array('unsigned' => true, 'autoincrement' => true)); - $cc_show_rebroadcast_table->addColumn('day_offset', 'string', array('length' => 255)); - $cc_show_rebroadcast_table->addColumn('start_time', 'datetime', array('notnull' => 1)); - $cc_show_rebroadcast_table->addColumn('show_id', 'integer', array('notnull' => 1)); - - $cc_show_rebroadcast_table->setPrimaryKey(array('id')); - //end create cc_show_rebroadcast table - } - - public function down(Schema $schema) - { - //start cc_show_instances modifications - $show_instances_table = $schema->getTable('cc_show_instances'); - - $show_instances_table->dropColumn('record'); - $show_instances_table->dropColumn('rebroadcast'); - $show_instances_table->dropColumn('instance_id'); - $show_instances_table->dropColumn('file_id'); - $show_instances_table->dropColumn('soundcloud_id'); - //end cc_show_instances modifications - - //start cc_show_days modifications - $show_days_table = $schema->getTable('cc_show_days'); - - $show_days_table->dropColumn('record'); - //end cc_show_days modifications - - //start cc_show modifications - $show_table = $schema->getTable('cc_show'); - - $show_table->dropColumn('url'); - //end cc_show modifications - - //start cc_schedule modifications - $schedule_table = $schema->getTable('cc_schedule'); - - $playlist_id_col = $schedule_table->getColumn('playlist_id'); - $playlist_id_col->setNotnull(true); - //end cc_schedule modifications - - //drop cc_show_rebroadcast table - $schema->dropTable('cc_show_rebroadcast'); - //end drop cc_show_rebroadcast table - } -} diff --git a/install_minimal/DoctrineMigrations/Version20110402164819.php b/install_minimal/DoctrineMigrations/Version20110402164819.php deleted file mode 100644 index d4e84145c..000000000 --- a/install_minimal/DoctrineMigrations/Version20110402164819.php +++ /dev/null @@ -1,28 +0,0 @@ -getTable('cc_show'); - - $show_table->addColumn('genre', 'string', array('notnull' => 0, 'length' => 255, 'default' => "")); - //end cc_show modifications - - } - - public function down(Schema $schema) - { - //start cc_show modifications - $show_table = $schema->getTable('cc_show'); - - $show_table->dropColumn('genre'); - //end cc_show modifications - } -} diff --git a/install_minimal/DoctrineMigrations/Version20110406182005.php b/install_minimal/DoctrineMigrations/Version20110406182005.php deleted file mode 100644 index 671b32c17..000000000 --- a/install_minimal/DoctrineMigrations/Version20110406182005.php +++ /dev/null @@ -1,47 +0,0 @@ -getTable('cc_show_instances'); - - $cc_show_instances->addColumn('time_filled', 'time', array('notnull' => false)); - //end cc_show_instances modifications - - //start cc_show_rebroadcast modifications - $cc_show_rebroadcast = $schema->getTable('cc_show_rebroadcast'); - - $type = $cc_show_rebroadcast->getColumn('start_time')->getType()->getName(); - if($type == 'datetime') { - $cc_show_rebroadcast->dropColumn('start_time'); - $cc_show_rebroadcast->addColumn('start_time', 'time', array('notnull' => true)); - } - //end cc_show_rebroadcast modifications - } - - public function down(Schema $schema) - { - //start cc_show_instances modifications - $cc_show_instances = $schema->getTable('cc_show_instances'); - - $cc_show_instances->dropColumn('time_filled'); - //end cc_show_instances modifications - - //start cc_show_rebroadcast modifications - $cc_show_rebroadcast = $schema->getTable('cc_show_rebroadcast'); - - $type = $cc_show_rebroadcast->getColumn('start_time')->getType()->getName(); - if($type == 'datetime') { - $cc_show_rebroadcast->dropColumn('start_time'); - $cc_show_rebroadcast->addColumn('start_time', 'datetime', array('notnull' => 1)); - } - //end cc_show_rebroadcast modifications - } -} diff --git a/install_minimal/DoctrineMigrations/Version20110629143017.php b/install_minimal/DoctrineMigrations/Version20110629143017.php deleted file mode 100644 index 162a1772b..000000000 --- a/install_minimal/DoctrineMigrations/Version20110629143017.php +++ /dev/null @@ -1,30 +0,0 @@ -createTable('cc_music_dirs'); - - $cc_music_dirs->addColumn('id', 'integer', array('unsigned' => true, 'autoincrement' => true)); - $cc_music_dirs->addColumn('type', 'string', array('length' => 255)); - $cc_music_dirs->addColumn('directory', 'text', array('unique' => true)); - - $cc_music_dirs->setPrimaryKey(array('id')); - - //end create cc_music_dirs table - } - - - - public function down(Schema $schema) - { - $schema->dropTable('cc_music_dirs'); - } -} diff --git a/install_minimal/DoctrineMigrations/Version20110711161043.php b/install_minimal/DoctrineMigrations/Version20110711161043.php deleted file mode 100644 index 388d31772..000000000 --- a/install_minimal/DoctrineMigrations/Version20110711161043.php +++ /dev/null @@ -1,51 +0,0 @@ -_addSql("INSERT INTO cc_music_dirs (type, directory) VALUES ('stor', $stor_dir);"); - - $this->_addSql("INSERT INTO cc_music_dirs (type, directory) VALUES ('link', '');"); - - $cc_music_dirs = $schema->getTable('cc_music_dirs'); - - /* 2) create a foreign key relationship from cc_files to cc_music_dirs */ - $cc_files = $schema->getTable('cc_files'); - $cc_files->addColumn('directory', 'integer', array('notnull' => 0, 'default'=> NULL)); - - $cc_files->addNamedForeignKeyConstraint('cc_music_dirs_folder_fkey', $cc_music_dirs, array('directory'), array('id'), array('onDelete' => 'CASCADE')); - - // before 3) we have to delete all entries in cc_schedule with file_id that are not in cc_file table - $this->_addSql("DELETE FROM cc_schedule WHERE cc_schedule.id IN( - SELECT cc_schedule.id - FROM cc_schedule - LEFT JOIN cc_files - ON cc_schedule.file_id = cc_files.id - WHERE cc_files.id IS NULL)"); - - /* 3) create a foreign key relationship from cc_schedule to cc_files */ - $cc_schedule = $schema->getTable('cc_schedule'); - $cc_schedule->addNamedForeignKeyConstraint('cc_files_folder_fkey', $cc_files, array('file_id'), array('id'), array('onDelete' => 'CASCADE')); - } - - public function down(Schema $schema) - { - - } -} diff --git a/install_minimal/DoctrineMigrations/Version20110713161043.php b/install_minimal/DoctrineMigrations/Version20110713161043.php deleted file mode 100644 index db44a0270..000000000 --- a/install_minimal/DoctrineMigrations/Version20110713161043.php +++ /dev/null @@ -1,26 +0,0 @@ -createTable('cc_country'); - - $cc_country->addColumn('isocode', 'string', array('length' => 3)); - $cc_country->addColumn('name', 'string', array('length' => 255)); - - $cc_country->setPrimaryKey(array('isocode')); - //end create cc_country table - } - - public function down(Schema $schema) - { - $schema->dropTable('cc_country'); - } -} \ No newline at end of file diff --git a/install_minimal/DoctrineMigrations/Version20110829143306.php b/install_minimal/DoctrineMigrations/Version20110829143306.php deleted file mode 100644 index 477df6a39..000000000 --- a/install_minimal/DoctrineMigrations/Version20110829143306.php +++ /dev/null @@ -1,27 +0,0 @@ -createTable('cc_stream_setting'); - - $cc_stream_setting->addColumn('keyname', 'string', array('length' => 64)); - $cc_stream_setting->addColumn('value', 'string', array('length' => 255)); - $cc_stream_setting->addColumn('type', 'string', array('length' => 16)); - - $cc_stream_setting->setPrimaryKey(array('keyname')); - //end create cc_stream_setting table - } - - public function down(Schema $schema) - { - $schema->dropTable('cc_stream_setting'); - } -} \ No newline at end of file diff --git a/install_minimal/DoctrineMigrations/Version20110922153933.php b/install_minimal/DoctrineMigrations/Version20110922153933.php deleted file mode 100644 index 42e10ad19..000000000 --- a/install_minimal/DoctrineMigrations/Version20110922153933.php +++ /dev/null @@ -1,23 +0,0 @@ -getTable('cc_files'); - $cc_files->addColumn('soundcloud_id', 'integer', array('notnull' => 0, 'default'=> NULL)); - $cc_files->addColumn('soundcloud_error_code', 'integer', array('notnull' => 0, 'default'=> NULL)); - $cc_files->addColumn('soundcloud_error_msg', 'string', array('length' => 255, 'notnull' => 0, 'default'=> NULL)); - } - - public function down(Schema $schema) - { - - } -} \ No newline at end of file diff --git a/install_minimal/DoctrineMigrations/Version20110925171051.php b/install_minimal/DoctrineMigrations/Version20110925171051.php deleted file mode 100644 index d4aa77cff..000000000 --- a/install_minimal/DoctrineMigrations/Version20110925171051.php +++ /dev/null @@ -1,26 +0,0 @@ -_addSql("update cc_files as cf set soundcloud_id = csi.soundcloud_id - from cc_show_instances as csi - where csi.file_id = cf.id and file_id is not NULL"); - - // remove soundcloud_id from cc_show_instance table - $cc_show_instances = $schema->getTable('cc_show_instances'); - $cc_show_instances->dropColumn('soundcloud_id'); - } - - public function down(Schema $schema) - { - - } -} \ No newline at end of file diff --git a/install_minimal/DoctrineMigrations/Version20110925171256.php b/install_minimal/DoctrineMigrations/Version20110925171256.php deleted file mode 100644 index b10c0a421..000000000 --- a/install_minimal/DoctrineMigrations/Version20110925171256.php +++ /dev/null @@ -1,29 +0,0 @@ -createTable('cc_login_attempts'); - - $cc_login->addColumn('ip', 'string', array('length' => 32)); - $cc_login->addColumn('attempts', 'integer', array('notnull' => 0, 'default'=> 0)); - - $cc_login->setPrimaryKey(array('ip')); - - // add login_attempts column to cc_subjs table - $cc_subjs = $schema->getTable('cc_subjs'); - $cc_subjs->addColumn('login_attempts', 'integer', array('notnull' => 0, 'default'=> 0)); - } - - public function down(Schema $schema) - { - - } -} \ No newline at end of file diff --git a/install_minimal/DoctrineMigrations/Version20110929184401.php b/install_minimal/DoctrineMigrations/Version20110929184401.php deleted file mode 100644 index 22828b054..000000000 --- a/install_minimal/DoctrineMigrations/Version20110929184401.php +++ /dev/null @@ -1,23 +0,0 @@ -createTable('cc_service_register'); - $cc_component->addColumn('name', 'string', array('length' => 32)); - $cc_component->addColumn('ip', 'string', array('length' => 18)); - - $cc_component->setPrimaryKey(array('name')); - } - - public function down(Schema $schema) - { - - } -} diff --git a/install_minimal/DoctrineMigrations/Version20111102142811.php b/install_minimal/DoctrineMigrations/Version20111102142811.php deleted file mode 100644 index d0a80da84..000000000 --- a/install_minimal/DoctrineMigrations/Version20111102142811.php +++ /dev/null @@ -1,25 +0,0 @@ - 'soundcloud_auto_upload_recorded_show' CC-2928 - $this->_addSql("UPDATE cc_pref SET keystr = 'soundcloud_auto_upload_recorded_show' - WHERE keystr = 'soundcloud_upload'"); - - // add soundcloud_link_to_file - $cc_files = $schema->getTable('cc_files'); - $cc_files->addColumn('soundcloud_link_to_file', 'string', array('length' => 4096, 'notnull' => 0, 'default'=> NULL)); - } - - public function down(Schema $schema) - { - - } -} \ No newline at end of file diff --git a/install_minimal/DoctrineMigrations/Version20111103141311.php b/install_minimal/DoctrineMigrations/Version20111103141311.php deleted file mode 100644 index 9be485e29..000000000 --- a/install_minimal/DoctrineMigrations/Version20111103141311.php +++ /dev/null @@ -1,21 +0,0 @@ -getTable('cc_show_days'); - $cc_subjs->addColumn('timezone', 'string', array('required' => true, 'default'=> '')); - } - - public function down(Schema $schema) - { - - } -} diff --git a/install_minimal/DoctrineMigrations/Version20111114222927.php b/install_minimal/DoctrineMigrations/Version20111114222927.php deleted file mode 100644 index b0cf33379..000000000 --- a/install_minimal/DoctrineMigrations/Version20111114222927.php +++ /dev/null @@ -1,20 +0,0 @@ -getTable('cc_show_instances'); - $cc_show_instances->addColumn('modified_instance', 'boolean', array('notnull' => true, 'default'=> '0')); - } - - public function down(Schema $schema) - { - - } -} diff --git a/install_minimal/DoctrineMigrations/Version20120613123039.php b/install_minimal/DoctrineMigrations/Version20120613123039.php deleted file mode 100644 index 74145ade7..000000000 --- a/install_minimal/DoctrineMigrations/Version20120613123039.php +++ /dev/null @@ -1,20 +0,0 @@ -getTable("cc_subjs"); - $table->addColumn("cell_phone", "string"); - } - - public function down(Schema $schema) - { - - } -} diff --git a/install_minimal/DoctrineMigrations/migrations.xml b/install_minimal/DoctrineMigrations/migrations.xml deleted file mode 100644 index c78b0c499..000000000 --- a/install_minimal/DoctrineMigrations/migrations.xml +++ /dev/null @@ -1,15 +0,0 @@ - - - - Airtime 2.0.0 Database Upgrade - - DoctrineMigrations - - - - ./ - - diff --git a/install_minimal/airtime-dircheck.php b/install_minimal/airtime-dircheck.php deleted file mode 100644 index d689af689..000000000 --- a/install_minimal/airtime-dircheck.php +++ /dev/null @@ -1,5 +0,0 @@ -&2; exit 1;; - (*) break;; - esac - shift -done - -if [ "$mediamonitor" = "f" -a "$pypo" = "f" -a "$web" = "f" ]; then - #none of these install parameters were specified, so by default we install all of them - mediamonitor="t" - pypo="t" - showrecorder="t" - web="t" -fi - -if [ "$disable_deb_check" == "f" ]; then - set +e - DEB=$(dpkg -s airtime 2> /dev/null | grep Status) - set -e - if [[ "$DEB" = "Status: install ok installed" ]]; then - echo -e "\nDebian package of Airtime detected. Please use the debian package to upgrade.\n" - exit 1 - fi -fi - - -#Update apt sources.list to point to the new deb-multimedia domain. -sed -i s/www.debian-multimedia.org/www.deb-multimedia.org/g /etc/apt/sources.list - -# Absolute path to this script, e.g. /home/user/bin/foo.sh -SCRIPT=`readlink -f $0` -# Absolute path this script is in, thus /home/user/bin -SCRIPTPATH=`dirname $SCRIPT` -AIRTIMEROOT=$SCRIPTPATH/../ - -echo "* Making sure /etc/default/locale is set properly" -set +e -update-locale -cat /etc/default/locale | grep -i "LANG=.*UTF-\?8" -if [ "$?" != "0" ]; then - echo -e " * Fail\n" - echo "A non UTF-8 default locale found in /etc/default/locale. Airtime requires -a UTF-8 locale to run. To fix this please do the following: - -Ubuntu: -Put line 'en_US.UTF-8 UTF-8' (or similar) without quotes to '/var/lib/locales/supported.d/local', -replacing any existing lines. -A list of supported locales is available in '/usr/share/i18n/SUPPORTED' -Then run 'sudo dpkg-reconfigure locales' - -Debian: -Run 'sudo dpkg-reconfigure locales' and use the interface to select 'en_US.UTF-8 UTF-8' (or similar). -On the second page select this new locale as the default. - -After these changes have been made simply run install again. - -Now exiting install... -" - exit 1 -fi -set -e - -# Check if airtime exists already -set +e -php --php-ini ${SCRIPTPATH}/airtime-php.ini ${SCRIPTPATH}/include/airtime-installed-check.php -result=$? -set -e - -DO_UPGRADE="0" -if [ "$result" -eq "0" ]; then - echo " * None found." - - #Make sure any straggler config files are removed. Reason for this is that they may be from - #an older version of Airtime, but since there no database installed, we have no idea how to - #handle these (what version are they from?). - rm -f "/etc/airtime/airtime.conf" - rm -f "/etc/airtime/api_client.cfg" - rm -f "/etc/airtime/liquidsoap.cfg" - rm -f "/etc/airtime/media-monitor.cfg" - rm -f "/etc/airtime/pypo.cfg" -elif [ "$result" -eq "1" -a "$reinstall" = "f" ]; then - echo " * Same version of Airtime already installed! Reusing database." - nodb='t' - overwrite='f' -elif [ "$result" -eq "2" ]; then - echo " * Previous version of Airtime already installed..will perform upgrade." - DO_UPGRADE="1" -elif [ "$result" -eq "3" ]; then - echo " * You require at least Airtime 1.8.0 installed for upgrade." - exit 1 -fi - -#We don't want any of our python services running if we are doing an upgrade/reinstall. -#They will be automatically restarted later on. -echo "* Temporarily stopping any previous running services" -set +e -monit unmonitor airtime-media-monitor >/dev/null 2>&1 -monit unmonitor airtime-liquidsoap >/dev/null 2>&1 -monit unmonitor airtime-playout >/dev/null 2>&1 -set -e -if [ -e /etc/init.d/airtime-media-monitor ]; then - invoke-rc.d airtime-media-monitor stop > /dev/null 2>&1 -fi -if [ -e /etc/init.d/airtime-playout ]; then - invoke-rc.d airtime-playout stop > /dev/null 2>&1 -fi -if [ -e /etc/init.d/airtime-liquidsoap ]; then - invoke-rc.d airtime-liquidsoap stop > /dev/null 2>&1 -fi - -#export these variables to make them available in sub bash scripts -export DO_UPGRADE -export mediamonitor -export pypo -export showrecorder -export web -export reinstall -export nodb -export overwrite -export preserve - -set +e -test "$mediamonitor" = "t" -o "$pypo" = "t" -export python_service=$? -set -e - -echo -e "\n******************************** Install Begin *********************************" -rm -rf "/usr/lib/airtime" -mkdir -p /usr/lib/airtime - -if [ "$python_service" -eq "0" ]; then - $AIRTIMEROOT/python_apps/python-virtualenv/virtualenv-install.sh - - virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/" - . ${virtualenv_bin}activate - python $AIRTIMEROOT/python_apps/create-pypo-user.py -fi - -if [ "$DO_UPGRADE" -eq "1" ]; then - #do upgrade - php --php-ini ${SCRIPTPATH}/airtime-php.ini ${SCRIPTPATH}/include/airtime-upgrade.php $@ -fi - -set +e -if [ "$DO_UPGRADE" -eq "0" ]; then - php --php-ini ${SCRIPTPATH}/airtime-php.ini ${SCRIPTPATH}/include/airtime-install.php $@ - result=$? - - if [ "$result" -ne "0" ]; then - #There was an error, exit with error code. - echo "There was an error during install. Exit code $result" - exit 1 - fi -fi - -rabbitmq_install -set -e - - -export airtime_service_start='t' -$SCRIPTPATH/include/airtime-copy-files.sh -$SCRIPTPATH/include/airtime-initialize.sh $@ - -if [ "$mediamonitor" = "t" -o "$pypo" = "t" ]; then - #deactivate virtualenv - deactivate -fi - - -#An attempt to force apache to realize that files are updated on upgrade... -touch /usr/share/airtime/public/index.php - -if [ "$python_service" -eq "0" ]; then - #only run airtime-check-system if all components were installed - echo -e "\n*** Verifying your system environment, running airtime-check-system ***" - sleep 10 - - set +e - airtime-check-system --no-color - set -e -fi - -echo -e "\n******************************* Install Complete *******************************" diff --git a/install_minimal/airtime-php.ini b/install_minimal/airtime-php.ini deleted file mode 100644 index 3a12449ab..000000000 --- a/install_minimal/airtime-php.ini +++ /dev/null @@ -1,1854 +0,0 @@ -[PHP] -suhosin.executor.include.whitelist="phar" - -;;;;;;;;;;;;;;;;;;; -; About php.ini ; -;;;;;;;;;;;;;;;;;;; -; PHP's initialization file, generally called php.ini, is responsible for -; configuring many of the aspects of PHP's behavior. - -; PHP attempts to find and load this configuration from a number of locations. -; The following is a summary of its search order: -; 1. SAPI module specific location. -; 2. The PHPRC environment variable. (As of PHP 5.2.0) -; 3. A number of predefined registry keys on Windows (As of PHP 5.2.0) -; 4. Current working directory (except CLI) -; 5. The web server's directory (for SAPI modules), or directory of PHP -; (otherwise in Windows) -; 6. The directory from the --with-config-file-path compile time option, or the -; Windows directory (C:\windows or C:\winnt) -; See the PHP docs for more specific information. -; http://php.net/configuration.file - -; The syntax of the file is extremely simple. Whitespace and Lines -; beginning with a semicolon are silently ignored (as you probably guessed). -; Section headers (e.g. [Foo]) are also silently ignored, even though -; they might mean something in the future. - -; Directives following the section heading [PATH=/www/mysite] only -; apply to PHP files in the /www/mysite directory. Directives -; following the section heading [HOST=www.example.com] only apply to -; PHP files served from www.example.com. Directives set in these -; special sections cannot be overridden by user-defined INI files or -; at runtime. Currently, [PATH=] and [HOST=] sections only work under -; CGI/FastCGI. -; http://php.net/ini.sections - -; Directives are specified using the following syntax: -; directive = value -; Directive names are *case sensitive* - foo=bar is different from FOO=bar. -; Directives are variables used to configure PHP or PHP extensions. -; There is no name validation. If PHP can't find an expected -; directive because it is not set or is mistyped, a default value will be used. - -; The value can be a string, a number, a PHP constant (e.g. E_ALL or M_PI), one -; of the INI constants (On, Off, True, False, Yes, No and None) or an expression -; (e.g. E_ALL & ~E_NOTICE), a quoted string ("bar"), or a reference to a -; previously set variable or directive (e.g. ${foo}) - -; Expressions in the INI file are limited to bitwise operators and parentheses: -; | bitwise OR -; ^ bitwise XOR -; & bitwise AND -; ~ bitwise NOT -; ! boolean NOT - -; Boolean flags can be turned on using the values 1, On, True or Yes. -; They can be turned off using the values 0, Off, False or No. - -; An empty string can be denoted by simply not writing anything after the equal -; sign, or by using the None keyword: - -; foo = ; sets foo to an empty string -; foo = None ; sets foo to an empty string -; foo = "None" ; sets foo to the string 'None' - -; If you use constants in your value, and these constants belong to a -; dynamically loaded extension (either a PHP extension or a Zend extension), -; you may only use these constants *after* the line that loads the extension. - -;;;;;;;;;;;;;;;;;;; -; About this file ; -;;;;;;;;;;;;;;;;;;; -; PHP comes packaged with two INI files. One that is recommended to be used -; in production environments and one that is recommended to be used in -; development environments. - -; php.ini-production contains settings which hold security, performance and -; best practices at its core. But please be aware, these settings may break -; compatibility with older or less security conscience applications. We -; recommending using the production ini in production and testing environments. - -; php.ini-development is very similar to its production variant, except it's -; much more verbose when it comes to errors. We recommending using the -; development version only in development environments as errors shown to -; application users can inadvertently leak otherwise secure information. - -;;;;;;;;;;;;;;;;;;; -; Quick Reference ; -;;;;;;;;;;;;;;;;;;; -; The following are all the settings which are different in either the production -; or development versions of the INIs with respect to PHP's default behavior. -; Please see the actual settings later in the document for more details as to why -; we recommend these changes in PHP's behavior. - -; allow_call_time_pass_reference -; Default Value: On -; Development Value: Off -; Production Value: Off - -; display_errors -; Default Value: On -; Development Value: On -; Production Value: Off - -; display_startup_errors -; Default Value: Off -; Development Value: On -; Production Value: Off - -; error_reporting -; Default Value: E_ALL & ~E_NOTICE -; Development Value: E_ALL | E_STRICT -; Production Value: E_ALL & ~E_DEPRECATED - -; html_errors -; Default Value: On -; Development Value: On -; Production value: Off - -; log_errors -; Default Value: Off -; Development Value: On -; Production Value: On - -; magic_quotes_gpc -; Default Value: On -; Development Value: Off -; Production Value: Off - -; max_input_time -; Default Value: -1 (Unlimited) -; Development Value: 60 (60 seconds) -; Production Value: 60 (60 seconds) - -; output_buffering -; Default Value: Off -; Development Value: 4096 -; Production Value: 4096 - -; register_argc_argv -; Default Value: On -; Development Value: Off -; Production Value: Off - -; register_long_arrays -; Default Value: On -; Development Value: Off -; Production Value: Off - -; request_order -; Default Value: None -; Development Value: "GP" -; Production Value: "GP" - -; session.bug_compat_42 -; Default Value: On -; Development Value: On -; Production Value: Off - -; session.bug_compat_warn -; Default Value: On -; Development Value: On -; Production Value: Off - -; session.gc_divisor -; Default Value: 100 -; Development Value: 1000 -; Production Value: 1000 - -; session.hash_bits_per_character -; Default Value: 4 -; Development Value: 5 -; Production Value: 5 - -; short_open_tag -; Default Value: On -; Development Value: Off -; Production Value: Off - -; track_errors -; Default Value: Off -; Development Value: On -; Production Value: Off - -; url_rewriter.tags -; Default Value: "a=href,area=href,frame=src,form=,fieldset=" -; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" - -; variables_order -; Default Value: "EGPCS" -; Development Value: "GPCS" -; Production Value: "GPCS" - -;;;;;;;;;;;;;;;;;;;; -; php.ini Options ; -;;;;;;;;;;;;;;;;;;;; -; Name for user-defined php.ini (.htaccess) files. Default is ".user.ini" -;user_ini.filename = ".user.ini" - -; To disable this feature set this option to empty value -;user_ini.filename = - -; TTL for user-defined php.ini files (time-to-live) in seconds. Default is 300 seconds (5 minutes) -;user_ini.cache_ttl = 300 - -;;;;;;;;;;;;;;;;;;;; -; Language Options ; -;;;;;;;;;;;;;;;;;;;; - -; Enable the PHP scripting language engine under Apache. -; http://php.net/engine -engine = On - -; This directive determines whether or not PHP will recognize code between -; tags as PHP source which should be processed as such. It's been -; recommended for several years that you not use the short tag "short cut" and -; instead to use the full tag combination. With the wide spread use -; of XML and use of these tags by other languages, the server can become easily -; confused and end up parsing the wrong code in the wrong context. But because -; this short cut has been a feature for such a long time, it's currently still -; supported for backwards compatibility, but we recommend you don't use them. -; Default Value: On -; Development Value: Off -; Production Value: Off -; http://php.net/short-open-tag -short_open_tag = On - -; Allow ASP-style <% %> tags. -; http://php.net/asp-tags -asp_tags = Off - -; The number of significant digits displayed in floating point numbers. -; http://php.net/precision -precision = 14 - -; Enforce year 2000 compliance (will cause problems with non-compliant browsers) -; http://php.net/y2k-compliance -y2k_compliance = On - -; Output buffering is a mechanism for controlling how much output data -; (excluding headers and cookies) PHP should keep internally before pushing that -; data to the client. If your application's output exceeds this setting, PHP -; will send that data in chunks of roughly the size you specify. -; Turning on this setting and managing its maximum buffer size can yield some -; interesting side-effects depending on your application and web server. -; You may be able to send headers and cookies after you've already sent output -; through print or echo. You also may see performance benefits if your server is -; emitting less packets due to buffered output versus PHP streaming the output -; as it gets it. On production servers, 4096 bytes is a good setting for performance -; reasons. -; Note: Output buffering can also be controlled via Output Buffering Control -; functions. -; Possible Values: -; On = Enabled and buffer is unlimited. (Use with caution) -; Off = Disabled -; Integer = Enables the buffer and sets its maximum size in bytes. -; Note: This directive is hardcoded to Off for the CLI SAPI -; Default Value: Off -; Development Value: 4096 -; Production Value: 4096 -; http://php.net/output-buffering -output_buffering = 4096 - -; You can redirect all of the output of your scripts to a function. For -; example, if you set output_handler to "mb_output_handler", character -; encoding will be transparently converted to the specified encoding. -; Setting any output handler automatically turns on output buffering. -; Note: People who wrote portable scripts should not depend on this ini -; directive. Instead, explicitly set the output handler using ob_start(). -; Using this ini directive may cause problems unless you know what script -; is doing. -; Note: You cannot use both "mb_output_handler" with "ob_iconv_handler" -; and you cannot use both "ob_gzhandler" and "zlib.output_compression". -; Note: output_handler must be empty if this is set 'On' !!!! -; Instead you must use zlib.output_handler. -; http://php.net/output-handler -;output_handler = - -; Transparent output compression using the zlib library -; Valid values for this option are 'off', 'on', or a specific buffer size -; to be used for compression (default is 4KB) -; Note: Resulting chunk size may vary due to nature of compression. PHP -; outputs chunks that are few hundreds bytes each as a result of -; compression. If you prefer a larger chunk size for better -; performance, enable output_buffering in addition. -; Note: You need to use zlib.output_handler instead of the standard -; output_handler, or otherwise the output will be corrupted. -; http://php.net/zlib.output-compression -zlib.output_compression = Off - -; http://php.net/zlib.output-compression-level -;zlib.output_compression_level = -1 - -; You cannot specify additional output handlers if zlib.output_compression -; is activated here. This setting does the same as output_handler but in -; a different order. -; http://php.net/zlib.output-handler -;zlib.output_handler = - -; Implicit flush tells PHP to tell the output layer to flush itself -; automatically after every output block. This is equivalent to calling the -; PHP function flush() after each and every call to print() or echo() and each -; and every HTML block. Turning this option on has serious performance -; implications and is generally recommended for debugging purposes only. -; http://php.net/implicit-flush -; Note: This directive is hardcoded to On for the CLI SAPI -implicit_flush = Off - -; The unserialize callback function will be called (with the undefined class' -; name as parameter), if the unserializer finds an undefined class -; which should be instantiated. A warning appears if the specified function is -; not defined, or if the function doesn't include/implement the missing class. -; So only set this entry, if you really want to implement such a -; callback-function. -unserialize_callback_func = - -; When floats & doubles are serialized store serialize_precision significant -; digits after the floating point. The default value ensures that when floats -; are decoded with unserialize, the data will remain the same. -serialize_precision = 100 - -; This directive allows you to enable and disable warnings which PHP will issue -; if you pass a value by reference at function call time. Passing values by -; reference at function call time is a deprecated feature which will be removed -; from PHP at some point in the near future. The acceptable method for passing a -; value by reference to a function is by declaring the reference in the functions -; definition, not at call time. This directive does not disable this feature, it -; only determines whether PHP will warn you about it or not. These warnings -; should enabled in development environments only. -; Default Value: On (Suppress warnings) -; Development Value: Off (Issue warnings) -; Production Value: Off (Issue warnings) -; http://php.net/allow-call-time-pass-reference -allow_call_time_pass_reference = Off - -; Safe Mode -; http://php.net/safe-mode -safe_mode = Off - -; By default, Safe Mode does a UID compare check when -; opening files. If you want to relax this to a GID compare, -; then turn on safe_mode_gid. -; http://php.net/safe-mode-gid -safe_mode_gid = Off - -; When safe_mode is on, UID/GID checks are bypassed when -; including files from this directory and its subdirectories. -; (directory must also be in include_path or full path must -; be used when including) -; http://php.net/safe-mode-include-dir -safe_mode_include_dir = - -; When safe_mode is on, only executables located in the safe_mode_exec_dir -; will be allowed to be executed via the exec family of functions. -; http://php.net/safe-mode-exec-dir -safe_mode_exec_dir = - -; Setting certain environment variables may be a potential security breach. -; This directive contains a comma-delimited list of prefixes. In Safe Mode, -; the user may only alter environment variables whose names begin with the -; prefixes supplied here. By default, users will only be able to set -; environment variables that begin with PHP_ (e.g. PHP_FOO=BAR). -; Note: If this directive is empty, PHP will let the user modify ANY -; environment variable! -; http://php.net/safe-mode-allowed-env-vars -safe_mode_allowed_env_vars = PHP_ - -; This directive contains a comma-delimited list of environment variables that -; the end user won't be able to change using putenv(). These variables will be -; protected even if safe_mode_allowed_env_vars is set to allow to change them. -; http://php.net/safe-mode-protected-env-vars -safe_mode_protected_env_vars = LD_LIBRARY_PATH - -; open_basedir, if set, limits all file operations to the defined directory -; and below. This directive makes most sense if used in a per-directory -; or per-virtualhost web server configuration file. This directive is -; *NOT* affected by whether Safe Mode is turned On or Off. -; http://php.net/open-basedir -;open_basedir = - -; This directive allows you to disable certain functions for security reasons. -; It receives a comma-delimited list of function names. This directive is -; *NOT* affected by whether Safe Mode is turned On or Off. -; http://php.net/disable-functions -disable_functions = - -; This directive allows you to disable certain classes for security reasons. -; It receives a comma-delimited list of class names. This directive is -; *NOT* affected by whether Safe Mode is turned On or Off. -; http://php.net/disable-classes -disable_classes = - -; Colors for Syntax Highlighting mode. Anything that's acceptable in -; would work. -; http://php.net/syntax-highlighting -;highlight.string = #DD0000 -;highlight.comment = #FF9900 -;highlight.keyword = #007700 -;highlight.bg = #FFFFFF -;highlight.default = #0000BB -;highlight.html = #000000 - -; If enabled, the request will be allowed to complete even if the user aborts -; the request. Consider enabling it if executing long requests, which may end up -; being interrupted by the user or a browser timing out. PHP's default behavior -; is to disable this feature. -; http://php.net/ignore-user-abort -;ignore_user_abort = On - -; Determines the size of the realpath cache to be used by PHP. This value should -; be increased on systems where PHP opens many files to reflect the quantity of -; the file operations performed. -; http://php.net/realpath-cache-size -;realpath_cache_size = 16k - -; Duration of time, in seconds for which to cache realpath information for a given -; file or directory. For systems with rarely changing files, consider increasing this -; value. -; http://php.net/realpath-cache-ttl -;realpath_cache_ttl = 120 - -;;;;;;;;;;;;;;;;; -; Miscellaneous ; -;;;;;;;;;;;;;;;;; - -; Decides whether PHP may expose the fact that it is installed on the server -; (e.g. by adding its signature to the Web server header). It is no security -; threat in any way, but it makes it possible to determine whether you use PHP -; on your server or not. -; http://php.net/expose-php -expose_php = On - -;;;;;;;;;;;;;;;;;;; -; Resource Limits ; -;;;;;;;;;;;;;;;;;;; - -; Maximum execution time of each script, in seconds -; http://php.net/max-execution-time -; Note: This directive is hardcoded to 0 for the CLI SAPI -max_execution_time = 30 - -; Maximum amount of time each script may spend parsing request data. It's a good -; idea to limit this time on productions servers in order to eliminate unexpectedly -; long running scripts. -; Note: This directive is hardcoded to -1 for the CLI SAPI -; Default Value: -1 (Unlimited) -; Development Value: 60 (60 seconds) -; Production Value: 60 (60 seconds) -; http://php.net/max-input-time -max_input_time = 60 - -; Maximum input variable nesting level -; http://php.net/max-input-nesting-level -;max_input_nesting_level = 64 - -; Maximum amount of memory a script may consume (128MB) -; http://php.net/memory-limit -memory_limit = -1 - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; Error handling and logging ; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - -; This directive informs PHP of which errors, warnings and notices you would like -; it to take action for. The recommended way of setting values for this -; directive is through the use of the error level constants and bitwise -; operators. The error level constants are below here for convenience as well as -; some common settings and their meanings. -; By default, PHP is set to take action on all errors, notices and warnings EXCEPT -; those related to E_NOTICE and E_STRICT, which together cover best practices and -; recommended coding standards in PHP. For performance reasons, this is the -; recommend error reporting setting. Your production server shouldn't be wasting -; resources complaining about best practices and coding standards. That's what -; development servers and development settings are for. -; Note: The php.ini-development file has this setting as E_ALL | E_STRICT. This -; means it pretty much reports everything which is exactly what you want during -; development and early testing. -; -; Error Level Constants: -; E_ALL - All errors and warnings (includes E_STRICT as of PHP 6.0.0) -; E_ERROR - fatal run-time errors -; E_RECOVERABLE_ERROR - almost fatal run-time errors -; E_WARNING - run-time warnings (non-fatal errors) -; E_PARSE - compile-time parse errors -; E_NOTICE - run-time notices (these are warnings which often result -; from a bug in your code, but it's possible that it was -; intentional (e.g., using an uninitialized variable and -; relying on the fact it's automatically initialized to an -; empty string) -; E_STRICT - run-time notices, enable to have PHP suggest changes -; to your code which will ensure the best interoperability -; and forward compatibility of your code -; E_CORE_ERROR - fatal errors that occur during PHP's initial startup -; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's -; initial startup -; E_COMPILE_ERROR - fatal compile-time errors -; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) -; E_USER_ERROR - user-generated error message -; E_USER_WARNING - user-generated warning message -; E_USER_NOTICE - user-generated notice message -; E_DEPRECATED - warn about code that will not work in future versions -; of PHP -; E_USER_DEPRECATED - user-generated deprecation warnings -; -; Common Values: -; E_ALL & ~E_NOTICE (Show all errors, except for notices and coding standards warnings.) -; E_ALL & ~E_NOTICE | E_STRICT (Show all errors, except for notices) -; E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR (Show only errors) -; E_ALL | E_STRICT (Show all errors, warnings and notices including coding standards.) -; Default Value: E_ALL & ~E_NOTICE -; Development Value: E_ALL | E_STRICT -; Production Value: E_ALL & ~E_DEPRECATED -; http://php.net/error-reporting -error_reporting = E_ALL & ~E_DEPRECATED - -; This directive controls whether or not and where PHP will output errors, -; notices and warnings too. Error output is very useful during development, but -; it could be very dangerous in production environments. Depending on the code -; which is triggering the error, sensitive information could potentially leak -; out of your application such as database usernames and passwords or worse. -; It's recommended that errors be logged on production servers rather than -; having the errors sent to STDOUT. -; Possible Values: -; Off = Do not display any errors -; stderr = Display errors to STDERR (affects only CGI/CLI binaries!) -; On or stdout = Display errors to STDOUT -; Default Value: On -; Development Value: On -; Production Value: Off -; http://php.net/display-errors -display_errors = Off - -; The display of errors which occur during PHP's startup sequence are handled -; separately from display_errors. PHP's default behavior is to suppress those -; errors from clients. Turning the display of startup errors on can be useful in -; debugging configuration problems. But, it's strongly recommended that you -; leave this setting off on production servers. -; Default Value: Off -; Development Value: On -; Production Value: Off -; http://php.net/display-startup-errors -display_startup_errors = Off - -; Besides displaying errors, PHP can also log errors to locations such as a -; server-specific log, STDERR, or a location specified by the error_log -; directive found below. While errors should not be displayed on productions -; servers they should still be monitored and logging is a great way to do that. -; Default Value: Off -; Development Value: On -; Production Value: On -; http://php.net/log-errors -log_errors = On - -; Set maximum length of log_errors. In error_log information about the source is -; added. The default is 1024 and 0 allows to not apply any maximum length at all. -; http://php.net/log-errors-max-len -log_errors_max_len = 1024 - -; Do not log repeated messages. Repeated errors must occur in same file on same -; line unless ignore_repeated_source is set true. -; http://php.net/ignore-repeated-errors -ignore_repeated_errors = Off - -; Ignore source of message when ignoring repeated messages. When this setting -; is On you will not log errors with repeated messages from different files or -; source lines. -; http://php.net/ignore-repeated-source -ignore_repeated_source = Off - -; If this parameter is set to Off, then memory leaks will not be shown (on -; stdout or in the log). This has only effect in a debug compile, and if -; error reporting includes E_WARNING in the allowed list -; http://php.net/report-memleaks -report_memleaks = On - -; This setting is on by default. -;report_zend_debug = 0 - -; Store the last error/warning message in $php_errormsg (boolean). Setting this value -; to On can assist in debugging and is appropriate for development servers. It should -; however be disabled on production servers. -; Default Value: Off -; Development Value: On -; Production Value: Off -; http://php.net/track-errors -track_errors = Off - -; Turn off normal error reporting and emit XML-RPC error XML -; http://php.net/xmlrpc-errors -;xmlrpc_errors = 0 - -; An XML-RPC faultCode -;xmlrpc_error_number = 0 - -; When PHP displays or logs an error, it has the capability of inserting html -; links to documentation related to that error. This directive controls whether -; those HTML links appear in error messages or not. For performance and security -; reasons, it's recommended you disable this on production servers. -; Note: This directive is hardcoded to Off for the CLI SAPI -; Default Value: On -; Development Value: On -; Production value: Off -; http://php.net/html-errors -html_errors = Off - -; If html_errors is set On PHP produces clickable error messages that direct -; to a page describing the error or function causing the error in detail. -; You can download a copy of the PHP manual from http://php.net/docs -; and change docref_root to the base URL of your local copy including the -; leading '/'. You must also specify the file extension being used including -; the dot. PHP's default behavior is to leave these settings empty. -; Note: Never use this feature for production boxes. -; http://php.net/docref-root -; Examples -;docref_root = "/phpmanual/" - -; http://php.net/docref-ext -;docref_ext = .html - -; String to output before an error message. PHP's default behavior is to leave -; this setting blank. -; http://php.net/error-prepend-string -; Example: -;error_prepend_string = "" - -; String to output after an error message. PHP's default behavior is to leave -; this setting blank. -; http://php.net/error-append-string -; Example: -;error_append_string = "" - -; Log errors to specified file. PHP's default behavior is to leave this value -; empty. -; http://php.net/error-log -; Example: -;error_log = php_errors.log -; Log errors to syslog (Event Log on NT, not valid in Windows 95). -;error_log = syslog - -;;;;;;;;;;;;;;;;; -; Data Handling ; -;;;;;;;;;;;;;;;;; - -; The separator used in PHP generated URLs to separate arguments. -; PHP's default setting is "&". -; http://php.net/arg-separator.output -; Example: -;arg_separator.output = "&" - -; List of separator(s) used by PHP to parse input URLs into variables. -; PHP's default setting is "&". -; NOTE: Every character in this directive is considered as separator! -; http://php.net/arg-separator.input -; Example: -;arg_separator.input = ";&" - -; This directive determines which super global arrays are registered when PHP -; starts up. If the register_globals directive is enabled, it also determines -; what order variables are populated into the global space. G,P,C,E & S are -; abbreviations for the following respective super globals: GET, POST, COOKIE, -; ENV and SERVER. There is a performance penalty paid for the registration of -; these arrays and because ENV is not as commonly used as the others, ENV is -; is not recommended on productions servers. You can still get access to -; the environment variables through getenv() should you need to. -; Default Value: "EGPCS" -; Development Value: "GPCS" -; Production Value: "GPCS"; -; http://php.net/variables-order -variables_order = "GPCS" - -; This directive determines which super global data (G,P,C,E & S) should -; be registered into the super global array REQUEST. If so, it also determines -; the order in which that data is registered. The values for this directive are -; specified in the same manner as the variables_order directive, EXCEPT one. -; Leaving this value empty will cause PHP to use the value set in the -; variables_order directive. It does not mean it will leave the super globals -; array REQUEST empty. -; Default Value: None -; Development Value: "GP" -; Production Value: "GP" -; http://php.net/request-order -request_order = "GP" - -; Whether or not to register the EGPCS variables as global variables. You may -; want to turn this off if you don't want to clutter your scripts' global scope -; with user data. -; You should do your best to write your scripts so that they do not require -; register_globals to be on; Using form variables as globals can easily lead -; to possible security problems, if the code is not very well thought of. -; http://php.net/register-globals -register_globals = Off - -; Determines whether the deprecated long $HTTP_*_VARS type predefined variables -; are registered by PHP or not. As they are deprecated, we obviously don't -; recommend you use them. They are on by default for compatibility reasons but -; they are not recommended on production servers. -; Default Value: On -; Development Value: Off -; Production Value: Off -; http://php.net/register-long-arrays -register_long_arrays = Off - -; This directive determines whether PHP registers $argv & $argc each time it -; runs. $argv contains an array of all the arguments passed to PHP when a script -; is invoked. $argc contains an integer representing the number of arguments -; that were passed when the script was invoked. These arrays are extremely -; useful when running scripts from the command line. When this directive is -; enabled, registering these variables consumes CPU cycles and memory each time -; a script is executed. For performance reasons, this feature should be disabled -; on production servers. -; Note: This directive is hardcoded to On for the CLI SAPI -; Default Value: On -; Development Value: Off -; Production Value: Off -; http://php.net/register-argc-argv -register_argc_argv = Off - -; When enabled, the SERVER and ENV variables are created when they're first -; used (Just In Time) instead of when the script starts. If these variables -; are not used within a script, having this directive on will result in a -; performance gain. The PHP directives register_globals, register_long_arrays, -; and register_argc_argv must be disabled for this directive to have any affect. -; http://php.net/auto-globals-jit -auto_globals_jit = On - -; Maximum size of POST data that PHP will accept. -; http://php.net/post-max-size -post_max_size = 8M - -; Magic quotes are a preprocessing feature of PHP where PHP will attempt to -; escape any character sequences in GET, POST, COOKIE and ENV data which might -; otherwise corrupt data being placed in resources such as databases before -; making that data available to you. Because of character encoding issues and -; non-standard SQL implementations across many databases, it's not currently -; possible for this feature to be 100% accurate. PHP's default behavior is to -; enable the feature. We strongly recommend you use the escaping mechanisms -; designed specifically for the database your using instead of relying on this -; feature. Also note, this feature has been deprecated as of PHP 5.3.0 and is -; scheduled for removal in PHP 6. -; Default Value: On -; Development Value: Off -; Production Value: Off -; http://php.net/magic-quotes-gpc -magic_quotes_gpc = Off - -; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc. -; http://php.net/magic-quotes-runtime -magic_quotes_runtime = Off - -; Use Sybase-style magic quotes (escape ' with '' instead of \'). -; http://php.net/magic-quotes-sybase -magic_quotes_sybase = Off - -; Automatically add files before PHP document. -; http://php.net/auto-prepend-file -auto_prepend_file = - -; Automatically add files after PHP document. -; http://php.net/auto-append-file -auto_append_file = - -; By default, PHP will output a character encoding using -; the Content-type: header. To disable sending of the charset, simply -; set it to be empty. -; -; PHP's built-in default is text/html -; http://php.net/default-mimetype -default_mimetype = "text/html" - -; PHP's default character set is set to empty. -; http://php.net/default-charset -;default_charset = "iso-8859-1" - -; Always populate the $HTTP_RAW_POST_DATA variable. PHP's default behavior is -; to disable this feature. -; http://php.net/always-populate-raw-post-data -;always_populate_raw_post_data = On - -;;;;;;;;;;;;;;;;;;;;;;;;; -; Paths and Directories ; -;;;;;;;;;;;;;;;;;;;;;;;;; - -; UNIX: "/path1:/path2" -;include_path = ".:/usr/share/php" -; -; Windows: "\path1;\path2" -;include_path = ".;c:\php\includes" -; -; PHP's default setting for include_path is ".;/path/to/php/pear" -; http://php.net/include-path - -; The root of the PHP pages, used only if nonempty. -; if PHP was not compiled with FORCE_REDIRECT, you SHOULD set doc_root -; if you are running php as a CGI under any web server (other than IIS) -; see documentation for security issues. The alternate is to use the -; cgi.force_redirect configuration below -; http://php.net/doc-root -doc_root = - -; The directory under which PHP opens the script using /~username used only -; if nonempty. -; http://php.net/user-dir -user_dir = - -; Directory in which the loadable extensions (modules) reside. -; http://php.net/extension-dir -; extension_dir = "./" -; On windows: -; extension_dir = "ext" - -; Whether or not to enable the dl() function. The dl() function does NOT work -; properly in multithreaded servers, such as IIS or Zeus, and is automatically -; disabled on them. -; http://php.net/enable-dl -enable_dl = Off - -; cgi.force_redirect is necessary to provide security running PHP as a CGI under -; most web servers. Left undefined, PHP turns this on by default. You can -; turn it off here AT YOUR OWN RISK -; **You CAN safely turn this off for IIS, in fact, you MUST.** -; http://php.net/cgi.force-redirect -;cgi.force_redirect = 1 - -; if cgi.nph is enabled it will force cgi to always sent Status: 200 with -; every request. PHP's default behavior is to disable this feature. -;cgi.nph = 1 - -; if cgi.force_redirect is turned on, and you are not running under Apache or Netscape -; (iPlanet) web servers, you MAY need to set an environment variable name that PHP -; will look for to know it is OK to continue execution. Setting this variable MAY -; cause security issues, KNOW WHAT YOU ARE DOING FIRST. -; http://php.net/cgi.redirect-status-env -;cgi.redirect_status_env = ; - -; cgi.fix_pathinfo provides *real* PATH_INFO/PATH_TRANSLATED support for CGI. PHP's -; previous behaviour was to set PATH_TRANSLATED to SCRIPT_FILENAME, and to not grok -; what PATH_INFO is. For more information on PATH_INFO, see the cgi specs. Setting -; this to 1 will cause PHP CGI to fix its paths to conform to the spec. A setting -; of zero causes PHP to behave as before. Default is 1. You should fix your scripts -; to use SCRIPT_FILENAME rather than PATH_TRANSLATED. -; http://php.net/cgi.fix-pathinfo -;cgi.fix_pathinfo=1 - -; FastCGI under IIS (on WINNT based OS) supports the ability to impersonate -; security tokens of the calling client. This allows IIS to define the -; security context that the request runs under. mod_fastcgi under Apache -; does not currently support this feature (03/17/2002) -; Set to 1 if running under IIS. Default is zero. -; http://php.net/fastcgi.impersonate -;fastcgi.impersonate = 1; - -; Disable logging through FastCGI connection. PHP's default behavior is to enable -; this feature. -;fastcgi.logging = 0 - -; cgi.rfc2616_headers configuration option tells PHP what type of headers to -; use when sending HTTP response code. If it's set 0 PHP sends Status: header that -; is supported by Apache. When this option is set to 1 PHP will send -; RFC2616 compliant header. -; Default is zero. -; http://php.net/cgi.rfc2616-headers -;cgi.rfc2616_headers = 0 - -;;;;;;;;;;;;;;;; -; File Uploads ; -;;;;;;;;;;;;;;;; - -; Whether to allow HTTP file uploads. -; http://php.net/file-uploads -file_uploads = On - -; Temporary directory for HTTP uploaded files (will use system default if not -; specified). -; http://php.net/upload-tmp-dir -;upload_tmp_dir = - -; Maximum allowed size for uploaded files. -; http://php.net/upload-max-filesize -upload_max_filesize = 2M - -; Maximum number of files that can be uploaded via a single request -max_file_uploads = 20 - -;;;;;;;;;;;;;;;;;; -; Fopen wrappers ; -;;;;;;;;;;;;;;;;;; - -; Whether to allow the treatment of URLs (like http:// or ftp://) as files. -; http://php.net/allow-url-fopen -allow_url_fopen = On - -; Whether to allow include/require to open URLs (like http:// or ftp://) as files. -; http://php.net/allow-url-include -allow_url_include = Off - -; Define the anonymous ftp password (your email address). PHP's default setting -; for this is empty. -; http://php.net/from -;from="john@doe.com" - -; Define the User-Agent string. PHP's default setting for this is empty. -; http://php.net/user-agent -;user_agent="PHP" - -; Default timeout for socket based streams (seconds) -; http://php.net/default-socket-timeout -default_socket_timeout = 60 - -; If your scripts have to deal with files from Macintosh systems, -; or you are running on a Mac and need to deal with files from -; unix or win32 systems, setting this flag will cause PHP to -; automatically detect the EOL character in those files so that -; fgets() and file() will work regardless of the source of the file. -; http://php.net/auto-detect-line-endings -;auto_detect_line_endings = Off - -;;;;;;;;;;;;;;;;;;;;;; -; Dynamic Extensions ; -;;;;;;;;;;;;;;;;;;;;;; - -; If you wish to have an extension loaded automatically, use the following -; syntax: -; -; extension=modulename.extension -; -; For example, on Windows: -; -; extension=msql.dll -; -; ... or under UNIX: -; -; extension=msql.so -; -; ... or with a path: -; -; extension=/path/to/extension/msql.so -; -; If you only provide the name of the extension, PHP will look for it in its -; default extension directory. -; - -;;;;;;;;;;;;;;;;;;; -; Module Settings ; -;;;;;;;;;;;;;;;;;;; - -[Date] -; Defines the default timezone used by the date functions -; http://php.net/date.timezone -;date.timezone = - -; http://php.net/date.default-latitude -;date.default_latitude = 31.7667 - -; http://php.net/date.default-longitude -;date.default_longitude = 35.2333 - -; http://php.net/date.sunrise-zenith -;date.sunrise_zenith = 90.583333 - -; http://php.net/date.sunset-zenith -;date.sunset_zenith = 90.583333 - -[filter] -; http://php.net/filter.default -;filter.default = unsafe_raw - -; http://php.net/filter.default-flags -;filter.default_flags = - -[iconv] -;iconv.input_encoding = ISO-8859-1 -;iconv.internal_encoding = ISO-8859-1 -;iconv.output_encoding = ISO-8859-1 - -[intl] -;intl.default_locale = -; This directive allows you to produce PHP errors when some error -; happens within intl functions. The value is the level of the error produced. -; Default is 0, which does not produce any errors. -;intl.error_level = E_WARNING - -[sqlite] -; http://php.net/sqlite.assoc-case -;sqlite.assoc_case = 0 - -[sqlite3] -;sqlite3.extension_dir = - -[Pcre] -;PCRE library backtracking limit. -; http://php.net/pcre.backtrack-limit -;pcre.backtrack_limit=100000 - -;PCRE library recursion limit. -;Please note that if you set this value to a high number you may consume all -;the available process stack and eventually crash PHP (due to reaching the -;stack size limit imposed by the Operating System). -; http://php.net/pcre.recursion-limit -;pcre.recursion_limit=100000 - -[Pdo] -; Whether to pool ODBC connections. Can be one of "strict", "relaxed" or "off" -; http://php.net/pdo-odbc.connection-pooling -;pdo_odbc.connection_pooling=strict - -;pdo_odbc.db2_instance_name - -[Pdo_mysql] -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/pdo_mysql.cache_size -pdo_mysql.cache_size = 2000 - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/pdo_mysql.default-socket -pdo_mysql.default_socket= - -[Phar] -; http://php.net/phar.readonly -phar.readonly = Off - -; http://php.net/phar.require-hash -;phar.require_hash = On - -;phar.cache_list = - -[Syslog] -; Whether or not to define the various syslog variables (e.g. $LOG_PID, -; $LOG_CRON, etc.). Turning it off is a good idea performance-wise. In -; runtime, you can define these variables by calling define_syslog_variables(). -; http://php.net/define-syslog-variables -define_syslog_variables = Off - -[mail function] -; For Win32 only. -; http://php.net/smtp -SMTP = localhost -; http://php.net/smtp-port -smtp_port = 25 - -; For Win32 only. -; http://php.net/sendmail-from -;sendmail_from = me@example.com - -; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). -; http://php.net/sendmail-path -;sendmail_path = - -; Force the addition of the specified parameters to be passed as extra parameters -; to the sendmail binary. These parameters will always replace the value of -; the 5th parameter to mail(), even in safe mode. -;mail.force_extra_parameters = - -; Add X-PHP-Originating-Script: that will include uid of the script followed by the filename -mail.add_x_header = On - -; Log all mail() calls including the full path of the script, line #, to address and headers -;mail.log = - -[SQL] -; http://php.net/sql.safe-mode -sql.safe_mode = Off - -[ODBC] -; http://php.net/odbc.default-db -;odbc.default_db = Not yet implemented - -; http://php.net/odbc.default-user -;odbc.default_user = Not yet implemented - -; http://php.net/odbc.default-pw -;odbc.default_pw = Not yet implemented - -; Controls the ODBC cursor model. -; Default: SQL_CURSOR_STATIC (default). -;odbc.default_cursortype - -; Allow or prevent persistent links. -; http://php.net/odbc.allow-persistent -odbc.allow_persistent = On - -; Check that a connection is still valid before reuse. -; http://php.net/odbc.check-persistent -odbc.check_persistent = On - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/odbc.max-persistent -odbc.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/odbc.max-links -odbc.max_links = -1 - -; Handling of LONG fields. Returns number of bytes to variables. 0 means -; passthru. -; http://php.net/odbc.defaultlrl -odbc.defaultlrl = 4096 - -; Handling of binary data. 0 means passthru, 1 return as is, 2 convert to char. -; See the documentation on odbc_binmode and odbc_longreadlen for an explanation -; of odbc.defaultlrl and odbc.defaultbinmode -; http://php.net/odbc.defaultbinmode -odbc.defaultbinmode = 1 - -;birdstep.max_links = -1 - -[Interbase] -; Allow or prevent persistent links. -ibase.allow_persistent = 1 - -; Maximum number of persistent links. -1 means no limit. -ibase.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -ibase.max_links = -1 - -; Default database name for ibase_connect(). -;ibase.default_db = - -; Default username for ibase_connect(). -;ibase.default_user = - -; Default password for ibase_connect(). -;ibase.default_password = - -; Default charset for ibase_connect(). -;ibase.default_charset = - -; Default timestamp format. -ibase.timestampformat = "%Y-%m-%d %H:%M:%S" - -; Default date format. -ibase.dateformat = "%Y-%m-%d" - -; Default time format. -ibase.timeformat = "%H:%M:%S" - -[MySQL] -; Allow accessing, from PHP's perspective, local files with LOAD DATA statements -; http://php.net/mysql.allow_local_infile -mysql.allow_local_infile = On - -; Allow or prevent persistent links. -; http://php.net/mysql.allow-persistent -mysql.allow_persistent = On - -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/mysql.cache_size -mysql.cache_size = 2000 - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/mysql.max-persistent -mysql.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/mysql.max-links -mysql.max_links = -1 - -; Default port number for mysql_connect(). If unset, mysql_connect() will use -; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the -; compile-time value defined MYSQL_PORT (in that order). Win32 will only look -; at MYSQL_PORT. -; http://php.net/mysql.default-port -mysql.default_port = - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/mysql.default-socket -mysql.default_socket = - -; Default host for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysql.default-host -mysql.default_host = - -; Default user for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysql.default-user -mysql.default_user = - -; Default password for mysql_connect() (doesn't apply in safe mode). -; Note that this is generally a *bad* idea to store passwords in this file. -; *Any* user with PHP access can run 'echo get_cfg_var("mysql.default_password") -; and reveal this password! And of course, any users with read access to this -; file will be able to reveal the password as well. -; http://php.net/mysql.default-password -mysql.default_password = - -; Maximum time (in seconds) for connect timeout. -1 means no limit -; http://php.net/mysql.connect-timeout -mysql.connect_timeout = 60 - -; Trace mode. When trace_mode is active (=On), warnings for table/index scans and -; SQL-Errors will be displayed. -; http://php.net/mysql.trace-mode -mysql.trace_mode = Off - -[MySQLi] - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/mysqli.max-persistent -mysqli.max_persistent = -1 - -; Allow accessing, from PHP's perspective, local files with LOAD DATA statements -; http://php.net/mysqli.allow_local_infile -;mysqli.allow_local_infile = On - -; Allow or prevent persistent links. -; http://php.net/mysqli.allow-persistent -mysqli.allow_persistent = On - -; Maximum number of links. -1 means no limit. -; http://php.net/mysqli.max-links -mysqli.max_links = -1 - -; If mysqlnd is used: Number of cache slots for the internal result set cache -; http://php.net/mysqli.cache_size -mysqli.cache_size = 2000 - -; Default port number for mysqli_connect(). If unset, mysqli_connect() will use -; the $MYSQL_TCP_PORT or the mysql-tcp entry in /etc/services or the -; compile-time value defined MYSQL_PORT (in that order). Win32 will only look -; at MYSQL_PORT. -; http://php.net/mysqli.default-port -mysqli.default_port = 3306 - -; Default socket name for local MySQL connects. If empty, uses the built-in -; MySQL defaults. -; http://php.net/mysqli.default-socket -mysqli.default_socket = - -; Default host for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysqli.default-host -mysqli.default_host = - -; Default user for mysql_connect() (doesn't apply in safe mode). -; http://php.net/mysqli.default-user -mysqli.default_user = - -; Default password for mysqli_connect() (doesn't apply in safe mode). -; Note that this is generally a *bad* idea to store passwords in this file. -; *Any* user with PHP access can run 'echo get_cfg_var("mysqli.default_pw") -; and reveal this password! And of course, any users with read access to this -; file will be able to reveal the password as well. -; http://php.net/mysqli.default-pw -mysqli.default_pw = - -; Allow or prevent reconnect -mysqli.reconnect = Off - -[mysqlnd] -; Enable / Disable collection of general statstics by mysqlnd which can be -; used to tune and monitor MySQL operations. -; http://php.net/mysqlnd.collect_statistics -mysqlnd.collect_statistics = On - -; Enable / Disable collection of memory usage statstics by mysqlnd which can be -; used to tune and monitor MySQL operations. -; http://php.net/mysqlnd.collect_memory_statistics -mysqlnd.collect_memory_statistics = Off - -; Size of a pre-allocated buffer used when sending commands to MySQL in bytes. -; http://php.net/mysqlnd.net_cmd_buffer_size -;mysqlnd.net_cmd_buffer_size = 2048 - -; Size of a pre-allocated buffer used for reading data sent by the server in -; bytes. -; http://php.net/mysqlnd.net_read_buffer_size -;mysqlnd.net_read_buffer_size = 32768 - -[OCI8] - -; Connection: Enables privileged connections using external -; credentials (OCI_SYSOPER, OCI_SYSDBA) -; http://php.net/oci8.privileged-connect -;oci8.privileged_connect = Off - -; Connection: The maximum number of persistent OCI8 connections per -; process. Using -1 means no limit. -; http://php.net/oci8.max-persistent -;oci8.max_persistent = -1 - -; Connection: The maximum number of seconds a process is allowed to -; maintain an idle persistent connection. Using -1 means idle -; persistent connections will be maintained forever. -; http://php.net/oci8.persistent-timeout -;oci8.persistent_timeout = -1 - -; Connection: The number of seconds that must pass before issuing a -; ping during oci_pconnect() to check the connection validity. When -; set to 0, each oci_pconnect() will cause a ping. Using -1 disables -; pings completely. -; http://php.net/oci8.ping-interval -;oci8.ping_interval = 60 - -; Connection: Set this to a user chosen connection class to be used -; for all pooled server requests with Oracle 11g Database Resident -; Connection Pooling (DRCP). To use DRCP, this value should be set to -; the same string for all web servers running the same application, -; the database pool must be configured, and the connection string must -; specify to use a pooled server. -;oci8.connection_class = - -; High Availability: Using On lets PHP receive Fast Application -; Notification (FAN) events generated when a database node fails. The -; database must also be configured to post FAN events. -;oci8.events = Off - -; Tuning: This option enables statement caching, and specifies how -; many statements to cache. Using 0 disables statement caching. -; http://php.net/oci8.statement-cache-size -;oci8.statement_cache_size = 20 - -; Tuning: Enables statement prefetching and sets the default number of -; rows that will be fetched automatically after statement execution. -; http://php.net/oci8.default-prefetch -;oci8.default_prefetch = 100 - -; Compatibility. Using On means oci_close() will not close -; oci_connect() and oci_new_connect() connections. -; http://php.net/oci8.old-oci-close-semantics -;oci8.old_oci_close_semantics = Off - -[PostgresSQL] -; Allow or prevent persistent links. -; http://php.net/pgsql.allow-persistent -pgsql.allow_persistent = On - -; Detect broken persistent links always with pg_pconnect(). -; Auto reset feature requires a little overheads. -; http://php.net/pgsql.auto-reset-persistent -pgsql.auto_reset_persistent = Off - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/pgsql.max-persistent -pgsql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -; http://php.net/pgsql.max-links -pgsql.max_links = -1 - -; Ignore PostgreSQL backends Notice message or not. -; Notice message logging require a little overheads. -; http://php.net/pgsql.ignore-notice -pgsql.ignore_notice = 0 - -; Log PostgreSQL backends Notice message or not. -; Unless pgsql.ignore_notice=0, module cannot log notice message. -; http://php.net/pgsql.log-notice -pgsql.log_notice = 0 - -[Sybase-CT] -; Allow or prevent persistent links. -; http://php.net/sybct.allow-persistent -sybct.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -; http://php.net/sybct.max-persistent -sybct.max_persistent = -1 - -; Maximum number of links (persistent + non-persistent). -1 means no limit. -; http://php.net/sybct.max-links -sybct.max_links = -1 - -; Minimum server message severity to display. -; http://php.net/sybct.min-server-severity -sybct.min_server_severity = 10 - -; Minimum client message severity to display. -; http://php.net/sybct.min-client-severity -sybct.min_client_severity = 10 - -; Set per-context timeout -; http://php.net/sybct.timeout -;sybct.timeout= - -;sybct.packet_size - -; The maximum time in seconds to wait for a connection attempt to succeed before returning failure. -; Default: one minute -;sybct.login_timeout= - -; The name of the host you claim to be connecting from, for display by sp_who. -; Default: none -;sybct.hostname= - -; Allows you to define how often deadlocks are to be retried. -1 means "forever". -; Default: 0 -;sybct.deadlock_retry_count= - -[bcmath] -; Number of decimal digits for all bcmath functions. -; http://php.net/bcmath.scale -bcmath.scale = 0 - -[browscap] -; http://php.net/browscap -;browscap = extra/browscap.ini - -[Session] -; Handler used to store/retrieve data. -; http://php.net/session.save-handler -session.save_handler = files - -; Argument passed to save_handler. In the case of files, this is the path -; where data files are stored. Note: Windows users have to change this -; variable in order to use PHP's session functions. -; -; The path can be defined as: -; -; session.save_path = "N;/path" -; -; where N is an integer. Instead of storing all the session files in -; /path, what this will do is use subdirectories N-levels deep, and -; store the session data in those directories. This is useful if you -; or your OS have problems with lots of files in one directory, and is -; a more efficient layout for servers that handle lots of sessions. -; -; NOTE 1: PHP will not create this directory structure automatically. -; You can use the script in the ext/session dir for that purpose. -; NOTE 2: See the section on garbage collection below if you choose to -; use subdirectories for session storage -; -; The file storage module creates files using mode 600 by default. -; You can change that by using -; -; session.save_path = "N;MODE;/path" -; -; where MODE is the octal representation of the mode. Note that this -; does not overwrite the process's umask. -; http://php.net/session.save-path -;session.save_path = "/tmp" - -; Whether to use cookies. -; http://php.net/session.use-cookies -session.use_cookies = 1 - -; http://php.net/session.cookie-secure -;session.cookie_secure = - -; This option forces PHP to fetch and use a cookie for storing and maintaining -; the session id. We encourage this operation as it's very helpful in combatting -; session hijacking when not specifying and managing your own session id. It is -; not the end all be all of session hijacking defense, but it's a good start. -; http://php.net/session.use-only-cookies -session.use_only_cookies = 1 - -; Name of the session (used as cookie name). -; http://php.net/session.name -session.name = PHPSESSID - -; Initialize session on request startup. -; http://php.net/session.auto-start -session.auto_start = 0 - -; Lifetime in seconds of cookie or, if 0, until browser is restarted. -; http://php.net/session.cookie-lifetime -session.cookie_lifetime = 0 - -; The path for which the cookie is valid. -; http://php.net/session.cookie-path -session.cookie_path = / - -; The domain for which the cookie is valid. -; http://php.net/session.cookie-domain -session.cookie_domain = - -; Whether or not to add the httpOnly flag to the cookie, which makes it inaccessible to browser scripting languages such as JavaScript. -; http://php.net/session.cookie-httponly -session.cookie_httponly = - -; Handler used to serialize data. php is the standard serializer of PHP. -; http://php.net/session.serialize-handler -session.serialize_handler = php - -; Defines the probability that the 'garbage collection' process is started -; on every session initialization. The probability is calculated by using -; gc_probability/gc_divisor. Where session.gc_probability is the numerator -; and gc_divisor is the denominator in the equation. Setting this value to 1 -; when the session.gc_divisor value is 100 will give you approximately a 1% chance -; the gc will run on any give request. -; Default Value: 1 -; Development Value: 1 -; Production Value: 1 -; http://php.net/session.gc-probability -session.gc_probability = 0 - -; Defines the probability that the 'garbage collection' process is started on every -; session initialization. The probability is calculated by using the following equation: -; gc_probability/gc_divisor. Where session.gc_probability is the numerator and -; session.gc_divisor is the denominator in the equation. Setting this value to 1 -; when the session.gc_divisor value is 100 will give you approximately a 1% chance -; the gc will run on any give request. Increasing this value to 1000 will give you -; a 0.1% chance the gc will run on any give request. For high volume production servers, -; this is a more efficient approach. -; Default Value: 100 -; Development Value: 1000 -; Production Value: 1000 -; http://php.net/session.gc-divisor -session.gc_divisor = 1000 - -; After this number of seconds, stored data will be seen as 'garbage' and -; cleaned up by the garbage collection process. -; http://php.net/session.gc-maxlifetime -session.gc_maxlifetime = 1440 - -; NOTE: If you are using the subdirectory option for storing session files -; (see session.save_path above), then garbage collection does *not* -; happen automatically. You will need to do your own garbage -; collection through a shell script, cron entry, or some other method. -; For example, the following script would is the equivalent of -; setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes): -; cd /path/to/sessions; find -cmin +24 | xargs rm - -; PHP 4.2 and less have an undocumented feature/bug that allows you to -; to initialize a session variable in the global scope, even when register_globals -; is disabled. PHP 4.3 and later will warn you, if this feature is used. -; You can disable the feature and the warning separately. At this time, -; the warning is only displayed, if bug_compat_42 is enabled. This feature -; introduces some serious security problems if not handled correctly. It's -; recommended that you do not use this feature on production servers. But you -; should enable this on development servers and enable the warning as well. If you -; do not enable the feature on development servers, you won't be warned when it's -; used and debugging errors caused by this can be difficult to track down. -; Default Value: On -; Development Value: On -; Production Value: Off -; http://php.net/session.bug-compat-42 -session.bug_compat_42 = Off - -; This setting controls whether or not you are warned by PHP when initializing a -; session value into the global space. session.bug_compat_42 must be enabled before -; these warnings can be issued by PHP. See the directive above for more information. -; Default Value: On -; Development Value: On -; Production Value: Off -; http://php.net/session.bug-compat-warn -session.bug_compat_warn = Off - -; Check HTTP Referer to invalidate externally stored URLs containing ids. -; HTTP_REFERER has to contain this substring for the session to be -; considered as valid. -; http://php.net/session.referer-check -session.referer_check = - -; How many bytes to read from the file. -; http://php.net/session.entropy-length -session.entropy_length = 0 - -; Specified here to create the session id. -; http://php.net/session.entropy-file -; On systems that don't have /dev/urandom /dev/arandom can be used -; On windows, setting the entropy_length setting will activate the -; Windows random source (using the CryptoAPI) -;session.entropy_file = /dev/urandom - -; Set to {nocache,private,public,} to determine HTTP caching aspects -; or leave this empty to avoid sending anti-caching headers. -; http://php.net/session.cache-limiter -session.cache_limiter = nocache - -; Document expires after n minutes. -; http://php.net/session.cache-expire -session.cache_expire = 180 - -; trans sid support is disabled by default. -; Use of trans sid may risk your users security. -; Use this option with caution. -; - User may send URL contains active session ID -; to other person via. email/irc/etc. -; - URL that contains active session ID may be stored -; in publically accessible computer. -; - User may access your site with the same session ID -; always using URL stored in browser's history or bookmarks. -; http://php.net/session.use-trans-sid -session.use_trans_sid = 0 - -; Select a hash function for use in generating session ids. -; Possible Values -; 0 (MD5 128 bits) -; 1 (SHA-1 160 bits) -; This option may also be set to the name of any hash function supported by -; the hash extension. A list of available hashes is returned by the hash_algos() -; function. -; http://php.net/session.hash-function -session.hash_function = 0 - -; Define how many bits are stored in each character when converting -; the binary hash data to something readable. -; Possible values: -; 4 (4 bits: 0-9, a-f) -; 5 (5 bits: 0-9, a-v) -; 6 (6 bits: 0-9, a-z, A-Z, "-", ",") -; Default Value: 4 -; Development Value: 5 -; Production Value: 5 -; http://php.net/session.hash-bits-per-character -session.hash_bits_per_character = 5 - -; The URL rewriter will look for URLs in a defined set of HTML tags. -; form/fieldset are special; if you include them here, the rewriter will -; add a hidden field with the info which is otherwise appended -; to URLs. If you want XHTML conformity, remove the form entry. -; Note that all valid entries require a "=", even if no value follows. -; Default Value: "a=href,area=href,frame=src,form=,fieldset=" -; Development Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; Production Value: "a=href,area=href,frame=src,input=src,form=fakeentry" -; http://php.net/url-rewriter.tags -url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry" - -[MSSQL] -; Allow or prevent persistent links. -mssql.allow_persistent = On - -; Maximum number of persistent links. -1 means no limit. -mssql.max_persistent = -1 - -; Maximum number of links (persistent+non persistent). -1 means no limit. -mssql.max_links = -1 - -; Minimum error severity to display. -mssql.min_error_severity = 10 - -; Minimum message severity to display. -mssql.min_message_severity = 10 - -; Compatibility mode with old versions of PHP 3.0. -mssql.compatability_mode = Off - -; Connect timeout -;mssql.connect_timeout = 5 - -; Query timeout -;mssql.timeout = 60 - -; Valid range 0 - 2147483647. Default = 4096. -;mssql.textlimit = 4096 - -; Valid range 0 - 2147483647. Default = 4096. -;mssql.textsize = 4096 - -; Limits the number of records in each batch. 0 = all records in one batch. -;mssql.batchsize = 0 - -; Specify how datetime and datetim4 columns are returned -; On => Returns data converted to SQL server settings -; Off => Returns values as YYYY-MM-DD hh:mm:ss -;mssql.datetimeconvert = On - -; Use NT authentication when connecting to the server -mssql.secure_connection = Off - -; Specify max number of processes. -1 = library default -; msdlib defaults to 25 -; FreeTDS defaults to 4096 -;mssql.max_procs = -1 - -; Specify client character set. -; If empty or not set the client charset from freetds.comf is used -; This is only used when compiled with FreeTDS -;mssql.charset = "ISO-8859-1" - -[Assertion] -; Assert(expr); active by default. -; http://php.net/assert.active -;assert.active = On - -; Issue a PHP warning for each failed assertion. -; http://php.net/assert.warning -;assert.warning = On - -; Don't bail out by default. -; http://php.net/assert.bail -;assert.bail = Off - -; User-function to be called if an assertion fails. -; http://php.net/assert.callback -;assert.callback = 0 - -; Eval the expression with current error_reporting(). Set to true if you want -; error_reporting(0) around the eval(). -; http://php.net/assert.quiet-eval -;assert.quiet_eval = 0 - -[COM] -; path to a file containing GUIDs, IIDs or filenames of files with TypeLibs -; http://php.net/com.typelib-file -;com.typelib_file = - -; allow Distributed-COM calls -; http://php.net/com.allow-dcom -;com.allow_dcom = true - -; autoregister constants of a components typlib on com_load() -; http://php.net/com.autoregister-typelib -;com.autoregister_typelib = true - -; register constants casesensitive -; http://php.net/com.autoregister-casesensitive -;com.autoregister_casesensitive = false - -; show warnings on duplicate constant registrations -; http://php.net/com.autoregister-verbose -;com.autoregister_verbose = true - -; The default character set code-page to use when passing strings to and from COM objects. -; Default: system ANSI code page -;com.code_page= - -[mbstring] -; language for internal character representation. -; http://php.net/mbstring.language -;mbstring.language = Japanese - -; internal/script encoding. -; Some encoding cannot work as internal encoding. -; (e.g. SJIS, BIG5, ISO-2022-*) -; http://php.net/mbstring.internal-encoding -;mbstring.internal_encoding = EUC-JP - -; http input encoding. -; http://php.net/mbstring.http-input -;mbstring.http_input = auto - -; http output encoding. mb_output_handler must be -; registered as output buffer to function -; http://php.net/mbstring.http-output -;mbstring.http_output = SJIS - -; enable automatic encoding translation according to -; mbstring.internal_encoding setting. Input chars are -; converted to internal encoding by setting this to On. -; Note: Do _not_ use automatic encoding translation for -; portable libs/applications. -; http://php.net/mbstring.encoding-translation -;mbstring.encoding_translation = Off - -; automatic encoding detection order. -; auto means -; http://php.net/mbstring.detect-order -;mbstring.detect_order = auto - -; substitute_character used when character cannot be converted -; one from another -; http://php.net/mbstring.substitute-character -;mbstring.substitute_character = none; - -; overload(replace) single byte functions by mbstring functions. -; mail(), ereg(), etc are overloaded by mb_send_mail(), mb_ereg(), -; etc. Possible values are 0,1,2,4 or combination of them. -; For example, 7 for overload everything. -; 0: No overload -; 1: Overload mail() function -; 2: Overload str*() functions -; 4: Overload ereg*() functions -; http://php.net/mbstring.func-overload -;mbstring.func_overload = 0 - -; enable strict encoding detection. -;mbstring.strict_detection = Off - -; This directive specifies the regex pattern of content types for which mb_output_handler() -; is activated. -; Default: mbstring.http_output_conv_mimetype=^(text/|application/xhtml\+xml) -;mbstring.http_output_conv_mimetype= - -; Allows to set script encoding. Only affects if PHP is compiled with --enable-zend-multibyte -; Default: "" -;mbstring.script_encoding= - -[gd] -; Tell the jpeg decode to ignore warnings and try to create -; a gd image. The warning will then be displayed as notices -; disabled by default -; http://php.net/gd.jpeg-ignore-warning -;gd.jpeg_ignore_warning = 0 - -[exif] -; Exif UNICODE user comments are handled as UCS-2BE/UCS-2LE and JIS as JIS. -; With mbstring support this will automatically be converted into the encoding -; given by corresponding encode setting. When empty mbstring.internal_encoding -; is used. For the decode settings you can distinguish between motorola and -; intel byte order. A decode setting cannot be empty. -; http://php.net/exif.encode-unicode -;exif.encode_unicode = ISO-8859-15 - -; http://php.net/exif.decode-unicode-motorola -;exif.decode_unicode_motorola = UCS-2BE - -; http://php.net/exif.decode-unicode-intel -;exif.decode_unicode_intel = UCS-2LE - -; http://php.net/exif.encode-jis -;exif.encode_jis = - -; http://php.net/exif.decode-jis-motorola -;exif.decode_jis_motorola = JIS - -; http://php.net/exif.decode-jis-intel -;exif.decode_jis_intel = JIS - -[Tidy] -; The path to a default tidy configuration file to use when using tidy -; http://php.net/tidy.default-config -;tidy.default_config = /usr/local/lib/php/default.tcfg - -; Should tidy clean and repair output automatically? -; WARNING: Do not use this option if you are generating non-html content -; such as dynamic images -; http://php.net/tidy.clean-output -tidy.clean_output = Off - -[soap] -; Enables or disables WSDL caching feature. -; http://php.net/soap.wsdl-cache-enabled -soap.wsdl_cache_enabled=1 - -; Sets the directory name where SOAP extension will put cache files. -; http://php.net/soap.wsdl-cache-dir -soap.wsdl_cache_dir="/tmp" - -; (time to live) Sets the number of second while cached file will be used -; instead of original one. -; http://php.net/soap.wsdl-cache-ttl -soap.wsdl_cache_ttl=86400 - -; Sets the size of the cache limit. (Max. number of WSDL files to cache) -soap.wsdl_cache_limit = 5 - -[sysvshm] -; A default size of the shared memory segment -;sysvshm.init_mem = 10000 - -[ldap] -; Sets the maximum number of open links or -1 for unlimited. -ldap.max_links = -1 - -[mcrypt] -; For more information about mcrypt settings see http://php.net/mcrypt-module-open - -; Directory where to load mcrypt algorithms -; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) -;mcrypt.algorithms_dir= - -; Directory where to load mcrypt modes -; Default: Compiled in into libmcrypt (usually /usr/local/lib/libmcrypt) -;mcrypt.modes_dir= - -[dba] -;dba.default_handler= - -; Local Variables: -; tab-width: 4 -; End: - diff --git a/install_minimal/airtime-uninstall b/install_minimal/airtime-uninstall deleted file mode 100755 index bc12a4403..000000000 --- a/install_minimal/airtime-uninstall +++ /dev/null @@ -1,66 +0,0 @@ -#!/bin/bash - -#Check if root user -if [[ $EUID -ne 0 ]]; then - echo "Please run as root user." - exit 1 -fi - - -options=$(getopt -o p -l purge -- "$@") -if [ $? -ne 0 ]; then - echo "only -p or --purge parameter allowed" - exit 1 -fi -eval set -- "$options" - -purge='f' - -while true -do - case "$1" in - -p|--purge) purge='t'; shift;; - --) shift 1; break ;; - *) break ;; - esac -done - -#Make 'purge' env variable available to sub bash script -export purge - -rabbitmq_uninstall () { - RABBITMQ_VHOST="/airtime" - RABBITMQ_USER="airtime" - - rabbitmqctl delete_vhost $RABBITMQ_VHOST - rabbitmqctl delete_user $RABBITMQ_USER -} - -echo -e "\n******************************* Uninstall Begin ********************************" - -# Absolute path to this script, e.g. /home/user/bin/foo.sh -SCRIPT=`readlink -f $0` -# Absolute path this script is in, thus /home/user/bin -SCRIPTPATH=`dirname $SCRIPT` - -rabbitmq_uninstall - -virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/" -. ${virtualenv_bin}activate - -#Uninitialize Airtime -$SCRIPTPATH/include/airtime-uninitialize.sh - -#Remove Airtime files -$SCRIPTPATH/include/airtime-remove-files.sh - -#Remove pypo user -python $SCRIPTPATH/../python_apps/remove-pypo-user.py - -#deactivate virtualenv -deactivate - -echo -e "\n****************************** Uninstall Complete *******************************\n" -echo "NOTE: To fully remove all Airtime files, you will also have to manually delete" -echo " the directories '/srv/airtime'(default storage location of media files)" -echo -e " and '/etc/airtime'(where the config files are stored).\n" diff --git a/install_minimal/include/AirtimeIni.php b/install_minimal/include/AirtimeIni.php deleted file mode 100644 index 2ca53850f..000000000 --- a/install_minimal/include/AirtimeIni.php +++ /dev/null @@ -1,349 +0,0 @@ -$elem) { - if ($first_line) { - $content .= "[".$key."]\n"; - $first_line = false; - } else { - $content .= "\n[".$key."]\n"; - } - foreach ($elem as $key2=>$elem2) { - if(is_array($elem2)) - { - for($i=0;$i$elem) { - if(is_array($elem)) - { - for($i=0;$iquery($sql)->fetchColumn(0); - } catch (PDOException $e){ - // no pref table therefore Airtime is not installed. - //We only get here if airtime database exists, but the table doesn't - //This state sometimes happens if a previous Airtime uninstall couldn't remove - //the database because it was busy, so it just removed the tables instead. - return null; - } - - //if version is empty string, then version is older than version 1.8.0 - if ($version == '') { - try { - // If this table exists, then it's version 1.7.0 - $sql = "SELECT * FROM cc_show_rebroadcast LIMIT 1"; - $result = $con->query($sql)->fetchColumn(0); - $version = "1.7.0"; - } catch (Exception $e) { - $version = null; - } - } - - return $version; - } - - public static function DbTableExists($p_name) - { - $con = Propel::getConnection(); - try { - $sql = "SELECT * FROM ".$p_name." LIMIT 1"; - $con->query($sql); - } catch (PDOException $e){ - return false; - } - return true; - } - - public static function InstallQuery($sql, $verbose = true) - { - $con = Propel::getConnection(); - try { - $con->exec($sql); - if ($verbose) { - echo "done.\n"; - } - } catch (Exception $e) { - echo "Error!\n".$e->getMessage()."\n"; - echo " SQL statement was:\n"; - echo " ".$sql."\n\n"; - } - } - - public static function DropSequence($p_sequenceName) - { - AirtimeInstall::InstallQuery("DROP SEQUENCE IF EXISTS $p_sequenceName", false); - } - - - /** - * Try to connect to the database. Return true on success, false on failure. - * @param boolean $p_exitOnError - * Exit the program on failure. - * @return boolean - */ - public static function DbConnect($p_exitOnError = true) - { - $CC_CONFIG = Config::getConfig(); - try { - $con = Propel::getConnection(); - } catch (Exception $e) { - echo $e->getMessage().PHP_EOL; - echo "Database connection problem.".PHP_EOL; - echo "Check if database '{$CC_CONFIG['dsn']['database']}' exists". - " with corresponding permissions.".PHP_EOL; - if ($p_exitOnError) { - exit(1); - } - return false; - } - return true; - } - - - /* TODO: This function should be moved to the media-monitor - * install script. */ - public static function InstallStorageDirectory() - { - $CC_CONFIG = Config::getConfig(); - echo "* Storage directory setup".PHP_EOL; - - $ini = parse_ini_file(__DIR__."/airtime-install.ini"); - $stor_dir = $ini["storage_dir"]; - - $dirs = array($stor_dir, $stor_dir."/organize"); - - foreach ($dirs as $dir){ - if (!file_exists($dir)) { - if (mkdir($dir, 02775, true)){ - $rp = realpath($dir); - echo "* Directory $rp created".PHP_EOL; - } else { - echo "* Failed creating {$dir}".PHP_EOL; - exit(1); - } - } - else if (is_writable($dir)) { - $rp = realpath($dir); - echo "* Skipping directory already exists: $rp".PHP_EOL; - } - else { - $rp = realpath($dir); - echo "* Error: Directory already exists, but is not writable: $rp".PHP_EOL; - exit(1); - } - - echo "* Giving Apache permission to access $rp".PHP_EOL; - $success = chown($rp, $CC_CONFIG["webServerUser"]); - $success = chgrp($rp, $CC_CONFIG["webServerUser"]); - $success = chmod($rp, 0775); - } - } - - public static function CreateDatabaseUser() - { - $CC_CONFIG = Config::getConfig(); - - echo " * Creating Airtime database user".PHP_EOL; - - $username = $CC_CONFIG['dsn']['username']; - $password = $CC_CONFIG['dsn']['password']; - $command = "echo \"CREATE USER $username ENCRYPTED PASSWORD '$password' LOGIN CREATEDB NOCREATEUSER;\" | su postgres -c psql 2>/dev/null"; - - @exec($command, $output, $results); - if ($results == 0) { - echo " * Database user '{$CC_CONFIG['dsn']['username']}' created.".PHP_EOL; - } else { - if (count($output) > 0) { - echo " * Could not create user '{$CC_CONFIG['dsn']['username']}': ".PHP_EOL; - echo implode(PHP_EOL, $output); - } - else { - echo " * Database user '{$CC_CONFIG['dsn']['username']}' already exists.".PHP_EOL; - } - } - } - - - public static function CreateDatabase() - { - $CC_CONFIG = Config::getConfig(); - - - $database = $CC_CONFIG['dsn']['database']; - $username = $CC_CONFIG['dsn']['username']; - #$command = "echo \"CREATE DATABASE $database OWNER $username\" | su postgres -c psql 2>/dev/null"; - - echo " * Creating Airtime database: " . $database . PHP_EOL; - - putenv("LC_ALL=en_CA.UTF-8"); //Squash warnings when running unit tests - $command = "su postgres -c \"psql -l | cut -f2 -d' ' | grep -w '{$database}'\";"; - exec($command, $output, $rv); - - if ($rv == 0) { - //database already exists - echo "Database already exists." . PHP_EOL; - return true; - } - - $command = "sudo -i -u postgres psql postgres -c \"CREATE DATABASE ".$database." WITH ENCODING 'UTF8' TEMPLATE template0 OWNER ".$username."\""; - - @exec($command, $output, $results); - if ($results == 0) { - echo " * Database '{$CC_CONFIG['dsn']['database']}' created.".PHP_EOL; - } else { - if (count($output) > 0) { - echo " * Could not create database '{$CC_CONFIG['dsn']['database']}': ".PHP_EOL; - echo implode(PHP_EOL, $output); - } - else { - echo " * Database '{$CC_CONFIG['dsn']['database']}' already exists.".PHP_EOL; - } - } - - $databaseExisted = ($results != 0); - - return $databaseExisted; - } - - public static function InstallPostgresScriptingLanguage() - { - $con = Propel::getConnection(); - - // Install postgres scripting language - $sql = 'SELECT COUNT(*) FROM pg_language WHERE lanname = \'plpgsql\''; - $langIsInstalled = $con->query($sql)->fetchColumn(0); - if ($langIsInstalled == '0') { - echo " * Installing Postgres scripting language".PHP_EOL; - $sql = "CREATE LANGUAGE 'plpgsql'"; - AirtimeInstall::InstallQuery($sql, false); - } else { - echo " * Postgres scripting language already installed".PHP_EOL; - } - } - - public static function CreateDatabaseTables($p_dbuser, $p_dbpasswd, $p_dbname, $p_dbhost) - { - echo " * Creating database tables".PHP_EOL; - - // Put Propel sql files in Database - //$command = AirtimeInstall::CONF_DIR_WWW."/library/propel/generator/bin/propel-gen ".AirtimeInstall::CONF_DIR_WWW."/build/ insert-sql 2>/dev/null"; - - $dir = self::GetAirtimeSrcDir()."/build/sql/"; - $files = array("schema.sql", "sequences.sql", "views.sql", "triggers.sql", "defaultdata.sql"); - - foreach ($files as $f){ - $command = "export PGPASSWORD=$p_dbpasswd && psql --username $p_dbuser --dbname $p_dbname --host $p_dbhost --file $dir$f 2>/dev/null"; - @exec($command, $output, $results); - } - - AirtimeInstall::$databaseTablesCreated = true; - } - - public static function BypassMigrations($dir, $version) - { - $appDir = AirtimeInstall::GetAirtimeSrcDir(); - $command = "php $appDir/library/doctrine/migrations/doctrine-migrations.phar ". - "--configuration=$dir/../../DoctrineMigrations/migrations.xml ". - "--db-configuration=$appDir/library/doctrine/migrations/migrations-db.php ". - "--no-interaction --add migrations:version $version"; - system($command); - } - - public static function MigrateTablesToVersion($dir, $version) - { - $appDir = AirtimeInstall::GetAirtimeSrcDir(); - $command = "php $appDir/library/doctrine/migrations/doctrine-migrations.phar ". - "--configuration=$dir/../../DoctrineMigrations/migrations.xml ". - "--db-configuration=$appDir/library/doctrine/migrations/migrations-db.php ". - "--no-interaction migrations:migrate $version"; - system($command); - } - - public static function SetAirtimeVersion($p_version) - { - $con = Propel::getConnection(); - $sql = "DELETE FROM cc_pref WHERE keystr = 'system_version'"; - $con->exec($sql); - - Application_Model_Preference::SetAirtimeVersion($p_version); - } - - public static function SetUniqueId() - { - $uniqueId = md5(uniqid("", true)); - Application_Model_Preference::SetUniqueId($uniqueId); - } - - public static function GetAirtimeVersion() - { - $con = Propel::getConnection(); - $sql = "SELECT valstr FROM cc_pref WHERE keystr = 'system_version' LIMIT 1"; - $version = $con->query($sql)->fetchColumn(0); - return $version; - } - - public static function DeleteFilesRecursive($p_path) - { - $command = "rm -rf \"$p_path\""; - exec($command); - } - - public static function CreateSymlinksToUtils() - { - echo "* Creating /usr/bin symlinks".PHP_EOL; - AirtimeInstall::RemoveSymlinks(); - - echo "* Installing airtime-import".PHP_EOL; - $dir = AirtimeInstall::CONF_DIR_BINARIES."/utils/airtime-import/airtime-import"; - exec("ln -s $dir /usr/bin/airtime-import"); - - echo "* Installing airtime-update-db-settings".PHP_EOL; - $dir = AirtimeInstall::CONF_DIR_BINARIES."/utils/airtime-update-db-settings"; - exec("ln -s $dir /usr/bin/airtime-update-db-settings"); - - echo "* Installing airtime-check-system".PHP_EOL; - $dir = AirtimeInstall::CONF_DIR_BINARIES."/utils/airtime-check-system"; - exec("ln -s $dir /usr/bin/airtime-check-system"); - - echo "* Installing airtime-user".PHP_EOL; - $dir = AirtimeInstall::CONF_DIR_BINARIES."/utils/airtime-user"; - exec("ln -s $dir /usr/bin/airtime-user"); - - echo "* Installing airtime-log".PHP_EOL; - $dir = AirtimeInstall::CONF_DIR_BINARIES."/utils/airtime-log"; - exec("ln -s $dir /usr/bin/airtime-log"); - } - - public static function RemoveSymlinks() - { - exec("rm -f /usr/bin/airtime-import"); - exec("rm -f /usr/bin/airtime-update-db-settings"); - exec("rm -f /usr/bin/airtime-check-system"); - exec("rm -f /usr/bin/airtime-user"); - exec("rm -f /usr/bin/airtime-log"); - exec("rm -f /usr/bin/airtime-clean-storage"); - } - - public static function InstallPhpCode() - { - $CC_CONFIG = Config::getConfig(); - echo "* Installing PHP code to ".AirtimeInstall::CONF_DIR_WWW.PHP_EOL; - exec("mkdir -p ".AirtimeInstall::CONF_DIR_WWW); - exec("cp -R ".AirtimeInstall::GetAirtimeSrcDir()."/* ".AirtimeInstall::CONF_DIR_WWW); - - } - - public static function UninstallPhpCode() - { - echo "* Removing PHP code from ".AirtimeInstall::CONF_DIR_WWW.PHP_EOL; - exec('rm -rf "'.AirtimeInstall::CONF_DIR_WWW.'"'); - } - - public static function InstallBinaries() - { - echo "* Installing binaries to ".AirtimeInstall::CONF_DIR_BINARIES.PHP_EOL; - exec("mkdir -p ".AirtimeInstall::CONF_DIR_BINARIES); - exec("cp -R ".AirtimeInstall::GetUtilsSrcDir()." ".AirtimeInstall::CONF_DIR_BINARIES); - } - - public static function UninstallBinaries() - { - echo "* Removing Airtime binaries from ".AirtimeInstall::CONF_DIR_BINARIES.PHP_EOL; - exec('rm -rf "'.AirtimeInstall::CONF_DIR_BINARIES.'"'); - } - - public static function DirCheck() - { - echo "Legend: \"+\" means the dir/file exists, \"-\" means that it does not.".PHP_EOL; - $dirs = array(AirtimeInstall::CONF_DIR_BINARIES, - AirtimeInstall::CONF_DIR_WWW, - AirtimeIni::CONF_FILE_AIRTIME, - AirtimeIni::CONF_FILE_LIQUIDSOAP, - AirtimeIni::CONF_FILE_PYPO, - AirtimeIni::CONF_FILE_RECORDER, - "/usr/lib/airtime/pypo", - "/var/log/airtime", - "/var/log/airtime/pypo", - "/var/tmp/airtime/pypo"); - foreach ($dirs as $f) { - if (file_exists($f)) { - echo "+ $f".PHP_EOL; - } else { - echo "- $f".PHP_EOL; - } - } - } - - public static function CreateZendPhpLogFile(){ - $CC_CONFIG = Config::getConfig(); - - $path = AirtimeInstall::CONF_DIR_LOG; - $file = $path.'/zendphp.log'; - if (!file_exists($path)){ - mkdir($path, 0755, true); - } - - touch($file); - chmod($file, 0644); - chown($file, $CC_CONFIG['webServerUser']); - chgrp($file, $CC_CONFIG['webServerUser']); - } - - public static function RemoveLogDirectories(){ - $path = AirtimeInstall::CONF_DIR_LOG; - echo "* Removing logs directory ".$path.PHP_EOL; - - exec("rm -rf \"$path\""); - } - - public static function CreateCronFile(){ - echo "* Creating Cron File".PHP_EOL; - // Create CRON task to run every day. Time of day is initialized to a random time. - $hour = rand(0,23); - $minute = rand(0,59); - - $fp = fopen('/etc/cron.d/airtime-crons','w'); - fwrite($fp, "$minute $hour * * * root /usr/lib/airtime/utils/phone_home_stat\n"); - fclose($fp); - } - - public static function removeVirtualEnvDistributeFile(){ - echo "* Removing distribute-0.6.10.tar.gz".PHP_EOL; - if(file_exists('/usr/share/python-virtualenv/distribute-0.6.10.tar.gz')){ - exec("rm -f /usr/share/python-virtualenv/distribute-0.6.10.tar.gz"); - } - } - - public static function printUsage($opts) - { - $msg = $opts->getUsageMessage(); - echo PHP_EOL."Usage: airtime-install [options]"; - echo substr($msg, strpos($msg, "\n")).PHP_EOL; - } - - public static function getOpts() - { - try { - $autoloader = Zend_Loader_Autoloader::getInstance(); - $opts = new Zend_Console_Getopt( - array( - 'help|h' => 'Displays usage information.', - 'overwrite|o' => 'Overwrite any existing config files.', - 'preserve|p' => 'Keep any existing config files.', - 'no-db|n' => 'Turn off database install.', - 'reinstall|r' => 'Force a fresh install of this Airtime Version', - 'webonly|w' => 'Install only web files' - ) - ); - $opts->parse(); - } catch (Zend_Console_Getopt_Exception $e) { - print $e->getMessage() .PHP_EOL; - AirtimeInstall::printUsage($opts); - return NULL; - } - return $opts; - } - - public static function checkPHPVersion() - { - if (PHP_VERSION_ID < 50300) - { - echo "Error: Airtime requires PHP 5.3 or greater."; - return false; - } - return true; - } -} diff --git a/install_minimal/include/airtime-constants.php b/install_minimal/include/airtime-constants.php deleted file mode 100644 index 2a3bf95ee..000000000 --- a/install_minimal/include/airtime-constants.php +++ /dev/null @@ -1,3 +0,0 @@ - /etc/cron.d/airtime-crons - -echo "* Creating /usr/lib/airtime" -if [ "$python_service" -eq "0" ]; then - python $AIRTIMEROOT/python_apps/api_clients/install/api_client_install.py - - if [ "$mediamonitor" = "t" ]; then - python $AIRTIMEROOT/python_apps/media-monitor/install/media-monitor-copy-files.py - fi - if [ "$pypo" = "t" ]; then - python $AIRTIMEROOT/python_apps/pypo/install/pypo-copy-files.py - fi -fi - -cp -R $AIRTIMEROOT/utils /usr/lib/airtime -cp -R $AIRTIMEROOT/python_apps/std_err_override /usr/lib/airtime - -echo "* Creating symbolic links in /usr/bin" -#create symbolic links -ln -sf /usr/lib/airtime/utils/airtime-import/airtime-import /usr/bin/airtime-import -ln -sf /usr/lib/airtime/utils/airtime-update-db-settings /usr/bin/airtime-update-db-settings -ln -sf /usr/lib/airtime/utils/airtime-check-system /usr/bin/airtime-check-system -ln -sf /usr/lib/airtime/utils/airtime-log /usr/bin/airtime-log -ln -sf /usr/lib/airtime/utils/airtime-test-soundcard /usr/bin/airtime-test-soundcard -ln -sf /usr/lib/airtime/utils/airtime-test-stream /usr/bin/airtime-test-stream -ln -sf /usr/lib/airtime/utils/airtime-silan /usr/bin/airtime-silan - -echo "* Creating /var/log/airtime" -mkdir -p /var/log/airtime -chmod a+x /var/log/airtime -chown www-data:www-data /var/log/airtime/ -chown pypo:pypo /var/log/airtime/pypo -chown pypo:pypo /var/log/airtime/pypo-liquidsoap - - -if [ "$web" = "t" ]; then - echo "* Creating /usr/share/airtime" - rm -rf "/usr/share/airtime" - mkdir -p /usr/share/airtime - cp -R $AIRTIMEROOT/airtime_mvc/* /usr/share/airtime/ - rm -f /etc/logrotate.d/airtime-php - cp $AIRTIMEROOT/airtime_mvc/build/airtime-php.logrotate /etc/logrotate.d/airtime-php -fi - -echo "* Creating /var/log/airtime" -mkdir -p /var/log/airtime - -echo "* Creating /var/tmp/airtime" -mkdir -p /var/tmp/airtime - -#Finished copying files diff --git a/install_minimal/include/airtime-db-install.php b/install_minimal/include/airtime-db-install.php deleted file mode 100644 index cc1905758..000000000 --- a/install_minimal/include/airtime-db-install.php +++ /dev/null @@ -1,84 +0,0 @@ -exec($sql); - } catch (Exception $e) { - echo " * Failed inserting {$stor_dir} in cc_music_dirs".PHP_EOL; - echo " * Message {$e->getMessage()}".PHP_EOL; - exit(1); - } -} diff --git a/install_minimal/include/airtime-initialize.sh b/install_minimal/include/airtime-initialize.sh deleted file mode 100755 index 63a7c55a2..000000000 --- a/install_minimal/include/airtime-initialize.sh +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/bash -e -#-e Causes bash script to exit if any of the installers -#return with a non-zero return value. - -if [[ $EUID -ne 0 ]]; then - echo "Please run as root user." - exit 1 -fi - -set +e -dist=`lsb_release -is` -echo "Generating locales" -for i in `ls /usr/share/airtime/locale | grep ".._.."`; do - if [ "$dist" = "Debian" ]; then - grep -qi "^$i" /etc/locale.gen - if [ $? -ne 0 ]; then - echo "$i.UTF-8 UTF-8" >> /etc/locale.gen - fi - else - locale-gen "$i.utf8" - fi -done -set -e - -if [ "$dist" = "Debian" ]; then - /usr/sbin/locale-gen -fi - -# Absolute path to this script, e.g. /home/user/bin/foo.sh -SCRIPT=`readlink -f $0` -# Absolute path this script is in, thus /home/user/bin -SCRIPTPATH=`dirname $SCRIPT` - -AIRTIMEROOT=$SCRIPTPATH/../../ - -if [ "$mediamonitor" = "t" ]; then - python $AIRTIMEROOT/python_apps/media-monitor/install/media-monitor-initialize.py -fi -if [ "$pypo" = "t" ]; then - python $AIRTIMEROOT/python_apps/pypo/install/pypo-initialize.py -fi - -chmod 600 /etc/monit/conf.d/monit-airtime-generic.cfg -chmod 600 /etc/monit/conf.d/monit-airtime-liquidsoap.cfg -chmod 600 /etc/monit/conf.d/monit-airtime-media-monitor.cfg -chmod 600 /etc/monit/conf.d/monit-airtime-playout.cfg -chmod 600 /etc/monit/conf.d/monit-airtime-liquidsoap.cfg - -# Start monit if it is not running, or restart if it is. -# Need to ensure monit is running before Airtime daemons are run. This is -# so we can ensure they can register with monit to monitor them when they start. -# If monit is already running, this step is still useful as we need monit to -# reload its config files. -invoke-rc.d monit restart - -#give monit some time to boot-up before issuing commands -sleep 1 - -set +e -if [ "$mediamonitor" = "t" ]; then - monit monitor airtime-media-monitor -fi -if [ "$pypo" = "t" ]; then - monit monitor airtime-playout - monit monitor airtime-liquidsoap -fi -set -e diff --git a/install_minimal/include/airtime-install.ini b/install_minimal/include/airtime-install.ini deleted file mode 100644 index 01d938f3a..000000000 --- a/install_minimal/include/airtime-install.ini +++ /dev/null @@ -1 +0,0 @@ -storage_dir = /srv/airtime/stor/ diff --git a/install_minimal/include/airtime-install.php b/install_minimal/include/airtime-install.php deleted file mode 100644 index a59baacd9..000000000 --- a/install_minimal/include/airtime-install.php +++ /dev/null @@ -1,88 +0,0 @@ -/dev/null 2>&1 -monit unmonitor airtime-liquidsoap >/dev/null 2>&1 -monit unmonitor airtime-playout >/dev/null 2>&1 -set -e - -#uninitialize Airtime services -python $AIRTIMEROOT/python_apps/pypo/install/pypo-uninitialize.py -python $AIRTIMEROOT/python_apps/media-monitor/install/media-monitor-uninitialize.py - -if [ "$purge" = "t" ]; then -#call Airtime uninstall script -php --php-ini ${SCRIPTPATH}/../airtime-php.ini ${SCRIPTPATH}/airtime-uninstall.php -fi diff --git a/install_minimal/include/airtime-uninstall.php b/install_minimal/include/airtime-uninstall.php deleted file mode 100644 index 20d323daf..000000000 --- a/install_minimal/include/airtime-uninstall.php +++ /dev/null @@ -1,107 +0,0 @@ -query($sql)->fetchAll(); - } catch (Exception $e) { - $rows = array(); - } - - foreach ($rows as $row) { - $tablename = $row["tablename"]; - echo " * Removing database table $tablename..."; - - $sql = "DROP TABLE $tablename CASCADE"; - AirtimeInstall::InstallQuery($sql, false); - AirtimeInstall::DropSequence($tablename."_id"); - echo "done.".PHP_EOL; - } - - - echo " * Deleting database sequences...".PHP_EOL; - $sql = "SELECT c.relname FROM pg_class c WHERE c.relkind = 'S';"; - try { - $rows = $con->query($sql)->fetchAll(); - } catch (Exception $e) { - $rows = array(); - } - - foreach ($rows as $row) { - $sequence = $row["relname"]; - echo " * Removing database sequence $sequence..."; - - $sql = "DROP SEQUENCE $sequence CASCADE"; - AirtimeInstall::InstallQuery($sql, false); - echo "done.".PHP_EOL; - } - } -} - -//------------------------------------------------------------------------ -// Delete the user -//------------------------------------------------------------------------ -echo " * Deleting database user '{$CC_CONFIG['dsn']['username']}'...".PHP_EOL; -$command = "echo \"DROP USER IF EXISTS {$CC_CONFIG['dsn']['username']}\" | su postgres -c psql >/dev/null 2>&1"; -@exec($command, $output, $results); -if ($results == 0) { - echo " * User '{$CC_CONFIG['dsn']['username']}' deleted.".PHP_EOL; -} else { - echo " * Nothing to delete.".PHP_EOL; -} - diff --git a/install_minimal/include/airtime-upgrade.php b/install_minimal/include/airtime-upgrade.php deleted file mode 100644 index a85fbeed0..000000000 --- a/install_minimal/include/airtime-upgrade.php +++ /dev/null @@ -1,105 +0,0 @@ -&1 | grep -v \"will create implicit index\""); - } -} diff --git a/install_minimal/upgrades/airtime-2.2.0/TODO b/install_minimal/upgrades/airtime-2.2.0/TODO deleted file mode 100644 index 037b6cd5f..000000000 --- a/install_minimal/upgrades/airtime-2.2.0/TODO +++ /dev/null @@ -1,9 +0,0 @@ -need to install the following packages: - -mp3gain -vorbisgain -flac -vorbis-tools - - -calculate Replay Gain dB on upgrade: the default value should be NULL. diff --git a/install_minimal/upgrades/airtime-2.2.0/airtime-upgrade.php b/install_minimal/upgrades/airtime-2.2.0/airtime-upgrade.php deleted file mode 100644 index 924babbdb..000000000 --- a/install_minimal/upgrades/airtime-2.2.0/airtime-upgrade.php +++ /dev/null @@ -1,11 +0,0 @@ -fetchColumn(); - - date_default_timezone_set($timezone); - } - - public static function connectToDatabase($p_exitOnError = true) - { - try { - $con = Propel::getConnection(); - } catch (Exception $e) { - echo $e->getMessage().PHP_EOL; - echo "Database connection problem.".PHP_EOL; - echo "Check if database exists with corresponding permissions.".PHP_EOL; - if ($p_exitOnError) { - exit(1); - } - return false; - } - return true; - } - - - public static function DbTableExists($p_name) - { - $con = Propel::getConnection(); - try { - $sql = "SELECT * FROM ".$p_name." LIMIT 1"; - $con->query($sql); - } catch (PDOException $e){ - return false; - } - return true; - } - - private static function GetAirtimeSrcDir() - { - return __DIR__."/../../../../airtime_mvc"; - } - - public static function MigrateTablesToVersion($dir, $version) - { - echo "Upgrading database, may take several minutes, please wait".PHP_EOL; - - $appDir = self::GetAirtimeSrcDir(); - $command = "php --php-ini $dir/../../airtime-php.ini ". - "$appDir/library/doctrine/migrations/doctrine-migrations.phar ". - "--configuration=$dir/common/migrations.xml ". - "--db-configuration=$appDir/library/doctrine/migrations/migrations-db.php ". - "--no-interaction migrations:migrate $version"; - system($command); - } - - public static function BypassMigrations($dir, $version) - { - $appDir = self::GetAirtimeSrcDir(); - $command = "php --php-ini $dir/../../airtime-php.ini ". - "$appDir/library/doctrine/migrations/doctrine-migrations.phar ". - "--configuration=$dir/common/migrations.xml ". - "--db-configuration=$appDir/library/doctrine/migrations/migrations-db.php ". - "--no-interaction --add migrations:version $version"; - system($command); - } - - public static function upgradeConfigFiles(){ - - $configFiles = array(UpgradeCommon::CONF_FILE_AIRTIME, - UpgradeCommon::CONF_FILE_PYPO, - //this is not necessary because liquidsoap configs - //are automatically generated - //UpgradeCommon::CONF_FILE_LIQUIDSOAP, - UpgradeCommon::CONF_FILE_MEDIAMONITOR, - UpgradeCommon::CONF_FILE_API_CLIENT); - - // Backup the config files - $suffix = date("Ymdhis")."-".UpgradeCommon::VERSION_NUMBER; - foreach ($configFiles as $conf) { - // do not back up monit cfg -- ok?? not being done anyway - if (file_exists($conf)) { - echo "Backing up $conf to $conf$suffix.bak".PHP_EOL; - //copy($conf, $conf.$suffix.".bak"); - exec("cp -p $conf $conf$suffix.bak"); //use cli version to preserve file attributes - } - } - - self::CreateIniFiles(UpgradeCommon::CONF_BACKUP_SUFFIX); - self::MergeConfigFiles($configFiles, $suffix); - - //HACK: This will fix a last minute bug we discovered with our upgrade scripts. - //Will be fixed properly in 2.3.0 - $old = "list_all_db_files = 'list-all-files/format/json/api_key/%%api_key%%/dir_id/%%dir_id%%'"; - $new = "list_all_db_files = 'list-all-files/format/json/api_key/%%api_key%%/dir_id/%%dir_id%%/all/%%all%%'"; - exec("sed -i \"s#$old#$new#g\" /etc/airtime/api_client.cfg"); - - $old = "update_start_playing_url = 'notify-media-item-start-play/api_key/%%api_key%%/media_id/%%media_id%%/schedule_id/%%schedule_id%%'"; - $new = "update_start_playing_url = 'notify-media-item-start-play/api_key/%%api_key%%/media_id/%%media_id%%/'"; - exec("sed -i \"s#$old#$new#g\" /etc/airtime/api_client.cfg"); - } - - /** - * This function creates the /etc/airtime configuration folder - * and copies the default config files to it. - */ - public static function CreateIniFiles($suffix) - { - if (!file_exists("/etc/airtime/")){ - if (!mkdir("/etc/airtime/", 0755, true)){ - echo "Could not create /etc/airtime/ directory. Exiting."; - exit(1); - } - } - - $config_copy = array( - "../etc/airtime.conf" => self::CONF_FILE_AIRTIME, - "../etc/pypo.cfg" => self::CONF_FILE_PYPO, - "../etc/media-monitor.cfg" => self::CONF_FILE_MEDIAMONITOR, - "../etc/api_client.cfg" => self::CONF_FILE_API_CLIENT - ); - - echo "Copying configs:\n"; - foreach ($config_copy as $path_part => $destination) { - $full_path = OsPath::normpath(OsPath::join(__DIR__, - "$path_part.$suffix")); - echo "'$full_path' --> '$destination'\n"; - if(!copy($full_path, $destination)) { - echo "Failed on the copying operation above\n"; - exit(1); - } - } - } - - private static function MergeConfigFiles(array $configFiles, $suffix) { - foreach ($configFiles as $conf) { - if (file_exists("$conf$suffix.bak")) { - - if($conf === self::CONF_FILE_AIRTIME) { - // Parse with sections - $newSettings = parse_ini_file($conf, true); - $oldSettings = parse_ini_file("$conf$suffix.bak", true); - } - else { - $newSettings = self::ReadPythonConfig($conf); - $oldSettings = self::ReadPythonConfig("$conf$suffix.bak"); - } - - $settings = array_keys($newSettings); - - foreach($settings as $section) { - if(isset($oldSettings[$section])) { - if(is_array($oldSettings[$section])) { - $sectionKeys = array_keys($newSettings[$section]); - foreach($sectionKeys as $sectionKey) { - - if(isset($oldSettings[$section][$sectionKey])) { - self::UpdateIniValue($conf, $sectionKey, - $oldSettings[$section][$sectionKey]); - } - } - } else { - self::UpdateIniValue($conf, $section, - $oldSettings[$section]); - } - } - } - } - } - } - - private static function ReadPythonConfig($p_filename) - { - $values = array(); - - $fh = fopen($p_filename, 'r'); - - while(!feof($fh)){ - $line = fgets($fh); - if(substr(trim($line), 0, 1) == '#' || trim($line) == ""){ - continue; - }else{ - $info = explode('=', $line, 2); - $values[trim($info[0])] = trim($info[1]); - } - } - - return $values; - } - - /** - * This function updates an INI style config file. - * - * A property and the value the property should be changed to are - * supplied. If the property is not found, then no changes are made. - * - * @param string $p_filename - * The path the to the file. - * @param string $p_property - * The property to look for in order to change its value. - * @param string $p_value - * The value the property should be changed to. - * - */ - private static function UpdateIniValue($p_filename, $p_property, $p_value) - { - $lines = file($p_filename); - $n = count($lines); - foreach ($lines as &$line) { - if ($line[0] != "#"){ - $key_value = explode("=", $line); - $key = trim($key_value[0]); - - if ($key == $p_property){ - $line = "$p_property = $p_value".PHP_EOL; - } - } - } - - $fp=fopen($p_filename, 'w'); - for($i=0; $i<$n; $i++){ - fwrite($fp, $lines[$i]); - } - fclose($fp); - } - - public static function queryDb($p_sql){ - $con = Propel::getConnection(); - - try { - $result = $con->query($p_sql); - } catch (Exception $e) { - echo "Error executing $p_sql. Exiting."; - exit(1); - } - - return $result; - } -} - -class OsPath { - // this function is from http://stackoverflow.com/questions/2670299/is-there-a-php-equivalent-function-to-the-python-os-path-normpath - public static function normpath($path) - { - if (empty($path)) - return '.'; - - if (strpos($path, '/') === 0) - $initial_slashes = true; - else - $initial_slashes = false; - if ( - ($initial_slashes) && - (strpos($path, '//') === 0) && - (strpos($path, '///') === false) - ) - $initial_slashes = 2; - $initial_slashes = (int) $initial_slashes; - - $comps = explode('/', $path); - $new_comps = array(); - foreach ($comps as $comp) - { - if (in_array($comp, array('', '.'))) - continue; - if ( - ($comp != '..') || - (!$initial_slashes && !$new_comps) || - ($new_comps && (end($new_comps) == '..')) - ) - array_push($new_comps, $comp); - elseif ($new_comps) - array_pop($new_comps); - } - $comps = $new_comps; - $path = implode('/', $comps); - if ($initial_slashes) - $path = str_repeat('/', $initial_slashes) . $path; - if ($path) - return $path; - else - return '.'; - } - - /* Similar to the os.path.join python method - * http://stackoverflow.com/a/1782990/276949 */ - public static function join() { - $args = func_get_args(); - $paths = array(); - - foreach($args as $arg) { - $paths = array_merge($paths, (array)$arg); - } - - foreach($paths as &$path) { - $path = trim($path, DIRECTORY_SEPARATOR); - } - - if (substr($args[0], 0, 1) == DIRECTORY_SEPARATOR) { - $paths[0] = DIRECTORY_SEPARATOR . $paths[0]; - } - - return join(DIRECTORY_SEPARATOR, $paths); - } -} diff --git a/install_minimal/upgrades/airtime-2.2.0/data/upgrade.sql b/install_minimal/upgrades/airtime-2.2.0/data/upgrade.sql deleted file mode 100644 index 95e621874..000000000 --- a/install_minimal/upgrades/airtime-2.2.0/data/upgrade.sql +++ /dev/null @@ -1,227 +0,0 @@ -DELETE FROM cc_pref WHERE keystr = 'system_version'; -INSERT INTO cc_pref (keystr, valstr) VALUES ('system_version', '2.2.0'); - ---DELETE user column order prefs, since the number of columns has increased in 2.2 -DELETE FROM cc_pref where keystr = 'library_datatable'; -DELETE FROM cc_pref where keystr = 'timeline_datatable'; - -INSERT INTO cc_stream_setting (keyname, value, type) VALUES ('s1_name', 'Airtime!', 'string'); -INSERT INTO cc_stream_setting (keyname, value, type) VALUES ('s2_name', '', 'string'); -INSERT INTO cc_stream_setting (keyname, value, type) VALUES ('s3_name', '', 'string'); - -INSERT INTO cc_stream_setting (keyname, value, type) VALUES ('s1_channels', 'stereo', 'string'); -INSERT INTO cc_stream_setting (keyname, value, type) VALUES ('s2_channels', 'stereo', 'string'); -INSERT INTO cc_stream_setting (keyname, value, type) VALUES ('s3_channels', 'stereo', 'string'); - - -CREATE FUNCTION airtime_to_int(chartoconvert character varying) RETURNS integer - AS - 'SELECT CASE WHEN trim($1) SIMILAR TO ''[0-9]+'' THEN CAST(trim($1) AS integer) ELSE NULL END;' - LANGUAGE SQL - IMMUTABLE - RETURNS NULL ON NULL INPUT; - ---clean up database of scheduled items that weren't properly deleted in 2.1.x ---due to a bug -DELETE -FROM cc_schedule -WHERE id IN - (SELECT s.id - FROM cc_schedule s - LEFT JOIN cc_show_instances si ON s.instance_id = si.id - WHERE si.modified_instance = 't'); - -ALTER TABLE cc_files - DROP CONSTRAINT cc_files_gunid_idx; - -DROP INDEX cc_files_file_exists_idx; - -DROP TABLE cc_access; - -CREATE SEQUENCE cc_block_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - -CREATE SEQUENCE cc_blockcontents_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - -CREATE SEQUENCE cc_blockcriteria_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - -CREATE SEQUENCE cc_webstream_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - -CREATE SEQUENCE cc_webstream_metadata_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - -CREATE TABLE cc_block ( - id integer DEFAULT nextval('cc_block_id_seq'::regclass) NOT NULL, - name character varying(255) DEFAULT ''::character varying NOT NULL, - mtime timestamp(6) without time zone, - utime timestamp(6) without time zone, - creator_id integer, - description character varying(512), - length interval DEFAULT '00:00:00'::interval, - type character varying(7) DEFAULT 'static'::character varying -); - -CREATE TABLE cc_blockcontents ( - id integer DEFAULT nextval('cc_blockcontents_id_seq'::regclass) NOT NULL, - block_id integer, - file_id integer, - "position" integer, - cliplength interval DEFAULT '00:00:00'::interval, - cuein interval DEFAULT '00:00:00'::interval, - cueout interval DEFAULT '00:00:00'::interval, - fadein time without time zone DEFAULT '00:00:00'::time without time zone, - fadeout time without time zone DEFAULT '00:00:00'::time without time zone -); - -CREATE TABLE cc_blockcriteria ( - id integer DEFAULT nextval('cc_blockcriteria_id_seq'::regclass) NOT NULL, - criteria character varying(32) NOT NULL, - modifier character varying(16) NOT NULL, - "value" character varying(512) NOT NULL, - extra character varying(512), - block_id integer NOT NULL -); - -CREATE TABLE cc_webstream ( - id integer DEFAULT nextval('cc_webstream_id_seq'::regclass) NOT NULL, - name character varying(255) NOT NULL, - description character varying(255) NOT NULL, - url character varying(512) NOT NULL, - length interval DEFAULT '00:00:00'::interval NOT NULL, - creator_id integer NOT NULL, - mtime timestamp(6) without time zone NOT NULL, - utime timestamp(6) without time zone NOT NULL, - lptime timestamp(6) without time zone, - mime character varying(255) -); - -CREATE TABLE cc_webstream_metadata ( - id integer DEFAULT nextval('cc_webstream_metadata_id_seq'::regclass) NOT NULL, - instance_id integer NOT NULL, - start_time timestamp without time zone NOT NULL, - liquidsoap_data character varying(1024) NOT NULL -); - -ALTER TABLE cc_files - DROP COLUMN gunid, - ADD COLUMN replay_gain numeric, - ADD COLUMN owner_id integer, - ALTER COLUMN bpm TYPE integer using airtime_to_int(bpm) /* TYPE change - table: cc_files original: character varying(8) new: integer */; - -ALTER TABLE cc_files - ADD CONSTRAINT cc_files_owner_fkey FOREIGN KEY (owner_id) REFERENCES cc_subjs(id); - -ALTER TABLE cc_playlistcontents - ADD COLUMN block_id integer, - ADD COLUMN stream_id integer, - ADD COLUMN type smallint DEFAULT 0 NOT NULL; - -ALTER TABLE cc_schedule - ADD COLUMN stream_id integer; - -CREATE INDEX cc_schedule_instance_id_idx - ON cc_schedule - USING btree - (instance_id); - - -ALTER TABLE cc_subjs - ADD COLUMN cell_phone character varying(255); - -ALTER TABLE cc_block - ADD CONSTRAINT cc_block_pkey PRIMARY KEY (id); - -ALTER TABLE cc_blockcontents - ADD CONSTRAINT cc_blockcontents_pkey PRIMARY KEY (id); - -ALTER TABLE cc_blockcriteria - ADD CONSTRAINT cc_blockcriteria_pkey PRIMARY KEY (id); - -ALTER TABLE cc_webstream - ADD CONSTRAINT cc_webstream_pkey PRIMARY KEY (id); - -ALTER TABLE cc_webstream_metadata - ADD CONSTRAINT cc_webstream_metadata_pkey PRIMARY KEY (id); - -ALTER TABLE cc_block - ADD CONSTRAINT cc_block_createdby_fkey FOREIGN KEY (creator_id) REFERENCES cc_subjs(id); - -ALTER TABLE cc_blockcontents - ADD CONSTRAINT cc_blockcontents_block_id_fkey FOREIGN KEY (block_id) REFERENCES cc_block(id) ON DELETE CASCADE; - -ALTER TABLE cc_blockcontents - ADD CONSTRAINT cc_blockcontents_file_id_fkey FOREIGN KEY (file_id) REFERENCES cc_files(id) ON DELETE CASCADE; - -ALTER TABLE cc_blockcriteria - ADD CONSTRAINT cc_blockcontents_block_id_fkey FOREIGN KEY (block_id) REFERENCES cc_block(id) ON DELETE CASCADE; - -ALTER TABLE cc_playlistcontents - ADD CONSTRAINT cc_playlistcontents_block_id_fkey FOREIGN KEY (block_id) REFERENCES cc_block(id) ON DELETE CASCADE; - -ALTER TABLE cc_schedule - ADD CONSTRAINT cc_show_stream_fkey FOREIGN KEY (stream_id) REFERENCES cc_webstream(id) ON DELETE CASCADE; - -ALTER TABLE cc_webstream_metadata - ADD CONSTRAINT cc_schedule_inst_fkey FOREIGN KEY (instance_id) REFERENCES cc_schedule(id) ON DELETE CASCADE; - - - - -ALTER TABLE cc_playlist - DROP CONSTRAINT cc_playlist_createdby_fkey; - -ALTER SEQUENCE cc_block_id_seq - OWNED BY cc_block.id; - -ALTER SEQUENCE cc_blockcontents_id_seq - OWNED BY cc_blockcontents.id; - -ALTER SEQUENCE cc_blockcriteria_id_seq - OWNED BY cc_blockcriteria.id; - -ALTER SEQUENCE cc_webstream_id_seq - OWNED BY cc_webstream.id; - -ALTER SEQUENCE cc_webstream_metadata_id_seq - OWNED BY cc_webstream_metadata.id; - -ALTER TABLE cc_playlist - ADD CONSTRAINT cc_playlist_createdby_fkey FOREIGN KEY (creator_id) REFERENCES cc_subjs(id) ON DELETE CASCADE; - - - - -DROP FUNCTION airtime_to_int(chartoconvert character varying); - -UPDATE cc_files -SET owner_id=(SELECT id FROM cc_subjs WHERE type='A' LIMIT 1) -WHERE owner_id is NULL; - -UPDATE cc_files -SET mime='audio/ogg' -WHERE mime='audio/vorbis'; - - diff --git a/install_minimal/upgrades/airtime-2.2.0/etc/airtime.conf.220 b/install_minimal/upgrades/airtime-2.2.0/etc/airtime.conf.220 deleted file mode 100644 index 0853cedc9..000000000 --- a/install_minimal/upgrades/airtime-2.2.0/etc/airtime.conf.220 +++ /dev/null @@ -1,31 +0,0 @@ -[database] -host = localhost -dbname = airtime -dbuser = airtime -dbpass = airtime - -[rabbitmq] -host = 127.0.0.1 -port = 5672 -user = guest -password = guest -vhost = / - -[general] -api_key = AAA -web_server_user = www-data -airtime_dir = x -base_url = localhost -base_port = 80 - -;How many hours ahead of time should Airtime playout engine (PYPO) -;cache scheduled media files. -cache_ahead_hours = 1 - -[monit] -monit_user = guest -monit_password = airtime - -[soundcloud] -connection_retries = 3 -time_between_retries = 60 diff --git a/install_minimal/upgrades/airtime-2.2.0/etc/api_client.cfg.220 b/install_minimal/upgrades/airtime-2.2.0/etc/api_client.cfg.220 deleted file mode 100644 index 06e92edb2..000000000 --- a/install_minimal/upgrades/airtime-2.2.0/etc/api_client.cfg.220 +++ /dev/null @@ -1,121 +0,0 @@ -bin_dir = "/usr/lib/airtime/api_clients" - -############################# -## Common -############################# - -# Value needed to access the API -api_key = 'AAA' - -# Path to the base of the API -api_base = 'api' - -# URL to get the version number of the server API -version_url = 'version/api_key/%%api_key%%' - -#URL to register a components IP Address with the central web server -register_component = 'register-component/format/json/api_key/%%api_key%%/component/%%component%%' - -# Hostname -base_url = 'localhost' -base_port = 80 - -############################# -## Config for Media Monitor -############################# - -# URL to setup the media monitor -media_setup_url = 'media-monitor-setup/format/json/api_key/%%api_key%%' - -# Tell Airtime the file id associated with a show instance. -upload_recorded = 'upload-recorded/format/json/api_key/%%api_key%%/fileid/%%fileid%%/showinstanceid/%%showinstanceid%%' - -# URL to tell Airtime to update file's meta data -update_media_url = 'reload-metadata/format/json/api_key/%%api_key%%/mode/%%mode%%' - -# URL to tell Airtime we want a listing of all files it knows about -list_all_db_files = 'list-all-files/format/json/api_key/%%api_key%%/dir_id/%%dir_id%%' - -# URL to tell Airtime we want a listing of all dirs its watching (including the stor dir) -list_all_watched_dirs = 'list-all-watched-dirs/format/json/api_key/%%api_key%%' - -# URL to tell Airtime we want to add watched directory -add_watched_dir = 'add-watched-dir/format/json/api_key/%%api_key%%/path/%%path%%' - -# URL to tell Airtime we want to add watched directory -remove_watched_dir = 'remove-watched-dir/format/json/api_key/%%api_key%%/path/%%path%%' - -# URL to tell Airtime we want to add watched directory -set_storage_dir = 'set-storage-dir/format/json/api_key/%%api_key%%/path/%%path%%' - -# URL to tell Airtime about file system mount change -update_fs_mount = 'update-file-system-mount/format/json/api_key/%%api_key%%' - -# URL to commit multiple updates from media monitor at the same time - -reload_metadata_group = 'reload-metadata-group/format/json/api_key/%%api_key%%' - -# URL to tell Airtime about file system mount change -handle_watched_dir_missing = 'handle-watched-dir-missing/format/json/api_key/%%api_key%%/dir/%%dir%%' - -############################# -## Config for Recorder -############################# - -# URL to get the schedule of shows set to record -show_schedule_url = 'recorded-shows/format/json/api_key/%%api_key%%' - -# URL to upload the recorded show's file to Airtime -upload_file_url = 'upload-file/format/json/api_key/%%api_key%%' - -# URL to commit multiple updates from media monitor at the same time - -#number of retries to upload file if connection problem -upload_retries = 3 - -#time to wait between attempts to upload file if connection problem (in seconds) -upload_wait = 60 - -################################################################################ -# Uncomment *one of the sets* of values from the API clients below, and comment -# out all the others. -################################################################################ - -############################# -## Config for Pypo -############################# - -# Schedule export path. -# %%from%% - starting date/time in the form YYYY-MM-DD-hh-mm -# %%to%% - starting date/time in the form YYYY-MM-DD-hh-mm -export_url = 'schedule/api_key/%%api_key%%' - -get_media_url = 'get-media/file/%%file%%/api_key/%%api_key%%' - -# Update whether a schedule group has begun playing. -update_item_url = 'notify-schedule-group-play/api_key/%%api_key%%/schedule_id/%%schedule_id%%' - -# Update whether an audio clip is currently playing. -update_start_playing_url = 'notify-media-item-start-play/api_key/%%api_key%%/media_id/%%media_id%%/schedule_id/%%schedule_id%%' - -# URL to tell Airtime we want to get stream setting -get_stream_setting = 'get-stream-setting/format/json/api_key/%%api_key%%/' - -#URL to update liquidsoap status -update_liquidsoap_status = 'update-liquidsoap-status/format/json/api_key/%%api_key%%/msg/%%msg%%/stream_id/%%stream_id%%/boot_time/%%boot_time%%' - -#URL to check live stream auth -check_live_stream_auth = 'check-live-stream-auth/format/json/api_key/%%api_key%%/username/%%username%%/password/%%password%%/djtype/%%djtype%%' - -#URL to update source status -update_source_status = 'update-source-status/format/json/api_key/%%api_key%%/sourcename/%%sourcename%%/status/%%status%%' - -get_bootstrap_info = 'get-bootstrap-info/format/json/api_key/%%api_key%%' - -get_files_without_replay_gain = 'get-files-without-replay-gain/api_key/%%api_key%%/dir_id/%%dir_id%%' - -update_replay_gain_value = 'update-replay-gain-value/api_key/%%api_key%%' - -notify_webstream_data = 'notify-webstream-data/api_key/%%api_key%%/media_id/%%media_id%%/format/json' - -notify_liquidsoap_started = 'rabbitmq-do-push/api_key/%%api_key%%/format/json' diff --git a/install_minimal/upgrades/airtime-2.2.0/etc/media-monitor.cfg.220 b/install_minimal/upgrades/airtime-2.2.0/etc/media-monitor.cfg.220 deleted file mode 100644 index b1167f56b..000000000 --- a/install_minimal/upgrades/airtime-2.2.0/etc/media-monitor.cfg.220 +++ /dev/null @@ -1,31 +0,0 @@ -api_client = "airtime" - -# where the binary files live -bin_dir = '/usr/lib/airtime/media-monitor' - -# where the logging files live -log_dir = '/var/log/airtime/media-monitor' - - -############################################ -# RabbitMQ settings # -############################################ -rabbitmq_host = 'localhost' -rabbitmq_user = 'guest' -rabbitmq_password = 'guest' -rabbitmq_vhost = '/' - -############################################ -# Media-Monitor preferences # -############################################ -check_filesystem_events = 5 #how long to queue up events performed on the files themselves. -check_airtime_events = 30 #how long to queue metadata input from airtime. - -# MM2 only: -touch_interval = 5 -chunking_number = 450 -request_max_wait = 3.0 -rmq_event_wait = 0.1 -logpath = '/var/log/airtime/media-monitor/media-monitor.log' -index_path = '/var/tmp/airtime/media-monitor/last_index' - diff --git a/install_minimal/upgrades/airtime-2.2.0/etc/pypo.cfg.220 b/install_minimal/upgrades/airtime-2.2.0/etc/pypo.cfg.220 deleted file mode 100644 index 9ffc390e4..000000000 --- a/install_minimal/upgrades/airtime-2.2.0/etc/pypo.cfg.220 +++ /dev/null @@ -1,85 +0,0 @@ -############################################ -# pypo - configuration # -############################################ - -# Set the type of client you are using. -# Currently supported types: -# 1) "obp" = Open Broadcast Platform -# 2) "airtime" -# -api_client = "airtime" - -############################################ -# Cache Directories # -# *include* trailing slash !! # -############################################ -cache_dir = '/var/tmp/airtime/pypo/cache/' -file_dir = '/var/tmp/airtime/pypo/files/' -tmp_dir = '/var/tmp/airtime/pypo/tmp/' - -############################################ -# Setup Directories # -# Do *not* include trailing slash !! # -############################################ -cache_base_dir = '/var/tmp/airtime/pypo' -bin_dir = '/usr/lib/airtime/pypo' -log_base_dir = '/var/log/airtime' -pypo_log_dir = '/var/log/airtime/pypo' -liquidsoap_log_dir = '/var/log/airtime/pypo-liquidsoap' - -############################################ -# Liquidsoap settings # -############################################ -ls_host = '127.0.0.1' -ls_port = '1234' - -############################################ -# RabbitMQ settings # -############################################ -rabbitmq_host = 'localhost' -rabbitmq_user = 'guest' -rabbitmq_password = 'guest' -rabbitmq_vhost = '/' - -############################################ -# pypo preferences # -############################################ - -# Poll interval in seconds. -# -# This will rarely need to be changed because any schedule changes are -# automatically sent to pypo immediately. -# -# This is how often the poll script downloads new schedules and files from the -# server in the event that no changes are made to the schedule. -# -poll_interval = 3600 # in seconds. - - -# Push interval in seconds. -# -# This is how often the push script checks whether it has something new to -# push to liquidsoap. -# -# It's hard to imagine a situation where this should be more than 1 second. -# -push_interval = 1 # in seconds - -# 'pre' or 'otf'. 'pre' cues while playlist preparation -# while 'otf' (on the fly) cues while loading into ls -# (needs the post_processor patch) -cue_style = 'pre' - -############################################ -# Recorded Audio settings # -############################################ -record_bitrate = 256 -record_samplerate = 44100 -record_channels = 2 -record_sample_size = 16 - -#can be either ogg|mp3, mp3 recording requires installation of the package "lame" -record_file_type = 'ogg' - -# base path to store recordered shows at -base_recorded_files = '/var/tmp/airtime/show-recorder/' diff --git a/install_minimal/upgrades/airtime-2.2.1/DbUpgrade.php b/install_minimal/upgrades/airtime-2.2.1/DbUpgrade.php deleted file mode 100644 index bda71b900..000000000 --- a/install_minimal/upgrades/airtime-2.2.1/DbUpgrade.php +++ /dev/null @@ -1,24 +0,0 @@ -&1 | grep -v \"will create implicit index\""); - } -} diff --git a/install_minimal/upgrades/airtime-2.2.1/airtime-upgrade.php b/install_minimal/upgrades/airtime-2.2.1/airtime-upgrade.php deleted file mode 100644 index 042b92d05..000000000 --- a/install_minimal/upgrades/airtime-2.2.1/airtime-upgrade.php +++ /dev/null @@ -1,8 +0,0 @@ -&1 | grep -v \"will create implicit index\""); - passthru("export PGPASSWORD=$password && psql -h $host -U $username -q -f $dir/data/upgrade.sql $database 2>&1 | grep -v \"will create implicit index\""); - } -} diff --git a/install_minimal/upgrades/airtime-2.3.0/airtime-upgrade.php b/install_minimal/upgrades/airtime-2.3.0/airtime-upgrade.php deleted file mode 100644 index 924babbdb..000000000 --- a/install_minimal/upgrades/airtime-2.3.0/airtime-upgrade.php +++ /dev/null @@ -1,11 +0,0 @@ -fetchColumn(); - - date_default_timezone_set($timezone); - } - - public static function connectToDatabase($p_exitOnError = true) - { - try { - $con = Propel::getConnection(); - } catch (Exception $e) { - echo $e->getMessage().PHP_EOL; - echo "Database connection problem.".PHP_EOL; - echo "Check if database exists with corresponding permissions.".PHP_EOL; - if ($p_exitOnError) { - exit(1); - } - return false; - } - return true; - } - - - public static function DbTableExists($p_name) - { - $con = Propel::getConnection(); - try { - $sql = "SELECT * FROM ".$p_name." LIMIT 1"; - $con->query($sql); - } catch (PDOException $e){ - return false; - } - return true; - } - - private static function GetAirtimeSrcDir() - { - return __DIR__."/../../../../airtime_mvc"; - } - - public static function MigrateTablesToVersion($dir, $version) - { - echo "Upgrading database, may take several minutes, please wait".PHP_EOL; - - $appDir = self::GetAirtimeSrcDir(); - $command = "php --php-ini $dir/../../airtime-php.ini ". - "$appDir/library/doctrine/migrations/doctrine-migrations.phar ". - "--configuration=$dir/common/migrations.xml ". - "--db-configuration=$appDir/library/doctrine/migrations/migrations-db.php ". - "--no-interaction migrations:migrate $version"; - system($command); - } - - public static function BypassMigrations($dir, $version) - { - $appDir = self::GetAirtimeSrcDir(); - $command = "php --php-ini $dir/../../airtime-php.ini ". - "$appDir/library/doctrine/migrations/doctrine-migrations.phar ". - "--configuration=$dir/common/migrations.xml ". - "--db-configuration=$appDir/library/doctrine/migrations/migrations-db.php ". - "--no-interaction --add migrations:version $version"; - system($command); - } - - public static function upgradeConfigFiles(){ - - $configFiles = array(UpgradeCommon::CONF_FILE_AIRTIME, - UpgradeCommon::CONF_FILE_PYPO, - //this is not necessary because liquidsoap configs - //are automatically generated - //UpgradeCommon::CONF_FILE_LIQUIDSOAP, - UpgradeCommon::CONF_FILE_MEDIAMONITOR, - UpgradeCommon::CONF_FILE_API_CLIENT); - - // Backup the config files - $suffix = date("Ymdhis")."-".UpgradeCommon::VERSION_NUMBER; - foreach ($configFiles as $conf) { - // do not back up monit cfg -- ok?? not being done anyway - if (file_exists($conf)) { - echo "Backing up $conf to $conf$suffix.bak".PHP_EOL; - //copy($conf, $conf.$suffix.".bak"); - exec("cp -p $conf $conf$suffix.bak"); //use cli version to preserve file attributes - } - } - - self::CreateIniFiles(UpgradeCommon::CONF_BACKUP_SUFFIX); - self::MergeConfigFiles($configFiles, $suffix); - - //HACK: This will fix a last minute bug we discovered with our upgrade scripts. - //Will be fixed properly in 2.3.0 - $old = "list_all_db_files = 'list-all-files/format/json/api_key/%%api_key%%/dir_id/%%dir_id%%'"; - $new = "list_all_db_files = 'list-all-files/format/json/api_key/%%api_key%%/dir_id/%%dir_id%%/all/%%all%%'"; - exec("sed -i \"s#$old#$new#g\" /etc/airtime/api_client.cfg"); - - $old = "update_start_playing_url = 'notify-media-item-start-play/api_key/%%api_key%%/media_id/%%media_id%%/schedule_id/%%schedule_id%%'"; - $new = "update_start_playing_url = 'notify-media-item-start-play/api_key/%%api_key%%/media_id/%%media_id%%/'"; - exec("sed -i \"s#$old#$new#g\" /etc/airtime/api_client.cfg"); - } - - /** - * This function creates the /etc/airtime configuration folder - * and copies the default config files to it. - */ - public static function CreateIniFiles($suffix) - { - if (!file_exists("/etc/airtime/")){ - if (!mkdir("/etc/airtime/", 0755, true)){ - echo "Could not create /etc/airtime/ directory. Exiting."; - exit(1); - } - } - - $config_copy = array( - "../etc/airtime.conf" => self::CONF_FILE_AIRTIME, - "../etc/pypo.cfg" => self::CONF_FILE_PYPO, - "../etc/media-monitor.cfg" => self::CONF_FILE_MEDIAMONITOR, - "../etc/api_client.cfg" => self::CONF_FILE_API_CLIENT - ); - - echo "Copying configs:\n"; - foreach ($config_copy as $path_part => $destination) { - $full_path = OsPath::normpath(OsPath::join(__DIR__, - "$path_part.$suffix")); - echo "'$full_path' --> '$destination'\n"; - if(!copy($full_path, $destination)) { - echo "Failed on the copying operation above\n"; - exit(1); - } - } - } - - private static function MergeConfigFiles(array $configFiles, $suffix) { - foreach ($configFiles as $conf) { - if (file_exists("$conf$suffix.bak")) { - - if($conf === self::CONF_FILE_AIRTIME) { - // Parse with sections - $newSettings = parse_ini_file($conf, true); - $oldSettings = parse_ini_file("$conf$suffix.bak", true); - } - else { - $newSettings = self::ReadPythonConfig($conf); - $oldSettings = self::ReadPythonConfig("$conf$suffix.bak"); - } - - $settings = array_keys($newSettings); - - foreach($settings as $section) { - if(isset($oldSettings[$section])) { - if(is_array($oldSettings[$section])) { - $sectionKeys = array_keys($newSettings[$section]); - foreach($sectionKeys as $sectionKey) { - - if(isset($oldSettings[$section][$sectionKey])) { - self::UpdateIniValue($conf, $sectionKey, - $oldSettings[$section][$sectionKey]); - } - } - } else { - self::UpdateIniValue($conf, $section, - $oldSettings[$section]); - } - } - } - } - } - } - - private static function ReadPythonConfig($p_filename) - { - $values = array(); - - $fh = fopen($p_filename, 'r'); - - while(!feof($fh)){ - $line = fgets($fh); - if(substr(trim($line), 0, 1) == '#' || trim($line) == ""){ - continue; - }else{ - $info = explode('=', $line, 2); - $values[trim($info[0])] = trim($info[1]); - } - } - - return $values; - } - - /** - * This function updates an INI style config file. - * - * A property and the value the property should be changed to are - * supplied. If the property is not found, then no changes are made. - * - * @param string $p_filename - * The path the to the file. - * @param string $p_property - * The property to look for in order to change its value. - * @param string $p_value - * The value the property should be changed to. - * - */ - private static function UpdateIniValue($p_filename, $p_property, $p_value) - { - $lines = file($p_filename); - $n = count($lines); - foreach ($lines as &$line) { - if ($line[0] != "#"){ - $key_value = explode("=", $line); - $key = trim($key_value[0]); - - if ($key == $p_property){ - $line = "$p_property = $p_value".PHP_EOL; - } - } - } - - $fp=fopen($p_filename, 'w'); - for($i=0; $i<$n; $i++){ - fwrite($fp, $lines[$i]); - } - fclose($fp); - } - - public static function queryDb($p_sql){ - $con = Propel::getConnection(); - - try { - $result = $con->query($p_sql); - } catch (Exception $e) { - echo "Error executing $p_sql. Exiting."; - exit(1); - } - - return $result; - } -} - -class OsPath { - // this function is from http://stackoverflow.com/questions/2670299/is-there-a-php-equivalent-function-to-the-python-os-path-normpath - public static function normpath($path) - { - if (empty($path)) - return '.'; - - if (strpos($path, '/') === 0) - $initial_slashes = true; - else - $initial_slashes = false; - if ( - ($initial_slashes) && - (strpos($path, '//') === 0) && - (strpos($path, '///') === false) - ) - $initial_slashes = 2; - $initial_slashes = (int) $initial_slashes; - - $comps = explode('/', $path); - $new_comps = array(); - foreach ($comps as $comp) - { - if (in_array($comp, array('', '.'))) - continue; - if ( - ($comp != '..') || - (!$initial_slashes && !$new_comps) || - ($new_comps && (end($new_comps) == '..')) - ) - array_push($new_comps, $comp); - elseif ($new_comps) - array_pop($new_comps); - } - $comps = $new_comps; - $path = implode('/', $comps); - if ($initial_slashes) - $path = str_repeat('/', $initial_slashes) . $path; - if ($path) - return $path; - else - return '.'; - } - - /* Similar to the os.path.join python method - * http://stackoverflow.com/a/1782990/276949 */ - public static function join() { - $args = func_get_args(); - $paths = array(); - - foreach($args as $arg) { - $paths = array_merge($paths, (array)$arg); - } - - foreach($paths as &$path) { - $path = trim($path, DIRECTORY_SEPARATOR); - } - - if (substr($args[0], 0, 1) == DIRECTORY_SEPARATOR) { - $paths[0] = DIRECTORY_SEPARATOR . $paths[0]; - } - - return join(DIRECTORY_SEPARATOR, $paths); - } -} diff --git a/install_minimal/upgrades/airtime-2.3.0/data/schema.sql b/install_minimal/upgrades/airtime-2.3.0/data/schema.sql deleted file mode 100644 index b742303f0..000000000 --- a/install_minimal/upgrades/airtime-2.3.0/data/schema.sql +++ /dev/null @@ -1,93 +0,0 @@ - -CREATE SEQUENCE cc_listener_count_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - -CREATE SEQUENCE cc_locale_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - -CREATE SEQUENCE cc_mount_name_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - -CREATE SEQUENCE cc_timestamp_id_seq - START WITH 1 - INCREMENT BY 1 - NO MAXVALUE - NO MINVALUE - CACHE 1; - -CREATE TABLE cc_listener_count ( - id integer DEFAULT nextval('cc_listener_count_id_seq'::regclass) NOT NULL, - timestamp_id integer NOT NULL, - mount_name_id integer NOT NULL, - listener_count integer NOT NULL -); - -CREATE TABLE cc_locale ( - id integer DEFAULT nextval('cc_locale_id_seq'::regclass) NOT NULL, - locale_code character varying(16) NOT NULL, - locale_lang character varying(128) NOT NULL -); - -CREATE TABLE cc_mount_name ( - id integer DEFAULT nextval('cc_mount_name_id_seq'::regclass) NOT NULL, - mount_name character varying(255) NOT NULL -); - -CREATE TABLE cc_timestamp ( - id integer DEFAULT nextval('cc_timestamp_id_seq'::regclass) NOT NULL, - "timestamp" timestamp without time zone NOT NULL -); - -ALTER TABLE cc_files - ADD COLUMN cuein interval DEFAULT '00:00:00'::interval, - ADD COLUMN cueout interval DEFAULT '00:00:00'::interval, - ADD COLUMN silan_check boolean DEFAULT false, - ADD COLUMN hidden boolean DEFAULT false; - -ALTER TABLE cc_schedule - ALTER COLUMN cue_in DROP DEFAULT, - ALTER COLUMN cue_in SET NOT NULL, - ALTER COLUMN cue_out DROP DEFAULT, - ALTER COLUMN cue_out SET NOT NULL; - -ALTER SEQUENCE cc_listener_count_id_seq - OWNED BY cc_listener_count.id; - -ALTER SEQUENCE cc_locale_id_seq - OWNED BY cc_locale.id; - -ALTER SEQUENCE cc_mount_name_id_seq - OWNED BY cc_mount_name.id; - -ALTER SEQUENCE cc_timestamp_id_seq - OWNED BY cc_timestamp.id; - -ALTER TABLE cc_listener_count - ADD CONSTRAINT cc_listener_count_pkey PRIMARY KEY (id); - -ALTER TABLE cc_locale - ADD CONSTRAINT cc_locale_pkey PRIMARY KEY (id); - -ALTER TABLE cc_mount_name - ADD CONSTRAINT cc_mount_name_pkey PRIMARY KEY (id); - -ALTER TABLE cc_timestamp - ADD CONSTRAINT cc_timestamp_pkey PRIMARY KEY (id); - -ALTER TABLE cc_listener_count - ADD CONSTRAINT cc_mount_name_inst_fkey FOREIGN KEY (mount_name_id) REFERENCES cc_mount_name(id) ON DELETE CASCADE; - -ALTER TABLE cc_listener_count - ADD CONSTRAINT cc_timestamp_inst_fkey FOREIGN KEY (timestamp_id) REFERENCES cc_timestamp(id) ON DELETE CASCADE; diff --git a/install_minimal/upgrades/airtime-2.3.0/data/upgrade.sql b/install_minimal/upgrades/airtime-2.3.0/data/upgrade.sql deleted file mode 100644 index ef768206e..000000000 --- a/install_minimal/upgrades/airtime-2.3.0/data/upgrade.sql +++ /dev/null @@ -1,47 +0,0 @@ -DELETE FROM cc_pref WHERE keystr = 'system_version'; -INSERT INTO cc_pref (keystr, valstr) VALUES ('system_version', '2.3.0'); - -INSERT INTO cc_stream_setting ("keyname", "value", "type") VALUES ('off_air_meta', 'Airtime - offline', 'string'); -INSERT INTO cc_pref("keystr", "valstr") VALUES('enable_replay_gain', 1); - -INSERT INTO cc_stream_setting ("keyname", "value", "type") VALUES ('s1_admin_user', '', 'string'); -INSERT INTO cc_stream_setting ("keyname", "value", "type") VALUES ('s1_admin_pass', '', 'string'); -INSERT INTO cc_stream_setting ("keyname", "value", "type") VALUES ('s2_admin_user', '', 'string'); -INSERT INTO cc_stream_setting ("keyname", "value", "type") VALUES ('s2_admin_pass', '', 'string'); -INSERT INTO cc_stream_setting ("keyname", "value", "type") VALUES ('s3_admin_user', '', 'string'); -INSERT INTO cc_stream_setting ("keyname", "value", "type") VALUES ('s3_admin_pass', '', 'string'); - ---Make sure that cc_music_dir has a trailing '/' and cc_files does not have a leading '/' -UPDATE cc_music_dirs SET directory = directory || '/' where id in (select id from cc_music_dirs where substr(directory, length(directory)) != '/'); -UPDATE cc_files SET filepath = substring(filepath from 2) where id in (select id from cc_files where substring(filepath from 1 for 1) = '/'); - -UPDATE cc_files SET cueout = length where cueout = '00:00:00'; - -UPDATE cc_schedule SET cue_out = clip_length WHERE cue_out = '00:00:00'; - -UPDATE cc_schedule SET fade_out = '00:00:59.9' WHERE fade_out > '00:00:59.9'; -UPDATE cc_schedule SET fade_in = '00:00:59.9' WHERE fade_in > '00:00:59.9'; -UPDATE cc_playlistcontents SET fadeout = '00:00:59.9' WHERE fadeout > '00:00:59.9'; -UPDATE cc_playlistcontents SET fadein = '00:00:59.9' WHERE fadein > '00:00:59.9'; -UPDATE cc_blockcontents SET fadeout = '00:00:59.9' WHERE fadeout > '00:00:59.9'; -UPDATE cc_blockcontents SET fadein = '00:00:59.9' WHERE fadein > '00:00:59.9'; - -INSERT INTO cc_pref("keystr", "valstr") VALUES('locale', 'en_CA'); - -INSERT INTO cc_pref("subjid", "keystr", "valstr") VALUES(1, 'user_locale', 'en_CA'); - -INSERT INTO cc_locale (locale_code, locale_lang) VALUES ('en_CA', 'English (Canada)'); -INSERT INTO cc_locale (locale_code, locale_lang) VALUES ('en_GB', 'English (Britain)'); -INSERT INTO cc_locale (locale_code, locale_lang) VALUES ('en_US', 'English (USA)'); -INSERT INTO cc_locale (locale_code, locale_lang) VALUES ('cs_CZ', 'Český'); -INSERT INTO cc_locale (locale_code, locale_lang) VALUES ('de_DE', 'Deutsch'); -INSERT INTO cc_locale (locale_code, locale_lang) VALUES ('de_AT', 'Österreichisches Deutsch'); -INSERT INTO cc_locale (locale_code, locale_lang) VALUES ('es_ES', 'Español'); -INSERT INTO cc_locale (locale_code, locale_lang) VALUES ('fr_FR', 'Français'); -INSERT INTO cc_locale (locale_code, locale_lang) VALUES ('it_IT', 'Italiano'); -INSERT INTO cc_locale (locale_code, locale_lang) VALUES ('ko_KR', '한국어'); -INSERT INTO cc_locale (locale_code, locale_lang) VALUES ('pl_PL', 'Polski'); -INSERT INTO cc_locale (locale_code, locale_lang) VALUES ('pt_BR', 'Português Brasileiro'); -INSERT INTO cc_locale (locale_code, locale_lang) VALUES ('ru_RU', 'Русский'); -INSERT INTO cc_locale (locale_code, locale_lang) VALUES ('zh_CN', '简体中文'); -INSERT INTO cc_locale (locale_code, locale_lang) VALUES ('el_GR', 'Ελληνικά'); diff --git a/install_minimal/upgrades/airtime-2.3.0/etc/airtime.conf.230 b/install_minimal/upgrades/airtime-2.3.0/etc/airtime.conf.230 deleted file mode 100644 index 7495bd9f3..000000000 --- a/install_minimal/upgrades/airtime-2.3.0/etc/airtime.conf.230 +++ /dev/null @@ -1,32 +0,0 @@ -[database] -host = localhost -dbname = airtime -dbuser = airtime -dbpass = airtime - -[rabbitmq] -host = 127.0.0.1 -port = 5672 -user = guest -password = guest -vhost = / - -[general] -api_key = AAA -web_server_user = www-data -airtime_dir = x -base_url = localhost -base_port = 80 -base_dir = '/' - -;How many hours ahead of time should Airtime playout engine (PYPO) -;cache scheduled media files. -cache_ahead_hours = 1 - -[monit] -monit_user = guest -monit_password = airtime - -[soundcloud] -connection_retries = 3 -time_between_retries = 60 diff --git a/install_minimal/upgrades/airtime-2.3.0/etc/api_client.cfg.230 b/install_minimal/upgrades/airtime-2.3.0/etc/api_client.cfg.230 deleted file mode 100644 index 10d091b77..000000000 --- a/install_minimal/upgrades/airtime-2.3.0/etc/api_client.cfg.230 +++ /dev/null @@ -1,128 +0,0 @@ -bin_dir = "/usr/lib/airtime/api_clients" - -############################# -## Common -############################# - -# Value needed to access the API -api_key = 'AAA' - -# Path to the base of the API -api_base = 'api' - -# URL to get the version number of the server API -version_url = 'version/api_key/%%api_key%%' - -#URL to register a components IP Address with the central web server -register_component = 'register-component/format/json/api_key/%%api_key%%/component/%%component%%' - -# Hostname -host = 'localhost' -base_port = 80 -base_dir = '/' - -############################# -## Config for Media Monitor -############################# - -# URL to setup the media monitor -media_setup_url = 'media-monitor-setup/format/json/api_key/%%api_key%%' - -# Tell Airtime the file id associated with a show instance. -upload_recorded = 'upload-recorded/format/json/api_key/%%api_key%%/fileid/%%fileid%%/showinstanceid/%%showinstanceid%%' - -# URL to tell Airtime to update file's meta data -update_media_url = 'reload-metadata/format/json/api_key/%%api_key%%/mode/%%mode%%' - -# URL to tell Airtime we want a listing of all files it knows about -list_all_db_files = 'list-all-files/format/json/api_key/%%api_key%%/dir_id/%%dir_id%%/all/%%all%%' - -# URL to tell Airtime we want a listing of all dirs its watching (including the stor dir) -list_all_watched_dirs = 'list-all-watched-dirs/format/json/api_key/%%api_key%%' - -# URL to tell Airtime we want to add watched directory -add_watched_dir = 'add-watched-dir/format/json/api_key/%%api_key%%/path/%%path%%' - -# URL to tell Airtime we want to add watched directory -remove_watched_dir = 'remove-watched-dir/format/json/api_key/%%api_key%%/path/%%path%%' - -# URL to tell Airtime we want to add watched directory -set_storage_dir = 'set-storage-dir/format/json/api_key/%%api_key%%/path/%%path%%' - -# URL to tell Airtime about file system mount change -update_fs_mount = 'update-file-system-mount/format/json/api_key/%%api_key%%' - -# URL to commit multiple updates from media monitor at the same time - -reload_metadata_group = 'reload-metadata-group/format/json/api_key/%%api_key%%' - -# URL to tell Airtime about file system mount change -handle_watched_dir_missing = 'handle-watched-dir-missing/format/json/api_key/%%api_key%%/dir/%%dir%%' - -############################# -## Config for Recorder -############################# - -# URL to get the schedule of shows set to record -show_schedule_url = 'recorded-shows/format/json/api_key/%%api_key%%' - -# URL to upload the recorded show's file to Airtime -upload_file_url = 'upload-file/format/json/api_key/%%api_key%%' - -# URL to commit multiple updates from media monitor at the same time - -#number of retries to upload file if connection problem -upload_retries = 3 - -#time to wait between attempts to upload file if connection problem (in seconds) -upload_wait = 60 - -################################################################################ -# Uncomment *one of the sets* of values from the API clients below, and comment -# out all the others. -################################################################################ - -############################# -## Config for Pypo -############################# - -# Schedule export path. -# %%from%% - starting date/time in the form YYYY-MM-DD-hh-mm -# %%to%% - starting date/time in the form YYYY-MM-DD-hh-mm -export_url = 'schedule/api_key/%%api_key%%' - -get_media_url = 'get-media/file/%%file%%/api_key/%%api_key%%' - -# Update whether a schedule group has begun playing. -update_item_url = 'notify-schedule-group-play/api_key/%%api_key%%/schedule_id/%%schedule_id%%' - -# Update whether an audio clip is currently playing. -update_start_playing_url = 'notify-media-item-start-play/api_key/%%api_key%%/media_id/%%media_id%%/' - -# URL to tell Airtime we want to get stream setting -get_stream_setting = 'get-stream-setting/format/json/api_key/%%api_key%%/' - -#URL to update liquidsoap status -update_liquidsoap_status = 'update-liquidsoap-status/format/json/api_key/%%api_key%%/msg/%%msg%%/stream_id/%%stream_id%%/boot_time/%%boot_time%%' - -#URL to check live stream auth -check_live_stream_auth = 'check-live-stream-auth/format/json/api_key/%%api_key%%/username/%%username%%/password/%%password%%/djtype/%%djtype%%' - -#URL to update source status -update_source_status = 'update-source-status/format/json/api_key/%%api_key%%/sourcename/%%sourcename%%/status/%%status%%' - -get_bootstrap_info = 'get-bootstrap-info/format/json/api_key/%%api_key%%' - -get_files_without_replay_gain = 'get-files-without-replay-gain/api_key/%%api_key%%/dir_id/%%dir_id%%' - -update_replay_gain_value = 'update-replay-gain-value/api_key/%%api_key%%' - -notify_webstream_data = 'notify-webstream-data/api_key/%%api_key%%/media_id/%%media_id%%/format/json' - -notify_liquidsoap_started = 'rabbitmq-do-push/api_key/%%api_key%%/format/json' - -get_stream_parameters = 'get-stream-parameters/api_key/%%api_key%%/format/json' - -push_stream_stats = 'push-stream-stats/api_key/%%api_key%%/format/json' - -update_stream_setting_table = 'update-stream-setting-table/api_key/%%api_key%%/format/json' diff --git a/install_minimal/upgrades/airtime-2.3.0/etc/media-monitor.cfg.230 b/install_minimal/upgrades/airtime-2.3.0/etc/media-monitor.cfg.230 deleted file mode 100644 index b1167f56b..000000000 --- a/install_minimal/upgrades/airtime-2.3.0/etc/media-monitor.cfg.230 +++ /dev/null @@ -1,31 +0,0 @@ -api_client = "airtime" - -# where the binary files live -bin_dir = '/usr/lib/airtime/media-monitor' - -# where the logging files live -log_dir = '/var/log/airtime/media-monitor' - - -############################################ -# RabbitMQ settings # -############################################ -rabbitmq_host = 'localhost' -rabbitmq_user = 'guest' -rabbitmq_password = 'guest' -rabbitmq_vhost = '/' - -############################################ -# Media-Monitor preferences # -############################################ -check_filesystem_events = 5 #how long to queue up events performed on the files themselves. -check_airtime_events = 30 #how long to queue metadata input from airtime. - -# MM2 only: -touch_interval = 5 -chunking_number = 450 -request_max_wait = 3.0 -rmq_event_wait = 0.1 -logpath = '/var/log/airtime/media-monitor/media-monitor.log' -index_path = '/var/tmp/airtime/media-monitor/last_index' - diff --git a/install_minimal/upgrades/airtime-2.3.0/etc/pypo.cfg.230 b/install_minimal/upgrades/airtime-2.3.0/etc/pypo.cfg.230 deleted file mode 100644 index 9ffc390e4..000000000 --- a/install_minimal/upgrades/airtime-2.3.0/etc/pypo.cfg.230 +++ /dev/null @@ -1,85 +0,0 @@ -############################################ -# pypo - configuration # -############################################ - -# Set the type of client you are using. -# Currently supported types: -# 1) "obp" = Open Broadcast Platform -# 2) "airtime" -# -api_client = "airtime" - -############################################ -# Cache Directories # -# *include* trailing slash !! # -############################################ -cache_dir = '/var/tmp/airtime/pypo/cache/' -file_dir = '/var/tmp/airtime/pypo/files/' -tmp_dir = '/var/tmp/airtime/pypo/tmp/' - -############################################ -# Setup Directories # -# Do *not* include trailing slash !! # -############################################ -cache_base_dir = '/var/tmp/airtime/pypo' -bin_dir = '/usr/lib/airtime/pypo' -log_base_dir = '/var/log/airtime' -pypo_log_dir = '/var/log/airtime/pypo' -liquidsoap_log_dir = '/var/log/airtime/pypo-liquidsoap' - -############################################ -# Liquidsoap settings # -############################################ -ls_host = '127.0.0.1' -ls_port = '1234' - -############################################ -# RabbitMQ settings # -############################################ -rabbitmq_host = 'localhost' -rabbitmq_user = 'guest' -rabbitmq_password = 'guest' -rabbitmq_vhost = '/' - -############################################ -# pypo preferences # -############################################ - -# Poll interval in seconds. -# -# This will rarely need to be changed because any schedule changes are -# automatically sent to pypo immediately. -# -# This is how often the poll script downloads new schedules and files from the -# server in the event that no changes are made to the schedule. -# -poll_interval = 3600 # in seconds. - - -# Push interval in seconds. -# -# This is how often the push script checks whether it has something new to -# push to liquidsoap. -# -# It's hard to imagine a situation where this should be more than 1 second. -# -push_interval = 1 # in seconds - -# 'pre' or 'otf'. 'pre' cues while playlist preparation -# while 'otf' (on the fly) cues while loading into ls -# (needs the post_processor patch) -cue_style = 'pre' - -############################################ -# Recorded Audio settings # -############################################ -record_bitrate = 256 -record_samplerate = 44100 -record_channels = 2 -record_sample_size = 16 - -#can be either ogg|mp3, mp3 recording requires installation of the package "lame" -record_file_type = 'ogg' - -# base path to store recordered shows at -base_recorded_files = '/var/tmp/airtime/show-recorder/' diff --git a/install_minimal/upgrades/airtime-2.3.1/DbUpgrade.php b/install_minimal/upgrades/airtime-2.3.1/DbUpgrade.php deleted file mode 100644 index 363b5776a..000000000 --- a/install_minimal/upgrades/airtime-2.3.1/DbUpgrade.php +++ /dev/null @@ -1,25 +0,0 @@ -&1 | grep -v \"will create implicit index\""); - passthru("export PGPASSWORD=$password && psql -h $host -U $username -q -f $dir/data/upgrade.sql $database 2>&1 | grep -v \"will create implicit index\""); - } -} diff --git a/install_minimal/upgrades/airtime-2.3.1/airtime-upgrade.php b/install_minimal/upgrades/airtime-2.3.1/airtime-upgrade.php deleted file mode 100644 index 53470a0df..000000000 --- a/install_minimal/upgrades/airtime-2.3.1/airtime-upgrade.php +++ /dev/null @@ -1,15 +0,0 @@ -fetchColumn(); - - date_default_timezone_set($timezone); - } - - public static function connectToDatabase($p_exitOnError = true) - { - try { - $con = Propel::getConnection(); - } catch (Exception $e) { - echo $e->getMessage().PHP_EOL; - echo "Database connection problem.".PHP_EOL; - echo "Check if database exists with corresponding permissions.".PHP_EOL; - if ($p_exitOnError) { - exit(1); - } - return false; - } - return true; - } - - - public static function DbTableExists($p_name) - { - $con = Propel::getConnection(); - try { - $sql = "SELECT * FROM ".$p_name." LIMIT 1"; - $con->query($sql); - } catch (PDOException $e){ - return false; - } - return true; - } - - private static function GetAirtimeSrcDir() - { - return __DIR__."/../../../../airtime_mvc"; - } - - public static function MigrateTablesToVersion($dir, $version) - { - echo "Upgrading database, may take several minutes, please wait".PHP_EOL; - - $appDir = self::GetAirtimeSrcDir(); - $command = "php --php-ini $dir/../../airtime-php.ini ". - "$appDir/library/doctrine/migrations/doctrine-migrations.phar ". - "--configuration=$dir/common/migrations.xml ". - "--db-configuration=$appDir/library/doctrine/migrations/migrations-db.php ". - "--no-interaction migrations:migrate $version"; - system($command); - } - - public static function BypassMigrations($dir, $version) - { - $appDir = self::GetAirtimeSrcDir(); - $command = "php --php-ini $dir/../../airtime-php.ini ". - "$appDir/library/doctrine/migrations/doctrine-migrations.phar ". - "--configuration=$dir/common/migrations.xml ". - "--db-configuration=$appDir/library/doctrine/migrations/migrations-db.php ". - "--no-interaction --add migrations:version $version"; - system($command); - } - - public static function upgradeConfigFiles(){ - - $configFiles = array(UpgradeCommon::CONF_FILE_AIRTIME, - UpgradeCommon::CONF_FILE_PYPO, - //this is not necessary because liquidsoap configs - //are automatically generated - //UpgradeCommon::CONF_FILE_LIQUIDSOAP, - UpgradeCommon::CONF_FILE_MEDIAMONITOR, - UpgradeCommon::CONF_FILE_API_CLIENT); - - // Backup the config files - $suffix = date("Ymdhis")."-".UpgradeCommon::VERSION_NUMBER; - foreach ($configFiles as $conf) { - // do not back up monit cfg -- ok?? not being done anyway - if (file_exists($conf)) { - echo "Backing up $conf to $conf$suffix.bak".PHP_EOL; - //copy($conf, $conf.$suffix.".bak"); - exec("cp -p $conf $conf$suffix.bak"); //use cli version to preserve file attributes - } - } - - self::CreateIniFiles(UpgradeCommon::CONF_BACKUP_SUFFIX); - self::MergeConfigFiles($configFiles, $suffix); - } - - /** - * This function creates the /etc/airtime configuration folder - * and copies the default config files to it. - */ - public static function CreateIniFiles($suffix) - { - if (!file_exists("/etc/airtime/")){ - if (!mkdir("/etc/airtime/", 0755, true)){ - echo "Could not create /etc/airtime/ directory. Exiting."; - exit(1); - } - } - - $config_copy = array( - "../etc/airtime.conf" => self::CONF_FILE_AIRTIME, - "../etc/pypo.cfg" => self::CONF_FILE_PYPO, - "../etc/media-monitor.cfg" => self::CONF_FILE_MEDIAMONITOR, - "../etc/api_client.cfg" => self::CONF_FILE_API_CLIENT - ); - - echo "Copying configs:\n"; - foreach ($config_copy as $path_part => $destination) { - $full_path = OsPath::normpath(OsPath::join(__DIR__, - "$path_part.$suffix")); - echo "'$full_path' --> '$destination'\n"; - if(!copy($full_path, $destination)) { - echo "Failed on the copying operation above\n"; - exit(1); - } - } - } - - private static function MergeConfigFiles(array $configFiles, $suffix) { - foreach ($configFiles as $conf) { - if (file_exists("$conf$suffix.bak")) { - - if($conf === self::CONF_FILE_AIRTIME) { - // Parse with sections - $newSettings = parse_ini_file($conf, true); - $oldSettings = parse_ini_file("$conf$suffix.bak", true); - } - else { - $newSettings = self::ReadPythonConfig($conf); - $oldSettings = self::ReadPythonConfig("$conf$suffix.bak"); - } - - $settings = array_keys($newSettings); - - foreach($settings as $section) { - if(isset($oldSettings[$section])) { - if(is_array($oldSettings[$section])) { - $sectionKeys = array_keys($newSettings[$section]); - foreach($sectionKeys as $sectionKey) { - - if(isset($oldSettings[$section][$sectionKey])) { - self::UpdateIniValue($conf, $sectionKey, - $oldSettings[$section][$sectionKey]); - } - } - } else { - self::UpdateIniValue($conf, $section, - $oldSettings[$section]); - } - } - } - } - } - } - - private static function ReadPythonConfig($p_filename) - { - $values = array(); - - $fh = fopen($p_filename, 'r'); - - while(!feof($fh)){ - $line = fgets($fh); - if(substr(trim($line), 0, 1) == '#' || trim($line) == ""){ - continue; - }else{ - $info = explode('=', $line, 2); - $values[trim($info[0])] = trim($info[1]); - } - } - - return $values; - } - - /** - * This function updates an INI style config file. - * - * A property and the value the property should be changed to are - * supplied. If the property is not found, then no changes are made. - * - * @param string $p_filename - * The path the to the file. - * @param string $p_property - * The property to look for in order to change its value. - * @param string $p_value - * The value the property should be changed to. - * - */ - private static function UpdateIniValue($p_filename, $p_property, $p_value) - { - $lines = file($p_filename); - $n = count($lines); - foreach ($lines as &$line) { - if ($line[0] != "#"){ - $key_value = explode("=", $line); - $key = trim($key_value[0]); - - if ($key == $p_property){ - $line = "$p_property = $p_value".PHP_EOL; - } - } - } - - $fp=fopen($p_filename, 'w'); - for($i=0; $i<$n; $i++){ - fwrite($fp, $lines[$i]); - } - fclose($fp); - } - - public static function queryDb($p_sql){ - $con = Propel::getConnection(); - - try { - $result = $con->query($p_sql); - } catch (Exception $e) { - echo "Error executing $p_sql. Exiting."; - exit(1); - } - - return $result; - } -} - -class OsPath { - // this function is from http://stackoverflow.com/questions/2670299/is-there-a-php-equivalent-function-to-the-python-os-path-normpath - public static function normpath($path) - { - if (empty($path)) - return '.'; - - if (strpos($path, '/') === 0) - $initial_slashes = true; - else - $initial_slashes = false; - if ( - ($initial_slashes) && - (strpos($path, '//') === 0) && - (strpos($path, '///') === false) - ) - $initial_slashes = 2; - $initial_slashes = (int) $initial_slashes; - - $comps = explode('/', $path); - $new_comps = array(); - foreach ($comps as $comp) - { - if (in_array($comp, array('', '.'))) - continue; - if ( - ($comp != '..') || - (!$initial_slashes && !$new_comps) || - ($new_comps && (end($new_comps) == '..')) - ) - array_push($new_comps, $comp); - elseif ($new_comps) - array_pop($new_comps); - } - $comps = $new_comps; - $path = implode('/', $comps); - if ($initial_slashes) - $path = str_repeat('/', $initial_slashes) . $path; - if ($path) - return $path; - else - return '.'; - } - - /* Similar to the os.path.join python method - * http://stackoverflow.com/a/1782990/276949 */ - public static function join() { - $args = func_get_args(); - $paths = array(); - - foreach($args as $arg) { - $paths = array_merge($paths, (array)$arg); - } - - foreach($paths as &$path) { - $path = trim($path, DIRECTORY_SEPARATOR); - } - - if (substr($args[0], 0, 1) == DIRECTORY_SEPARATOR) { - $paths[0] = DIRECTORY_SEPARATOR . $paths[0]; - } - - return join(DIRECTORY_SEPARATOR, $paths); - } -} diff --git a/install_minimal/upgrades/airtime-2.3.1/data/upgrade.sql b/install_minimal/upgrades/airtime-2.3.1/data/upgrade.sql deleted file mode 100644 index 6b3bb0a42..000000000 --- a/install_minimal/upgrades/airtime-2.3.1/data/upgrade.sql +++ /dev/null @@ -1,2 +0,0 @@ -DELETE FROM cc_pref WHERE keystr = 'system_version'; -INSERT INTO cc_pref (keystr, valstr) VALUES ('system_version', '2.3.1'); diff --git a/install_minimal/upgrades/airtime-2.4.0/ConfFileUpgrade.php b/install_minimal/upgrades/airtime-2.4.0/ConfFileUpgrade.php deleted file mode 100644 index 4daae0e5a..000000000 --- a/install_minimal/upgrades/airtime-2.4.0/ConfFileUpgrade.php +++ /dev/null @@ -1,28 +0,0 @@ -&1 | grep -v \"will create implicit index\""); - passthru("export PGPASSWORD=$password && psql -h $host -U $username -q -f $dir/data/upgrade.sql $database 2>&1 | grep -v \"will create implicit index\""); - } -} diff --git a/install_minimal/upgrades/airtime-2.4.0/airtime-upgrade.php b/install_minimal/upgrades/airtime-2.4.0/airtime-upgrade.php deleted file mode 100644 index 924babbdb..000000000 --- a/install_minimal/upgrades/airtime-2.4.0/airtime-upgrade.php +++ /dev/null @@ -1,11 +0,0 @@ -$elem) { - if ($first_line) { - $content .= "[".$key."]\n"; - $first_line = false; - } else { - $content .= "\n[".$key."]\n"; - } - foreach ($elem as $key2=>$elem2) { - if(is_array($elem2)) - { - for($i=0;$i$elem) { - if(is_array($elem)) - { - for($i=0;$i&1 | grep -v \"will create implicit index\""); - } -} diff --git a/install_minimal/upgrades/airtime-2.4.1/airtime-upgrade.php b/install_minimal/upgrades/airtime-2.4.1/airtime-upgrade.php deleted file mode 100644 index 042b92d05..000000000 --- a/install_minimal/upgrades/airtime-2.4.1/airtime-upgrade.php +++ /dev/null @@ -1,8 +0,0 @@ -&1 | grep -v \"will create implicit index\""); - passthru("export PGPASSWORD=$password && psql -h $host -U $username -q -f $dir/data/upgrade.sql $database 2>&1 | grep -v \"will create implicit index\""); - } -} diff --git a/install_minimal/upgrades/airtime-2.5.0/airtime-upgrade.php b/install_minimal/upgrades/airtime-2.5.0/airtime-upgrade.php deleted file mode 100644 index 042b92d05..000000000 --- a/install_minimal/upgrades/airtime-2.5.0/airtime-upgrade.php +++ /dev/null @@ -1,8 +0,0 @@ -1 ) -AND ins.id NOT IN (SELECT min(id) FROM cc_show_instances GROUP BY starts,ends,show_id HAVING count(*) >1 ); - - -DELETE FROM cc_schedule -WHERE id -IN (SELECT sc.id FROM cc_schedule AS sc LEFT JOIN cc_show_instances AS i ON sc.instance_id=i.id LEFT JOIN cc_show AS s ON i.show_id=s.id WHERE sc.starts&1 | grep -v \"will create implicit index\""); - } -} diff --git a/install_minimal/upgrades/airtime-2.5.1/airtime-upgrade.php b/install_minimal/upgrades/airtime-2.5.1/airtime-upgrade.php deleted file mode 100644 index 042b92d05..000000000 --- a/install_minimal/upgrades/airtime-2.5.1/airtime-upgrade.php +++ /dev/null @@ -1,8 +0,0 @@ -getMessage().PHP_EOL; - echo "Database connection problem.".PHP_EOL; - echo "Check if database exists with corresponding permissions.".PHP_EOL; - if ($p_exitOnError) { - exit(1); - } - return false; - } - return true; - } - - - public static function DbTableExists($p_name) - { - $con = Propel::getConnection(); - try { - $sql = "SELECT * FROM ".$p_name." LIMIT 1"; - $con->query($sql); - } catch (PDOException $e){ - return false; - } - return true; - } - - private static function GetAirtimeSrcDir() - { - return __DIR__."/../../../airtime_mvc"; - } - - public static function MigrateTablesToVersion($dir, $version) - { - $appDir = self::GetAirtimeSrcDir(); - $command = "php --php-ini $dir/../../airtime-php.ini ". - "$appDir/library/doctrine/migrations/doctrine-migrations.phar ". - "--configuration=$dir/../../DoctrineMigrations/migrations.xml ". - "--db-configuration=$appDir/library/doctrine/migrations/migrations-db.php ". - "--no-interaction migrations:migrate $version"; - system($command); - } - - public static function BypassMigrations($dir, $version) - { - $appDir = self::GetAirtimeSrcDir(); - $command = "php --php-ini $dir/../../airtime-php.ini ". - "$appDir/library/doctrine/migrations/doctrine-migrations.phar ". - "--configuration=$dir/../../DoctrineMigrations/migrations.xml ". - "--db-configuration=$appDir/library/doctrine/migrations/migrations-db.php ". - "--no-interaction --add migrations:version $version"; - system($command); - } - - public static function upgradeConfigFiles(){ - - $configFiles = array(UpgradeCommon::CONF_FILE_AIRTIME, - UpgradeCommon::CONF_FILE_PYPO, - UpgradeCommon::CONF_FILE_RECORDER, - UpgradeCommon::CONF_FILE_LIQUIDSOAP, - UpgradeCommon::CONF_FILE_MEDIAMONITOR, - UpgradeCommon::CONF_FILE_API_CLIENT); - - // Backup the config files - $suffix = date("Ymdhis")."-".UpgradeCommon::VERSION_NUMBER; - foreach ($configFiles as $conf) { - // do not back up monit cfg - if (file_exists($conf)) { - echo "Backing up $conf to $conf$suffix.bak".PHP_EOL; - //copy($conf, $conf.$suffix.".bak"); - exec("cp -p $conf $conf$suffix.bak"); //use cli version to preserve file attributes - } - } - - self::CreateIniFiles(UpgradeCommon::CONF_BACKUP_SUFFIX); - self::MergeConfigFiles($configFiles, $suffix); - } - - /** - * This function creates the /etc/airtime configuration folder - * and copies the default config files to it. - */ - public static function CreateIniFiles($suffix) - { - if (!file_exists("/etc/airtime/")){ - if (!mkdir("/etc/airtime/", 0755, true)){ - echo "Could not create /etc/airtime/ directory. Exiting."; - exit(1); - } - } - - if (!copy(__DIR__."/airtime.conf.$suffix", self::CONF_FILE_AIRTIME)){ - echo "Could not copy airtime.conf to /etc/airtime/. Exiting."; - exit(1); - } - if (!copy(__DIR__."/pypo.cfg.$suffix", self::CONF_FILE_PYPO)){ - echo "Could not copy pypo.cfg to /etc/airtime/. Exiting."; - exit(1); - } - if (!copy(__DIR__."/recorder.cfg.$suffix", self::CONF_FILE_RECORDER)){ - echo "Could not copy recorder.cfg to /etc/airtime/. Exiting."; - exit(1); - } - if (!copy(__DIR__."/api_client.cfg.$suffix", self::CONF_FILE_API_CLIENT)){ - echo "Could not copy airtime-monit.cfg to /etc/monit/conf.d/. Exiting."; - exit(1); - } - } - - private static function MergeConfigFiles($configFiles, $suffix) { - foreach ($configFiles as $conf) { - // we want to use new liquidsoap.cfg so don't merge - // also for monit - if( $conf == self::CONF_FILE_LIQUIDSOAP){ - continue; - } - if (file_exists("$conf$suffix.bak")) { - - if($conf === self::CONF_FILE_AIRTIME) { - // Parse with sections - $newSettings = parse_ini_file($conf, true); - $oldSettings = parse_ini_file("$conf$suffix.bak", true); - } - else { - $newSettings = self::ReadPythonConfig($conf); - $oldSettings = self::ReadPythonConfig("$conf$suffix.bak"); - } - - $settings = array_keys($newSettings); - - foreach($settings as $section) { - if(isset($oldSettings[$section])) { - if(is_array($oldSettings[$section])) { - $sectionKeys = array_keys($newSettings[$section]); - foreach($sectionKeys as $sectionKey) { - // skip airtim_dir as we want to use new value - if($sectionKey != "airtime_dir"){ - if(isset($oldSettings[$section][$sectionKey])) { - self::UpdateIniValue($conf, $sectionKey, $oldSettings[$section][$sectionKey]); - } - } - } - } - else { - self::UpdateIniValue($conf, $section, $oldSettings[$section]); - } - } - } - } - } - } - - private static function ReadPythonConfig($p_filename) - { - $values = array(); - - $fh = fopen($p_filename, 'r'); - - while(!feof($fh)){ - $line = fgets($fh); - if(substr(trim($line), 0, 1) == '#' || trim($line) == ""){ - continue; - }else{ - $info = explode('=', $line, 2); - $values[trim($info[0])] = trim($info[1]); - } - } - - return $values; - } - - /** - * This function updates an INI style config file. - * - * A property and the value the property should be changed to are - * supplied. If the property is not found, then no changes are made. - * - * @param string $p_filename - * The path the to the file. - * @param string $p_property - * The property to look for in order to change its value. - * @param string $p_value - * The value the property should be changed to. - * - */ - private static function UpdateIniValue($p_filename, $p_property, $p_value) - { - $lines = file($p_filename); - $n=count($lines); - foreach ($lines as &$line) { - if ($line[0] != "#"){ - $key_value = explode("=", $line); - $key = trim($key_value[0]); - - if ($key == $p_property){ - $line = "$p_property = $p_value".PHP_EOL; - } - } - } - - $fp=fopen($p_filename, 'w'); - for($i=0; $i<$n; $i++){ - fwrite($fp, $lines[$i]); - } - fclose($fp); - } -} diff --git a/install_minimal/upgrades/upgrade-template/airtime-upgrade.php b/install_minimal/upgrades/upgrade-template/airtime-upgrade.php deleted file mode 100644 index dbe5c7589..000000000 --- a/install_minimal/upgrades/upgrade-template/airtime-upgrade.php +++ /dev/null @@ -1,82 +0,0 @@ - /etc/init.d/airtime-liquidsoap touch /etc/sudoers.d/airtime-liquidsoap_${web_user} -echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-liquidsoap, \ +echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-liquidsoap, \ /sbin/stop airtime-liquidsoap, \ /sbin/restart airtime-liquidsoap, \ /sbin/status airtime-liquidsoap" > /etc/sudoers.d/airtime-liquidsoap_${web_user} @@ -374,8 +374,6 @@ verbose "...Done" chmod 755 /etc/init.d/airtime-* initctl reload-configuration -# Do we need to run the init scripts for media-monitor and pypo here? - if [ ! -d /var/log/airtime ]; then loud "\n-----------------------------------------------------" loud " * Installing Log Files * " diff --git a/python_apps/api_clients/api_client.cfg b/python_apps/api_clients/api_client.cfg deleted file mode 100644 index 5bcce0bfa..000000000 --- a/python_apps/api_clients/api_client.cfg +++ /dev/null @@ -1,12 +0,0 @@ -bin_dir = "/usr/lib/airtime/api_clients" - -# Value needed to access the API -api_key = 'AAA' - -# Path to the base of the API -api_base = 'api' - -# Hostname -host = 'localhost' -base_port = 80 -base_dir = '/' diff --git a/python_apps/api_clients/install/api_client_install.py b/python_apps/api_clients/install/api_client_install.py deleted file mode 100644 index abc1d07de..000000000 --- a/python_apps/api_clients/install/api_client_install.py +++ /dev/null @@ -1,31 +0,0 @@ -import os -import shutil -import sys -from configobj import ConfigObj - -def get_current_script_dir(): - return os.path.dirname(os.path.realpath(__file__)) - -def copy_dir(src_dir, dest_dir): - if (os.path.exists(dest_dir)) and (dest_dir != "/"): - shutil.rmtree(dest_dir) - if not (os.path.exists(dest_dir)): - #print "Copying directory "+os.path.realpath(src_dir)+" to "+os.path.realpath(dest_dir) - shutil.copytree(src_dir, dest_dir) - -PATH_INI_FILE = '/etc/airtime/api_client.cfg' - -current_script_dir = get_current_script_dir() - -if not os.path.exists(PATH_INI_FILE): - shutil.copy('%s/../api_client.cfg'%current_script_dir, PATH_INI_FILE) - -"""load config file""" -try: - config = ConfigObj("%s/../api_client.cfg" % current_script_dir) -except Exception, e: - print 'Error loading config file: ', e - sys.exit(1) - -#copy python files -copy_dir("%s/../../api_clients"%current_script_dir, config["bin_dir"]) diff --git a/python_apps/api_clients/install/api_client_uninstall.py b/python_apps/api_clients/install/api_client_uninstall.py deleted file mode 100644 index 5ecb2b036..000000000 --- a/python_apps/api_clients/install/api_client_uninstall.py +++ /dev/null @@ -1,21 +0,0 @@ -import os -import sys -from configobj import ConfigObj - -def remove_path(path): - os.system('rm -rf "%s"' % path) - -def get_current_script_dir(): - return os.path.dirname(os.path.realpath(__file__)) - -current_script_dir = get_current_script_dir() - -"""load config file""" -try: - config = ConfigObj("%s/../api_client.cfg" % current_script_dir) -except Exception, e: - print 'Error loading config file: ', e - sys.exit(1) - -print " * Removing API Client files" -remove_path(config["bin_dir"]) diff --git a/python_apps/create-pypo-user.py b/python_apps/create-pypo-user.py deleted file mode 100644 index 94e07d7dc..000000000 --- a/python_apps/create-pypo-user.py +++ /dev/null @@ -1,32 +0,0 @@ -import os -import sys -from subprocess import Popen, PIPE, STDOUT - -def create_user(username): - print "* Checking for user "+username - - p = Popen('id '+username, shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT, close_fds=True) - output = p.stdout.read() - - if (output[0:3] != "uid"): - # Make the pypo user - print " * Creating user "+username - os.system("adduser --system --quiet --group "+username) - else: - print "User already exists." - #add pypo to audio group - os.system("adduser " + username + " audio 1>/dev/null 2>&1") - #add pypo to www-data group - os.system("adduser " + username + " www-data 1>/dev/null 2>&1") - #add pypo to pulse group - os.system("adduser " + username + " pulse 1>/dev/null 2>&1") - #add pypo to pulse-access group - os.system("adduser " + username + " pulse-access 1>/dev/null 2>&1") - - -if __name__ == "__main__": - if os.geteuid() != 0: - print "Please run this as root." - sys.exit(1) - - create_user("pypo") diff --git a/python_apps/media-monitor/install/media-monitor-copy-files.py b/python_apps/media-monitor/install/media-monitor-copy-files.py deleted file mode 100644 index 0d149c67e..000000000 --- a/python_apps/media-monitor/install/media-monitor-copy-files.py +++ /dev/null @@ -1,70 +0,0 @@ -import os -import shutil -import sys -import subprocess -import random -import string -from configobj import ConfigObj - -if os.geteuid() != 0: - print "Please run this as root." - sys.exit(1) - -def get_current_script_dir(): - current_script_dir = os.path.realpath(__file__) - index = current_script_dir.rindex('/') - return current_script_dir[0:index] - -def copy_dir(src_dir, dest_dir): - if (os.path.exists(dest_dir)) and (dest_dir != "/"): - shutil.rmtree(dest_dir) - if not (os.path.exists(dest_dir)): - #print "Copying directory "+os.path.realpath(src_dir)+" to "+os.path.realpath(dest_dir) - shutil.copytree(src_dir, dest_dir) - -def create_dir(path): - try: - os.makedirs(path) - # TODO : fix this, at least print the error - except Exception, e: - pass - -def get_rand_string(length=10): - return ''.join(random.choice(string.ascii_uppercase + string.digits) for x in range(length)) - -PATH_INI_FILE = '/etc/airtime/media-monitor.cfg' - -try: - # Absolute path this script is in - current_script_dir = get_current_script_dir() - - if not os.path.exists(PATH_INI_FILE): - shutil.copy('%s/../media-monitor.cfg'%current_script_dir, PATH_INI_FILE) - - # load config file - try: - config = ConfigObj(PATH_INI_FILE) - except Exception, e: - print 'Error loading config file: ', e - sys.exit(1) - - #copy monit files - shutil.copy('%s/../../monit/monit-airtime-generic.cfg'%current_script_dir, '/etc/monit/conf.d/') - subprocess.call('sed -i "s/\$admin_pass/%s/g" /etc/monit/conf.d/monit-airtime-generic.cfg' % get_rand_string(), shell=True, close_fds=True) - shutil.copy('%s/../monit-airtime-media-monitor.cfg'%current_script_dir, '/etc/monit/conf.d/') - - #create log dir - create_dir(config['log_dir']) - - #copy python files - copy_dir("%s/.."%current_script_dir, config["bin_dir"]) - # mm2 - mm2_source = os.path.realpath(os.path.join(current_script_dir, - "../../media-monitor2")) - copy_dir(mm2_source, os.path.join( config["bin_dir"], "mm2" )) - - #copy init.d script - shutil.copy(config["bin_dir"]+"/airtime-media-monitor-init-d", "/etc/init.d/airtime-media-monitor") - -except Exception, e: - print e diff --git a/python_apps/media-monitor/install/media-monitor-initialize.py b/python_apps/media-monitor/install/media-monitor-initialize.py deleted file mode 100644 index 8cc7b6149..000000000 --- a/python_apps/media-monitor/install/media-monitor-initialize.py +++ /dev/null @@ -1,21 +0,0 @@ -import subprocess -import os - -if os.geteuid() != 0: - print "Please run this as root." - sys.exit(1) - -try: - #create media-monitor dir under /var/tmp/airtime - if not os.path.exists("/var/tmp/airtime/media-monitor"): - os.makedirs("/var/tmp/airtime/media-monitor") - - #update-rc.d init script - subprocess.call("update-rc.d airtime-media-monitor defaults >/dev/null 2>&1", shell=True) - - #Start media-monitor daemon - if "airtime_service_start" in os.environ and os.environ["airtime_service_start"] == "t": - print "* Waiting for media-monitor processes to start..." - subprocess.call("invoke-rc.d airtime-media-monitor start", shell=True) -except Exception, e: - print e diff --git a/python_apps/media-monitor/install/media-monitor-remove-files.py b/python_apps/media-monitor/install/media-monitor-remove-files.py deleted file mode 100644 index cf2e2729e..000000000 --- a/python_apps/media-monitor/install/media-monitor-remove-files.py +++ /dev/null @@ -1,44 +0,0 @@ -import os -import shutil -import sys -from configobj import ConfigObj - -if os.geteuid() != 0: - print "Please run this as root." - sys.exit(1) - -def remove_file(path): - try: - os.remove(path) - except Exception, e: - pass - -PATH_INI_FILE = '/etc/airtime/media-monitor.cfg' - -# load config file -try: - config = ConfigObj(PATH_INI_FILE) -except Exception, e: - print 'Error loading config file: ', e - sys.exit(1) - -try: - #remove init.d script - print " * Removing Media-Monitor init.d Script" - remove_file("/etc/init.d/airtime-media-monitor") - - #remove bin dir - print " * Removing Media-Monitor Program Directory" - shutil.rmtree(config['bin_dir'], ignore_errors=True) - - #remove log dir - print " * Removing Media-Monitor Log Directory" - shutil.rmtree(config['log_dir'], ignore_errors=True) - - #remove monit files - print " * Removing Media-Monitor Monit Files" - remove_file("/etc/monit/conf.d/monit-airtime-media-monitor.cfg") - remove_file("/etc/monit/conf.d/monit-airtime-generic.cfg") - -except Exception, e: - print e diff --git a/python_apps/media-monitor/install/media-monitor-uninitialize.py b/python_apps/media-monitor/install/media-monitor-uninitialize.py deleted file mode 100644 index c73801b46..000000000 --- a/python_apps/media-monitor/install/media-monitor-uninitialize.py +++ /dev/null @@ -1,19 +0,0 @@ -import subprocess -import os -import sys - -if os.geteuid() != 0: - print "Please run this as root." - sys.exit(1) - -try: - print "Waiting for media-monitor processes to stop...", - if (os.path.exists('/etc/init.d/airtime-media-monitor')): - subprocess.call("invoke-rc.d airtime-media-monitor stop", shell=True) - print "OK" - else: - print "Wasn't running" - - subprocess.call("update-rc.d -f airtime-media-monitor remove".split(" ")) -except Exception, e: - print e diff --git a/python_apps/media-monitor/install/media-monitor-uninstall.py b/python_apps/media-monitor/install/media-monitor-uninstall.py deleted file mode 100644 index d2a201316..000000000 --- a/python_apps/media-monitor/install/media-monitor-uninstall.py +++ /dev/null @@ -1,50 +0,0 @@ -# -*- coding: utf-8 -*- - -import os -import sys -from configobj import ConfigObj - -if os.geteuid() != 0: - print "Please run this as root." - sys.exit(1) - -PATH_INI_FILE = '/etc/airtime/media-monitor.cfg' - -def remove_path(path): - os.system('rm -rf "%s"' % path) - -def get_current_script_dir(): - current_script_dir = os.path.realpath(__file__) - index = current_script_dir.rindex('/') - return current_script_dir[0:index] - -def remove_monit_file(): - os.system("rm -f /etc/monit/conf.d/monit-airtime-media-monitor.cfg") - -try: - # load config file - try: - config = ConfigObj(PATH_INI_FILE) - except Exception, e: - print 'Error loading config file: ', e - sys.exit(1) - - os.system("invoke-rc.d airtime-media-monitor stop") - os.system("rm -f /etc/init.d/airtime-media-monitor") - os.system("update-rc.d -f airtime-media-monitor remove >/dev/null 2>&1") - - print "Removing monit file" - remove_monit_file() - - print "Removing log directories" - remove_path(config["log_dir"]) - - print "Removing symlinks" - os.system("rm -f /usr/bin/airtime-media-monitor") - - print "Removing application files" - remove_path(config["bin_dir"]) - - print "Uninstall complete." -except Exception, e: - print "exception:" + str(e) diff --git a/python_apps/media-monitor/monit-airtime-media-monitor.cfg b/python_apps/media-monitor/monit-airtime-media-monitor.cfg deleted file mode 100644 index 51a632f21..000000000 --- a/python_apps/media-monitor/monit-airtime-media-monitor.cfg +++ /dev/null @@ -1,9 +0,0 @@ - set daemon 10 # Poll at 5 second intervals - set logfile /var/log/monit.log - - set httpd port 2812 - - check process airtime-media-monitor - with pidfile "/var/run/airtime/airtime-media-monitor.pid" - start program = "/etc/init.d/airtime-media-monitor start" with timeout 10 seconds - stop program = "/etc/init.d/airtime-media-monitor stop" diff --git a/python_apps/media-monitor2/configs/airtime.conf b/python_apps/media-monitor2/configs/airtime.conf deleted file mode 100644 index 525aa1ed7..000000000 --- a/python_apps/media-monitor2/configs/airtime.conf +++ /dev/null @@ -1,32 +0,0 @@ -[database] -host = localhost -dbname = airtime -dbuser = airtime -dbpass = airtime - -[rabbitmq] -host = 127.0.0.1 -port = 5672 -user = guest -password = guest -vhost = / - -[general] -api_key = I6EUOJM0D1EIGSMZ9T70 -web_server_user = www-data -airtime_dir = /usr/share/airtime -base_url = localhost -base_port = 80 -base_dir = '/' - -;How many hours ahead of time should Airtime playout engine (PYPO) -;cache scheduled media files. -cache_ahead_hours = 1 - -[monit] -monit_user = guest -monit_password = airtime - -[soundcloud] -connection_retries = 3 -time_between_retries = 60 diff --git a/python_apps/media-monitor2/configs/api_client.cfg b/python_apps/media-monitor2/configs/api_client.cfg deleted file mode 100644 index f62287e08..000000000 --- a/python_apps/media-monitor2/configs/api_client.cfg +++ /dev/null @@ -1,126 +0,0 @@ -bin_dir = "/usr/lib/airtime/api_clients" - -############################# -## Common -############################# - -# Value needed to access the API -api_key = 'I6EUOJM0D1EIGSMZ9T70' - -# Path to the base of the API -api_base = 'api' - -# URL to get the version number of the server API -version_url = 'version/api_key/%%api_key%%' - -#URL to register a components IP Address with the central web server -register_component = 'register-component/format/json/api_key/%%api_key%%/component/%%component%%' - -# Hostname -host = 'localhost' -base_port = 80 -base_dir = '/' - -############################# -## Config for Media Monitor -############################# - -# URL to setup the media monitor -media_setup_url = 'media-monitor-setup/format/json/api_key/%%api_key%%' - -# Tell Airtime the file id associated with a show instance. -upload_recorded = 'upload-recorded/format/json/api_key/%%api_key%%/fileid/%%fileid%%/showinstanceid/%%showinstanceid%%' - -# URL to tell Airtime to update file's meta data -update_media_url = 'reload-metadata/format/json/api_key/%%api_key%%/mode/%%mode%%' - -# URL to tell Airtime we want a listing of all files it knows about -list_all_db_files = 'list-all-files/format/json/api_key/%%api_key%%/dir_id/%%dir_id%%/all/%%all%%' - -# URL to tell Airtime we want a listing of all dirs its watching (including the stor dir) -list_all_watched_dirs = 'list-all-watched-dirs/format/json/api_key/%%api_key%%' - -# URL to tell Airtime we want to add watched directory -add_watched_dir = 'add-watched-dir/format/json/api_key/%%api_key%%/path/%%path%%' - -# URL to tell Airtime we want to add watched directory -remove_watched_dir = 'remove-watched-dir/format/json/api_key/%%api_key%%/path/%%path%%' - -# URL to tell Airtime we want to add watched directory -set_storage_dir = 'set-storage-dir/format/json/api_key/%%api_key%%/path/%%path%%' - -# URL to tell Airtime about file system mount change -update_fs_mount = 'update-file-system-mount/format/json/api_key/%%api_key%%' - -# URL to commit multiple updates from media monitor at the same time - -reload_metadata_group = 'reload-metadata-group/format/json/api_key/%%api_key%%' - -# URL to tell Airtime about file system mount change -handle_watched_dir_missing = 'handle-watched-dir-missing/format/json/api_key/%%api_key%%/dir/%%dir%%' - -############################# -## Config for Recorder -############################# - -# URL to get the schedule of shows set to record -show_schedule_url = 'recorded-shows/format/json/api_key/%%api_key%%' - -# URL to upload the recorded show's file to Airtime -upload_file_url = 'upload-file/format/json/api_key/%%api_key%%' - -# URL to commit multiple updates from media monitor at the same time - -#number of retries to upload file if connection problem -upload_retries = 3 - -#time to wait between attempts to upload file if connection problem (in seconds) -upload_wait = 60 - -################################################################################ -# Uncomment *one of the sets* of values from the API clients below, and comment -# out all the others. -################################################################################ - -############################# -## Config for Pypo -############################# - -# Schedule export path. -# %%from%% - starting date/time in the form YYYY-MM-DD-hh-mm -# %%to%% - starting date/time in the form YYYY-MM-DD-hh-mm -export_url = 'schedule/api_key/%%api_key%%' - -get_media_url = 'get-media/file/%%file%%/api_key/%%api_key%%' - -# Update whether a schedule group has begun playing. -update_item_url = 'notify-schedule-group-play/api_key/%%api_key%%/schedule_id/%%schedule_id%%' - -# Update whether an audio clip is currently playing. -update_start_playing_url = 'notify-media-item-start-play/api_key/%%api_key%%/media_id/%%media_id%%/' - -# URL to tell Airtime we want to get stream setting -get_stream_setting = 'get-stream-setting/format/json/api_key/%%api_key%%/' - -#URL to update liquidsoap status -update_liquidsoap_status = 'update-liquidsoap-status/format/json/api_key/%%api_key%%/msg/%%msg%%/stream_id/%%stream_id%%/boot_time/%%boot_time%%' - -#URL to check live stream auth -check_live_stream_auth = 'check-live-stream-auth/format/json/api_key/%%api_key%%/username/%%username%%/password/%%password%%/djtype/%%djtype%%' - -#URL to update source status -update_source_status = 'update-source-status/format/json/api_key/%%api_key%%/sourcename/%%sourcename%%/status/%%status%%' - -get_bootstrap_info = 'get-bootstrap-info/format/json/api_key/%%api_key%%' - -get_files_without_replay_gain = 'get-files-without-replay-gain/api_key/%%api_key%%/dir_id/%%dir_id%%' - -update_replay_gain_value = 'update-replay-gain-value/api_key/%%api_key%%' - -notify_webstream_data = 'notify-webstream-data/api_key/%%api_key%%/media_id/%%media_id%%/format/json' - -notify_liquidsoap_started = 'rabbitmq-do-push/api_key/%%api_key%%/format/json' - -get_stream_parameters = 'get-stream-parameters/api_key/%%api_key%%/format/json' - -push_stream_stats = 'push-stream-stats/api_key/%%api_key%%/format/json' diff --git a/python_apps/media-monitor2/configs/media-monitor.cfg b/python_apps/media-monitor2/configs/media-monitor.cfg deleted file mode 100644 index b1167f56b..000000000 --- a/python_apps/media-monitor2/configs/media-monitor.cfg +++ /dev/null @@ -1,31 +0,0 @@ -api_client = "airtime" - -# where the binary files live -bin_dir = '/usr/lib/airtime/media-monitor' - -# where the logging files live -log_dir = '/var/log/airtime/media-monitor' - - -############################################ -# RabbitMQ settings # -############################################ -rabbitmq_host = 'localhost' -rabbitmq_user = 'guest' -rabbitmq_password = 'guest' -rabbitmq_vhost = '/' - -############################################ -# Media-Monitor preferences # -############################################ -check_filesystem_events = 5 #how long to queue up events performed on the files themselves. -check_airtime_events = 30 #how long to queue metadata input from airtime. - -# MM2 only: -touch_interval = 5 -chunking_number = 450 -request_max_wait = 3.0 -rmq_event_wait = 0.1 -logpath = '/var/log/airtime/media-monitor/media-monitor.log' -index_path = '/var/tmp/airtime/media-monitor/last_index' - diff --git a/python_apps/monit/monit-airtime-generic.cfg b/python_apps/monit/monit-airtime-generic.cfg deleted file mode 100644 index 4bb0c6497..000000000 --- a/python_apps/monit/monit-airtime-generic.cfg +++ /dev/null @@ -1,6 +0,0 @@ - set daemon 10 # Poll at 10 second intervals - set logfile /var/log/monit.log - - set httpd port 2812 - allow admin:$admin_pass - allow guest:airtime read-only diff --git a/python_apps/monit/monit-airtime-rabbitmq-server.cfg b/python_apps/monit/monit-airtime-rabbitmq-server.cfg deleted file mode 100644 index 2ee2455a5..000000000 --- a/python_apps/monit/monit-airtime-rabbitmq-server.cfg +++ /dev/null @@ -1,7 +0,0 @@ - set daemon 10 # Poll at 5 second intervals - set logfile /var/log/monit.log - - check process rabbitmq-server - with pidfile "/var/run/airtime/rabbitmq.pid" - start program = "/bin/bash -c '/etc/init.d/rabbitmq-server start; /usr/lib/airtime/utils/rabbitmq-update-pid.sh'" - stop program = "/etc/init.d/rabbitmq-server stop" diff --git a/python_apps/pypo/install/pypo-copy-files.py b/python_apps/pypo/install/pypo-copy-files.py deleted file mode 100644 index 8009c6a8d..000000000 --- a/python_apps/pypo/install/pypo-copy-files.py +++ /dev/null @@ -1,140 +0,0 @@ -import os -import grp -import stat -import shutil -import sys -import subprocess -import random -import string -import re -from configobj import ConfigObj - -if os.geteuid() != 0: - print "Please run this as root." - sys.exit(1) - -def get_current_script_dir(): - current_script_dir = os.path.realpath(__file__) - index = current_script_dir.rindex('/') - return current_script_dir[0:index] - -def copy_dir(src_dir, dest_dir): - if (os.path.exists(dest_dir)) and (dest_dir != "/"): - shutil.rmtree(dest_dir) - if not (os.path.exists(dest_dir)): - #print "Copying directory "+os.path.realpath(src_dir)+" to "+os.path.realpath(dest_dir) - shutil.copytree(src_dir, dest_dir) - -def create_dir(path): - try: - os.makedirs(path) - except Exception, e: - pass - -def get_rand_string(length=10): - return ''.join(random.choice(string.ascii_uppercase + string.digits) for x in range(length)) - -def get_rand_string(length=10): - return ''.join(random.choice(string.ascii_uppercase + string.digits) for x in range(length)) - -def get_monit_version(): - version = 0 - try: - p = subprocess.Popen(['monit', '-V'], stdout=subprocess.PIPE) - out = p.communicate()[0].strip() - search = re.search(r'This is Monit version (.*)\n', out, re.IGNORECASE) - - if search: - matches = search.groups() - if len(matches) == 1: - version = matches[0] - except Exception: - print "Could not get monit version" - - return version - -#return 1 if version1 > version2 -#return 0 if version1 == version2 -#return -1 if version1 < version2 -def version_compare(version1, version2): - def normalize(v): - return [int(x) for x in re.sub(r'(\.0+)*$','', v).split(".")] - return cmp(normalize(version1), normalize(version2)) - -PATH_INI_FILE = '/etc/airtime/pypo.cfg' - -try: - # Absolute path this script is in - current_script_dir = get_current_script_dir() - - if not os.path.exists(PATH_INI_FILE): - shutil.copy('%s/../pypo.cfg'%current_script_dir, PATH_INI_FILE) - - try: - os.remove("/etc/airtime/liquidsoap.cfg") - except Exception, e: - pass - gid = grp.getgrnam("pypo").gr_gid - os.chown("/etc/airtime", -1, gid) - os.chmod("/etc/airtime", stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR | stat.S_IRGRP | stat.S_IWGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH) - - # load config file - try: - config = ConfigObj(PATH_INI_FILE) - except Exception, e: - print 'Error loading config file: ', e - sys.exit(1) - - #copy monit files - shutil.copy('%s/../../monit/monit-airtime-generic.cfg'%current_script_dir, '/etc/monit/conf.d/') - subprocess.call('sed -i "s/\$admin_pass/%s/g" /etc/monit/conf.d/monit-airtime-generic.cfg' % get_rand_string(), shell=True, close_fds=True) - - monit_version = get_monit_version() - if version_compare(monit_version, "5.3.0") >= 0: - shutil.copy('%s/../monit-airtime-liquidsoap.cfg' % current_script_dir, \ - '/etc/monit/conf.d/monit-airtime-liquidsoap.cfg') - else: - shutil.copy('%s/../monit-pre530-airtime-liquidsoap.cfg' % current_script_dir, \ - '/etc/monit/conf.d/monit-airtime-liquidsoap.cfg') - - shutil.copy('%s/../monit-airtime-playout.cfg'%current_script_dir, '/etc/monit/conf.d/') - - #create pypo log dir - create_dir(config['pypo_log_dir']) - os.system("chown -R pypo:pypo "+config["pypo_log_dir"]) - - #create liquidsoap log dir - create_dir(config['liquidsoap_log_dir']) - os.system("chown -R pypo:pypo "+config["liquidsoap_log_dir"]) - - #create cache, tmp, file dirs - create_dir(config['cache_dir']) - create_dir(config['file_dir']) - create_dir(config['tmp_dir']) - - create_dir(config["base_recorded_files"]) - - #copy files to bin dir - copy_dir("%s/.."%current_script_dir, config["bin_dir"]+"/bin/") - - # delete /usr/lib/airtime/pypo/bin/liquidsoap_scripts/liquidsoap.cfg - # as we don't use it anymore.(CC-2552) - os.remove(config["bin_dir"]+"/bin/liquidsoap_scripts/liquidsoap.cfg") - - #set permissions in bin dir and cache dir - os.system("chmod 755 "+os.path.join(config["bin_dir"], "bin/liquidsoap_scripts/notify.sh")) - os.system("chown -R pypo:pypo "+config["bin_dir"]) - os.system("chown -R pypo:pypo "+config["cache_base_dir"]) - os.system("chown -R pypo:pypo "+config["base_recorded_files"]) - - #copy init.d script - shutil.copy(config["bin_dir"]+"/bin/airtime-playout-init-d", "/etc/init.d/airtime-playout") - shutil.copy(config["bin_dir"]+"/bin/airtime-liquidsoap-init-d", "/etc/init.d/airtime-liquidsoap") - - #copy log rotate script - shutil.copy(config["bin_dir"]+"/bin/liquidsoap_scripts/airtime-liquidsoap.logrotate", "/etc/logrotate.d/airtime-liquidsoap") - -except Exception, e: - print e - - diff --git a/python_apps/pypo/install/pypo-initialize.py b/python_apps/pypo/install/pypo-initialize.py deleted file mode 100644 index 68fe858fb..000000000 --- a/python_apps/pypo/install/pypo-initialize.py +++ /dev/null @@ -1,95 +0,0 @@ -import platform -import shutil -from subprocess import Popen, PIPE -import subprocess -import sys -import os -sys.path.append('/usr/lib/airtime/') -from api_clients import api_client -from configobj import ConfigObj - -import logging - -if os.geteuid() != 0: - print "Please run this as root." - sys.exit(1) - -""" - This function returns the codename of the host OS by querying lsb_release. - If lsb_release does not exist, or an exception occurs the codename returned - is 'unknown' -""" -def get_os_codename(): - try: - p = Popen("which lsb_release > /dev/null", shell=True) - sts = os.waitpid(p.pid, 0)[1] - - if (sts == 0): - #lsb_release is available on this system. Let's get the os codename - p = Popen("lsb_release -sc", shell=True, stdout=PIPE) - codename = p.communicate()[0].strip('\r\n') - - p = Popen("lsb_release -sd", shell=True, stdout=PIPE) - fullname = p.communicate()[0].strip('\r\n') - - return (codename, fullname) - except Exception, e: - pass - - return ("unknown", "unknown") - -PATH_INI_FILE = '/etc/airtime/pypo.cfg' -PATH_LIQUIDSOAP_BIN = '/usr/lib/airtime/pypo/bin/liquidsoap_bin' - -#any debian/ubuntu codename in this et will automatically use the natty liquidsoap binary -arch_map = dict({"32bit":"i386", "64bit":"amd64"}) - -# load config file -try: - config = ConfigObj(PATH_INI_FILE) -except Exception, e: - print 'Error loading config file: ', e - sys.exit(1) - -try: - #select appropriate liquidsoap file for given system os/architecture - architecture = platform.architecture()[0] - arch = arch_map[architecture] - - print "* Detecting OS: ...", - (codename, fullname) = get_os_codename() - print " Found %s (%s) on %s architecture" % (fullname, codename, arch) - - print " * Creating symlink to Liquidsoap binary" - - p = Popen("which liquidsoap", shell=True, stdout=PIPE) - liq_path = p.communicate()[0].strip() - symlink_path = "/usr/bin/airtime-liquidsoap" - - if p.returncode == 0: - try: - os.unlink(symlink_path) - except Exception: - #liq_path DNE, which is OK. - pass - - os.symlink(liq_path, symlink_path) - else: - print " * Liquidsoap binary not found!" - sys.exit(1) - - #initialize init.d scripts - subprocess.call("update-rc.d airtime-playout defaults >/dev/null 2>&1", shell=True) - subprocess.call("update-rc.d airtime-liquidsoap defaults >/dev/null 2>&1", shell=True) - - #clear out an previous pypo cache - print "* Clearing previous pypo cache" - subprocess.call("rm -rf /var/tmp/airtime/pypo/cache/scheduler/* >/dev/null 2>&1", shell=True) - - if "airtime_service_start" in os.environ and os.environ["airtime_service_start"] == "t": - print "* Waiting for pypo processes to start..." - subprocess.call("invoke-rc.d airtime-liquidsoap start > /dev/null 2>&1", shell=True) - subprocess.call("invoke-rc.d airtime-playout start > /dev/null 2>&1", shell=True) - -except Exception, e: - print e diff --git a/python_apps/pypo/install/pypo-remove-files.py b/python_apps/pypo/install/pypo-remove-files.py deleted file mode 100644 index 3a20a2dda..000000000 --- a/python_apps/pypo/install/pypo-remove-files.py +++ /dev/null @@ -1,54 +0,0 @@ -import os -import shutil -import sys -from configobj import ConfigObj - -if os.geteuid() != 0: - print "Please run this as root." - sys.exit(1) - -PATH_INI_FILE = '/etc/airtime/pypo.cfg' - -def remove_file(path): - try: - os.remove(path) - except Exception, e: - pass - -# load config file -try: - config = ConfigObj(PATH_INI_FILE) -except Exception, e: - print 'Error loading config file: ', e - sys.exit(1) - -try: - #remove log rotate script - print " * Removing Pypo Log Rotate Script" - remove_file("/etc/logrotate.d/airtime-liquidsoap") - - #remove init.d script - print " * Removing Pypo init.d Script" - remove_file("/etc/init.d/airtime-playout") - remove_file("/etc/init.d/airtime-liquidsoap") - - #remove bin, cache, tmp and file dir - print " * Removing Pypo Program Directory" - shutil.rmtree(config['bin_dir'], ignore_errors=True) - shutil.rmtree(config['cache_dir'], ignore_errors=True) - shutil.rmtree(config['file_dir'], ignore_errors=True) - shutil.rmtree(config['tmp_dir'], ignore_errors=True) - - #remove liquidsoap and pypo log dir - print " * Removing Pypo Log Directories" - shutil.rmtree(config['liquidsoap_log_dir'], ignore_errors=True) - shutil.rmtree(config['pypo_log_dir'], ignore_errors=True) - - #remove monit files - print " * Removing Pypo Monit Files" - remove_file("/etc/monit/conf.d/monit-airtime-playout.cfg") - remove_file("/etc/monit/conf.d/monit-airtime-liquidsoap.cfg") - remove_file("/etc/monit/conf.d/monit-airtime-generic.cfg") - -except Exception, e: - print e diff --git a/python_apps/pypo/install/pypo-uninitialize.py b/python_apps/pypo/install/pypo-uninitialize.py deleted file mode 100644 index 65ac91991..000000000 --- a/python_apps/pypo/install/pypo-uninitialize.py +++ /dev/null @@ -1,33 +0,0 @@ -import os -import sys -import subprocess - -if os.geteuid() != 0: - print "Please run this as root." - sys.exit(1) - -try: - #stop pypo and liquidsoap processes - print "Waiting for Pypo process to stop...", - try: - os.remove("/usr/bin/airtime-liquidsoap") - except Exception, e: - pass - if (os.path.exists('/etc/init.d/airtime-playout')): - subprocess.call("invoke-rc.d airtime-playout stop", shell=True) - print "OK" - else: - print "Wasn't running" - - print "Waiting for Liquidsoap process to stop...", - if (os.path.exists('/etc/init.d/airtime-liquidsoap')): - subprocess.call("invoke-rc.d airtime-liquidsoap stop", shell=True) - print "OK" - else: - print "Wasn't running" - - subprocess.call("update-rc.d -f airtime-playout remove".split(" ")) - subprocess.call("update-rc.d -f airtime-liquidsoap remove".split(" ")) - -except Exception, e: - print e diff --git a/python_apps/pypo/liquidsoap_bin b/python_apps/pypo/liquidsoap_bin deleted file mode 160000 index 492242f4b..000000000 --- a/python_apps/pypo/liquidsoap_bin +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 492242f4bb7367afebbf2f096067cb5a5d3c0449 diff --git a/python_apps/pypo/monit-airtime-liquidsoap.cfg b/python_apps/pypo/monit-airtime-liquidsoap.cfg deleted file mode 100644 index ac5031c27..000000000 --- a/python_apps/pypo/monit-airtime-liquidsoap.cfg +++ /dev/null @@ -1,17 +0,0 @@ - set daemon 15 # Poll at 5 second intervals - set logfile /var/log/monit.log - - set httpd port 2812 - - check process airtime-liquidsoap matching "airtime-liquidsoap.*airtime.*ls_script" - if does not exist for 3 cycles then restart - - start program = "/etc/init.d/airtime-liquidsoap start" with timeout 30 seconds - stop program = "/etc/init.d/airtime-liquidsoap stop" - - if mem > 600 MB for 3 cycles then restart - if failed host localhost port 1234 - send "version\r\nexit\r\n" - expect "Liquidsoap" - with timeout 2 seconds retry 3 for 2 cycles - then restart diff --git a/python_apps/pypo/monit-airtime-playout.cfg b/python_apps/pypo/monit-airtime-playout.cfg deleted file mode 100644 index 9f0642bab..000000000 --- a/python_apps/pypo/monit-airtime-playout.cfg +++ /dev/null @@ -1,9 +0,0 @@ - set daemon 10 # Poll at 5 second intervals - set logfile /var/log/monit.log - - set httpd port 2812 - - check process airtime-playout - with pidfile "/var/run/airtime/airtime-playout.pid" - start program = "/etc/init.d/airtime-playout start" with timeout 5 seconds - stop program = "/etc/init.d/airtime-playout stop" diff --git a/python_apps/pypo/monit-pre530-airtime-liquidsoap.cfg b/python_apps/pypo/monit-pre530-airtime-liquidsoap.cfg deleted file mode 100644 index 0cf179831..000000000 --- a/python_apps/pypo/monit-pre530-airtime-liquidsoap.cfg +++ /dev/null @@ -1,8 +0,0 @@ - set daemon 15 # Poll at 5 second intervals - set logfile /var/log/monit.log - - set httpd port 2812 - - check process airtime-liquidsoap with pidfile "/var/run/airtime/airtime-liquidsoap.pid" - start program = "/etc/init.d/airtime-liquidsoap start" with timeout 5 seconds - stop program = "/etc/init.d/airtime-liquidsoap stop" diff --git a/python_apps/pypo/AUTHORS b/python_apps/pypo/pypo/AUTHORS similarity index 100% rename from python_apps/pypo/AUTHORS rename to python_apps/pypo/pypo/AUTHORS diff --git a/python_apps/pypo/LICENSE b/python_apps/pypo/pypo/LICENSE similarity index 100% rename from python_apps/pypo/LICENSE rename to python_apps/pypo/pypo/LICENSE diff --git a/python_apps/pypo/__init__.py b/python_apps/pypo/pypo/__init__.py similarity index 100% rename from python_apps/pypo/__init__.py rename to python_apps/pypo/pypo/__init__.py diff --git a/python_apps/pypo/airtime-liquidsoap b/python_apps/pypo/pypo/airtime-liquidsoap similarity index 100% rename from python_apps/pypo/airtime-liquidsoap rename to python_apps/pypo/pypo/airtime-liquidsoap diff --git a/python_apps/pypo/airtime-liquidsoap-init-d b/python_apps/pypo/pypo/airtime-liquidsoap-init-d similarity index 75% rename from python_apps/pypo/airtime-liquidsoap-init-d rename to python_apps/pypo/pypo/airtime-liquidsoap-init-d index 181dbcc83..8cfafb4eb 100755 --- a/python_apps/pypo/airtime-liquidsoap-init-d +++ b/python_apps/pypo/pypo/airtime-liquidsoap-init-d @@ -56,37 +56,18 @@ stop () { sleep 2 } -start_with_monit () { - start - monit monitor airtime-liquidsoap >/dev/null 2>&1 -} - -stop_with_monit() { - monit unmonitor airtime-liquidsoap >/dev/null 2>&1 - stop -} - - - - case "${1:-''}" in 'stop') - echo "* Stopping Liquidsoap without notifying Monit process watchdog. If Monit is -* running it will automatically bring the Liquidsoap back up. You probably want -* 'stop-with-monit' instead of 'stop'." echo -n "Stopping $NAME: " stop echo "Done." ;; 'start') - echo "* Starting $NAME without Monit process watchdog. To make sure Monit is watching -* Liquidsoap, use 'start-with-monit' instead of 'start'." echo -n "Starting $NAME: " start echo "Done." ;; 'restart') - # restart commands here echo -n "Restarting $NAME: " stop start @@ -104,18 +85,6 @@ case "${1:-''}" in echo "$NAME is not running" exit 1 ;; - 'start-with-monit') - # restart commands here - echo -n "Starting $NAME: " - start_with_monit - echo "Done." - ;; - 'stop-with-monit') - # restart commands here - echo -n "Stopping $NAME: " - stop_with_monit - echo "Done." - ;; *) # no parameter specified echo "Usage: $SELF start|stop|restart|status" diff --git a/python_apps/pypo/airtime-playout b/python_apps/pypo/pypo/airtime-playout similarity index 100% rename from python_apps/pypo/airtime-playout rename to python_apps/pypo/pypo/airtime-playout diff --git a/python_apps/pypo/airtime-playout-init-d b/python_apps/pypo/pypo/airtime-playout-init-d similarity index 75% rename from python_apps/pypo/airtime-playout-init-d rename to python_apps/pypo/pypo/airtime-playout-init-d index 07dfc4476..adb223626 100755 --- a/python_apps/pypo/airtime-playout-init-d +++ b/python_apps/pypo/pypo/airtime-playout-init-d @@ -28,16 +28,6 @@ stop () { rm -f $PIDFILE } -start_with_monit() { - start - monit monitor airtime-playout >/dev/null 2>&1 -} - -stop_with_monit() { - monit unmonitor airtime-playout >/dev/null 2>&1 - stop -} - case "${1:-''}" in 'start') # start commands here @@ -58,18 +48,6 @@ case "${1:-''}" in start echo "Done." ;; - 'start-with-monit') - # restart commands here - echo -n "Starting $NAME: " - start_with_monit - echo "Done." - ;; - 'stop-with-monit') - # restart commands here - echo -n "Stopping $NAME: " - stop_with_monit - echo "Done." - ;; 'status') # status commands here diff --git a/python_apps/pypo/eventtypes.py b/python_apps/pypo/pypo/eventtypes.py similarity index 100% rename from python_apps/pypo/eventtypes.py rename to python_apps/pypo/pypo/eventtypes.py diff --git a/python_apps/pypo/liquidsoap_scripts/aac.liq b/python_apps/pypo/pypo/liquidsoap_scripts/aac.liq similarity index 100% rename from python_apps/pypo/liquidsoap_scripts/aac.liq rename to python_apps/pypo/pypo/liquidsoap_scripts/aac.liq diff --git a/python_apps/pypo/liquidsoap_scripts/aacplus.liq b/python_apps/pypo/pypo/liquidsoap_scripts/aacplus.liq similarity index 100% rename from python_apps/pypo/liquidsoap_scripts/aacplus.liq rename to python_apps/pypo/pypo/liquidsoap_scripts/aacplus.liq diff --git a/python_apps/pypo/liquidsoap_scripts/airtime-liquidsoap.logrotate b/python_apps/pypo/pypo/liquidsoap_scripts/airtime-liquidsoap.logrotate similarity index 100% rename from python_apps/pypo/liquidsoap_scripts/airtime-liquidsoap.logrotate rename to python_apps/pypo/pypo/liquidsoap_scripts/airtime-liquidsoap.logrotate diff --git a/python_apps/pypo/liquidsoap_scripts/fdkaac.liq b/python_apps/pypo/pypo/liquidsoap_scripts/fdkaac.liq similarity index 100% rename from python_apps/pypo/liquidsoap_scripts/fdkaac.liq rename to python_apps/pypo/pypo/liquidsoap_scripts/fdkaac.liq diff --git a/python_apps/pypo/liquidsoap_scripts/generate_liquidsoap_cfg.py b/python_apps/pypo/pypo/liquidsoap_scripts/generate_liquidsoap_cfg.py similarity index 100% rename from python_apps/pypo/liquidsoap_scripts/generate_liquidsoap_cfg.py rename to python_apps/pypo/pypo/liquidsoap_scripts/generate_liquidsoap_cfg.py diff --git a/python_apps/pypo/liquidsoap_scripts/library/externals.liq b/python_apps/pypo/pypo/liquidsoap_scripts/library/externals.liq similarity index 100% rename from python_apps/pypo/liquidsoap_scripts/library/externals.liq rename to python_apps/pypo/pypo/liquidsoap_scripts/library/externals.liq diff --git a/python_apps/pypo/liquidsoap_scripts/library/flows.liq b/python_apps/pypo/pypo/liquidsoap_scripts/library/flows.liq similarity index 100% rename from python_apps/pypo/liquidsoap_scripts/library/flows.liq rename to python_apps/pypo/pypo/liquidsoap_scripts/library/flows.liq diff --git a/python_apps/pypo/liquidsoap_scripts/library/gstreamer.liq b/python_apps/pypo/pypo/liquidsoap_scripts/library/gstreamer.liq similarity index 100% rename from python_apps/pypo/liquidsoap_scripts/library/gstreamer.liq rename to python_apps/pypo/pypo/liquidsoap_scripts/library/gstreamer.liq diff --git a/python_apps/pypo/liquidsoap_scripts/library/http.liq b/python_apps/pypo/pypo/liquidsoap_scripts/library/http.liq similarity index 100% rename from python_apps/pypo/liquidsoap_scripts/library/http.liq rename to python_apps/pypo/pypo/liquidsoap_scripts/library/http.liq diff --git a/python_apps/pypo/liquidsoap_scripts/library/http_codes.liq b/python_apps/pypo/pypo/liquidsoap_scripts/library/http_codes.liq similarity index 100% rename from python_apps/pypo/liquidsoap_scripts/library/http_codes.liq rename to python_apps/pypo/pypo/liquidsoap_scripts/library/http_codes.liq diff --git a/python_apps/pypo/liquidsoap_scripts/library/lastfm.liq b/python_apps/pypo/pypo/liquidsoap_scripts/library/lastfm.liq similarity index 100% rename from python_apps/pypo/liquidsoap_scripts/library/lastfm.liq rename to python_apps/pypo/pypo/liquidsoap_scripts/library/lastfm.liq diff --git a/python_apps/pypo/liquidsoap_scripts/library/pervasives.liq b/python_apps/pypo/pypo/liquidsoap_scripts/library/pervasives.liq similarity index 100% rename from python_apps/pypo/liquidsoap_scripts/library/pervasives.liq rename to python_apps/pypo/pypo/liquidsoap_scripts/library/pervasives.liq diff --git a/python_apps/pypo/liquidsoap_scripts/library/shoutcast.liq b/python_apps/pypo/pypo/liquidsoap_scripts/library/shoutcast.liq similarity index 100% rename from python_apps/pypo/liquidsoap_scripts/library/shoutcast.liq rename to python_apps/pypo/pypo/liquidsoap_scripts/library/shoutcast.liq diff --git a/python_apps/pypo/liquidsoap_scripts/library/utils.liq b/python_apps/pypo/pypo/liquidsoap_scripts/library/utils.liq similarity index 100% rename from python_apps/pypo/liquidsoap_scripts/library/utils.liq rename to python_apps/pypo/pypo/liquidsoap_scripts/library/utils.liq diff --git a/python_apps/pypo/liquidsoap_scripts/library/video_text.liq b/python_apps/pypo/pypo/liquidsoap_scripts/library/video_text.liq similarity index 100% rename from python_apps/pypo/liquidsoap_scripts/library/video_text.liq rename to python_apps/pypo/pypo/liquidsoap_scripts/library/video_text.liq diff --git a/python_apps/pypo/liquidsoap_scripts/liquidsoap.cfg b/python_apps/pypo/pypo/liquidsoap_scripts/liquidsoap.cfg similarity index 100% rename from python_apps/pypo/liquidsoap_scripts/liquidsoap.cfg rename to python_apps/pypo/pypo/liquidsoap_scripts/liquidsoap.cfg diff --git a/python_apps/pypo/liquidsoap_scripts/liquidsoap_auth.py b/python_apps/pypo/pypo/liquidsoap_scripts/liquidsoap_auth.py similarity index 100% rename from python_apps/pypo/liquidsoap_scripts/liquidsoap_auth.py rename to python_apps/pypo/pypo/liquidsoap_scripts/liquidsoap_auth.py diff --git a/python_apps/pypo/liquidsoap_scripts/liquidsoap_prepare_terminate.py b/python_apps/pypo/pypo/liquidsoap_scripts/liquidsoap_prepare_terminate.py similarity index 100% rename from python_apps/pypo/liquidsoap_scripts/liquidsoap_prepare_terminate.py rename to python_apps/pypo/pypo/liquidsoap_scripts/liquidsoap_prepare_terminate.py diff --git a/python_apps/pypo/liquidsoap_scripts/ls_lib.liq b/python_apps/pypo/pypo/liquidsoap_scripts/ls_lib.liq similarity index 100% rename from python_apps/pypo/liquidsoap_scripts/ls_lib.liq rename to python_apps/pypo/pypo/liquidsoap_scripts/ls_lib.liq diff --git a/python_apps/pypo/liquidsoap_scripts/ls_script.liq b/python_apps/pypo/pypo/liquidsoap_scripts/ls_script.liq similarity index 100% rename from python_apps/pypo/liquidsoap_scripts/ls_script.liq rename to python_apps/pypo/pypo/liquidsoap_scripts/ls_script.liq diff --git a/python_apps/pypo/liquidsoap_scripts/mp3.liq b/python_apps/pypo/pypo/liquidsoap_scripts/mp3.liq similarity index 100% rename from python_apps/pypo/liquidsoap_scripts/mp3.liq rename to python_apps/pypo/pypo/liquidsoap_scripts/mp3.liq diff --git a/python_apps/pypo/liquidsoap_scripts/notify.sh b/python_apps/pypo/pypo/liquidsoap_scripts/notify.sh similarity index 100% rename from python_apps/pypo/liquidsoap_scripts/notify.sh rename to python_apps/pypo/pypo/liquidsoap_scripts/notify.sh diff --git a/python_apps/pypo/liquidsoap_scripts/ogg.liq b/python_apps/pypo/pypo/liquidsoap_scripts/ogg.liq similarity index 100% rename from python_apps/pypo/liquidsoap_scripts/ogg.liq rename to python_apps/pypo/pypo/liquidsoap_scripts/ogg.liq diff --git a/python_apps/pypo/liquidsoap_scripts/opus.liq b/python_apps/pypo/pypo/liquidsoap_scripts/opus.liq similarity index 100% rename from python_apps/pypo/liquidsoap_scripts/opus.liq rename to python_apps/pypo/pypo/liquidsoap_scripts/opus.liq diff --git a/python_apps/pypo/listenerstat.py b/python_apps/pypo/pypo/listenerstat.py similarity index 100% rename from python_apps/pypo/listenerstat.py rename to python_apps/pypo/pypo/listenerstat.py diff --git a/python_apps/pypo/logging.cfg b/python_apps/pypo/pypo/logging.cfg similarity index 100% rename from python_apps/pypo/logging.cfg rename to python_apps/pypo/pypo/logging.cfg diff --git a/python_apps/pypo/media/__init__.py b/python_apps/pypo/pypo/media/__init__.py similarity index 100% rename from python_apps/pypo/media/__init__.py rename to python_apps/pypo/pypo/media/__init__.py diff --git a/python_apps/pypo/media/update/__init__.py b/python_apps/pypo/pypo/media/update/__init__.py similarity index 100% rename from python_apps/pypo/media/update/__init__.py rename to python_apps/pypo/pypo/media/update/__init__.py diff --git a/python_apps/pypo/media/update/replaygain.py b/python_apps/pypo/pypo/media/update/replaygain.py similarity index 100% rename from python_apps/pypo/media/update/replaygain.py rename to python_apps/pypo/pypo/media/update/replaygain.py diff --git a/python_apps/pypo/media/update/replaygainupdater.py b/python_apps/pypo/pypo/media/update/replaygainupdater.py similarity index 100% rename from python_apps/pypo/media/update/replaygainupdater.py rename to python_apps/pypo/pypo/media/update/replaygainupdater.py diff --git a/python_apps/pypo/media/update/silananalyzer.py b/python_apps/pypo/pypo/media/update/silananalyzer.py similarity index 100% rename from python_apps/pypo/media/update/silananalyzer.py rename to python_apps/pypo/pypo/media/update/silananalyzer.py diff --git a/python_apps/pypo/notify_logging.cfg b/python_apps/pypo/pypo/notify_logging.cfg similarity index 100% rename from python_apps/pypo/notify_logging.cfg rename to python_apps/pypo/pypo/notify_logging.cfg diff --git a/python_apps/pypo/pure.py b/python_apps/pypo/pypo/pure.py similarity index 100% rename from python_apps/pypo/pure.py rename to python_apps/pypo/pypo/pure.py diff --git a/python_apps/pypo/pypo.cfg b/python_apps/pypo/pypo/pypo.cfg similarity index 100% rename from python_apps/pypo/pypo.cfg rename to python_apps/pypo/pypo/pypo.cfg diff --git a/python_apps/pypo/pypocli.py b/python_apps/pypo/pypo/pypocli.py similarity index 100% rename from python_apps/pypo/pypocli.py rename to python_apps/pypo/pypo/pypocli.py diff --git a/python_apps/pypo/pypofetch.py b/python_apps/pypo/pypo/pypofetch.py similarity index 100% rename from python_apps/pypo/pypofetch.py rename to python_apps/pypo/pypo/pypofetch.py diff --git a/python_apps/pypo/pypofile.py b/python_apps/pypo/pypo/pypofile.py similarity index 100% rename from python_apps/pypo/pypofile.py rename to python_apps/pypo/pypo/pypofile.py diff --git a/python_apps/pypo/pypoliqqueue.py b/python_apps/pypo/pypo/pypoliqqueue.py similarity index 100% rename from python_apps/pypo/pypoliqqueue.py rename to python_apps/pypo/pypo/pypoliqqueue.py diff --git a/python_apps/pypo/pypoliquidsoap.py b/python_apps/pypo/pypo/pypoliquidsoap.py similarity index 100% rename from python_apps/pypo/pypoliquidsoap.py rename to python_apps/pypo/pypo/pypoliquidsoap.py diff --git a/python_apps/pypo/pypomessagehandler.py b/python_apps/pypo/pypo/pypomessagehandler.py similarity index 100% rename from python_apps/pypo/pypomessagehandler.py rename to python_apps/pypo/pypo/pypomessagehandler.py diff --git a/python_apps/pypo/pyponotify.py b/python_apps/pypo/pypo/pyponotify.py similarity index 100% rename from python_apps/pypo/pyponotify.py rename to python_apps/pypo/pypo/pyponotify.py diff --git a/python_apps/pypo/pypopush.py b/python_apps/pypo/pypo/pypopush.py similarity index 100% rename from python_apps/pypo/pypopush.py rename to python_apps/pypo/pypo/pypopush.py diff --git a/python_apps/pypo/recorder.py b/python_apps/pypo/pypo/recorder.py similarity index 100% rename from python_apps/pypo/recorder.py rename to python_apps/pypo/pypo/recorder.py diff --git a/python_apps/pypo/telnetliquidsoap.py b/python_apps/pypo/pypo/telnetliquidsoap.py similarity index 100% rename from python_apps/pypo/telnetliquidsoap.py rename to python_apps/pypo/pypo/telnetliquidsoap.py diff --git a/python_apps/pypo/testpypoliqqueue.py b/python_apps/pypo/pypo/testpypoliqqueue.py similarity index 100% rename from python_apps/pypo/testpypoliqqueue.py rename to python_apps/pypo/pypo/testpypoliqqueue.py diff --git a/python_apps/pypo/tests/run_tests.sh b/python_apps/pypo/pypo/tests/run_tests.sh similarity index 100% rename from python_apps/pypo/tests/run_tests.sh rename to python_apps/pypo/pypo/tests/run_tests.sh diff --git a/python_apps/pypo/tests/test_modify_cue_in.py b/python_apps/pypo/pypo/tests/test_modify_cue_in.py similarity index 100% rename from python_apps/pypo/tests/test_modify_cue_in.py rename to python_apps/pypo/pypo/tests/test_modify_cue_in.py diff --git a/python_apps/pypo/timeout.py b/python_apps/pypo/pypo/timeout.py similarity index 100% rename from python_apps/pypo/timeout.py rename to python_apps/pypo/pypo/timeout.py diff --git a/python_apps/remove-pypo-user.py b/python_apps/remove-pypo-user.py deleted file mode 100644 index 4e29e78e5..000000000 --- a/python_apps/remove-pypo-user.py +++ /dev/null @@ -1,19 +0,0 @@ -import os -import sys -import time - -def remove_user(username): - os.system("killall -u %s 1>/dev/null 2>&1" % username) - - #allow all process to be completely closed before we attempt to delete user - print "Waiting for processes to close..." - time.sleep(3) - - os.system("deluser --remove-home " + username + " 1>/dev/null 2>&1") - -if __name__ == "__main__": - if os.geteuid() != 0: - print "Please run this as root." - sys.exit(1) - - remove_user("pypo") From 29917ebf635f8d2bc77557b5964d5b543be7acfa Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Wed, 17 Dec 2014 16:42:29 -0500 Subject: [PATCH 053/168] More work on switching pypo to use setuptools --- installer/install | 3 ++ python_apps/pypo/bin/airtime-liquidsoap | 48 +++++++++++++++++++ python_apps/pypo/bin/airtime-playout | 31 ++++++++++++ .../pypo/install/airtime-liquidsoap.conf | 15 ++++++ python_apps/pypo/install/airtime-playout.conf | 15 ++++++ python_apps/pypo/setup.py | 46 ++++++++++++++++++ 6 files changed, 158 insertions(+) create mode 100755 python_apps/pypo/bin/airtime-liquidsoap create mode 100755 python_apps/pypo/bin/airtime-playout create mode 100644 python_apps/pypo/install/airtime-liquidsoap.conf create mode 100644 python_apps/pypo/install/airtime-playout.conf create mode 100644 python_apps/pypo/setup.py diff --git a/installer/install b/installer/install index b621518c3..88ea57ca1 100755 --- a/installer/install +++ b/installer/install @@ -374,6 +374,9 @@ verbose "...Done" chmod 755 /etc/init.d/airtime-* initctl reload-configuration +verbose "\n * Copying pypo files..." +python ${AIRTIMEROOT}/python_apps/pypo/setup.py install + if [ ! -d /var/log/airtime ]; then loud "\n-----------------------------------------------------" loud " * Installing Log Files * " diff --git a/python_apps/pypo/bin/airtime-liquidsoap b/python_apps/pypo/bin/airtime-liquidsoap new file mode 100755 index 000000000..def0aaae1 --- /dev/null +++ b/python_apps/pypo/bin/airtime-liquidsoap @@ -0,0 +1,48 @@ +#!/bin/bash -e + +debug="f" + +showhelp () { + echo "Usage: airtime-liquidsoap [options] +--help|-h Displays usage information. +--debug|-d Print error messages to console" +} + +set -- $(getopt -l help,debug "hd" "$@") +while [ $# -gt 0 ] +do + case "$1" in + (-h|--help) showhelp; exit 0;; + (-d|--debug) debug="t";; + + (--) shift; break;; + (-*) echo "$0: error - unrecognized option $1" 1>&2; exit 1;; + (*) break;; + esac + shift +done + + +virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/" +. ${virtualenv_bin}activate + +export HOME="/var/tmp/airtime/pypo/" +api_client_path="/usr/lib/airtime/" +if [ $debug = "t" ]; then + ls_path="/usr/bin/airtime-liquidsoap --verbose -f" +else + ls_path="/usr/bin/airtime-liquidsoap --verbose -f -d" +fi +ls_param="/usr/lib/airtime/pypo/bin/liquidsoap_scripts/ls_script.liq" + +export PYTHONPATH=${api_client_path} + +SCRIPT=`readlink -f $0` +# Absolute directory this script is in +SCRIPTPATH=`dirname $SCRIPT` + +cd $SCRIPTPATH/liquidsoap_scripts +python generate_liquidsoap_cfg.py + +exec ${ls_path} ${ls_param} 2>&1 +# EOF diff --git a/python_apps/pypo/bin/airtime-playout b/python_apps/pypo/bin/airtime-playout new file mode 100755 index 000000000..fca8a412d --- /dev/null +++ b/python_apps/pypo/bin/airtime-playout @@ -0,0 +1,31 @@ +#!/bin/bash + +virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/" +. ${virtualenv_bin}activate + +# Absolute path to this script +SCRIPT=`readlink -f $0` +# Absolute directory this script is in +pypo_path=`dirname $SCRIPT` + +api_client_path="/usr/lib/airtime/" +pypo_script="pypocli.py" +cd ${pypo_path} + +set +e +cat /etc/default/locale | grep -i "LANG=.*UTF-\?8" > /dev/null +set -e +if [ "$?" != "0" ]; then + echo "non UTF-8 default locale found in /etc/default/locale." > /var/log/airtime/pypo/error.log + exit 1 +fi + +export HOME="/var/tmp/airtime/pypo/" +export PYTHONPATH=${api_client_path}:$PYTHONPATH +export LC_ALL=`cat /etc/default/locale | grep "LANG=" | cut -d= -f2 | tr -d "\n\""` +export TERM=xterm + + +exec python ${pypo_path}/${pypo_script} > /var/log/airtime/pypo/py-interpreter.log 2>&1 + +# EOF diff --git a/python_apps/pypo/install/airtime-liquidsoap.conf b/python_apps/pypo/install/airtime-liquidsoap.conf new file mode 100644 index 000000000..e60835dea --- /dev/null +++ b/python_apps/pypo/install/airtime-liquidsoap.conf @@ -0,0 +1,15 @@ +description "Airtime Liquidsoap" +author "help@sourcefabric.org" + +start on runlevel [2345] +stop on runlevel [!2345] + +respawn + +setuid www-data +setgid www-data + +env LANG='en_US.UTF-8' +env LC_ALL='en_US.UTF-8' + +exec airtime-liquidsoap diff --git a/python_apps/pypo/install/airtime-playout.conf b/python_apps/pypo/install/airtime-playout.conf new file mode 100644 index 000000000..bbd8da1a2 --- /dev/null +++ b/python_apps/pypo/install/airtime-playout.conf @@ -0,0 +1,15 @@ +description "Pypo" +author "help@sourcefabric.org" + +start on runlevel [2345] +stop on runlevel [!2345] + +respawn + +setuid www-data +setgid www-data + +env LANG='en_US.UTF-8' +env LC_ALL='en_US.UTF-8' + +exec airtime-playout diff --git a/python_apps/pypo/setup.py b/python_apps/pypo/setup.py new file mode 100644 index 000000000..9c5934618 --- /dev/null +++ b/python_apps/pypo/setup.py @@ -0,0 +1,46 @@ +from setuptools import setup +from subprocess import call +import sys + +# Allows us to avoid installing the upstart init script when deploying airtime_analyzer +# on Airtime Pro: +if '--no-init-script' in sys.argv: + data_files = [] + sys.argv.remove('--no-init-script') # super hax +else: + data_files = [('/etc/init', ['install/airtime-playout.conf', 'install/airtime-liquidsoap.conf'])] + print data_files + +setup(name='airtime-playout', + version='0.1', + description='Airtime Analyzer Worker and File Importer', + url='http://github.com/sourcefabric/Airtime', + author='sourcefabric', + license='AGPLv3', + packages=['pypo'], + scripts=[ + 'bin/airtime-playout', + 'bin/airtime-liquidsoap' + ], + install_requires=[ + 'amqplib', + 'anyjson', + 'argparse', + 'configobj', + 'docopt', + 'kombu', + 'mutagen', + 'poster', + 'PyDispatcher', + 'pyinotify', + 'pytz', + 'wsgiref' + ], + zip_safe=False, + data_files=data_files) + +# Reload the initctl config so that "service start airtime_analyzer" works +if data_files: + print "Reloading initctl configuration" + call(['initctl', 'reload-configuration']) + print "Run \"sudo service airtime-playout start\" and \"sudo service airtime-liquidsoap start\"" From 4749ef111c0e1824b9bdb38aae07eca0f78d8b96 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Wed, 17 Dec 2014 17:05:55 -0500 Subject: [PATCH 054/168] More work on switching pypo to use setuptools --- python_apps/pypo/setup.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/python_apps/pypo/setup.py b/python_apps/pypo/setup.py index 9c5934618..41affc724 100644 --- a/python_apps/pypo/setup.py +++ b/python_apps/pypo/setup.py @@ -1,9 +1,13 @@ from setuptools import setup from subprocess import call import sys +import os -# Allows us to avoid installing the upstart init script when deploying airtime_analyzer -# on Airtime Pro: +script_path = os.path.dirname(os.path.realpath(__file__)) +print script_path +os.chdir(script_path) + +# Allows us to avoid installing the upstart init script when deploying on Airtime Pro: if '--no-init-script' in sys.argv: data_files = [] sys.argv.remove('--no-init-script') # super hax @@ -13,7 +17,7 @@ else: setup(name='airtime-playout', version='0.1', - description='Airtime Analyzer Worker and File Importer', + description='Airtime Playout Engine', url='http://github.com/sourcefabric/Airtime', author='sourcefabric', license='AGPLv3', From 6bc3a1cfba4dd420dac286fe75311c74cae1cdaf Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Fri, 19 Dec 2014 09:47:54 -0500 Subject: [PATCH 055/168] More work on switching pypo to use setuptools, added lxc-bootstrap script for ease of testing across distros --- installer/install | 32 +++++++++++++++------ installer/lxc-bootstrap | 59 +++++++++++++++++++++++++++++++++++++++ python_apps/pypo/setup.py | 4 +-- 3 files changed, 84 insertions(+), 11 deletions(-) create mode 100755 installer/lxc-bootstrap diff --git a/installer/install b/installer/install index 88ea57ca1..506ec8cbb 100755 --- a/installer/install +++ b/installer/install @@ -311,19 +311,29 @@ if [ "$icecast" = "t" ]; then set -e fi +# Do we want to prompt the user here? loud "\n-----------------------------------------------------" loud " * Installing Airtime Services * " loud "-----------------------------------------------------" +verbose "\n * Installing liquidsoap, python, and virtualenv..." loudCmd "apt-get -y --force-yes install liquidsoap python python-virtualenv" +verbose "...Done" + +# DS, 19/12/14 -- I don't really like this script... should we rewrite it, +# or maybe see if we can get rid of virtualenv entirely? + +verbose "\n * Activating Airtime virtualenv..." loudCmd "$AIRTIMEROOT/python_apps/python-virtualenv/virtualenv-install.sh" +. /usr/lib/airtime/airtime_virtualenv/bin/activate +verbose "...Done" verbose "\n * Creating /usr/lib/airtime..." mkdir -p /usr/lib/airtime verbose "...Done" -verbose "\n * Creating /usr/lib/airtime..." +verbose "\n * Creating /run/airtime..." mkdir -p /run/airtime chmod 755 /run/airtime chown -R ${web_user}:${web_user} /run/airtime @@ -342,6 +352,16 @@ cp -R ${AIRTIMEROOT}/python_apps/media-monitor /usr/lib/airtime/media-monitor cp -R ${AIRTIMEROOT}/python_apps/media-monitor2 /usr/lib/airtime/media-monitor/mm2 verbose "...Done" +verbose "\n * Copying pypo files..." +mkdir -p /usr/lib/airtime/pypo +cp -R ${AIRTIMEROOT}/python_apps/pypo/pypo /usr/lib/airtime/pypo/bin/ +verbose "...Done" + +verbose "\n * Installing pypo..." +python ${AIRTIMEROOT}/python_apps/pypo/setup.py install +verbose "...Done" + +verbose "\n * Creating init files..." sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/media-monitor/airtime-media-monitor-init-d > /etc/init.d/airtime-media-monitor touch /etc/sudoers.d/airtime-media-monitor_${web_user} echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-media-monitor, \ @@ -349,12 +369,6 @@ echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-media-monitor, \ /sbin/restart airtime-media-monitor, \ /sbin/status airtime-media-monitor" > /etc/sudoers.d/airtime-media-monitor_${web_user} -verbose "\n * Copying pypo files..." -mkdir -p /usr/lib/airtime/pypo -cp -R ${AIRTIMEROOT}/python_apps/pypo/pypo /usr/lib/airtime/pypo/bin/ -verbose "...Done" - -verbose "\n * Creating init files..." sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/pypo/bin/airtime-playout-init-d > /etc/init.d/airtime-playout touch /etc/sudoers.d/airtime-playout_${web_user} echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-playout, \ @@ -374,8 +388,8 @@ verbose "...Done" chmod 755 /etc/init.d/airtime-* initctl reload-configuration -verbose "\n * Copying pypo files..." -python ${AIRTIMEROOT}/python_apps/pypo/setup.py install +# Deactivate virtualenv +deactivate if [ ! -d /var/log/airtime ]; then loud "\n-----------------------------------------------------" diff --git a/installer/lxc-bootstrap b/installer/lxc-bootstrap new file mode 100755 index 000000000..aebefaba3 --- /dev/null +++ b/installer/lxc-bootstrap @@ -0,0 +1,59 @@ +#!/bin/bash -e +#-e Causes bash script to exit if any of the installers +#return with a non-zero return value. + +if [[ $EUID -ne 0 ]]; then + echo "Please run as root user." + exit 1 +fi + +dist=$1 +release=$2 +name=airtime-install + +set +e +echo -e "\n * Stopping ${name}..." +lxc-stop -n airtime-install +echo "...Done" + +echo -e "\n * Destroying ${name}..." +lxc-destroy -n airtime-install +echo "...Done" +set -e + +echo -e "\n * Creating ${name} with dist ${dist} and release ${release}..." +lxc-create -t download -n ${name} -- --dist ${dist} --release ${release} --arch amd64 +echo "...Done" + +echo -e "\n * Starting ${name}..." +lxc-start -n ${name} -d +echo "...Done" + +echo -e "\n * Running apt update..." +lxc-attach -n ${name} -e -- apt-get update +echo "...Done" + +echo -e "\n * Installing git..." +lxc-attach -n ${name} -e -- apt-get -y --force-yes install git +echo "...Done" + +echo -e "\n * Cloning Airtime..." +lxc-attach -n ${name} -- git clone https://github.com/sourcefabric/Airtime.git /usr/share/Airtime +echo "...Done" + +echo -e "\n * Checking out installer branch..." +lxc-attach -n ${name} -- git -C /usr/share/Airtime checkout 2.5.x-installer-monitless +echo "...Done" + +echo -e "\n * Running installer..." +lxc-attach -n ${name} -e -- /usr/share/Airtime/installer/install -ifapdIv +echo "...Done" + +IP=$(lxc-info -i -n ${name} -H) +echo -e "\n * Opening ${name} in your browser..." +if hash xdg-open 2>/dev/null; then + xdg-open "http://${IP}/" +elif hash gnome-open 2>/dev/null; then + gnome-open "http://${IP}/" +fi +echo "...Done" diff --git a/python_apps/pypo/setup.py b/python_apps/pypo/setup.py index 41affc724..955e75cce 100644 --- a/python_apps/pypo/setup.py +++ b/python_apps/pypo/setup.py @@ -16,7 +16,7 @@ else: print data_files setup(name='airtime-playout', - version='0.1', + version='1.0', description='Airtime Playout Engine', url='http://github.com/sourcefabric/Airtime', author='sourcefabric', @@ -43,7 +43,7 @@ setup(name='airtime-playout', zip_safe=False, data_files=data_files) -# Reload the initctl config so that "service start airtime_analyzer" works +# Reload the initctl config so that playout services works if data_files: print "Reloading initctl configuration" call(['initctl', 'reload-configuration']) From 32f40f3dc8efda3190cb34b3c2d074a4ab113613 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Fri, 19 Dec 2014 11:44:23 -0500 Subject: [PATCH 056/168] Updated configuration checklist to include running services --- .../application/configs/config-check.php | 106 ++++++++++++++++-- airtime_mvc/build/airtime-setup/load.php | 43 ++++++- installer/bin/requirements-ubuntu-saucy.apt | 1 - installer/bin/requirements-ubuntu-trusty.apt | 1 - 4 files changed, 135 insertions(+), 16 deletions(-) diff --git a/airtime_mvc/application/configs/config-check.php b/airtime_mvc/application/configs/config-check.php index b7b28e72e..475108122 100644 --- a/airtime_mvc/application/configs/config-check.php +++ b/airtime_mvc/application/configs/config-check.php @@ -8,17 +8,20 @@ */ $phpDependencies = checkPhpDependencies(); +$externalServices = checkExternalServices(); $zend = $phpDependencies["zend"]; $postgres = $phpDependencies["postgres"]; -$database = checkDatabaseConfiguration(); -function booleanReduce($a, $b) { - return $a && $b; -} +$database = $externalServices["database"]; +$rabbitmq = $externalServices["rabbitmq"]; -$r = array_reduce($phpDependencies, "booleanReduce", true); -$result = $r && $database; +$pypo = $externalServices["pypo"]; +$liquidsoap = $externalServices["liquidsoap"]; +$mediamonitor = $externalServices["media-monitor"]; +$r1 = array_reduce($phpDependencies, "booleanReduce", true); +$r2 = array_reduce($externalServices, "booleanReduce", true); +$result = $r1 && $r2; ?> @@ -115,22 +118,107 @@ $result = $r && $database; ?> + + + + + + + + + + + + + + + + + + + +
+ RabbitMQ + + RabbitMQ configuration for Airtime + + "> + Make sure RabbitMQ is installed correctly, and that your settings in /etc/airtime/airtime.conf + are correct. Try using sudo rabbitmqctl list_users and sudo rabbitmqctl list_vhosts + to see if the airtime user (or your custom RabbitMQ user) exists, then checking that + sudo rabbitmqctl list_exchanges contains entries for airtime-media-monitor, airtime-pypo, + and airtime-uploads. + +
+ Media Monitor + + Airtime media-monitor service + + "> + Check that the airtime-media-monitor service is installed correctly in /etc/init + and /etc/init.d, and ensure that it's running with +
sudo initctl list | grep airtime-media-monitor. If not, try +
sudo -u www-data service airtime-media-monitor restart. + (Replace www-data with your web user if necessary) + +
+ Pypo + + Airtime playout service + + "> + Check that the airtime-playout service is installed correctly in /etc/init + and /etc/init.d, and ensure that it's running with +
sudo initctl list | grep airtime-playout. If not, try +
sudo -u www-data service airtime-playout restart. + (Replace www-data with your web user if necessary) + +
+ Liquidsoap + + Airtime liquidsoap service + + "> + Check that the airtime-liquidsoap service is installed correctly in /etc/init + and /etc/init.d, and ensure that it's running with +
sudo initctl list | grep airtime-liquidsoap. If not, try +
sudo -u www-data service airtime-liquidsoap restart. + (Replace www-data with your web user if necessary) + +
+

- Looks like something went wrong! If you've tried everything we've recommended in the table above, come - visit our forums + Looks like something went wrong! If you've tried everything we've recommended in the table above and are + still experiencing issues, come visit our forums or check out the manual.

- Your Airtime station is up and running! Get started by logging in with the default username and password: 'admin'/'admin' + Your Airtime station is up and running! Get started by logging in with the default username and password: admin/admin

checkDatabaseConfiguration(), + "media-monitor" => checkMediaMonitorService(), + "pypo" => checkPlayoutService(), + "liquidsoap" => checkLiquidsoapService(), + "rabbitmq" => checkRMQConnection() + ); +} + /** * Check the database configuration by fetching a connection from Propel * @@ -84,8 +104,6 @@ function checkRMQConnection() { // Check for airtime.conf in /etc/airtime/ first, then check in the build directory, if (file_exists(AIRTIME_CONFIG_STOR . AIRTIME_CONFIG)) { $ini = parse_ini_file(AIRTIME_CONFIG_STOR . AIRTIME_CONFIG, true); - } else if (file_exists(BUILD_PATH . AIRTIME_CONFIG)) { - $ini = parse_ini_file(BUILD_PATH . AIRTIME_CONFIG, true); } else { $ini = parse_ini_file(BUILD_PATH . "airtime.example.conf", true); } @@ -96,4 +114,19 @@ function checkRMQConnection() { $ini[RMQ_INI_SECTION]["password"], $ini[RMQ_INI_SECTION]["vhost"]); return isset($conn); +} + +function checkMediaMonitorService() { + exec("initctl list | grep airtime-media-monitor", $out, $status); + return $status == 0; +} + +function checkPlayoutService() { + exec("initctl list | grep airtime-playout", $out, $status); + return $status == 0; +} + +function checkLiquidsoapService() { + exec("initctl list | grep airtime-liquidsoap", $out, $status); + return $status == 0; } \ No newline at end of file diff --git a/installer/bin/requirements-ubuntu-saucy.apt b/installer/bin/requirements-ubuntu-saucy.apt index 0d818a8dd..157e0d177 100644 --- a/installer/bin/requirements-ubuntu-saucy.apt +++ b/installer/bin/requirements-ubuntu-saucy.apt @@ -59,6 +59,5 @@ liquidsoap-plugin-voaacenc liquidsoap-plugin-vorbis sourcefabric-keyring -liquidsoap silan libopus0 \ No newline at end of file diff --git a/installer/bin/requirements-ubuntu-trusty.apt b/installer/bin/requirements-ubuntu-trusty.apt index affad0d98..7ece49ce4 100644 --- a/installer/bin/requirements-ubuntu-trusty.apt +++ b/installer/bin/requirements-ubuntu-trusty.apt @@ -41,6 +41,5 @@ libzend-framework-php coreutils -liquidsoap silan libopus0 \ No newline at end of file From 9c324c1b6fce59a4483b58b21d309bd030a4bdc8 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Fri, 19 Dec 2014 11:58:47 -0500 Subject: [PATCH 057/168] Updated configuration checklist --- .../application/configs/config-check.php | 5 +++-- airtime_mvc/build/airtime-setup/load.php | 17 +++++++++++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/airtime_mvc/application/configs/config-check.php b/airtime_mvc/application/configs/config-check.php index 475108122..41ed1bf17 100644 --- a/airtime_mvc/application/configs/config-check.php +++ b/airtime_mvc/application/configs/config-check.php @@ -209,9 +209,10 @@ $result = $r1 && $r2; if (!$result) { ?>
+ Looks like something went wrong!

- Looks like something went wrong! If you've tried everything we've recommended in the table above and are - still experiencing issues, come visit our forums + If you've tried everything we've recommended above and are still experiencing issues, come + visit our forums or check out the manual.

Date: Fri, 19 Dec 2014 12:26:41 -0500 Subject: [PATCH 058/168] Initial work on switching media-monitor to use setuptools --- installer/bin/requirements-ubuntu-saucy.apt | 1 - installer/bin/requirements-ubuntu-trusty.apt | 1 - installer/install | 8 +++- .../{ => bin}/airtime-media-monitor | 0 .../install/airtime-media-monitor.conf | 15 ++++++ python_apps/media-monitor/media-monitor.cfg | 31 ------------ .../media-monitor/airtime-media-monitor | 30 ++++++++++++ .../airtime-media-monitor-init-d | 0 .../airtimefilemonitor/__init__.py | 0 .../airtimemediamonitorbootstrap.py | 0 .../airtimefilemonitor/airtimemetadata.py | 0 .../airtimefilemonitor/airtimenotifier.py | 0 .../airtimefilemonitor/airtimeprocessevent.py | 0 .../airtimefilemonitor/mediaconfig.py | 0 .../airtimefilemonitor/mediamonitorcommon.py | 0 .../airtimefilemonitor/replaygain.py | 0 .../airtimefilemonitor/workerprocess.py | 0 .../{ => media-monitor}/logging.cfg | 0 .../{ => media-monitor}/media_monitor.py | 0 .../media-monitor/{ => media-monitor}/mm1.py | 0 .../media-monitor2/__init__.py | 0 .../media-monitor2/baby.py | 0 .../media-monitor2/configs/logging.cfg | 0 .../media-monitor2/media/__init__.py | 0 .../media-monitor2/media/metadata/__init__.py | 0 .../media/metadata/definitions.py | 0 .../media-monitor2/media/metadata/process.py | 0 .../media-monitor2/media/monitor/__init__.py | 0 .../media-monitor2/media/monitor/airtime.py | 0 .../media-monitor2/media/monitor/bootstrap.py | 0 .../media-monitor2/media/monitor/config.py | 0 .../media/monitor/eventcontractor.py | 0 .../media/monitor/eventdrainer.py | 0 .../media-monitor2/media/monitor/events.py | 0 .../media/monitor/exceptions.py | 0 .../media-monitor2/media/monitor/handler.py | 0 .../media-monitor2/media/monitor/listeners.py | 0 .../media-monitor2/media/monitor/log.py | 0 .../media-monitor2/media/monitor/manager.py | 0 .../media-monitor2/media/monitor/metadata.py | 0 .../media-monitor2/media/monitor/organizer.py | 0 .../media-monitor2/media/monitor/owners.py | 0 .../media-monitor2/media/monitor/pure.py | 0 .../media-monitor2/media/monitor/request.py | 0 .../media-monitor2/media/monitor/syncdb.py | 0 .../media-monitor2/media/monitor/toucher.py | 0 .../media/monitor/watchersyncer.py | 0 .../media-monitor2/media/saas/__init__.py | 0 .../media/saas/airtimeinstance.py | 0 .../media-monitor2/media/saas/launcher.py | 0 .../media-monitor2/media/saas/thread.py | 0 .../{ => media-monitor}/media-monitor2/mm2.py | 0 .../media-monitor2/pyitest.py | 0 .../media-monitor2/tests/__init__.py | 0 .../media-monitor2/tests/api_client.cfg | 0 .../media-monitor2/tests/live_client.cfg | 0 .../media-monitor2/tests/prepare_tests.py | 0 .../media-monitor2/tests/run_tests.pl | 0 .../media-monitor2/tests/test_api_client.py | 0 .../media-monitor2/tests/test_config.cfg | 0 .../media-monitor2/tests/test_config.py | 0 .../media-monitor2/tests/test_emf.py | 0 .../tests/test_eventcontractor.py | 0 .../media-monitor2/tests/test_instance.py | 0 .../media-monitor2/tests/test_listeners.py | 0 .../media-monitor2/tests/test_manager.py | 0 .../media-monitor2/tests/test_metadata.py | 0 .../media-monitor2/tests/test_metadata_def.py | 0 .../media-monitor2/tests/test_notifier.py | 0 .../media-monitor2/tests/test_owners.py | 0 .../media-monitor2/tests/test_pure.py | 0 .../media-monitor2/tests/test_requestsync.py | 0 .../media-monitor2/tests/test_syncdb.py | 0 .../media-monitor2/tests/test_thread.py | 0 .../media-monitor2/tests/test_toucher.py | 0 python_apps/media-monitor/setup.py | 47 +++++++++++++++++++ 76 files changed, 98 insertions(+), 35 deletions(-) rename python_apps/media-monitor/{ => bin}/airtime-media-monitor (100%) create mode 100644 python_apps/media-monitor/install/airtime-media-monitor.conf delete mode 100644 python_apps/media-monitor/media-monitor.cfg create mode 100755 python_apps/media-monitor/media-monitor/airtime-media-monitor rename python_apps/media-monitor/{ => media-monitor}/airtime-media-monitor-init-d (100%) rename python_apps/media-monitor/{ => media-monitor}/airtimefilemonitor/__init__.py (100%) rename python_apps/media-monitor/{ => media-monitor}/airtimefilemonitor/airtimemediamonitorbootstrap.py (100%) rename python_apps/media-monitor/{ => media-monitor}/airtimefilemonitor/airtimemetadata.py (100%) rename python_apps/media-monitor/{ => media-monitor}/airtimefilemonitor/airtimenotifier.py (100%) rename python_apps/media-monitor/{ => media-monitor}/airtimefilemonitor/airtimeprocessevent.py (100%) rename python_apps/media-monitor/{ => media-monitor}/airtimefilemonitor/mediaconfig.py (100%) rename python_apps/media-monitor/{ => media-monitor}/airtimefilemonitor/mediamonitorcommon.py (100%) rename python_apps/media-monitor/{ => media-monitor}/airtimefilemonitor/replaygain.py (100%) rename python_apps/media-monitor/{ => media-monitor}/airtimefilemonitor/workerprocess.py (100%) rename python_apps/media-monitor/{ => media-monitor}/logging.cfg (100%) rename python_apps/media-monitor/{ => media-monitor}/media_monitor.py (100%) rename python_apps/media-monitor/{ => media-monitor}/mm1.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/__init__.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/baby.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/configs/logging.cfg (100%) rename python_apps/{ => media-monitor}/media-monitor2/media/__init__.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/media/metadata/__init__.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/media/metadata/definitions.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/media/metadata/process.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/media/monitor/__init__.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/media/monitor/airtime.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/media/monitor/bootstrap.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/media/monitor/config.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/media/monitor/eventcontractor.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/media/monitor/eventdrainer.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/media/monitor/events.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/media/monitor/exceptions.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/media/monitor/handler.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/media/monitor/listeners.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/media/monitor/log.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/media/monitor/manager.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/media/monitor/metadata.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/media/monitor/organizer.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/media/monitor/owners.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/media/monitor/pure.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/media/monitor/request.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/media/monitor/syncdb.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/media/monitor/toucher.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/media/monitor/watchersyncer.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/media/saas/__init__.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/media/saas/airtimeinstance.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/media/saas/launcher.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/media/saas/thread.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/mm2.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/pyitest.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/tests/__init__.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/tests/api_client.cfg (100%) rename python_apps/{ => media-monitor}/media-monitor2/tests/live_client.cfg (100%) rename python_apps/{ => media-monitor}/media-monitor2/tests/prepare_tests.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/tests/run_tests.pl (100%) rename python_apps/{ => media-monitor}/media-monitor2/tests/test_api_client.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/tests/test_config.cfg (100%) rename python_apps/{ => media-monitor}/media-monitor2/tests/test_config.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/tests/test_emf.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/tests/test_eventcontractor.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/tests/test_instance.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/tests/test_listeners.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/tests/test_manager.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/tests/test_metadata.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/tests/test_metadata_def.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/tests/test_notifier.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/tests/test_owners.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/tests/test_pure.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/tests/test_requestsync.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/tests/test_syncdb.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/tests/test_thread.py (100%) rename python_apps/{ => media-monitor}/media-monitor2/tests/test_toucher.py (100%) create mode 100644 python_apps/media-monitor/setup.py diff --git a/installer/bin/requirements-ubuntu-saucy.apt b/installer/bin/requirements-ubuntu-saucy.apt index 157e0d177..e7c7442d9 100644 --- a/installer/bin/requirements-ubuntu-saucy.apt +++ b/installer/bin/requirements-ubuntu-saucy.apt @@ -19,7 +19,6 @@ patch php5-curl mpg123 -monit libcamomile-ocaml-data libpulse0 diff --git a/installer/bin/requirements-ubuntu-trusty.apt b/installer/bin/requirements-ubuntu-trusty.apt index 7ece49ce4..e02f588a7 100644 --- a/installer/bin/requirements-ubuntu-trusty.apt +++ b/installer/bin/requirements-ubuntu-trusty.apt @@ -19,7 +19,6 @@ patch php5-curl mpg123 -monit libcamomile-ocaml-data libpulse0 diff --git a/installer/install b/installer/install index 506ec8cbb..ae64b954f 100755 --- a/installer/install +++ b/installer/install @@ -348,8 +348,12 @@ cp -R ${AIRTIMEROOT}/python_apps/api_clients /usr/lib/airtime/api_clients verbose "...Done" verbose "\n * Copying media-monitor files..." -cp -R ${AIRTIMEROOT}/python_apps/media-monitor /usr/lib/airtime/media-monitor -cp -R ${AIRTIMEROOT}/python_apps/media-monitor2 /usr/lib/airtime/media-monitor/mm2 +cp -R ${AIRTIMEROOT}/python_apps/media-monitor/media-monitor /usr/lib/airtime/media-monitor +cp -R ${AIRTIMEROOT}/python_apps/media-monitor/media-monitor2 /usr/lib/airtime/media-monitor/mm2 +verbose "...Done" + +verbose "\n * Installing media-monitor..." +python ${AIRTIMEROOT}/python_apps/media-monitor/setup.py install verbose "...Done" verbose "\n * Copying pypo files..." diff --git a/python_apps/media-monitor/airtime-media-monitor b/python_apps/media-monitor/bin/airtime-media-monitor similarity index 100% rename from python_apps/media-monitor/airtime-media-monitor rename to python_apps/media-monitor/bin/airtime-media-monitor diff --git a/python_apps/media-monitor/install/airtime-media-monitor.conf b/python_apps/media-monitor/install/airtime-media-monitor.conf new file mode 100644 index 000000000..f1cc6be8b --- /dev/null +++ b/python_apps/media-monitor/install/airtime-media-monitor.conf @@ -0,0 +1,15 @@ +description "Airtime Media Monitor" +author "help@sourcefabric.org" + +start on runlevel [2345] +stop on runlevel [!2345] + +respawn + +setuid www-data +setgid www-data + +env LANG='en_US.UTF-8' +env LC_ALL='en_US.UTF-8' + +exec airtime-media-monitor diff --git a/python_apps/media-monitor/media-monitor.cfg b/python_apps/media-monitor/media-monitor.cfg deleted file mode 100644 index b1167f56b..000000000 --- a/python_apps/media-monitor/media-monitor.cfg +++ /dev/null @@ -1,31 +0,0 @@ -api_client = "airtime" - -# where the binary files live -bin_dir = '/usr/lib/airtime/media-monitor' - -# where the logging files live -log_dir = '/var/log/airtime/media-monitor' - - -############################################ -# RabbitMQ settings # -############################################ -rabbitmq_host = 'localhost' -rabbitmq_user = 'guest' -rabbitmq_password = 'guest' -rabbitmq_vhost = '/' - -############################################ -# Media-Monitor preferences # -############################################ -check_filesystem_events = 5 #how long to queue up events performed on the files themselves. -check_airtime_events = 30 #how long to queue metadata input from airtime. - -# MM2 only: -touch_interval = 5 -chunking_number = 450 -request_max_wait = 3.0 -rmq_event_wait = 0.1 -logpath = '/var/log/airtime/media-monitor/media-monitor.log' -index_path = '/var/tmp/airtime/media-monitor/last_index' - diff --git a/python_apps/media-monitor/media-monitor/airtime-media-monitor b/python_apps/media-monitor/media-monitor/airtime-media-monitor new file mode 100755 index 000000000..5997e8db4 --- /dev/null +++ b/python_apps/media-monitor/media-monitor/airtime-media-monitor @@ -0,0 +1,30 @@ +#!/bin/bash + +# Location of pypo_cli.py Python script + +virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/" +. ${virtualenv_bin}activate + +media_monitor_path="/usr/lib/airtime/media-monitor/" +media_monitor_script="media_monitor.py" + +api_client_path="/usr/lib/airtime/:/usr/lib/airtime/media-monitor/mm2/" + +cd ${media_monitor_path} + +exec 2>&1 + +set +e +cat /etc/default/locale | grep -i "LANG=.*UTF-\?8" +set -e +if [ "$?" != "0" ]; then + echo "non UTF-8 default locale found in /etc/default/locale." > /var/log/airtime/media-monitor/error.log + exit 1 +fi + +export PYTHONPATH=${api_client_path} +export LC_ALL=`cat /etc/default/locale | grep "LANG=" | cut -d= -f2 | tr -d "\n\""` + +exec python ${media_monitor_path}${media_monitor_script} > /var/log/airtime/media-monitor/py-interpreter.log 2>&1 + +# EOF diff --git a/python_apps/media-monitor/airtime-media-monitor-init-d b/python_apps/media-monitor/media-monitor/airtime-media-monitor-init-d similarity index 100% rename from python_apps/media-monitor/airtime-media-monitor-init-d rename to python_apps/media-monitor/media-monitor/airtime-media-monitor-init-d diff --git a/python_apps/media-monitor/airtimefilemonitor/__init__.py b/python_apps/media-monitor/media-monitor/airtimefilemonitor/__init__.py similarity index 100% rename from python_apps/media-monitor/airtimefilemonitor/__init__.py rename to python_apps/media-monitor/media-monitor/airtimefilemonitor/__init__.py diff --git a/python_apps/media-monitor/airtimefilemonitor/airtimemediamonitorbootstrap.py b/python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimemediamonitorbootstrap.py similarity index 100% rename from python_apps/media-monitor/airtimefilemonitor/airtimemediamonitorbootstrap.py rename to python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimemediamonitorbootstrap.py diff --git a/python_apps/media-monitor/airtimefilemonitor/airtimemetadata.py b/python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimemetadata.py similarity index 100% rename from python_apps/media-monitor/airtimefilemonitor/airtimemetadata.py rename to python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimemetadata.py diff --git a/python_apps/media-monitor/airtimefilemonitor/airtimenotifier.py b/python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimenotifier.py similarity index 100% rename from python_apps/media-monitor/airtimefilemonitor/airtimenotifier.py rename to python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimenotifier.py diff --git a/python_apps/media-monitor/airtimefilemonitor/airtimeprocessevent.py b/python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimeprocessevent.py similarity index 100% rename from python_apps/media-monitor/airtimefilemonitor/airtimeprocessevent.py rename to python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimeprocessevent.py diff --git a/python_apps/media-monitor/airtimefilemonitor/mediaconfig.py b/python_apps/media-monitor/media-monitor/airtimefilemonitor/mediaconfig.py similarity index 100% rename from python_apps/media-monitor/airtimefilemonitor/mediaconfig.py rename to python_apps/media-monitor/media-monitor/airtimefilemonitor/mediaconfig.py diff --git a/python_apps/media-monitor/airtimefilemonitor/mediamonitorcommon.py b/python_apps/media-monitor/media-monitor/airtimefilemonitor/mediamonitorcommon.py similarity index 100% rename from python_apps/media-monitor/airtimefilemonitor/mediamonitorcommon.py rename to python_apps/media-monitor/media-monitor/airtimefilemonitor/mediamonitorcommon.py diff --git a/python_apps/media-monitor/airtimefilemonitor/replaygain.py b/python_apps/media-monitor/media-monitor/airtimefilemonitor/replaygain.py similarity index 100% rename from python_apps/media-monitor/airtimefilemonitor/replaygain.py rename to python_apps/media-monitor/media-monitor/airtimefilemonitor/replaygain.py diff --git a/python_apps/media-monitor/airtimefilemonitor/workerprocess.py b/python_apps/media-monitor/media-monitor/airtimefilemonitor/workerprocess.py similarity index 100% rename from python_apps/media-monitor/airtimefilemonitor/workerprocess.py rename to python_apps/media-monitor/media-monitor/airtimefilemonitor/workerprocess.py diff --git a/python_apps/media-monitor/logging.cfg b/python_apps/media-monitor/media-monitor/logging.cfg similarity index 100% rename from python_apps/media-monitor/logging.cfg rename to python_apps/media-monitor/media-monitor/logging.cfg diff --git a/python_apps/media-monitor/media_monitor.py b/python_apps/media-monitor/media-monitor/media_monitor.py similarity index 100% rename from python_apps/media-monitor/media_monitor.py rename to python_apps/media-monitor/media-monitor/media_monitor.py diff --git a/python_apps/media-monitor/mm1.py b/python_apps/media-monitor/media-monitor/mm1.py similarity index 100% rename from python_apps/media-monitor/mm1.py rename to python_apps/media-monitor/media-monitor/mm1.py diff --git a/python_apps/media-monitor2/__init__.py b/python_apps/media-monitor/media-monitor2/__init__.py similarity index 100% rename from python_apps/media-monitor2/__init__.py rename to python_apps/media-monitor/media-monitor2/__init__.py diff --git a/python_apps/media-monitor2/baby.py b/python_apps/media-monitor/media-monitor2/baby.py similarity index 100% rename from python_apps/media-monitor2/baby.py rename to python_apps/media-monitor/media-monitor2/baby.py diff --git a/python_apps/media-monitor2/configs/logging.cfg b/python_apps/media-monitor/media-monitor2/configs/logging.cfg similarity index 100% rename from python_apps/media-monitor2/configs/logging.cfg rename to python_apps/media-monitor/media-monitor2/configs/logging.cfg diff --git a/python_apps/media-monitor2/media/__init__.py b/python_apps/media-monitor/media-monitor2/media/__init__.py similarity index 100% rename from python_apps/media-monitor2/media/__init__.py rename to python_apps/media-monitor/media-monitor2/media/__init__.py diff --git a/python_apps/media-monitor2/media/metadata/__init__.py b/python_apps/media-monitor/media-monitor2/media/metadata/__init__.py similarity index 100% rename from python_apps/media-monitor2/media/metadata/__init__.py rename to python_apps/media-monitor/media-monitor2/media/metadata/__init__.py diff --git a/python_apps/media-monitor2/media/metadata/definitions.py b/python_apps/media-monitor/media-monitor2/media/metadata/definitions.py similarity index 100% rename from python_apps/media-monitor2/media/metadata/definitions.py rename to python_apps/media-monitor/media-monitor2/media/metadata/definitions.py diff --git a/python_apps/media-monitor2/media/metadata/process.py b/python_apps/media-monitor/media-monitor2/media/metadata/process.py similarity index 100% rename from python_apps/media-monitor2/media/metadata/process.py rename to python_apps/media-monitor/media-monitor2/media/metadata/process.py diff --git a/python_apps/media-monitor2/media/monitor/__init__.py b/python_apps/media-monitor/media-monitor2/media/monitor/__init__.py similarity index 100% rename from python_apps/media-monitor2/media/monitor/__init__.py rename to python_apps/media-monitor/media-monitor2/media/monitor/__init__.py diff --git a/python_apps/media-monitor2/media/monitor/airtime.py b/python_apps/media-monitor/media-monitor2/media/monitor/airtime.py similarity index 100% rename from python_apps/media-monitor2/media/monitor/airtime.py rename to python_apps/media-monitor/media-monitor2/media/monitor/airtime.py diff --git a/python_apps/media-monitor2/media/monitor/bootstrap.py b/python_apps/media-monitor/media-monitor2/media/monitor/bootstrap.py similarity index 100% rename from python_apps/media-monitor2/media/monitor/bootstrap.py rename to python_apps/media-monitor/media-monitor2/media/monitor/bootstrap.py diff --git a/python_apps/media-monitor2/media/monitor/config.py b/python_apps/media-monitor/media-monitor2/media/monitor/config.py similarity index 100% rename from python_apps/media-monitor2/media/monitor/config.py rename to python_apps/media-monitor/media-monitor2/media/monitor/config.py diff --git a/python_apps/media-monitor2/media/monitor/eventcontractor.py b/python_apps/media-monitor/media-monitor2/media/monitor/eventcontractor.py similarity index 100% rename from python_apps/media-monitor2/media/monitor/eventcontractor.py rename to python_apps/media-monitor/media-monitor2/media/monitor/eventcontractor.py diff --git a/python_apps/media-monitor2/media/monitor/eventdrainer.py b/python_apps/media-monitor/media-monitor2/media/monitor/eventdrainer.py similarity index 100% rename from python_apps/media-monitor2/media/monitor/eventdrainer.py rename to python_apps/media-monitor/media-monitor2/media/monitor/eventdrainer.py diff --git a/python_apps/media-monitor2/media/monitor/events.py b/python_apps/media-monitor/media-monitor2/media/monitor/events.py similarity index 100% rename from python_apps/media-monitor2/media/monitor/events.py rename to python_apps/media-monitor/media-monitor2/media/monitor/events.py diff --git a/python_apps/media-monitor2/media/monitor/exceptions.py b/python_apps/media-monitor/media-monitor2/media/monitor/exceptions.py similarity index 100% rename from python_apps/media-monitor2/media/monitor/exceptions.py rename to python_apps/media-monitor/media-monitor2/media/monitor/exceptions.py diff --git a/python_apps/media-monitor2/media/monitor/handler.py b/python_apps/media-monitor/media-monitor2/media/monitor/handler.py similarity index 100% rename from python_apps/media-monitor2/media/monitor/handler.py rename to python_apps/media-monitor/media-monitor2/media/monitor/handler.py diff --git a/python_apps/media-monitor2/media/monitor/listeners.py b/python_apps/media-monitor/media-monitor2/media/monitor/listeners.py similarity index 100% rename from python_apps/media-monitor2/media/monitor/listeners.py rename to python_apps/media-monitor/media-monitor2/media/monitor/listeners.py diff --git a/python_apps/media-monitor2/media/monitor/log.py b/python_apps/media-monitor/media-monitor2/media/monitor/log.py similarity index 100% rename from python_apps/media-monitor2/media/monitor/log.py rename to python_apps/media-monitor/media-monitor2/media/monitor/log.py diff --git a/python_apps/media-monitor2/media/monitor/manager.py b/python_apps/media-monitor/media-monitor2/media/monitor/manager.py similarity index 100% rename from python_apps/media-monitor2/media/monitor/manager.py rename to python_apps/media-monitor/media-monitor2/media/monitor/manager.py diff --git a/python_apps/media-monitor2/media/monitor/metadata.py b/python_apps/media-monitor/media-monitor2/media/monitor/metadata.py similarity index 100% rename from python_apps/media-monitor2/media/monitor/metadata.py rename to python_apps/media-monitor/media-monitor2/media/monitor/metadata.py diff --git a/python_apps/media-monitor2/media/monitor/organizer.py b/python_apps/media-monitor/media-monitor2/media/monitor/organizer.py similarity index 100% rename from python_apps/media-monitor2/media/monitor/organizer.py rename to python_apps/media-monitor/media-monitor2/media/monitor/organizer.py diff --git a/python_apps/media-monitor2/media/monitor/owners.py b/python_apps/media-monitor/media-monitor2/media/monitor/owners.py similarity index 100% rename from python_apps/media-monitor2/media/monitor/owners.py rename to python_apps/media-monitor/media-monitor2/media/monitor/owners.py diff --git a/python_apps/media-monitor2/media/monitor/pure.py b/python_apps/media-monitor/media-monitor2/media/monitor/pure.py similarity index 100% rename from python_apps/media-monitor2/media/monitor/pure.py rename to python_apps/media-monitor/media-monitor2/media/monitor/pure.py diff --git a/python_apps/media-monitor2/media/monitor/request.py b/python_apps/media-monitor/media-monitor2/media/monitor/request.py similarity index 100% rename from python_apps/media-monitor2/media/monitor/request.py rename to python_apps/media-monitor/media-monitor2/media/monitor/request.py diff --git a/python_apps/media-monitor2/media/monitor/syncdb.py b/python_apps/media-monitor/media-monitor2/media/monitor/syncdb.py similarity index 100% rename from python_apps/media-monitor2/media/monitor/syncdb.py rename to python_apps/media-monitor/media-monitor2/media/monitor/syncdb.py diff --git a/python_apps/media-monitor2/media/monitor/toucher.py b/python_apps/media-monitor/media-monitor2/media/monitor/toucher.py similarity index 100% rename from python_apps/media-monitor2/media/monitor/toucher.py rename to python_apps/media-monitor/media-monitor2/media/monitor/toucher.py diff --git a/python_apps/media-monitor2/media/monitor/watchersyncer.py b/python_apps/media-monitor/media-monitor2/media/monitor/watchersyncer.py similarity index 100% rename from python_apps/media-monitor2/media/monitor/watchersyncer.py rename to python_apps/media-monitor/media-monitor2/media/monitor/watchersyncer.py diff --git a/python_apps/media-monitor2/media/saas/__init__.py b/python_apps/media-monitor/media-monitor2/media/saas/__init__.py similarity index 100% rename from python_apps/media-monitor2/media/saas/__init__.py rename to python_apps/media-monitor/media-monitor2/media/saas/__init__.py diff --git a/python_apps/media-monitor2/media/saas/airtimeinstance.py b/python_apps/media-monitor/media-monitor2/media/saas/airtimeinstance.py similarity index 100% rename from python_apps/media-monitor2/media/saas/airtimeinstance.py rename to python_apps/media-monitor/media-monitor2/media/saas/airtimeinstance.py diff --git a/python_apps/media-monitor2/media/saas/launcher.py b/python_apps/media-monitor/media-monitor2/media/saas/launcher.py similarity index 100% rename from python_apps/media-monitor2/media/saas/launcher.py rename to python_apps/media-monitor/media-monitor2/media/saas/launcher.py diff --git a/python_apps/media-monitor2/media/saas/thread.py b/python_apps/media-monitor/media-monitor2/media/saas/thread.py similarity index 100% rename from python_apps/media-monitor2/media/saas/thread.py rename to python_apps/media-monitor/media-monitor2/media/saas/thread.py diff --git a/python_apps/media-monitor2/mm2.py b/python_apps/media-monitor/media-monitor2/mm2.py similarity index 100% rename from python_apps/media-monitor2/mm2.py rename to python_apps/media-monitor/media-monitor2/mm2.py diff --git a/python_apps/media-monitor2/pyitest.py b/python_apps/media-monitor/media-monitor2/pyitest.py similarity index 100% rename from python_apps/media-monitor2/pyitest.py rename to python_apps/media-monitor/media-monitor2/pyitest.py diff --git a/python_apps/media-monitor2/tests/__init__.py b/python_apps/media-monitor/media-monitor2/tests/__init__.py similarity index 100% rename from python_apps/media-monitor2/tests/__init__.py rename to python_apps/media-monitor/media-monitor2/tests/__init__.py diff --git a/python_apps/media-monitor2/tests/api_client.cfg b/python_apps/media-monitor/media-monitor2/tests/api_client.cfg similarity index 100% rename from python_apps/media-monitor2/tests/api_client.cfg rename to python_apps/media-monitor/media-monitor2/tests/api_client.cfg diff --git a/python_apps/media-monitor2/tests/live_client.cfg b/python_apps/media-monitor/media-monitor2/tests/live_client.cfg similarity index 100% rename from python_apps/media-monitor2/tests/live_client.cfg rename to python_apps/media-monitor/media-monitor2/tests/live_client.cfg diff --git a/python_apps/media-monitor2/tests/prepare_tests.py b/python_apps/media-monitor/media-monitor2/tests/prepare_tests.py similarity index 100% rename from python_apps/media-monitor2/tests/prepare_tests.py rename to python_apps/media-monitor/media-monitor2/tests/prepare_tests.py diff --git a/python_apps/media-monitor2/tests/run_tests.pl b/python_apps/media-monitor/media-monitor2/tests/run_tests.pl similarity index 100% rename from python_apps/media-monitor2/tests/run_tests.pl rename to python_apps/media-monitor/media-monitor2/tests/run_tests.pl diff --git a/python_apps/media-monitor2/tests/test_api_client.py b/python_apps/media-monitor/media-monitor2/tests/test_api_client.py similarity index 100% rename from python_apps/media-monitor2/tests/test_api_client.py rename to python_apps/media-monitor/media-monitor2/tests/test_api_client.py diff --git a/python_apps/media-monitor2/tests/test_config.cfg b/python_apps/media-monitor/media-monitor2/tests/test_config.cfg similarity index 100% rename from python_apps/media-monitor2/tests/test_config.cfg rename to python_apps/media-monitor/media-monitor2/tests/test_config.cfg diff --git a/python_apps/media-monitor2/tests/test_config.py b/python_apps/media-monitor/media-monitor2/tests/test_config.py similarity index 100% rename from python_apps/media-monitor2/tests/test_config.py rename to python_apps/media-monitor/media-monitor2/tests/test_config.py diff --git a/python_apps/media-monitor2/tests/test_emf.py b/python_apps/media-monitor/media-monitor2/tests/test_emf.py similarity index 100% rename from python_apps/media-monitor2/tests/test_emf.py rename to python_apps/media-monitor/media-monitor2/tests/test_emf.py diff --git a/python_apps/media-monitor2/tests/test_eventcontractor.py b/python_apps/media-monitor/media-monitor2/tests/test_eventcontractor.py similarity index 100% rename from python_apps/media-monitor2/tests/test_eventcontractor.py rename to python_apps/media-monitor/media-monitor2/tests/test_eventcontractor.py diff --git a/python_apps/media-monitor2/tests/test_instance.py b/python_apps/media-monitor/media-monitor2/tests/test_instance.py similarity index 100% rename from python_apps/media-monitor2/tests/test_instance.py rename to python_apps/media-monitor/media-monitor2/tests/test_instance.py diff --git a/python_apps/media-monitor2/tests/test_listeners.py b/python_apps/media-monitor/media-monitor2/tests/test_listeners.py similarity index 100% rename from python_apps/media-monitor2/tests/test_listeners.py rename to python_apps/media-monitor/media-monitor2/tests/test_listeners.py diff --git a/python_apps/media-monitor2/tests/test_manager.py b/python_apps/media-monitor/media-monitor2/tests/test_manager.py similarity index 100% rename from python_apps/media-monitor2/tests/test_manager.py rename to python_apps/media-monitor/media-monitor2/tests/test_manager.py diff --git a/python_apps/media-monitor2/tests/test_metadata.py b/python_apps/media-monitor/media-monitor2/tests/test_metadata.py similarity index 100% rename from python_apps/media-monitor2/tests/test_metadata.py rename to python_apps/media-monitor/media-monitor2/tests/test_metadata.py diff --git a/python_apps/media-monitor2/tests/test_metadata_def.py b/python_apps/media-monitor/media-monitor2/tests/test_metadata_def.py similarity index 100% rename from python_apps/media-monitor2/tests/test_metadata_def.py rename to python_apps/media-monitor/media-monitor2/tests/test_metadata_def.py diff --git a/python_apps/media-monitor2/tests/test_notifier.py b/python_apps/media-monitor/media-monitor2/tests/test_notifier.py similarity index 100% rename from python_apps/media-monitor2/tests/test_notifier.py rename to python_apps/media-monitor/media-monitor2/tests/test_notifier.py diff --git a/python_apps/media-monitor2/tests/test_owners.py b/python_apps/media-monitor/media-monitor2/tests/test_owners.py similarity index 100% rename from python_apps/media-monitor2/tests/test_owners.py rename to python_apps/media-monitor/media-monitor2/tests/test_owners.py diff --git a/python_apps/media-monitor2/tests/test_pure.py b/python_apps/media-monitor/media-monitor2/tests/test_pure.py similarity index 100% rename from python_apps/media-monitor2/tests/test_pure.py rename to python_apps/media-monitor/media-monitor2/tests/test_pure.py diff --git a/python_apps/media-monitor2/tests/test_requestsync.py b/python_apps/media-monitor/media-monitor2/tests/test_requestsync.py similarity index 100% rename from python_apps/media-monitor2/tests/test_requestsync.py rename to python_apps/media-monitor/media-monitor2/tests/test_requestsync.py diff --git a/python_apps/media-monitor2/tests/test_syncdb.py b/python_apps/media-monitor/media-monitor2/tests/test_syncdb.py similarity index 100% rename from python_apps/media-monitor2/tests/test_syncdb.py rename to python_apps/media-monitor/media-monitor2/tests/test_syncdb.py diff --git a/python_apps/media-monitor2/tests/test_thread.py b/python_apps/media-monitor/media-monitor2/tests/test_thread.py similarity index 100% rename from python_apps/media-monitor2/tests/test_thread.py rename to python_apps/media-monitor/media-monitor2/tests/test_thread.py diff --git a/python_apps/media-monitor2/tests/test_toucher.py b/python_apps/media-monitor/media-monitor2/tests/test_toucher.py similarity index 100% rename from python_apps/media-monitor2/tests/test_toucher.py rename to python_apps/media-monitor/media-monitor2/tests/test_toucher.py diff --git a/python_apps/media-monitor/setup.py b/python_apps/media-monitor/setup.py new file mode 100644 index 000000000..639577ec6 --- /dev/null +++ b/python_apps/media-monitor/setup.py @@ -0,0 +1,47 @@ +from setuptools import setup +from subprocess import call +import sys +import os + +script_path = os.path.dirname(os.path.realpath(__file__)) +print script_path +os.chdir(script_path) + +# Allows us to avoid installing the upstart init script when deploying on Airtime Pro: +if '--no-init-script' in sys.argv: + data_files = [] + sys.argv.remove('--no-init-script') # super hax +else: + data_files = [('/etc/init', ['install/airtime-media.conf'])] + print data_files + +setup(name='airtime-media-monitor', + version='1.0', + description='Airtime Media Monitor', + url='http://github.com/sourcefabric/Airtime', + author='sourcefabric', + license='AGPLv3', + packages=['media-monitor', 'media-monitor2'], + scripts=['bin/airtime-media-monitor'], + install_requires=[ + 'amqplib', + 'anyjson', + 'argparse', + 'configobj', + 'docopt', + 'kombu', + 'mutagen', + 'poster', + 'PyDispatcher', + 'pyinotify', + 'pytz', + 'wsgiref' + ], + zip_safe=False, + data_files=data_files) + +# Reload the initctl config so that playout services works +if data_files: + print "Reloading initctl configuration" + call(['initctl', 'reload-configuration']) + print "Run \"sudo service airtime-media-monitor start\"" From 6d38f2ccfc1f68de0e3fcd93f5ff79c744cfd34d Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Fri, 19 Dec 2014 12:34:50 -0500 Subject: [PATCH 059/168] Small fix to media-monitor setup.py --- python_apps/media-monitor/setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python_apps/media-monitor/setup.py b/python_apps/media-monitor/setup.py index 639577ec6..11874ccba 100644 --- a/python_apps/media-monitor/setup.py +++ b/python_apps/media-monitor/setup.py @@ -12,7 +12,7 @@ if '--no-init-script' in sys.argv: data_files = [] sys.argv.remove('--no-init-script') # super hax else: - data_files = [('/etc/init', ['install/airtime-media.conf'])] + data_files = [('/etc/init', ['install/airtime-media-monitor.conf'])] print data_files setup(name='airtime-media-monitor', From 75c2a4a18bcc9fe1344eb3537bfc56e5ca285528 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Fri, 19 Dec 2014 13:49:33 -0500 Subject: [PATCH 060/168] More work on media-monitor and pypo install process --- airtime_mvc/build/airtime.example.conf | 4 - installer/install | 68 ++++++++------- .../media-monitor/airtime-media-monitor | 30 ------- .../airtime-media-monitor-init-d | 23 ----- python_apps/media-monitor/setup.py | 2 +- python_apps/pypo/bin/airtime-liquidsoap | 14 +-- python_apps/pypo/bin/airtime-playout | 16 +--- python_apps/pypo/pypo/airtime-liquidsoap | 48 ----------- python_apps/pypo/pypo/airtime-playout | 31 ------- python_apps/pypo/pypo/pypo.cfg | 85 ------------------- 10 files changed, 40 insertions(+), 281 deletions(-) delete mode 100755 python_apps/media-monitor/media-monitor/airtime-media-monitor delete mode 100755 python_apps/pypo/pypo/airtime-liquidsoap delete mode 100755 python_apps/pypo/pypo/airtime-playout delete mode 100644 python_apps/pypo/pypo/pypo.cfg diff --git a/airtime_mvc/build/airtime.example.conf b/airtime_mvc/build/airtime.example.conf index 5ca59909c..157d7140f 100644 --- a/airtime_mvc/build/airtime.example.conf +++ b/airtime_mvc/build/airtime.example.conf @@ -189,9 +189,6 @@ index_path = '/var/tmp/airtime/media-monitor/last_index' # cache_base_dir: The pypo base cache directory # The default is '/var/tmp/airtime/pypo/' # -# bin_dir: The directory containing pypo binaries -# The default is '/usr/lib/airtime/pypo' -# # log_base_dir: The base directory for Airtime log files # The default is '/var/log/airtime' # @@ -255,7 +252,6 @@ file_dir = '/var/tmp/airtime/pypo/files/' tmp_dir = '/var/tmp/airtime/pypo/tmp/' # ------- Setup directories - !! Don't include trailing slash !! ------- cache_base_dir = '/var/tmp/airtime/pypo' -bin_dir = '/usr/lib/airtime/pypo' log_base_dir = '/var/log/airtime' pypo_log_dir = '/var/log/airtime/pypo' liquidsoap_log_dir = '/var/log/airtime/pypo-liquidsoap' diff --git a/installer/install b/installer/install index ae64b954f..d1a7d497f 100755 --- a/installer/install +++ b/installer/install @@ -246,27 +246,27 @@ if [ "$apache" = "f" -a ${_i} -eq 1 ]; then fi fi +if [ "$in_place" = "t" ]; then + verbose "\n * Setting current Airtime directory as web root..." + web_root=${AIRTIMEROOT}/airtime_mvc/public + chmod -R 755 ${AIRTIMEROOT} +elif [ -n "$web_root" ]; then + verbose "\n * Creating Apache web root directory..." + mkdir -p ${web_root}/airtime/public/ + cp -R ${AIRTIMEROOT}/airtime_mvc/* ${web_root}/airtime/ + chmod -R 755 ${web_root} +else + verbose "\n * Creating default Apache web root directory /usr/share/airtime/..." + web_root="/usr/share" + mkdir -p ${web_root}/airtime/public/ + cp -R ${AIRTIMEROOT}/airtime_mvc/* ${web_root}/airtime/ +fi + if [ "$apache" = "t" ]; then loud "\n-----------------------------------------------------" loud " * Installing Apache * " loud "-----------------------------------------------------" - if [ "$in_place" = "t" ]; then - verbose "\n * Setting current Airtime directory as web root..." - web_root=${AIRTIMEROOT}/airtime_mvc/public - chmod -R 755 ${AIRTIMEROOT} - elif [ -n "$web_root" ]; then - verbose "\n * Creating Apache web root directory..." - mkdir -p ${web_root}/airtime/public/ - cp -R ${AIRTIMEROOT}/airtime_mvc/* ${web_root}/airtime/ - chmod -R 755 ${web_root} - else - verbose "\n * Creating default Apache web root directory /usr/share/airtime/..." - web_root="/usr/share" - mkdir -p ${web_root}/airtime/public/ - cp -R ${AIRTIMEROOT}/airtime_mvc/* ${web_root}/airtime/ - fi - loudCmd "apt-get -y --force-yes install apache2 libapache2-mod-php5" set +e apache2 -v | grep "2\.4" > /dev/null @@ -317,16 +317,8 @@ loud "\n-----------------------------------------------------" loud " * Installing Airtime Services * " loud "-----------------------------------------------------" -verbose "\n * Installing liquidsoap, python, and virtualenv..." -loudCmd "apt-get -y --force-yes install liquidsoap python python-virtualenv" -verbose "...Done" - -# DS, 19/12/14 -- I don't really like this script... should we rewrite it, -# or maybe see if we can get rid of virtualenv entirely? - -verbose "\n * Activating Airtime virtualenv..." -loudCmd "$AIRTIMEROOT/python_apps/python-virtualenv/virtualenv-install.sh" -. /usr/lib/airtime/airtime_virtualenv/bin/activate +verbose "\n * Installing liquidsoap and python..." +loudCmd "apt-get -y --force-yes install liquidsoap python" verbose "...Done" verbose "\n * Creating /usr/lib/airtime..." @@ -353,7 +345,13 @@ cp -R ${AIRTIMEROOT}/python_apps/media-monitor/media-monitor2 /usr/lib/airtime/m verbose "...Done" verbose "\n * Installing media-monitor..." -python ${AIRTIMEROOT}/python_apps/media-monitor/setup.py install +if [ -z web_root ]; then + python ${web_root}/python_apps/media-monitor/setup.py develop +elif [ "$in_place" = "t" ]; then + python ${AIRTIMEROOT}/python_apps/media-monitor/setup.py develop +else + python /usr/share/airtime/python_apps/media-monitor/setup.py develop +fi verbose "...Done" verbose "\n * Copying pypo files..." @@ -362,18 +360,24 @@ cp -R ${AIRTIMEROOT}/python_apps/pypo/pypo /usr/lib/airtime/pypo/bin/ verbose "...Done" verbose "\n * Installing pypo..." -python ${AIRTIMEROOT}/python_apps/pypo/setup.py install +if [ -z web_root ]; then + python ${web_root}/python_apps/pypo/setup.py develop +elif [ "$in_place" = "t" ]; then + python ${AIRTIMEROOT}/python_apps/pypo/setup.py develop +else + python /usr/share/airtime/python_apps/pypo/setup.py develop +fi verbose "...Done" -verbose "\n * Creating init files..." -sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/media-monitor/airtime-media-monitor-init-d > /etc/init.d/airtime-media-monitor +verbose "\n * Creating sudoers files..." +# sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/media-monitor/airtime-media-monitor-init-d > /etc/init.d/airtime-media-monitor touch /etc/sudoers.d/airtime-media-monitor_${web_user} echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-media-monitor, \ /sbin/stop airtime-media-monitor, \ /sbin/restart airtime-media-monitor, \ /sbin/status airtime-media-monitor" > /etc/sudoers.d/airtime-media-monitor_${web_user} -sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/pypo/bin/airtime-playout-init-d > /etc/init.d/airtime-playout +# sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/pypo/bin/airtime-playout-init-d > /etc/init.d/airtime-playout touch /etc/sudoers.d/airtime-playout_${web_user} echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-playout, \ /sbin/stop airtime-playout, \ @@ -381,7 +385,7 @@ echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-playout, \ /sbin/status airtime-playout" > /etc/sudoers.d/airtime-playout_${web_user} ln -sf /usr/bin/liquidsoap /usr/bin/airtime-liquidsoap -sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/pypo/bin/airtime-liquidsoap-init-d > /etc/init.d/airtime-liquidsoap +# sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/pypo/bin/airtime-liquidsoap-init-d > /etc/init.d/airtime-liquidsoap touch /etc/sudoers.d/airtime-liquidsoap_${web_user} echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-liquidsoap, \ /sbin/stop airtime-liquidsoap, \ diff --git a/python_apps/media-monitor/media-monitor/airtime-media-monitor b/python_apps/media-monitor/media-monitor/airtime-media-monitor deleted file mode 100755 index 5997e8db4..000000000 --- a/python_apps/media-monitor/media-monitor/airtime-media-monitor +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/bash - -# Location of pypo_cli.py Python script - -virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/" -. ${virtualenv_bin}activate - -media_monitor_path="/usr/lib/airtime/media-monitor/" -media_monitor_script="media_monitor.py" - -api_client_path="/usr/lib/airtime/:/usr/lib/airtime/media-monitor/mm2/" - -cd ${media_monitor_path} - -exec 2>&1 - -set +e -cat /etc/default/locale | grep -i "LANG=.*UTF-\?8" -set -e -if [ "$?" != "0" ]; then - echo "non UTF-8 default locale found in /etc/default/locale." > /var/log/airtime/media-monitor/error.log - exit 1 -fi - -export PYTHONPATH=${api_client_path} -export LC_ALL=`cat /etc/default/locale | grep "LANG=" | cut -d= -f2 | tr -d "\n\""` - -exec python ${media_monitor_path}${media_monitor_script} > /var/log/airtime/media-monitor/py-interpreter.log 2>&1 - -# EOF diff --git a/python_apps/media-monitor/media-monitor/airtime-media-monitor-init-d b/python_apps/media-monitor/media-monitor/airtime-media-monitor-init-d index b5636e70b..e74d08baf 100755 --- a/python_apps/media-monitor/media-monitor/airtime-media-monitor-init-d +++ b/python_apps/media-monitor/media-monitor/airtime-media-monitor-init-d @@ -27,17 +27,6 @@ stop () { rm -f $PIDFILE } -start_with_monit() { - start - monit monitor airtime-media-monitor >/dev/null 2>&1 -} - -stop_with_monit() { - monit unmonitor airtime-media-monitor >/dev/null 2>&1 - stop -} - - case "${1:-''}" in 'start') # start commands here @@ -58,18 +47,6 @@ case "${1:-''}" in start echo "Done." ;; - 'start-with-monit') - # restart commands here - echo -n "Starting $NAME: " - start_with_monit - echo "Done." - ;; - 'stop-with-monit') - # restart commands here - echo -n "Stopping $NAME: " - stop_with_monit - echo "Done." - ;; 'status') # status commands here /usr/bin/airtime-check-system diff --git a/python_apps/media-monitor/setup.py b/python_apps/media-monitor/setup.py index 11874ccba..c35c36131 100644 --- a/python_apps/media-monitor/setup.py +++ b/python_apps/media-monitor/setup.py @@ -40,7 +40,7 @@ setup(name='airtime-media-monitor', zip_safe=False, data_files=data_files) -# Reload the initctl config so that playout services works +# Reload the initctl config so that the media-monitor service works if data_files: print "Reloading initctl configuration" call(['initctl', 'reload-configuration']) diff --git a/python_apps/pypo/bin/airtime-liquidsoap b/python_apps/pypo/bin/airtime-liquidsoap index def0aaae1..6b5d1470d 100755 --- a/python_apps/pypo/bin/airtime-liquidsoap +++ b/python_apps/pypo/bin/airtime-liquidsoap @@ -23,25 +23,15 @@ do done -virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/" -. ${virtualenv_bin}activate - export HOME="/var/tmp/airtime/pypo/" -api_client_path="/usr/lib/airtime/" -if [ $debug = "t" ]; then +if [ "$debug" = "t" ]; then ls_path="/usr/bin/airtime-liquidsoap --verbose -f" else ls_path="/usr/bin/airtime-liquidsoap --verbose -f -d" fi ls_param="/usr/lib/airtime/pypo/bin/liquidsoap_scripts/ls_script.liq" -export PYTHONPATH=${api_client_path} - -SCRIPT=`readlink -f $0` -# Absolute directory this script is in -SCRIPTPATH=`dirname $SCRIPT` - -cd $SCRIPTPATH/liquidsoap_scripts +cd /usr/lib/airtime/pypo/bin/liquidsoap_scripts python generate_liquidsoap_cfg.py exec ${ls_path} ${ls_param} 2>&1 diff --git a/python_apps/pypo/bin/airtime-playout b/python_apps/pypo/bin/airtime-playout index fca8a412d..f537a6b85 100755 --- a/python_apps/pypo/bin/airtime-playout +++ b/python_apps/pypo/bin/airtime-playout @@ -1,17 +1,5 @@ #!/bin/bash -virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/" -. ${virtualenv_bin}activate - -# Absolute path to this script -SCRIPT=`readlink -f $0` -# Absolute directory this script is in -pypo_path=`dirname $SCRIPT` - -api_client_path="/usr/lib/airtime/" -pypo_script="pypocli.py" -cd ${pypo_path} - set +e cat /etc/default/locale | grep -i "LANG=.*UTF-\?8" > /dev/null set -e @@ -21,11 +9,9 @@ if [ "$?" != "0" ]; then fi export HOME="/var/tmp/airtime/pypo/" -export PYTHONPATH=${api_client_path}:$PYTHONPATH export LC_ALL=`cat /etc/default/locale | grep "LANG=" | cut -d= -f2 | tr -d "\n\""` export TERM=xterm - -exec python ${pypo_path}/${pypo_script} > /var/log/airtime/pypo/py-interpreter.log 2>&1 +exec python /usr/lib/airtime/pypo/bin/pypocli.py > /var/log/airtime/pypo/py-interpreter.log 2>&1 # EOF diff --git a/python_apps/pypo/pypo/airtime-liquidsoap b/python_apps/pypo/pypo/airtime-liquidsoap deleted file mode 100755 index def0aaae1..000000000 --- a/python_apps/pypo/pypo/airtime-liquidsoap +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/bash -e - -debug="f" - -showhelp () { - echo "Usage: airtime-liquidsoap [options] ---help|-h Displays usage information. ---debug|-d Print error messages to console" -} - -set -- $(getopt -l help,debug "hd" "$@") -while [ $# -gt 0 ] -do - case "$1" in - (-h|--help) showhelp; exit 0;; - (-d|--debug) debug="t";; - - (--) shift; break;; - (-*) echo "$0: error - unrecognized option $1" 1>&2; exit 1;; - (*) break;; - esac - shift -done - - -virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/" -. ${virtualenv_bin}activate - -export HOME="/var/tmp/airtime/pypo/" -api_client_path="/usr/lib/airtime/" -if [ $debug = "t" ]; then - ls_path="/usr/bin/airtime-liquidsoap --verbose -f" -else - ls_path="/usr/bin/airtime-liquidsoap --verbose -f -d" -fi -ls_param="/usr/lib/airtime/pypo/bin/liquidsoap_scripts/ls_script.liq" - -export PYTHONPATH=${api_client_path} - -SCRIPT=`readlink -f $0` -# Absolute directory this script is in -SCRIPTPATH=`dirname $SCRIPT` - -cd $SCRIPTPATH/liquidsoap_scripts -python generate_liquidsoap_cfg.py - -exec ${ls_path} ${ls_param} 2>&1 -# EOF diff --git a/python_apps/pypo/pypo/airtime-playout b/python_apps/pypo/pypo/airtime-playout deleted file mode 100755 index 5521c91ed..000000000 --- a/python_apps/pypo/pypo/airtime-playout +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash - -virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/" -. ${virtualenv_bin}activate - -# Absolute path to this script -SCRIPT=`readlink -f $0` -# Absolute directory this script is in -pypo_path=`dirname $SCRIPT` - -api_client_path="/usr/lib/airtime/" -pypo_script="pypocli.py" -cd ${pypo_path} - -set +e -cat /etc/default/locale | grep -i "LANG=.*UTF-\?8" -set -e -if [ "$?" != "0" ]; then - echo "non UTF-8 default locale found in /etc/default/locale." > /var/log/airtime/pypo/error.log - exit 1 -fi - -export HOME="/var/tmp/airtime/pypo/" -export PYTHONPATH=${api_client_path}:$PYTHONPATH -export LC_ALL=`cat /etc/default/locale | grep "LANG=" | cut -d= -f2 | tr -d "\n\""` -export TERM=xterm - - -exec python ${pypo_path}/${pypo_script} > /var/log/airtime/pypo/py-interpreter.log 2>&1 - -# EOF diff --git a/python_apps/pypo/pypo/pypo.cfg b/python_apps/pypo/pypo/pypo.cfg deleted file mode 100644 index 9ffc390e4..000000000 --- a/python_apps/pypo/pypo/pypo.cfg +++ /dev/null @@ -1,85 +0,0 @@ -############################################ -# pypo - configuration # -############################################ - -# Set the type of client you are using. -# Currently supported types: -# 1) "obp" = Open Broadcast Platform -# 2) "airtime" -# -api_client = "airtime" - -############################################ -# Cache Directories # -# *include* trailing slash !! # -############################################ -cache_dir = '/var/tmp/airtime/pypo/cache/' -file_dir = '/var/tmp/airtime/pypo/files/' -tmp_dir = '/var/tmp/airtime/pypo/tmp/' - -############################################ -# Setup Directories # -# Do *not* include trailing slash !! # -############################################ -cache_base_dir = '/var/tmp/airtime/pypo' -bin_dir = '/usr/lib/airtime/pypo' -log_base_dir = '/var/log/airtime' -pypo_log_dir = '/var/log/airtime/pypo' -liquidsoap_log_dir = '/var/log/airtime/pypo-liquidsoap' - -############################################ -# Liquidsoap settings # -############################################ -ls_host = '127.0.0.1' -ls_port = '1234' - -############################################ -# RabbitMQ settings # -############################################ -rabbitmq_host = 'localhost' -rabbitmq_user = 'guest' -rabbitmq_password = 'guest' -rabbitmq_vhost = '/' - -############################################ -# pypo preferences # -############################################ - -# Poll interval in seconds. -# -# This will rarely need to be changed because any schedule changes are -# automatically sent to pypo immediately. -# -# This is how often the poll script downloads new schedules and files from the -# server in the event that no changes are made to the schedule. -# -poll_interval = 3600 # in seconds. - - -# Push interval in seconds. -# -# This is how often the push script checks whether it has something new to -# push to liquidsoap. -# -# It's hard to imagine a situation where this should be more than 1 second. -# -push_interval = 1 # in seconds - -# 'pre' or 'otf'. 'pre' cues while playlist preparation -# while 'otf' (on the fly) cues while loading into ls -# (needs the post_processor patch) -cue_style = 'pre' - -############################################ -# Recorded Audio settings # -############################################ -record_bitrate = 256 -record_samplerate = 44100 -record_channels = 2 -record_sample_size = 16 - -#can be either ogg|mp3, mp3 recording requires installation of the package "lame" -record_file_type = 'ogg' - -# base path to store recordered shows at -base_recorded_files = '/var/tmp/airtime/show-recorder/' From 659a7e8aa35fc78d99d48129a312ef8c08f9dba4 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Fri, 19 Dec 2014 14:01:17 -0500 Subject: [PATCH 061/168] More work on media-monitor and pypo install process --- installer/install | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/installer/install b/installer/install index d1a7d497f..82986ea1c 100755 --- a/installer/install +++ b/installer/install @@ -318,7 +318,8 @@ loud " * Installing Airtime Services * " loud "-----------------------------------------------------" verbose "\n * Installing liquidsoap and python..." -loudCmd "apt-get -y --force-yes install liquidsoap python" +loudCmd "apt-get -y --force-yes install liquidsoap python python-pip" +loudCmd "pip install setuptools" verbose "...Done" verbose "\n * Creating /usr/lib/airtime..." From 8827acfe8ea3016c3f459f8383793463ec4c2b26 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Fri, 19 Dec 2014 14:09:41 -0500 Subject: [PATCH 062/168] More work on media-monitor and pypo install process --- installer/install | 1 - 1 file changed, 1 deletion(-) diff --git a/installer/install b/installer/install index 82986ea1c..2b8d6c40d 100755 --- a/installer/install +++ b/installer/install @@ -394,7 +394,6 @@ echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-liquidsoap, \ /sbin/status airtime-liquidsoap" > /etc/sudoers.d/airtime-liquidsoap_${web_user} verbose "...Done" -chmod 755 /etc/init.d/airtime-* initctl reload-configuration # Deactivate virtualenv From 78de813000715a335c5868a6c741eb763bef8aa9 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Fri, 19 Dec 2014 15:31:27 -0500 Subject: [PATCH 063/168] More work on media-monitor and pypo install process --- installer/install | 3 --- 1 file changed, 3 deletions(-) diff --git a/installer/install b/installer/install index 2b8d6c40d..075335d21 100755 --- a/installer/install +++ b/installer/install @@ -396,9 +396,6 @@ verbose "...Done" initctl reload-configuration -# Deactivate virtualenv -deactivate - if [ ! -d /var/log/airtime ]; then loud "\n-----------------------------------------------------" loud " * Installing Log Files * " From a418889999e15ab4b6d63b061f93ff2c53350ef2 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Fri, 19 Dec 2014 15:58:45 -0500 Subject: [PATCH 064/168] More work on media-monitor and pypo install process --- installer/install | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/installer/install b/installer/install index 075335d21..27913705f 100755 --- a/installer/install +++ b/installer/install @@ -347,11 +347,11 @@ verbose "...Done" verbose "\n * Installing media-monitor..." if [ -z web_root ]; then - python ${web_root}/python_apps/media-monitor/setup.py develop + python ${web_root}/python_apps/media-monitor/setup.py install elif [ "$in_place" = "t" ]; then - python ${AIRTIMEROOT}/python_apps/media-monitor/setup.py develop + python ${AIRTIMEROOT}/python_apps/media-monitor/setup.py install else - python /usr/share/airtime/python_apps/media-monitor/setup.py develop + python /usr/share/airtime/python_apps/media-monitor/setup.py install fi verbose "...Done" @@ -362,11 +362,11 @@ verbose "...Done" verbose "\n * Installing pypo..." if [ -z web_root ]; then - python ${web_root}/python_apps/pypo/setup.py develop + python ${web_root}/python_apps/pypo/setup.py install elif [ "$in_place" = "t" ]; then - python ${AIRTIMEROOT}/python_apps/pypo/setup.py develop + python ${AIRTIMEROOT}/python_apps/pypo/setup.py install else - python /usr/share/airtime/python_apps/pypo/setup.py develop + python /usr/share/airtime/python_apps/pypo/setup.py install fi verbose "...Done" From 54748b627586ebd3a4592d508c1ce38efa02e4f7 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Fri, 19 Dec 2014 17:16:50 -0500 Subject: [PATCH 065/168] More work on media-monitor and pypo install process --- installer/install | 20 +++---------------- .../media-monitor/bin/airtime-media-monitor | 13 +----------- 2 files changed, 4 insertions(+), 29 deletions(-) diff --git a/installer/install b/installer/install index 27913705f..85aac0b15 100755 --- a/installer/install +++ b/installer/install @@ -370,28 +370,14 @@ else fi verbose "...Done" -verbose "\n * Creating sudoers files..." +verbose "\n * Creating sudoers file..." # sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/media-monitor/airtime-media-monitor-init-d > /etc/init.d/airtime-media-monitor touch /etc/sudoers.d/airtime-media-monitor_${web_user} -echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-media-monitor, \ -/sbin/stop airtime-media-monitor, \ -/sbin/restart airtime-media-monitor, \ -/sbin/status airtime-media-monitor" > /etc/sudoers.d/airtime-media-monitor_${web_user} - +echo "${web_user} ALL = (root) NOPASSWD: /sbin/service airtime-media-monitor *, \ +/sbin/service airtime-playout *, /sbin/service airtime-liquidsoap *, \" > /etc/sudoers.d/service_${web_user} # sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/pypo/bin/airtime-playout-init-d > /etc/init.d/airtime-playout -touch /etc/sudoers.d/airtime-playout_${web_user} -echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-playout, \ -/sbin/stop airtime-playout, \ -/sbin/restart airtime-playout, \ -/sbin/status airtime-playout" > /etc/sudoers.d/airtime-playout_${web_user} - ln -sf /usr/bin/liquidsoap /usr/bin/airtime-liquidsoap # sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/pypo/bin/airtime-liquidsoap-init-d > /etc/init.d/airtime-liquidsoap -touch /etc/sudoers.d/airtime-liquidsoap_${web_user} -echo "${web_user} ALL = (root) NOPASSWD: /sbin/start airtime-liquidsoap, \ -/sbin/stop airtime-liquidsoap, \ -/sbin/restart airtime-liquidsoap, \ -/sbin/status airtime-liquidsoap" > /etc/sudoers.d/airtime-liquidsoap_${web_user} verbose "...Done" initctl reload-configuration diff --git a/python_apps/media-monitor/bin/airtime-media-monitor b/python_apps/media-monitor/bin/airtime-media-monitor index 5997e8db4..6a3692a7b 100755 --- a/python_apps/media-monitor/bin/airtime-media-monitor +++ b/python_apps/media-monitor/bin/airtime-media-monitor @@ -2,16 +2,6 @@ # Location of pypo_cli.py Python script -virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/" -. ${virtualenv_bin}activate - -media_monitor_path="/usr/lib/airtime/media-monitor/" -media_monitor_script="media_monitor.py" - -api_client_path="/usr/lib/airtime/:/usr/lib/airtime/media-monitor/mm2/" - -cd ${media_monitor_path} - exec 2>&1 set +e @@ -22,9 +12,8 @@ if [ "$?" != "0" ]; then exit 1 fi -export PYTHONPATH=${api_client_path} export LC_ALL=`cat /etc/default/locale | grep "LANG=" | cut -d= -f2 | tr -d "\n\""` -exec python ${media_monitor_path}${media_monitor_script} > /var/log/airtime/media-monitor/py-interpreter.log 2>&1 +exec python /usr/lib/airtime/media-monitor/media_monitor.py > /var/log/airtime/media-monitor/py-interpreter.log 2>&1 # EOF From 6be35afab908d9a2759666512496c7f13218853c Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Fri, 19 Dec 2014 17:30:56 -0500 Subject: [PATCH 066/168] More work on media-monitor and pypo install process --- installer/install | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/installer/install b/installer/install index 85aac0b15..5ebc79aa6 100755 --- a/installer/install +++ b/installer/install @@ -373,8 +373,8 @@ verbose "...Done" verbose "\n * Creating sudoers file..." # sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/media-monitor/airtime-media-monitor-init-d > /etc/init.d/airtime-media-monitor touch /etc/sudoers.d/airtime-media-monitor_${web_user} -echo "${web_user} ALL = (root) NOPASSWD: /sbin/service airtime-media-monitor *, \ -/sbin/service airtime-playout *, /sbin/service airtime-liquidsoap *, \" > /etc/sudoers.d/service_${web_user} +echo "${web_user} ALL = (ALL) NOPASSWD: /sbin/service airtime-media-monitor *, \ +/sbin/service airtime-playout *, /sbin/service airtime-liquidsoap *" > /etc/sudoers.d/service_${web_user} # sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/pypo/bin/airtime-playout-init-d > /etc/init.d/airtime-playout ln -sf /usr/bin/liquidsoap /usr/bin/airtime-liquidsoap # sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/pypo/bin/airtime-liquidsoap-init-d > /etc/init.d/airtime-liquidsoap From 344e1aa194b37c45f02070bc336c42ec704fa8c9 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 5 Jan 2015 09:30:08 -0500 Subject: [PATCH 067/168] Test to start upstart jobs as web user --- installer/install | 1 - python_apps/media-monitor/install/airtime-media-monitor.conf | 2 +- python_apps/pypo/install/airtime-playout.conf | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/installer/install b/installer/install index 5ebc79aa6..83f2ec7a2 100755 --- a/installer/install +++ b/installer/install @@ -372,7 +372,6 @@ verbose "...Done" verbose "\n * Creating sudoers file..." # sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/media-monitor/airtime-media-monitor-init-d > /etc/init.d/airtime-media-monitor -touch /etc/sudoers.d/airtime-media-monitor_${web_user} echo "${web_user} ALL = (ALL) NOPASSWD: /sbin/service airtime-media-monitor *, \ /sbin/service airtime-playout *, /sbin/service airtime-liquidsoap *" > /etc/sudoers.d/service_${web_user} # sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/pypo/bin/airtime-playout-init-d > /etc/init.d/airtime-playout diff --git a/python_apps/media-monitor/install/airtime-media-monitor.conf b/python_apps/media-monitor/install/airtime-media-monitor.conf index f1cc6be8b..58de249af 100644 --- a/python_apps/media-monitor/install/airtime-media-monitor.conf +++ b/python_apps/media-monitor/install/airtime-media-monitor.conf @@ -12,4 +12,4 @@ setgid www-data env LANG='en_US.UTF-8' env LC_ALL='en_US.UTF-8' -exec airtime-media-monitor +exec sudo -u www-data "airtime-media-monitor" \ No newline at end of file diff --git a/python_apps/pypo/install/airtime-playout.conf b/python_apps/pypo/install/airtime-playout.conf index bbd8da1a2..fadaed75d 100644 --- a/python_apps/pypo/install/airtime-playout.conf +++ b/python_apps/pypo/install/airtime-playout.conf @@ -12,4 +12,4 @@ setgid www-data env LANG='en_US.UTF-8' env LC_ALL='en_US.UTF-8' -exec airtime-playout +exec sudo -u www-data "airtime-playout" \ No newline at end of file From f35fb4968c503af1fad3761eebb68176c1b9e884 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 5 Jan 2015 09:47:06 -0500 Subject: [PATCH 068/168] Test to start upstart jobs as web user --- installer/install | 4 ++-- python_apps/pypo/install/airtime-liquidsoap.conf | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/installer/install b/installer/install index 83f2ec7a2..f5e15a4c3 100755 --- a/installer/install +++ b/installer/install @@ -372,8 +372,8 @@ verbose "...Done" verbose "\n * Creating sudoers file..." # sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/media-monitor/airtime-media-monitor-init-d > /etc/init.d/airtime-media-monitor -echo "${web_user} ALL = (ALL) NOPASSWD: /sbin/service airtime-media-monitor *, \ -/sbin/service airtime-playout *, /sbin/service airtime-liquidsoap *" > /etc/sudoers.d/service_${web_user} +# echo "${web_user} ALL = (ALL) NOPASSWD: /sbin/service airtime-media-monitor *, \ +# /sbin/service airtime-playout *, /sbin/service airtime-liquidsoap *" > /etc/sudoers.d/service_${web_user} # sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/pypo/bin/airtime-playout-init-d > /etc/init.d/airtime-playout ln -sf /usr/bin/liquidsoap /usr/bin/airtime-liquidsoap # sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/pypo/bin/airtime-liquidsoap-init-d > /etc/init.d/airtime-liquidsoap diff --git a/python_apps/pypo/install/airtime-liquidsoap.conf b/python_apps/pypo/install/airtime-liquidsoap.conf index e60835dea..e49f5f81e 100644 --- a/python_apps/pypo/install/airtime-liquidsoap.conf +++ b/python_apps/pypo/install/airtime-liquidsoap.conf @@ -12,4 +12,4 @@ setgid www-data env LANG='en_US.UTF-8' env LC_ALL='en_US.UTF-8' -exec airtime-liquidsoap +exec sudo -u www-data "airtime-liquidsoap" From ee96380a41b9ba1072977d2e8336d59b4e649d82 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 5 Jan 2015 10:16:44 -0500 Subject: [PATCH 069/168] Test to start upstart jobs as web user --- installer/install | 6 ++++-- .../media-monitor/install/airtime-media-monitor.conf | 2 +- python_apps/pypo/install/airtime-liquidsoap.conf | 2 +- python_apps/pypo/install/airtime-playout.conf | 2 +- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/installer/install b/installer/install index f5e15a4c3..0b4319a5e 100755 --- a/installer/install +++ b/installer/install @@ -372,8 +372,10 @@ verbose "...Done" verbose "\n * Creating sudoers file..." # sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/media-monitor/airtime-media-monitor-init-d > /etc/init.d/airtime-media-monitor -# echo "${web_user} ALL = (ALL) NOPASSWD: /sbin/service airtime-media-monitor *, \ -# /sbin/service airtime-playout *, /sbin/service airtime-liquidsoap *" > /etc/sudoers.d/service_${web_user} +echo "${web_user} ALL = (ALL) NOPASSWD: \ +/sbin/start airtime-media-monitor *, /sbin/stop airtime-media-monitor, \ +/sbin/start airtime-playout, /sbin/start airtime-playout, \ +/sbin/start airtime-liquidsoap, /sbin/stop airtime-liquidsoap" > /etc/sudoers.d/service_${web_user} # sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/pypo/bin/airtime-playout-init-d > /etc/init.d/airtime-playout ln -sf /usr/bin/liquidsoap /usr/bin/airtime-liquidsoap # sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/pypo/bin/airtime-liquidsoap-init-d > /etc/init.d/airtime-liquidsoap diff --git a/python_apps/media-monitor/install/airtime-media-monitor.conf b/python_apps/media-monitor/install/airtime-media-monitor.conf index 58de249af..e456a2ba1 100644 --- a/python_apps/media-monitor/install/airtime-media-monitor.conf +++ b/python_apps/media-monitor/install/airtime-media-monitor.conf @@ -12,4 +12,4 @@ setgid www-data env LANG='en_US.UTF-8' env LC_ALL='en_US.UTF-8' -exec sudo -u www-data "airtime-media-monitor" \ No newline at end of file +exec "airtime-media-monitor" \ No newline at end of file diff --git a/python_apps/pypo/install/airtime-liquidsoap.conf b/python_apps/pypo/install/airtime-liquidsoap.conf index e49f5f81e..2a7a87cf9 100644 --- a/python_apps/pypo/install/airtime-liquidsoap.conf +++ b/python_apps/pypo/install/airtime-liquidsoap.conf @@ -12,4 +12,4 @@ setgid www-data env LANG='en_US.UTF-8' env LC_ALL='en_US.UTF-8' -exec sudo -u www-data "airtime-liquidsoap" +exec "airtime-liquidsoap" diff --git a/python_apps/pypo/install/airtime-playout.conf b/python_apps/pypo/install/airtime-playout.conf index fadaed75d..ee57b218b 100644 --- a/python_apps/pypo/install/airtime-playout.conf +++ b/python_apps/pypo/install/airtime-playout.conf @@ -12,4 +12,4 @@ setgid www-data env LANG='en_US.UTF-8' env LC_ALL='en_US.UTF-8' -exec sudo -u www-data "airtime-playout" \ No newline at end of file +exec "airtime-playout" \ No newline at end of file From 5cd15c1887693a8c7653a2424ec83dfce6182d3f Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 5 Jan 2015 10:49:25 -0500 Subject: [PATCH 070/168] Add sudoers file to run upstart commands as web user --- installer/install | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/installer/install b/installer/install index 0b4319a5e..93c4596d9 100755 --- a/installer/install +++ b/installer/install @@ -371,14 +371,11 @@ fi verbose "...Done" verbose "\n * Creating sudoers file..." -# sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/media-monitor/airtime-media-monitor-init-d > /etc/init.d/airtime-media-monitor -echo "${web_user} ALL = (ALL) NOPASSWD: \ -/sbin/start airtime-media-monitor *, /sbin/stop airtime-media-monitor, \ -/sbin/start airtime-playout, /sbin/start airtime-playout, \ +echo "${web_user} ALL = (root) NOPASSWD: \ +/sbin/start airtime-media-monitor, /sbin/stop airtime-media-monitor, \ +/sbin/start airtime-playout, /sbin/stop airtime-playout, \ /sbin/start airtime-liquidsoap, /sbin/stop airtime-liquidsoap" > /etc/sudoers.d/service_${web_user} -# sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/pypo/bin/airtime-playout-init-d > /etc/init.d/airtime-playout ln -sf /usr/bin/liquidsoap /usr/bin/airtime-liquidsoap -# sed -e "s/WEB_USER/${web_user}/g" /usr/lib/airtime/pypo/bin/airtime-liquidsoap-init-d > /etc/init.d/airtime-liquidsoap verbose "...Done" initctl reload-configuration From fc68dfa256186997b2fae43c2073862977471a1b Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 5 Jan 2015 11:16:58 -0500 Subject: [PATCH 071/168] Fixed service execution calls --- airtime_mvc/public/setup/finish-setup.php | 6 +++--- installer/install | 4 ---- .../media-monitor/install/airtime-media-monitor.conf | 2 +- python_apps/pypo/install/airtime-liquidsoap.conf | 2 +- python_apps/pypo/install/airtime-playout.conf | 2 +- 5 files changed, 6 insertions(+), 10 deletions(-) diff --git a/airtime_mvc/public/setup/finish-setup.php b/airtime_mvc/public/setup/finish-setup.php index 3d35fee7b..bcbd9e087 100644 --- a/airtime_mvc/public/setup/finish-setup.php +++ b/airtime_mvc/public/setup/finish-setup.php @@ -50,9 +50,9 @@ class FinishSetup extends Setup { } function startServices() { - exec("service airtime-media-monitor start-with-monit"); - exec("service airtime-playout start-with-monit"); - exec("service airtime-liquidsoap start-with-monit"); + exec("service airtime-media-monitor start"); + exec("service airtime-playout start"); + exec("service airtime-liquidsoap start"); } } \ No newline at end of file diff --git a/installer/install b/installer/install index 93c4596d9..288820e8d 100755 --- a/installer/install +++ b/installer/install @@ -371,10 +371,6 @@ fi verbose "...Done" verbose "\n * Creating sudoers file..." -echo "${web_user} ALL = (root) NOPASSWD: \ -/sbin/start airtime-media-monitor, /sbin/stop airtime-media-monitor, \ -/sbin/start airtime-playout, /sbin/stop airtime-playout, \ -/sbin/start airtime-liquidsoap, /sbin/stop airtime-liquidsoap" > /etc/sudoers.d/service_${web_user} ln -sf /usr/bin/liquidsoap /usr/bin/airtime-liquidsoap verbose "...Done" diff --git a/python_apps/media-monitor/install/airtime-media-monitor.conf b/python_apps/media-monitor/install/airtime-media-monitor.conf index e456a2ba1..20b611aa5 100644 --- a/python_apps/media-monitor/install/airtime-media-monitor.conf +++ b/python_apps/media-monitor/install/airtime-media-monitor.conf @@ -12,4 +12,4 @@ setgid www-data env LANG='en_US.UTF-8' env LC_ALL='en_US.UTF-8' -exec "airtime-media-monitor" \ No newline at end of file +exec airtime-media-monitor \ No newline at end of file diff --git a/python_apps/pypo/install/airtime-liquidsoap.conf b/python_apps/pypo/install/airtime-liquidsoap.conf index 2a7a87cf9..e60835dea 100644 --- a/python_apps/pypo/install/airtime-liquidsoap.conf +++ b/python_apps/pypo/install/airtime-liquidsoap.conf @@ -12,4 +12,4 @@ setgid www-data env LANG='en_US.UTF-8' env LC_ALL='en_US.UTF-8' -exec "airtime-liquidsoap" +exec airtime-liquidsoap diff --git a/python_apps/pypo/install/airtime-playout.conf b/python_apps/pypo/install/airtime-playout.conf index ee57b218b..7d13a436e 100644 --- a/python_apps/pypo/install/airtime-playout.conf +++ b/python_apps/pypo/install/airtime-playout.conf @@ -12,4 +12,4 @@ setgid www-data env LANG='en_US.UTF-8' env LC_ALL='en_US.UTF-8' -exec "airtime-playout" \ No newline at end of file +exec airtime-playout \ No newline at end of file From 34684c8275e0cd25ad8dce6c43c18770c80141b9 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 5 Jan 2015 12:20:25 -0500 Subject: [PATCH 072/168] Added services to pythonpath --- installer/install | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/installer/install b/installer/install index 288820e8d..7d9eb79f3 100755 --- a/installer/install +++ b/installer/install @@ -360,6 +360,9 @@ mkdir -p /usr/lib/airtime/pypo cp -R ${AIRTIMEROOT}/python_apps/pypo/pypo /usr/lib/airtime/pypo/bin/ verbose "...Done" +export PYTHONPATH=$PYTHONPATH:/usr/lib/airtime:/usr/lib/airtime/media-monitor:\ +/usr/lib/airtime/media-monitor/mm2:/usr/lib/airtime/pypo + verbose "\n * Installing pypo..." if [ -z web_root ]; then python ${web_root}/python_apps/pypo/setup.py install @@ -370,7 +373,7 @@ else fi verbose "...Done" -verbose "\n * Creating sudoers file..." +verbose "\n * Creating liquidsoap symlink..." ln -sf /usr/bin/liquidsoap /usr/bin/airtime-liquidsoap verbose "...Done" From 97ef6a31505c76b617894524031d32aad391694e Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 5 Jan 2015 12:43:58 -0500 Subject: [PATCH 073/168] Added services to pythonpath --- installer/install | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/installer/install b/installer/install index 7d9eb79f3..b5c7fa17b 100755 --- a/installer/install +++ b/installer/install @@ -360,9 +360,6 @@ mkdir -p /usr/lib/airtime/pypo cp -R ${AIRTIMEROOT}/python_apps/pypo/pypo /usr/lib/airtime/pypo/bin/ verbose "...Done" -export PYTHONPATH=$PYTHONPATH:/usr/lib/airtime:/usr/lib/airtime/media-monitor:\ -/usr/lib/airtime/media-monitor/mm2:/usr/lib/airtime/pypo - verbose "\n * Installing pypo..." if [ -z web_root ]; then python ${web_root}/python_apps/pypo/setup.py install @@ -373,6 +370,11 @@ else fi verbose "...Done" +export PYTHONPATH=$PYTHONPATH/usr/lib/airtime:/usr/lib/airtime/media-monitor:\ +/usr/lib/airtime/media-monitor/mm2:/usr/lib/airtime/pypo:\ +/usr/lib/airtime/media-monitor/mm2/media:/usr/lib/airtime/media-monitor/mm2/saas:\ +/usr/lib/airtime/api_clients:/usr/lib/airtime/std_err_override: + verbose "\n * Creating liquidsoap symlink..." ln -sf /usr/bin/liquidsoap /usr/bin/airtime-liquidsoap verbose "...Done" From 5f137d99a3a802203765f19a388b49c18083705d Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 5 Jan 2015 14:42:53 -0500 Subject: [PATCH 074/168] Added virtualenv back into install process --- installer/install | 15 ++++++++++----- .../media-monitor/bin/airtime-media-monitor | 3 +++ python_apps/pypo/bin/airtime-liquidsoap | 2 ++ python_apps/pypo/bin/airtime-playout | 3 +++ 4 files changed, 18 insertions(+), 5 deletions(-) diff --git a/installer/install b/installer/install index b5c7fa17b..9a921f4d7 100755 --- a/installer/install +++ b/installer/install @@ -322,6 +322,12 @@ loudCmd "apt-get -y --force-yes install liquidsoap python python-pip" loudCmd "pip install setuptools" verbose "...Done" +verbose "\n * Activating virtualenv..." +${AIRTIMEROOT}/python_apps/python-virtualenv/virtualenv-install.sh +virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/" +. ${virtualenv_bin}activate +verbose "...Done" + verbose "\n * Creating /usr/lib/airtime..." mkdir -p /usr/lib/airtime verbose "...Done" @@ -370,17 +376,16 @@ else fi verbose "...Done" -export PYTHONPATH=$PYTHONPATH/usr/lib/airtime:/usr/lib/airtime/media-monitor:\ -/usr/lib/airtime/media-monitor/mm2:/usr/lib/airtime/pypo:\ -/usr/lib/airtime/media-monitor/mm2/media:/usr/lib/airtime/media-monitor/mm2/saas:\ -/usr/lib/airtime/api_clients:/usr/lib/airtime/std_err_override: - verbose "\n * Creating liquidsoap symlink..." ln -sf /usr/bin/liquidsoap /usr/bin/airtime-liquidsoap verbose "...Done" initctl reload-configuration +verbose "\n * Deactivating virtualenv..." +deactivate +verbose "...Done" + if [ ! -d /var/log/airtime ]; then loud "\n-----------------------------------------------------" loud " * Installing Log Files * " diff --git a/python_apps/media-monitor/bin/airtime-media-monitor b/python_apps/media-monitor/bin/airtime-media-monitor index 6a3692a7b..0af952420 100755 --- a/python_apps/media-monitor/bin/airtime-media-monitor +++ b/python_apps/media-monitor/bin/airtime-media-monitor @@ -12,6 +12,9 @@ if [ "$?" != "0" ]; then exit 1 fi +virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/" +. ${virtualenv_bin}activate + export LC_ALL=`cat /etc/default/locale | grep "LANG=" | cut -d= -f2 | tr -d "\n\""` exec python /usr/lib/airtime/media-monitor/media_monitor.py > /var/log/airtime/media-monitor/py-interpreter.log 2>&1 diff --git a/python_apps/pypo/bin/airtime-liquidsoap b/python_apps/pypo/bin/airtime-liquidsoap index 6b5d1470d..e8e6d45a0 100755 --- a/python_apps/pypo/bin/airtime-liquidsoap +++ b/python_apps/pypo/bin/airtime-liquidsoap @@ -22,6 +22,8 @@ do shift done +virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/" +. ${virtualenv_bin}activate export HOME="/var/tmp/airtime/pypo/" if [ "$debug" = "t" ]; then diff --git a/python_apps/pypo/bin/airtime-playout b/python_apps/pypo/bin/airtime-playout index f537a6b85..ab99bcf57 100755 --- a/python_apps/pypo/bin/airtime-playout +++ b/python_apps/pypo/bin/airtime-playout @@ -8,6 +8,9 @@ if [ "$?" != "0" ]; then exit 1 fi +virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/" +. ${virtualenv_bin}activate + export HOME="/var/tmp/airtime/pypo/" export LC_ALL=`cat /etc/default/locale | grep "LANG=" | cut -d= -f2 | tr -d "\n\""` export TERM=xterm From 029d1b06246f8e87956c2dcf42f93652c6607a67 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 5 Jan 2015 14:59:26 -0500 Subject: [PATCH 075/168] Added virtualenv back into install process --- installer/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installer/install b/installer/install index 9a921f4d7..d9364e222 100755 --- a/installer/install +++ b/installer/install @@ -318,7 +318,7 @@ loud " * Installing Airtime Services * " loud "-----------------------------------------------------" verbose "\n * Installing liquidsoap and python..." -loudCmd "apt-get -y --force-yes install liquidsoap python python-pip" +loudCmd "apt-get -y --force-yes install liquidsoap python python-pip python-virtualenv" loudCmd "pip install setuptools" verbose "...Done" From bbc095f5345dfea891659082632662b55ff56e7a Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 5 Jan 2015 15:38:01 -0500 Subject: [PATCH 076/168] Added virtualenv back into install process --- .../media-monitor/bin/airtime-media-monitor | 11 +++++------ python_apps/pypo/bin/airtime-liquidsoap | 3 ++- python_apps/pypo/bin/airtime-playout | 18 ++++++++++++------ 3 files changed, 19 insertions(+), 13 deletions(-) diff --git a/python_apps/media-monitor/bin/airtime-media-monitor b/python_apps/media-monitor/bin/airtime-media-monitor index 0af952420..a5e3e4c6d 100755 --- a/python_apps/media-monitor/bin/airtime-media-monitor +++ b/python_apps/media-monitor/bin/airtime-media-monitor @@ -1,9 +1,12 @@ #!/bin/bash -# Location of pypo_cli.py Python script +virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/" +. ${virtualenv_bin}activate exec 2>&1 +cd /usr/lib/airtime/media-monitor/ + set +e cat /etc/default/locale | grep -i "LANG=.*UTF-\?8" set -e @@ -12,11 +15,7 @@ if [ "$?" != "0" ]; then exit 1 fi -virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/" -. ${virtualenv_bin}activate - +export PYTHONPATH="/usr/lib/airtime/:/usr/lib/airtime/media-monitor/mm2/" export LC_ALL=`cat /etc/default/locale | grep "LANG=" | cut -d= -f2 | tr -d "\n\""` exec python /usr/lib/airtime/media-monitor/media_monitor.py > /var/log/airtime/media-monitor/py-interpreter.log 2>&1 - -# EOF diff --git a/python_apps/pypo/bin/airtime-liquidsoap b/python_apps/pypo/bin/airtime-liquidsoap index e8e6d45a0..04d39fbbe 100755 --- a/python_apps/pypo/bin/airtime-liquidsoap +++ b/python_apps/pypo/bin/airtime-liquidsoap @@ -31,10 +31,11 @@ if [ "$debug" = "t" ]; then else ls_path="/usr/bin/airtime-liquidsoap --verbose -f -d" fi + +export PYTHONPATH=/usr/lib/airtime ls_param="/usr/lib/airtime/pypo/bin/liquidsoap_scripts/ls_script.liq" cd /usr/lib/airtime/pypo/bin/liquidsoap_scripts python generate_liquidsoap_cfg.py exec ${ls_path} ${ls_param} 2>&1 -# EOF diff --git a/python_apps/pypo/bin/airtime-playout b/python_apps/pypo/bin/airtime-playout index ab99bcf57..d63c3d0e8 100755 --- a/python_apps/pypo/bin/airtime-playout +++ b/python_apps/pypo/bin/airtime-playout @@ -1,5 +1,15 @@ #!/bin/bash +virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/" +. ${virtualenv_bin}activate + +# Absolute path to this script +SCRIPT=`readlink -f $0` +# Absolute directory this script is in +pypo_path=`dirname $SCRIPT` + +cd ${pypo_path} + set +e cat /etc/default/locale | grep -i "LANG=.*UTF-\?8" > /dev/null set -e @@ -8,13 +18,9 @@ if [ "$?" != "0" ]; then exit 1 fi -virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/" -. ${virtualenv_bin}activate - export HOME="/var/tmp/airtime/pypo/" +export PYTHONPATH=/usr/lib/airtime/:$PYTHONPATH export LC_ALL=`cat /etc/default/locale | grep "LANG=" | cut -d= -f2 | tr -d "\n\""` export TERM=xterm -exec python /usr/lib/airtime/pypo/bin/pypocli.py > /var/log/airtime/pypo/py-interpreter.log 2>&1 - -# EOF +exec python ${pypo_path}/pypocli.py > /var/log/airtime/pypo/py-interpreter.log 2>&1 From f4c5cf135364e43ac446629fcba0d63cf79d0af2 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 5 Jan 2015 16:41:03 -0500 Subject: [PATCH 077/168] Added virtualenv back into install process --- .gitignore | 0 .zfproject.xml | 0 CREDITS | 0 LICENSE | 0 LICENSE_3RD_PARTY | 0 README | 0 VERSION | 0 airtime_mvc/application/Bootstrap.php | 0 airtime_mvc/application/airtime-boot.php | 0 airtime_mvc/application/common/Database.php | 0 airtime_mvc/application/common/DateHelper.php | 0 airtime_mvc/application/common/OsPath.php | 0 airtime_mvc/application/common/Timezone.php | 0 airtime_mvc/application/configs/ACL.php | 0 .../application/configs/airtime-conf-production.php | 0 airtime_mvc/application/configs/airtime-conf.php | 0 airtime_mvc/application/configs/application.ini | 0 .../application/configs/classmap-airtime-conf.php | 0 airtime_mvc/application/configs/conf.php | 0 airtime_mvc/application/configs/config-check.php | 0 airtime_mvc/application/configs/constants.php | 0 airtime_mvc/application/configs/db-conf.php | 0 airtime_mvc/application/configs/navigation.php | 0 .../application/controllers/ApiController.php | 0 .../controllers/AudiopreviewController.php | 0 .../application/controllers/DashboardController.php | 0 .../application/controllers/ErrorController.php | 0 .../application/controllers/IndexController.php | 0 .../application/controllers/LibraryController.php | 0 .../controllers/ListenerstatController.php | 0 .../application/controllers/LocaleController.php | 0 .../application/controllers/LoginController.php | 0 .../application/controllers/PlaylistController.php | 0 .../controllers/PlayouthistoryController.php | 0 .../PlayouthistorytemplateController.php | 0 .../application/controllers/PluploadController.php | 0 .../controllers/PreferenceController.php | 0 .../application/controllers/ScheduleController.php | 0 .../controllers/ShowbuilderController.php | 0 .../controllers/SystemstatusController.php | 0 .../application/controllers/UserController.php | 0 .../controllers/UsersettingsController.php | 0 .../application/controllers/WebstreamController.php | 0 .../application/controllers/plugins/Acl_plugin.php | 0 .../controllers/plugins/RabbitMqPlugin.php | 0 .../forms/AddShowAbsoluteRebroadcastDates.php | 0 airtime_mvc/application/forms/AddShowLiveStream.php | 0 airtime_mvc/application/forms/AddShowRR.php | 0 .../application/forms/AddShowRebroadcastDates.php | 0 airtime_mvc/application/forms/AddShowRepeats.php | 0 airtime_mvc/application/forms/AddShowStyle.php | 0 airtime_mvc/application/forms/AddShowWhat.php | 0 airtime_mvc/application/forms/AddShowWhen.php | 0 airtime_mvc/application/forms/AddShowWho.php | 0 airtime_mvc/application/forms/AddUser.php | 0 airtime_mvc/application/forms/DateRange.php | 0 airtime_mvc/application/forms/EditAudioMD.php | 0 airtime_mvc/application/forms/EditHistory.php | 0 airtime_mvc/application/forms/EditHistoryFile.php | 0 airtime_mvc/application/forms/EditHistoryItem.php | 0 airtime_mvc/application/forms/EditUser.php | 0 .../application/forms/EmailServerPreferences.php | 0 .../application/forms/GeneralPreferences.php | 0 .../application/forms/LiveStreamingPreferences.php | 0 airtime_mvc/application/forms/Login.php | 0 airtime_mvc/application/forms/PasswordChange.php | 0 airtime_mvc/application/forms/PasswordRestore.php | 0 airtime_mvc/application/forms/Preferences.php | 0 airtime_mvc/application/forms/RegisterAirtime.php | 0 airtime_mvc/application/forms/ScheduleShow.php | 0 airtime_mvc/application/forms/ShowBuilder.php | 0 .../application/forms/SmartBlockCriteria.php | 0 .../application/forms/SoundcloudPreferences.php | 0 airtime_mvc/application/forms/StreamSetting.php | 0 .../application/forms/StreamSettingSubForm.php | 0 airtime_mvc/application/forms/SupportSettings.php | 0 .../application/forms/WatchedDirPreferences.php | 0 .../application/forms/customfilters/ImageSize.php | 0 .../forms/customvalidators/ConditionalNotEmpty.php | 0 .../forms/customvalidators/PasswordNotEmpty.php | 0 .../application/forms/helpers/ValidationTypes.php | 0 .../application/layouts/scripts/audio-player.phtml | 0 airtime_mvc/application/layouts/scripts/bare.phtml | 0 .../application/layouts/scripts/layout.phtml | 0 .../application/layouts/scripts/livestream.phtml | 0 airtime_mvc/application/layouts/scripts/login.phtml | 0 airtime_mvc/application/logging/AirtimeLog.php | 0 airtime_mvc/application/logging/Logging.php | 0 airtime_mvc/application/models/Auth.php | 0 airtime_mvc/application/models/Block.php | 0 airtime_mvc/application/models/Cache.php | 0 airtime_mvc/application/models/Dashboard.php | 0 airtime_mvc/application/models/Datatables.php | 0 airtime_mvc/application/models/Email.php | 0 airtime_mvc/application/models/Library.php | 0 airtime_mvc/application/models/LibraryEditable.php | 0 airtime_mvc/application/models/ListenerStat.php | 0 airtime_mvc/application/models/LiveLog.php | 0 airtime_mvc/application/models/Locale.php | 0 airtime_mvc/application/models/LoginAttempts.php | 0 airtime_mvc/application/models/MusicDir.php | 0 airtime_mvc/application/models/Playlist.php | 0 airtime_mvc/application/models/Preference.php | 0 airtime_mvc/application/models/RabbitMq.php | 0 airtime_mvc/application/models/Schedule.php | 0 airtime_mvc/application/models/Scheduler.php | 0 airtime_mvc/application/models/ServiceRegister.php | 0 airtime_mvc/application/models/Show.php | 0 airtime_mvc/application/models/ShowBuilder.php | 0 airtime_mvc/application/models/ShowInstance.php | 0 airtime_mvc/application/models/Soundcloud.php | 0 airtime_mvc/application/models/StoredFile.php | 0 airtime_mvc/application/models/StreamSetting.php | 0 airtime_mvc/application/models/Subjects.php | 0 airtime_mvc/application/models/Systemstatus.php | 0 airtime_mvc/application/models/User.php | 0 airtime_mvc/application/models/Webstream.php | 0 airtime_mvc/application/models/airtime/CcAccess.php | 0 .../application/models/airtime/CcAccessPeer.php | 0 .../application/models/airtime/CcAccessQuery.php | 0 airtime_mvc/application/models/airtime/CcBackup.php | 0 .../application/models/airtime/CcBackupPeer.php | 0 .../application/models/airtime/CcBackupQuery.php | 0 airtime_mvc/application/models/airtime/CcBlock.php | 0 .../application/models/airtime/CcBlockPeer.php | 0 .../application/models/airtime/CcBlockQuery.php | 0 .../application/models/airtime/CcBlockcontents.php | 0 .../models/airtime/CcBlockcontentsPeer.php | 0 .../models/airtime/CcBlockcontentsQuery.php | 0 .../application/models/airtime/CcBlockcriteria.php | 0 .../models/airtime/CcBlockcriteriaPeer.php | 0 .../models/airtime/CcBlockcriteriaQuery.php | 0 .../application/models/airtime/CcCountry.php | 0 .../application/models/airtime/CcCountryPeer.php | 0 .../application/models/airtime/CcCountryQuery.php | 0 .../application/models/airtime/CcFileTag.php | 0 .../application/models/airtime/CcFileTagPeer.php | 0 .../application/models/airtime/CcFileTagQuery.php | 0 airtime_mvc/application/models/airtime/CcFiles.php | 0 .../application/models/airtime/CcFilesPeer.php | 0 .../application/models/airtime/CcFilesQuery.php | 0 .../application/models/airtime/CcListenerCount.php | 0 .../models/airtime/CcListenerCountPeer.php | 0 .../models/airtime/CcListenerCountQuery.php | 0 .../application/models/airtime/CcLiveLog.php | 0 .../application/models/airtime/CcLiveLogPeer.php | 0 .../application/models/airtime/CcLiveLogQuery.php | 0 airtime_mvc/application/models/airtime/CcLocale.php | 0 .../application/models/airtime/CcLocalePeer.php | 0 .../application/models/airtime/CcLocaleQuery.php | 0 .../application/models/airtime/CcLoginAttempts.php | 0 .../models/airtime/CcLoginAttemptsPeer.php | 0 .../models/airtime/CcLoginAttemptsQuery.php | 0 .../application/models/airtime/CcMountName.php | 0 .../application/models/airtime/CcMountNamePeer.php | 0 .../application/models/airtime/CcMountNameQuery.php | 0 .../application/models/airtime/CcMusicDirs.php | 0 .../application/models/airtime/CcMusicDirsPeer.php | 0 .../application/models/airtime/CcMusicDirsQuery.php | 0 airtime_mvc/application/models/airtime/CcPerms.php | 0 .../application/models/airtime/CcPermsPeer.php | 0 .../application/models/airtime/CcPermsQuery.php | 0 .../application/models/airtime/CcPlaylist.php | 0 .../application/models/airtime/CcPlaylistPeer.php | 0 .../application/models/airtime/CcPlaylistQuery.php | 0 .../models/airtime/CcPlaylistcontents.php | 0 .../models/airtime/CcPlaylistcontentsPeer.php | 0 .../models/airtime/CcPlaylistcontentsQuery.php | 0 .../models/airtime/CcPlaylistcriteria.php | 0 .../models/airtime/CcPlaylistcriteriaPeer.php | 0 .../models/airtime/CcPlaylistcriteriaQuery.php | 0 .../application/models/airtime/CcPlayoutHistory.php | 0 .../models/airtime/CcPlayoutHistoryMetaData.php | 0 .../models/airtime/CcPlayoutHistoryMetaDataPeer.php | 0 .../airtime/CcPlayoutHistoryMetaDataQuery.php | 0 .../models/airtime/CcPlayoutHistoryPeer.php | 0 .../models/airtime/CcPlayoutHistoryQuery.php | 0 .../models/airtime/CcPlayoutHistoryTemplate.php | 0 .../airtime/CcPlayoutHistoryTemplateField.php | 0 .../airtime/CcPlayoutHistoryTemplateFieldPeer.php | 0 .../airtime/CcPlayoutHistoryTemplateFieldQuery.php | 0 .../models/airtime/CcPlayoutHistoryTemplatePeer.php | 0 .../airtime/CcPlayoutHistoryTemplateQuery.php | 0 airtime_mvc/application/models/airtime/CcPref.php | 0 .../application/models/airtime/CcPrefPeer.php | 0 .../application/models/airtime/CcPrefQuery.php | 0 .../application/models/airtime/CcSchedule.php | 0 .../application/models/airtime/CcSchedulePeer.php | 0 .../application/models/airtime/CcScheduleQuery.php | 0 .../models/airtime/CcServiceRegister.php | 0 .../models/airtime/CcServiceRegisterPeer.php | 0 .../models/airtime/CcServiceRegisterQuery.php | 0 airtime_mvc/application/models/airtime/CcSess.php | 0 .../application/models/airtime/CcSessPeer.php | 0 .../application/models/airtime/CcSessQuery.php | 0 airtime_mvc/application/models/airtime/CcShow.php | 0 .../application/models/airtime/CcShowDays.php | 0 .../application/models/airtime/CcShowDaysPeer.php | 0 .../application/models/airtime/CcShowDaysQuery.php | 0 .../application/models/airtime/CcShowHosts.php | 0 .../application/models/airtime/CcShowHostsPeer.php | 0 .../application/models/airtime/CcShowHostsQuery.php | 0 .../application/models/airtime/CcShowInstances.php | 0 .../models/airtime/CcShowInstancesPeer.php | 0 .../models/airtime/CcShowInstancesQuery.php | 0 .../application/models/airtime/CcShowPeer.php | 0 .../application/models/airtime/CcShowQuery.php | 0 .../models/airtime/CcShowRebroadcast.php | 0 .../models/airtime/CcShowRebroadcastPeer.php | 0 .../models/airtime/CcShowRebroadcastQuery.php | 0 .../application/models/airtime/CcShowSchedule.php | 0 .../models/airtime/CcShowSchedulePeer.php | 0 .../models/airtime/CcShowScheduleQuery.php | 0 airtime_mvc/application/models/airtime/CcSmemb.php | 0 .../application/models/airtime/CcSmembPeer.php | 0 .../application/models/airtime/CcSmembQuery.php | 0 .../application/models/airtime/CcStreamSetting.php | 0 .../models/airtime/CcStreamSettingPeer.php | 0 .../models/airtime/CcStreamSettingQuery.php | 0 airtime_mvc/application/models/airtime/CcSubjs.php | 0 .../application/models/airtime/CcSubjsPeer.php | 0 .../application/models/airtime/CcSubjsQuery.php | 0 .../application/models/airtime/CcSubjsToken.php | 0 .../application/models/airtime/CcSubjsTokenPeer.php | 0 .../models/airtime/CcSubjsTokenQuery.php | 0 airtime_mvc/application/models/airtime/CcTag.php | 0 .../application/models/airtime/CcTagPeer.php | 0 .../application/models/airtime/CcTagQuery.php | 0 .../application/models/airtime/CcTimestamp.php | 0 .../application/models/airtime/CcTimestampPeer.php | 0 .../application/models/airtime/CcTimestampQuery.php | 0 airtime_mvc/application/models/airtime/CcTrans.php | 0 .../application/models/airtime/CcTransPeer.php | 0 .../application/models/airtime/CcTransQuery.php | 0 .../application/models/airtime/CcWebstream.php | 0 .../models/airtime/CcWebstreamMetadata.php | 0 .../models/airtime/CcWebstreamMetadataPeer.php | 0 .../models/airtime/CcWebstreamMetadataQuery.php | 0 .../application/models/airtime/CcWebstreamPeer.php | 0 .../application/models/airtime/CcWebstreamQuery.php | 0 .../models/airtime/map/CcAccessTableMap.php | 0 .../models/airtime/map/CcBackupTableMap.php | 0 .../models/airtime/map/CcBlockTableMap.php | 0 .../models/airtime/map/CcBlockcontentsTableMap.php | 0 .../models/airtime/map/CcBlockcriteriaTableMap.php | 0 .../models/airtime/map/CcCountryTableMap.php | 0 .../models/airtime/map/CcFileTagTableMap.php | 0 .../models/airtime/map/CcFilesTableMap.php | 0 .../models/airtime/map/CcListenerCountTableMap.php | 0 .../models/airtime/map/CcLiveLogTableMap.php | 0 .../models/airtime/map/CcLocaleTableMap.php | 0 .../models/airtime/map/CcLoginAttemptsTableMap.php | 0 .../models/airtime/map/CcMountNameTableMap.php | 0 .../models/airtime/map/CcMusicDirsTableMap.php | 0 .../models/airtime/map/CcPermsTableMap.php | 0 .../models/airtime/map/CcPlaylistTableMap.php | 0 .../airtime/map/CcPlaylistcontentsTableMap.php | 0 .../airtime/map/CcPlaylistcriteriaTableMap.php | 0 .../map/CcPlayoutHistoryMetaDataTableMap.php | 0 .../models/airtime/map/CcPlayoutHistoryTableMap.php | 0 .../map/CcPlayoutHistoryTemplateFieldTableMap.php | 0 .../map/CcPlayoutHistoryTemplateTableMap.php | 0 .../map/CcPlayoutHistoryTemplateTagTableMap.php | 0 .../models/airtime/map/CcPrefTableMap.php | 0 .../models/airtime/map/CcScheduleTableMap.php | 0 .../models/airtime/map/CcSectionTableMap.php | 0 .../airtime/map/CcSectioncontentsTableMap.php | 0 .../airtime/map/CcSectioncriteriaTableMap.php | 0 .../airtime/map/CcServiceRegisterTableMap.php | 0 .../models/airtime/map/CcSessTableMap.php | 0 .../models/airtime/map/CcShowDaysTableMap.php | 0 .../models/airtime/map/CcShowHostsTableMap.php | 0 .../models/airtime/map/CcShowInstancesTableMap.php | 0 .../airtime/map/CcShowRebroadcastTableMap.php | 0 .../models/airtime/map/CcShowScheduleTableMap.php | 0 .../models/airtime/map/CcShowStampTableMap.php | 0 .../models/airtime/map/CcShowTableMap.php | 0 .../models/airtime/map/CcSmembTableMap.php | 0 .../models/airtime/map/CcStampContentsTableMap.php | 0 .../models/airtime/map/CcStampTableMap.php | 0 .../models/airtime/map/CcStreamSettingTableMap.php | 0 .../models/airtime/map/CcSubjsTableMap.php | 0 .../models/airtime/map/CcSubjsTokenTableMap.php | 0 .../models/airtime/map/CcTagTableMap.php | 0 .../models/airtime/map/CcTimestampTableMap.php | 0 .../models/airtime/map/CcTransTableMap.php | 0 .../airtime/map/CcWebstreamMetadataTableMap.php | 0 .../models/airtime/map/CcWebstreamTableMap.php | 0 .../application/models/airtime/om/BaseCcAccess.php | 0 .../models/airtime/om/BaseCcAccessPeer.php | 0 .../models/airtime/om/BaseCcAccessQuery.php | 0 .../application/models/airtime/om/BaseCcBackup.php | 0 .../models/airtime/om/BaseCcBackupPeer.php | 0 .../models/airtime/om/BaseCcBackupQuery.php | 0 .../application/models/airtime/om/BaseCcBlock.php | 0 .../models/airtime/om/BaseCcBlockPeer.php | 0 .../models/airtime/om/BaseCcBlockQuery.php | 0 .../models/airtime/om/BaseCcBlockcontents.php | 0 .../models/airtime/om/BaseCcBlockcontentsPeer.php | 0 .../models/airtime/om/BaseCcBlockcontentsQuery.php | 0 .../models/airtime/om/BaseCcBlockcriteria.php | 0 .../models/airtime/om/BaseCcBlockcriteriaPeer.php | 0 .../models/airtime/om/BaseCcBlockcriteriaQuery.php | 0 .../application/models/airtime/om/BaseCcCountry.php | 0 .../models/airtime/om/BaseCcCountryPeer.php | 0 .../models/airtime/om/BaseCcCountryQuery.php | 0 .../application/models/airtime/om/BaseCcFileTag.php | 0 .../models/airtime/om/BaseCcFileTagPeer.php | 0 .../models/airtime/om/BaseCcFileTagQuery.php | 0 .../application/models/airtime/om/BaseCcFiles.php | 0 .../models/airtime/om/BaseCcFilesPeer.php | 0 .../models/airtime/om/BaseCcFilesQuery.php | 0 .../models/airtime/om/BaseCcListenerCount.php | 0 .../models/airtime/om/BaseCcListenerCountPeer.php | 0 .../models/airtime/om/BaseCcListenerCountQuery.php | 0 .../application/models/airtime/om/BaseCcLiveLog.php | 0 .../models/airtime/om/BaseCcLiveLogPeer.php | 0 .../models/airtime/om/BaseCcLiveLogQuery.php | 0 .../application/models/airtime/om/BaseCcLocale.php | 0 .../models/airtime/om/BaseCcLocalePeer.php | 0 .../models/airtime/om/BaseCcLocaleQuery.php | 0 .../models/airtime/om/BaseCcLoginAttempts.php | 0 .../models/airtime/om/BaseCcLoginAttemptsPeer.php | 0 .../models/airtime/om/BaseCcLoginAttemptsQuery.php | 0 .../models/airtime/om/BaseCcMountName.php | 0 .../models/airtime/om/BaseCcMountNamePeer.php | 0 .../models/airtime/om/BaseCcMountNameQuery.php | 0 .../models/airtime/om/BaseCcMusicDirs.php | 0 .../models/airtime/om/BaseCcMusicDirsPeer.php | 0 .../models/airtime/om/BaseCcMusicDirsQuery.php | 0 .../application/models/airtime/om/BaseCcPerms.php | 0 .../models/airtime/om/BaseCcPermsPeer.php | 0 .../models/airtime/om/BaseCcPermsQuery.php | 0 .../models/airtime/om/BaseCcPlaylist.php | 0 .../models/airtime/om/BaseCcPlaylistPeer.php | 0 .../models/airtime/om/BaseCcPlaylistQuery.php | 0 .../models/airtime/om/BaseCcPlaylistcontents.php | 0 .../airtime/om/BaseCcPlaylistcontentsPeer.php | 0 .../airtime/om/BaseCcPlaylistcontentsQuery.php | 0 .../models/airtime/om/BaseCcPlaylistcriteria.php | 0 .../airtime/om/BaseCcPlaylistcriteriaPeer.php | 0 .../airtime/om/BaseCcPlaylistcriteriaQuery.php | 0 .../models/airtime/om/BaseCcPlayoutHistory.php | 0 .../airtime/om/BaseCcPlayoutHistoryMetaData.php | 0 .../airtime/om/BaseCcPlayoutHistoryMetaDataPeer.php | 0 .../om/BaseCcPlayoutHistoryMetaDataQuery.php | 0 .../models/airtime/om/BaseCcPlayoutHistoryPeer.php | 0 .../models/airtime/om/BaseCcPlayoutHistoryQuery.php | 0 .../airtime/om/BaseCcPlayoutHistoryTemplate.php | 0 .../om/BaseCcPlayoutHistoryTemplateField.php | 0 .../om/BaseCcPlayoutHistoryTemplateFieldPeer.php | 0 .../om/BaseCcPlayoutHistoryTemplateFieldQuery.php | 0 .../airtime/om/BaseCcPlayoutHistoryTemplatePeer.php | 0 .../om/BaseCcPlayoutHistoryTemplateQuery.php | 0 .../airtime/om/BaseCcPlayoutHistoryTemplateTag.php | 0 .../om/BaseCcPlayoutHistoryTemplateTagPeer.php | 0 .../om/BaseCcPlayoutHistoryTemplateTagQuery.php | 0 .../application/models/airtime/om/BaseCcPref.php | 0 .../models/airtime/om/BaseCcPrefPeer.php | 0 .../models/airtime/om/BaseCcPrefQuery.php | 0 .../models/airtime/om/BaseCcSchedule.php | 0 .../models/airtime/om/BaseCcSchedulePeer.php | 0 .../models/airtime/om/BaseCcScheduleQuery.php | 0 .../models/airtime/om/BaseCcServiceRegister.php | 0 .../models/airtime/om/BaseCcServiceRegisterPeer.php | 0 .../airtime/om/BaseCcServiceRegisterQuery.php | 0 .../application/models/airtime/om/BaseCcSess.php | 0 .../models/airtime/om/BaseCcSessPeer.php | 0 .../models/airtime/om/BaseCcSessQuery.php | 0 .../application/models/airtime/om/BaseCcShow.php | 0 .../models/airtime/om/BaseCcShowDays.php | 0 .../models/airtime/om/BaseCcShowDaysPeer.php | 0 .../models/airtime/om/BaseCcShowDaysQuery.php | 0 .../models/airtime/om/BaseCcShowHosts.php | 0 .../models/airtime/om/BaseCcShowHostsPeer.php | 0 .../models/airtime/om/BaseCcShowHostsQuery.php | 0 .../models/airtime/om/BaseCcShowInstances.php | 0 .../models/airtime/om/BaseCcShowInstancesPeer.php | 0 .../models/airtime/om/BaseCcShowInstancesQuery.php | 0 .../models/airtime/om/BaseCcShowPeer.php | 0 .../models/airtime/om/BaseCcShowQuery.php | 0 .../models/airtime/om/BaseCcShowRebroadcast.php | 0 .../models/airtime/om/BaseCcShowRebroadcastPeer.php | 0 .../airtime/om/BaseCcShowRebroadcastQuery.php | 0 .../models/airtime/om/BaseCcShowSchedule.php | 0 .../models/airtime/om/BaseCcShowSchedulePeer.php | 0 .../models/airtime/om/BaseCcShowScheduleQuery.php | 0 .../application/models/airtime/om/BaseCcSmemb.php | 0 .../models/airtime/om/BaseCcSmembPeer.php | 0 .../models/airtime/om/BaseCcSmembQuery.php | 0 .../models/airtime/om/BaseCcStreamSetting.php | 0 .../models/airtime/om/BaseCcStreamSettingPeer.php | 0 .../models/airtime/om/BaseCcStreamSettingQuery.php | 0 .../application/models/airtime/om/BaseCcSubjs.php | 0 .../models/airtime/om/BaseCcSubjsPeer.php | 0 .../models/airtime/om/BaseCcSubjsQuery.php | 0 .../models/airtime/om/BaseCcSubjsToken.php | 0 .../models/airtime/om/BaseCcSubjsTokenPeer.php | 0 .../models/airtime/om/BaseCcSubjsTokenQuery.php | 0 .../application/models/airtime/om/BaseCcTag.php | 0 .../application/models/airtime/om/BaseCcTagPeer.php | 0 .../models/airtime/om/BaseCcTagQuery.php | 0 .../models/airtime/om/BaseCcTimestamp.php | 0 .../models/airtime/om/BaseCcTimestampPeer.php | 0 .../models/airtime/om/BaseCcTimestampQuery.php | 0 .../application/models/airtime/om/BaseCcTrans.php | 0 .../models/airtime/om/BaseCcTransPeer.php | 0 .../models/airtime/om/BaseCcTransQuery.php | 0 .../models/airtime/om/BaseCcWebstream.php | 0 .../models/airtime/om/BaseCcWebstreamMetadata.php | 0 .../airtime/om/BaseCcWebstreamMetadataPeer.php | 0 .../airtime/om/BaseCcWebstreamMetadataQuery.php | 0 .../models/airtime/om/BaseCcWebstreamPeer.php | 0 .../models/airtime/om/BaseCcWebstreamQuery.php | 0 .../models/formatters/BitrateFormatter.php | 0 .../models/formatters/LengthFormatter.php | 0 .../models/formatters/SamplerateFormatter.php | 0 .../models/formatters/TimeFilledFormatter.php | 0 .../application/models/tests/0000000000010001 | Bin .../application/models/tests/0000000000010002 | Bin airtime_mvc/application/models/tests/AllTests.php | 0 .../models/tests/SchedulerExportTests.php | 0 .../application/models/tests/SchedulerTests.php | 0 .../application/models/tests/StoredFileTests.php | 0 airtime_mvc/application/models/tests/ex1.mp3 | Bin airtime_mvc/application/models/tests/ex2.ogg | Bin airtime_mvc/application/models/tests/ex2.wav | Bin airtime_mvc/application/models/tests/ex3.wav | Bin .../application/models/tests/exportedPl_lspl.tar | Bin airtime_mvc/application/models/tests/index.php | 0 airtime_mvc/application/models/tests/pdoTest.php | 0 .../application/models/tests/plistEmbedded.xml | 0 airtime_mvc/application/models/tests/populator.php | 0 airtime_mvc/application/models/tests/question.wav | Bin airtime_mvc/application/models/tests/silence.wav | Bin airtime_mvc/application/models/tests/test10001.mp3 | Bin airtime_mvc/application/models/tests/test10002.mp3 | Bin airtime_mvc/application/models/tests/test10003.mp3 | Bin airtime_mvc/application/models/tests/wstream1.xml | 0 .../application/services/CalendarService.php | 0 airtime_mvc/application/services/HistoryService.php | 0 .../application/services/SchedulerService.php | 0 .../application/services/ShowFormService.php | 0 airtime_mvc/application/services/ShowService.php | 0 airtime_mvc/application/services/UserService.php | 0 .../application/validate/NotDemoValidate.php | 0 .../application/validate/UserNameValidate.php | 0 airtime_mvc/application/views/helpers/IsTrial.php | 0 .../application/views/helpers/LoggedInAs.php | 0 .../views/helpers/SourceConnectionStatus.php | 0 .../views/helpers/SourceSwitchStatus.php | 0 .../application/views/helpers/TrialRemaining.php | 0 .../application/views/helpers/VersionNotify.php | 0 .../views/scripts/airtime-recorder/index.phtml | 0 .../views/scripts/api/list-all-files.phtml | 0 .../application/views/scripts/api/status.phtml | 0 .../views/scripts/audiopreview/audio-preview.phtml | 0 .../application/views/scripts/dashboard/about.phtml | 0 .../application/views/scripts/dashboard/help.phtml | 0 .../application/views/scripts/dashboard/index.phtml | 0 .../views/scripts/dashboard/stream-player.phtml | 0 .../application/views/scripts/error/denied.phtml | 0 .../application/views/scripts/error/error.phtml | 0 .../views/scripts/form/add-show-block.phtml | 0 .../views/scripts/form/add-show-live-stream.phtml | 0 .../form/add-show-rebroadcast-absolute.phtml | 0 .../views/scripts/form/add-show-rebroadcast.phtml | 0 .../views/scripts/form/add-show-style.phtml | 0 .../views/scripts/form/add-show-what.phtml | 0 .../views/scripts/form/add-show-when.phtml | 0 .../application/views/scripts/form/daterange.phtml | 0 .../views/scripts/form/edit-history-file.phtml | 0 .../views/scripts/form/edit-history-item.phtml | 0 .../application/views/scripts/form/edit-user.phtml | 0 .../application/views/scripts/form/login.phtml | 0 .../views/scripts/form/password-change.phtml | 0 .../views/scripts/form/password-restore.phtml | 0 .../views/scripts/form/preferences.phtml | 0 .../scripts/form/preferences_email_server.phtml | 0 .../views/scripts/form/preferences_general.phtml | 0 .../views/scripts/form/preferences_livestream.phtml | 0 .../views/scripts/form/preferences_soundcloud.phtml | 0 .../scripts/form/preferences_watched_dirs.phtml | 0 .../views/scripts/form/register-dialog.phtml | 0 .../views/scripts/form/showbuilder.phtml | 0 .../views/scripts/form/smart-block-criteria.phtml | 0 .../views/scripts/form/stream-setting-form.phtml | 0 .../views/scripts/form/support-setting.phtml | 0 .../application/views/scripts/index/display.phtml | 0 .../application/views/scripts/index/index.phtml | 0 .../application/views/scripts/index/main.phtml | 0 .../application/views/scripts/index/newfield.phtml | 0 .../views/scripts/library/edit-file-md.phtml | 0 .../scripts/library/get-file-metadata.ajax.phtml | 0 .../application/views/scripts/library/index.phtml | 0 .../application/views/scripts/library/library.phtml | 0 .../views/scripts/listenerstat/index.phtml | 0 .../application/views/scripts/login/index.phtml | 0 .../application/views/scripts/login/logout.phtml | 0 .../views/scripts/login/password-change.phtml | 0 .../scripts/login/password-restore-after.phtml | 0 .../views/scripts/login/password-restore.phtml | 0 airtime_mvc/application/views/scripts/menu.phtml | 0 .../views/scripts/partialviews/header.phtml | 0 .../views/scripts/partialviews/trialBox.phtml | 0 .../views/scripts/playlist/playlist.phtml | 0 .../views/scripts/playlist/set-cue.phtml | 0 .../views/scripts/playlist/set-fade.phtml | 0 .../views/scripts/playlist/smart-block.phtml | 0 .../application/views/scripts/playlist/update.phtml | 0 .../views/scripts/playouthistory/dialog.phtml | 0 .../views/scripts/playouthistory/index.phtml | 0 .../playouthistorytemplate/configure-template.phtml | 0 .../scripts/playouthistorytemplate/index.phtml | 0 .../playouthistorytemplate/template-contents.phtml | 0 .../application/views/scripts/plupload/index.phtml | 0 .../application/views/scripts/plupload/upload.phtml | 0 .../views/scripts/preference/directory-config.phtml | 0 .../views/scripts/preference/index.phtml | 0 .../views/scripts/preference/stream-setting.phtml | 0 .../views/scripts/preference/support-setting.phtml | 0 .../views/scripts/recorder/get-show-schedule.phtml | 0 .../application/views/scripts/recorder/index.phtml | 0 .../views/scripts/schedule/add-show-form.phtml | 0 .../views/scripts/schedule/add-show.phtml | 0 .../scripts/schedule/cancel-current-show.phtml | 0 .../views/scripts/schedule/cancel-show.phtml | 0 .../views/scripts/schedule/clear-show.phtml | 0 .../views/scripts/schedule/delete-show.phtml | 0 .../views/scripts/schedule/edit-show.phtml | 0 .../views/scripts/schedule/event-feed.phtml | 0 .../scripts/schedule/get-current-playlist.phtml | 0 .../views/scripts/schedule/get-form.phtml | 0 .../views/scripts/schedule/get-show-data.phtml | 0 .../application/views/scripts/schedule/index.phtml | 0 .../views/scripts/schedule/make-context-menu.phtml | 0 .../views/scripts/schedule/move-show.phtml | 0 .../views/scripts/schedule/remove-group.phtml | 0 .../views/scripts/schedule/resize-show.phtml | 0 .../views/scripts/schedule/schedule-show.phtml | 0 .../scripts/schedule/show-content-dialog.phtml | 0 .../views/scripts/schedule/show-list.phtml | 0 .../views/scripts/showbuilder/builderDialog.phtml | 0 .../views/scripts/showbuilder/index.phtml | 0 .../views/scripts/systemstatus/get-log-file.phtml | 0 .../views/scripts/systemstatus/index.phtml | 0 .../application/views/scripts/user/add-user.phtml | 0 .../application/views/scripts/user/edit-user.phtml | 0 .../application/views/scripts/user/get-hosts.phtml | 0 .../scripts/user/get-user-data-table-info.phtml | 0 .../views/scripts/user/get-user-data.phtml | 0 .../application/views/scripts/user/index.phtml | 0 .../views/scripts/user/remove-user.phtml | 0 .../views/scripts/webstream/webstream.phtml | 0 airtime_mvc/build/airtime-php.logrotate | 0 .../build/airtime-setup/forms/database-settings.php | 0 .../build/airtime-setup/forms/finish-settings.php | 0 .../build/airtime-setup/forms/general-settings.php | 0 .../build/airtime-setup/forms/media-settings.php | 0 .../build/airtime-setup/forms/rabbitmq-settings.php | 0 airtime_mvc/build/airtime-setup/load.php | 0 airtime_mvc/build/airtime-setup/setup-config.php | 0 airtime_mvc/build/airtime.example.conf | 0 airtime_mvc/build/build.properties | 0 airtime_mvc/build/runtime-conf.xml | 0 airtime_mvc/build/schema.xml | 0 airtime_mvc/build/sql/defaultdata.sql | 0 airtime_mvc/build/sql/schema.sql | 0 airtime_mvc/build/sql/sequences.sql | 0 airtime_mvc/build/sql/sqldb.map | 0 airtime_mvc/build/sql/triggers.sql | 0 airtime_mvc/build/sql/views.sql | 0 .../library/ZFDebug/Controller/Plugin/Debug.php | 0 .../ZFDebug/Controller/Plugin/Debug/Plugin.php | 0 .../ZFDebug/Controller/Plugin/Debug/Plugin/Auth.php | 0 .../Controller/Plugin/Debug/Plugin/Cache.php | 0 .../Controller/Plugin/Debug/Plugin/Database.php | 0 .../Controller/Plugin/Debug/Plugin/Exception.php | 0 .../ZFDebug/Controller/Plugin/Debug/Plugin/File.php | 0 .../ZFDebug/Controller/Plugin/Debug/Plugin/Html.php | 0 .../Controller/Plugin/Debug/Plugin/Interface.php | 0 .../Controller/Plugin/Debug/Plugin/Memory.php | 0 .../Controller/Plugin/Debug/Plugin/Registry.php | 0 .../ZFDebug/Controller/Plugin/Debug/Plugin/Text.php | 0 .../ZFDebug/Controller/Plugin/Debug/Plugin/Time.php | 0 .../Controller/Plugin/Debug/Plugin/Variables.php | 0 .../doctrine/migrations/doctrine-migrations.phar | Bin .../library/doctrine/migrations/migrations-db.php | 0 airtime_mvc/library/phing/BuildEvent.php | 0 airtime_mvc/library/phing/BuildException.php | 0 airtime_mvc/library/phing/BuildListener.php | 0 airtime_mvc/library/phing/BuildLogger.php | 0 .../library/phing/ConfigurationException.php | 0 airtime_mvc/library/phing/IntrospectionHelper.php | 0 airtime_mvc/library/phing/LICENSE | 0 airtime_mvc/library/phing/Phing.php | 0 airtime_mvc/library/phing/Project.php | 0 airtime_mvc/library/phing/ProjectComponent.php | 0 airtime_mvc/library/phing/RuntimeConfigurable.php | 0 airtime_mvc/library/phing/Target.php | 0 airtime_mvc/library/phing/Task.php | 0 airtime_mvc/library/phing/TaskAdapter.php | 0 airtime_mvc/library/phing/TaskContainer.php | 0 airtime_mvc/library/phing/UnknownElement.php | 0 .../library/phing/filters/BaseFilterReader.php | 0 .../library/phing/filters/BaseParamFilterReader.php | 0 .../library/phing/filters/ChainableReader.php | 0 .../library/phing/filters/ExpandProperties.php | 0 airtime_mvc/library/phing/filters/HeadFilter.php | 0 airtime_mvc/library/phing/filters/LineContains.php | 0 .../library/phing/filters/LineContainsRegexp.php | 0 airtime_mvc/library/phing/filters/PrefixLines.php | 0 airtime_mvc/library/phing/filters/ReplaceRegexp.php | 0 airtime_mvc/library/phing/filters/ReplaceTokens.php | 0 .../library/phing/filters/ReplaceTokensWithFile.php | 0 .../library/phing/filters/StripLineBreaks.php | 0 .../library/phing/filters/StripLineComments.php | 0 .../library/phing/filters/StripPhpComments.php | 0 .../library/phing/filters/StripWhitespace.php | 0 airtime_mvc/library/phing/filters/TabToSpaces.php | 0 airtime_mvc/library/phing/filters/TailFilter.php | 0 airtime_mvc/library/phing/filters/TidyFilter.php | 0 .../library/phing/filters/TranslateGettext.php | 0 .../library/phing/filters/XincludeFilter.php | 0 airtime_mvc/library/phing/filters/XsltFilter.php | 0 .../phing/filters/util/ChainReaderHelper.php | 0 .../phing/filters/util/IniFileTokenReader.php | 0 .../library/phing/input/DefaultInputHandler.php | 0 airtime_mvc/library/phing/input/InputHandler.php | 0 airtime_mvc/library/phing/input/InputRequest.php | 0 .../phing/input/MultipleChoiceInputRequest.php | 0 .../library/phing/input/YesNoInputRequest.php | 0 airtime_mvc/library/phing/lib/Capsule.php | 0 .../library/phing/listener/AnsiColorLogger.php | 0 .../library/phing/listener/DefaultLogger.php | 0 .../library/phing/listener/NoBannerLogger.php | 0 .../library/phing/listener/PearLogListener.php | 0 .../phing/listener/StreamRequiredBuildLogger.php | 0 airtime_mvc/library/phing/listener/XmlLogger.php | 0 .../library/phing/mappers/FileNameMapper.php | 0 airtime_mvc/library/phing/mappers/FlattenMapper.php | 0 airtime_mvc/library/phing/mappers/GlobMapper.php | 0 .../library/phing/mappers/IdentityMapper.php | 0 airtime_mvc/library/phing/mappers/MergeMapper.php | 0 airtime_mvc/library/phing/mappers/RegexpMapper.php | 0 .../library/phing/parser/AbstractHandler.php | 0 .../library/phing/parser/AbstractSAXParser.php | 0 .../library/phing/parser/DataTypeHandler.php | 0 .../library/phing/parser/ExpatParseException.php | 0 airtime_mvc/library/phing/parser/ExpatParser.php | 0 airtime_mvc/library/phing/parser/Location.php | 0 .../library/phing/parser/NestedElementHandler.php | 0 .../library/phing/parser/PhingXMLContext.php | 0 .../library/phing/parser/ProjectConfigurator.php | 0 airtime_mvc/library/phing/parser/ProjectHandler.php | 0 airtime_mvc/library/phing/parser/RootHandler.php | 0 airtime_mvc/library/phing/parser/TargetHandler.php | 0 airtime_mvc/library/phing/parser/TaskHandler.php | 0 .../library/phing/system/io/BufferedReader.php | 0 .../library/phing/system/io/BufferedWriter.php | 0 .../library/phing/system/io/ConsoleReader.php | 0 .../library/phing/system/io/FileInputStream.php | 0 .../library/phing/system/io/FileOutputStream.php | 0 airtime_mvc/library/phing/system/io/FileReader.php | 0 airtime_mvc/library/phing/system/io/FileSystem.php | 0 airtime_mvc/library/phing/system/io/FileWriter.php | 0 .../library/phing/system/io/FilterReader.php | 0 airtime_mvc/library/phing/system/io/IOException.php | 0 airtime_mvc/library/phing/system/io/InputStream.php | 0 .../library/phing/system/io/InputStreamReader.php | 0 .../library/phing/system/io/OutputStream.php | 0 .../library/phing/system/io/OutputStreamWriter.php | 0 airtime_mvc/library/phing/system/io/PhingFile.php | 0 airtime_mvc/library/phing/system/io/Reader.php | 0 .../library/phing/system/io/StringReader.php | 0 .../library/phing/system/io/UnixFileSystem.php | 0 .../library/phing/system/io/Win32FileSystem.php | 0 .../library/phing/system/io/WinNTFileSystem.php | 0 airtime_mvc/library/phing/system/io/Writer.php | 0 airtime_mvc/library/phing/system/lang/Character.php | 0 .../library/phing/system/lang/EventObject.php | 0 .../phing/system/lang/FileNotFoundException.php | 0 .../phing/system/lang/NullPointerException.php | 0 .../library/phing/system/lang/SecurityException.php | 0 .../library/phing/system/util/Properties.php | 0 airtime_mvc/library/phing/system/util/Register.php | 0 airtime_mvc/library/phing/system/util/Timer.php | 0 airtime_mvc/library/phing/tasks/ext/CapsuleTask.php | 0 .../phing/tasks/ext/ExportPropertiesTask.php | 0 .../library/phing/tasks/ext/ExtractBaseTask.php | 0 .../library/phing/tasks/ext/FileHashTask.php | 0 .../library/phing/tasks/ext/FileSizeTask.php | 0 .../library/phing/tasks/ext/FtpDeployTask.php | 0 .../library/phing/tasks/ext/HttpRequestTask.php | 0 airtime_mvc/library/phing/tasks/ext/JslLintTask.php | 0 airtime_mvc/library/phing/tasks/ext/MailTask.php | 0 .../library/phing/tasks/ext/ManifestTask.php | 0 .../library/phing/tasks/ext/PackageAsPathTask.php | 0 airtime_mvc/library/phing/tasks/ext/PatchTask.php | 0 .../library/phing/tasks/ext/PearPackage2Task.php | 0 .../library/phing/tasks/ext/PearPackageTask.php | 0 .../library/phing/tasks/ext/PhpCodeSnifferTask.php | 0 airtime_mvc/library/phing/tasks/ext/PhpLintTask.php | 0 .../library/phing/tasks/ext/ReplaceRegexpTask.php | 0 airtime_mvc/library/phing/tasks/ext/ScpTask.php | 0 airtime_mvc/library/phing/tasks/ext/SmartyTask.php | 0 airtime_mvc/library/phing/tasks/ext/SshTask.php | 0 airtime_mvc/library/phing/tasks/ext/TarTask.php | 0 airtime_mvc/library/phing/tasks/ext/UntarTask.php | 0 airtime_mvc/library/phing/tasks/ext/UnzipTask.php | 0 airtime_mvc/library/phing/tasks/ext/VersionTask.php | 0 airtime_mvc/library/phing/tasks/ext/XmlLintTask.php | 0 .../library/phing/tasks/ext/XmlPropertyTask.php | 0 .../phing/tasks/ext/ZendCodeAnalyzerTask.php | 0 airtime_mvc/library/phing/tasks/ext/ZipTask.php | 0 .../phing/tasks/ext/coverage/CoverageMerger.php | 0 .../phing/tasks/ext/coverage/CoverageMergerTask.php | 0 .../phing/tasks/ext/coverage/CoverageReportTask.php | 0 .../ext/coverage/CoverageReportTransformer.php | 0 .../phing/tasks/ext/coverage/CoverageSetupTask.php | 0 .../tasks/ext/coverage/CoverageThresholdTask.php | 0 .../phing/tasks/ext/creole/CreoleSQLExecTask.php | 0 .../library/phing/tasks/ext/creole/CreoleTask.php | 0 .../phing/tasks/ext/dbdeploy/DbDeployTask.php | 0 .../library/phing/tasks/ext/dbdeploy/DbmsSyntax.php | 0 .../phing/tasks/ext/dbdeploy/DbmsSyntaxFactory.php | 0 .../phing/tasks/ext/dbdeploy/DbmsSyntaxMsSql.php | 0 .../phing/tasks/ext/dbdeploy/DbmsSyntaxMysql.php | 0 .../phing/tasks/ext/dbdeploy/DbmsSyntaxSQLite.php | 0 .../phing/tasks/ext/ioncube/IoncubeComment.php | 0 .../phing/tasks/ext/ioncube/IoncubeEncoderTask.php | 0 .../phing/tasks/ext/ioncube/IoncubeLicenseTask.php | 0 airtime_mvc/library/phing/tasks/ext/jsmin/JsMin.php | 0 .../library/phing/tasks/ext/jsmin/JsMinTask.php | 0 .../tasks/ext/pdepend/PhpDependAnalyzerElement.php | 0 .../tasks/ext/pdepend/PhpDependLoggerElement.php | 0 .../phing/tasks/ext/pdepend/PhpDependTask.php | 0 .../phing/tasks/ext/pdo/PDOResultFormatter.php | 0 .../tasks/ext/pdo/PDOSQLExecFormatterElement.php | 0 .../library/phing/tasks/ext/pdo/PDOSQLExecTask.php | 0 airtime_mvc/library/phing/tasks/ext/pdo/PDOTask.php | 0 .../phing/tasks/ext/pdo/PlainPDOResultFormatter.php | 0 .../phing/tasks/ext/pdo/XMLPDOResultFormatter.php | 0 .../library/phing/tasks/ext/pearpackage/Fileset.php | 0 .../phing/tasks/ext/phar/IterableFileSet.php | 0 .../library/phing/tasks/ext/phar/PharMetadata.php | 0 .../phing/tasks/ext/phar/PharMetadataElement.php | 0 .../phing/tasks/ext/phar/PharPackageTask.php | 0 .../library/phing/tasks/ext/phk/PhkPackageTask.php | 0 .../phing/tasks/ext/phk/PhkPackageWebAccess.php | 0 .../phing/tasks/ext/phk/PhkPackageWebAccessPath.php | 0 .../tasks/ext/phpcpd/PHPCPDFormatterElement.php | 0 .../library/phing/tasks/ext/phpcpd/PHPCPDTask.php | 0 .../formatter/DefaultPHPCPDResultFormatter.php | 0 .../ext/phpcpd/formatter/PHPCPDResultFormatter.php | 0 .../phpcpd/formatter/PMDPHPCPDResultFormatter.php | 0 .../tasks/ext/phpdoc/PhingPhpDocumentorSetup.php | 0 .../tasks/ext/phpdoc/PhpDocumentorExternalTask.php | 0 .../phing/tasks/ext/phpdoc/PhpDocumentorTask.php | 0 .../phing/tasks/ext/phpmd/PHPMDFormatterElement.php | 0 .../library/phing/tasks/ext/phpmd/PHPMDTask.php | 0 .../library/phing/tasks/ext/phpunit/BatchTest.php | 0 .../phing/tasks/ext/phpunit/FormatterElement.php | 0 .../phing/tasks/ext/phpunit/PHPUnitReportTask.php | 0 .../library/phing/tasks/ext/phpunit/PHPUnitTask.php | 0 .../phing/tasks/ext/phpunit/PHPUnitTestRunner.php | 0 .../library/phing/tasks/ext/phpunit/PHPUnitUtil.php | 0 .../formatter/CloverPHPUnitResultFormatter.php | 0 .../phpunit/formatter/PHPUnitResultFormatter.php | 0 .../formatter/PlainPHPUnitResultFormatter.php | 0 .../formatter/SummaryPHPUnitResultFormatter.php | 0 .../phpunit/formatter/XMLPHPUnitResultFormatter.php | 0 .../simpletest/SimpleTestCountResultFormatter.php | 0 .../simpletest/SimpleTestDebugResultFormatter.php | 0 .../ext/simpletest/SimpleTestFormatterElement.php | 0 .../simpletest/SimpleTestPlainResultFormatter.php | 0 .../ext/simpletest/SimpleTestResultFormatter.php | 0 .../simpletest/SimpleTestSummaryResultFormatter.php | 0 .../phing/tasks/ext/simpletest/SimpleTestTask.php | 0 .../ext/simpletest/SimpleTestXmlResultFormatter.php | 0 .../library/phing/tasks/ext/svn/SvnBaseTask.php | 0 .../library/phing/tasks/ext/svn/SvnCheckoutTask.php | 0 .../library/phing/tasks/ext/svn/SvnCommitTask.php | 0 .../library/phing/tasks/ext/svn/SvnCopyTask.php | 0 .../library/phing/tasks/ext/svn/SvnExportTask.php | 0 .../phing/tasks/ext/svn/SvnLastRevisionTask.php | 0 .../library/phing/tasks/ext/svn/SvnUpdateTask.php | 0 .../library/phing/tasks/system/AdhocTask.php | 0 .../library/phing/tasks/system/AdhocTaskdefTask.php | 0 .../library/phing/tasks/system/AdhocTypedefTask.php | 0 .../library/phing/tasks/system/AppendTask.php | 0 .../library/phing/tasks/system/AvailableTask.php | 0 .../library/phing/tasks/system/ChmodTask.php | 0 .../library/phing/tasks/system/ChownTask.php | 0 .../library/phing/tasks/system/ConditionTask.php | 0 airtime_mvc/library/phing/tasks/system/CopyTask.php | 0 .../library/phing/tasks/system/CvsPassTask.php | 0 airtime_mvc/library/phing/tasks/system/CvsTask.php | 0 .../library/phing/tasks/system/DeleteTask.php | 0 airtime_mvc/library/phing/tasks/system/EchoTask.php | 0 airtime_mvc/library/phing/tasks/system/ExecTask.php | 0 airtime_mvc/library/phing/tasks/system/ExitTask.php | 0 .../library/phing/tasks/system/ForeachTask.php | 0 airtime_mvc/library/phing/tasks/system/IfTask.php | 0 .../library/phing/tasks/system/ImportTask.php | 0 .../library/phing/tasks/system/IncludePathTask.php | 0 .../library/phing/tasks/system/InputTask.php | 0 .../library/phing/tasks/system/MatchingTask.php | 0 .../library/phing/tasks/system/MkdirTask.php | 0 airtime_mvc/library/phing/tasks/system/MoveTask.php | 0 .../library/phing/tasks/system/PhingCallTask.php | 0 .../library/phing/tasks/system/PhingTask.php | 0 .../library/phing/tasks/system/PhpEvalTask.php | 0 .../phing/tasks/system/PropertyPromptTask.php | 0 .../library/phing/tasks/system/PropertyTask.php | 0 .../library/phing/tasks/system/ReflexiveTask.php | 0 .../library/phing/tasks/system/ResolvePathTask.php | 0 .../library/phing/tasks/system/SequentialTask.php | 0 .../library/phing/tasks/system/TaskdefTask.php | 0 .../library/phing/tasks/system/TouchTask.php | 0 .../library/phing/tasks/system/TstampTask.php | 0 .../library/phing/tasks/system/TypedefTask.php | 0 .../library/phing/tasks/system/UpToDateTask.php | 0 airtime_mvc/library/phing/tasks/system/WarnTask.php | 0 airtime_mvc/library/phing/tasks/system/XsltTask.php | 0 .../phing/tasks/system/condition/AndCondition.php | 0 .../phing/tasks/system/condition/Condition.php | 0 .../phing/tasks/system/condition/ConditionBase.php | 0 .../tasks/system/condition/ContainsCondition.php | 0 .../tasks/system/condition/EqualsCondition.php | 0 .../tasks/system/condition/IsFalseCondition.php | 0 .../phing/tasks/system/condition/IsSetCondition.php | 0 .../tasks/system/condition/IsTrueCondition.php | 0 .../phing/tasks/system/condition/NotCondition.php | 0 .../phing/tasks/system/condition/OrCondition.php | 0 .../phing/tasks/system/condition/OsCondition.php | 0 .../system/condition/ReferenceExistsCondition.php | 0 airtime_mvc/library/phing/types/AbstractFileSet.php | 0 airtime_mvc/library/phing/types/Commandline.php | 0 airtime_mvc/library/phing/types/DataType.php | 0 airtime_mvc/library/phing/types/Description.php | 0 airtime_mvc/library/phing/types/DirSet.php | 0 airtime_mvc/library/phing/types/FileList.php | 0 airtime_mvc/library/phing/types/FileSet.php | 0 airtime_mvc/library/phing/types/FilterChain.php | 0 airtime_mvc/library/phing/types/Mapper.php | 0 airtime_mvc/library/phing/types/Parameter.php | 0 airtime_mvc/library/phing/types/Parameterizable.php | 0 airtime_mvc/library/phing/types/Path.php | 0 airtime_mvc/library/phing/types/PatternSet.php | 0 .../library/phing/types/PhingFilterReader.php | 0 airtime_mvc/library/phing/types/Reference.php | 0 .../library/phing/types/RegularExpression.php | 0 airtime_mvc/library/phing/types/TokenReader.php | 0 airtime_mvc/library/phing/types/TokenSource.php | 0 .../library/phing/types/selectors/AndSelector.php | 0 .../phing/types/selectors/BaseExtendSelector.php | 0 .../library/phing/types/selectors/BaseSelector.php | 0 .../phing/types/selectors/BaseSelectorContainer.php | 0 .../types/selectors/ContainsRegexpSelector.php | 0 .../phing/types/selectors/ContainsSelector.php | 0 .../library/phing/types/selectors/DateSelector.php | 0 .../phing/types/selectors/DependSelector.php | 0 .../library/phing/types/selectors/DepthSelector.php | 0 .../phing/types/selectors/ExtendFileSelector.php | 0 .../phing/types/selectors/ExtendSelector.php | 0 .../library/phing/types/selectors/FileSelector.php | 0 .../phing/types/selectors/FilenameSelector.php | 0 .../phing/types/selectors/MajoritySelector.php | 0 .../library/phing/types/selectors/NoneSelector.php | 0 .../library/phing/types/selectors/NotSelector.php | 0 .../library/phing/types/selectors/OrSelector.php | 0 .../phing/types/selectors/PresentSelector.php | 0 .../phing/types/selectors/SelectSelector.php | 0 .../phing/types/selectors/SelectorContainer.php | 0 .../phing/types/selectors/SelectorScanner.php | 0 .../library/phing/types/selectors/SelectorUtils.php | 0 .../library/phing/types/selectors/SizeSelector.php | 0 .../library/phing/types/selectors/TypeSelector.php | 0 airtime_mvc/library/phing/util/DataStore.php | 0 airtime_mvc/library/phing/util/DirectoryScanner.php | 0 .../library/phing/util/ExtendedFileStream.php | 0 airtime_mvc/library/phing/util/FileUtils.php | 0 airtime_mvc/library/phing/util/LogWriter.php | 0 airtime_mvc/library/phing/util/PathTokenizer.php | 0 .../library/phing/util/SourceFileScanner.php | 0 airtime_mvc/library/phing/util/StringHelper.php | 0 .../library/phing/util/regexp/PregEngine.php | 0 airtime_mvc/library/phing/util/regexp/Regexp.php | 0 .../library/phing/util/regexp/RegexpEngine.php | 0 airtime_mvc/library/php-amqplib/CREDITS | 0 airtime_mvc/library/php-amqplib/LICENSE | 0 airtime_mvc/library/php-amqplib/README.md | 0 airtime_mvc/library/php-amqplib/amqp.inc | 0 airtime_mvc/library/php-amqplib/amqp_receive.php | 0 airtime_mvc/library/php-amqplib/amqp_test.php | 0 airtime_mvc/library/php-amqplib/amqp_wire.inc | 0 airtime_mvc/library/php-amqplib/hexdump.inc | 0 airtime_mvc/library/propel/CHANGELOG | 0 airtime_mvc/library/propel/INSTALL | 0 airtime_mvc/library/propel/LICENSE | 0 airtime_mvc/library/propel/WHATS_NEW | 0 .../propel/contrib/dbd2propel/dbd2propel.xsl | 0 .../library/propel/contrib/dbd2propel/transform.php | 0 airtime_mvc/library/propel/contrib/pat/patForms.php | 0 .../contrib/pat/patForms/Creator/Definition.php | 0 .../propel/contrib/pat/patForms/Creator/Propel.php | 0 .../pat/patForms/Creator/_propel_creator_test.php | 0 .../contrib/pat/patForms/Datasource/Propel.php | 0 .../propel/contrib/pat/patForms/Definition.php | 0 .../contrib/pat/patForms/Definition/Propel.php | 0 .../library/propel/contrib/pat/patForms/Element.php | 0 .../library/propel/contrib/pat/patForms/Rule.php | 0 .../propel/contrib/pat/patForms/Rule/Match.php | 0 .../propel/contrib/pat/patForms/Rule/MaxLength.php | 0 .../propel/contrib/pat/patForms/Rule/MaxValue.php | 0 .../propel/contrib/pat/patForms/Rule/MinLength.php | 0 .../propel/contrib/pat/patForms/Rule/MinValue.php | 0 .../propel/contrib/pat/patForms/Rule/NotMatch.php | 0 .../contrib/pat/patForms/Rule/ValidValues.php | 0 .../propel/contrib/pat/patForms/Storage/Propel.php | 0 .../contrib/pat/patForms/res/form.dynamic.tpl | 0 .../pat/patForms/res/mysql-dump.bookstore.sql | 0 .../contrib/pat/patForms_Storage_Propel_test.php | 0 .../library/propel/contrib/pat/patTemplate.php | 0 .../contrib/pear/HTML_QuickForm_Propel/Propel.php | 0 .../pear/Structures_DataGrid_Propel/Propel.php | 0 .../propel/docs/behavior/aggregate_column.txt | 0 .../docs/behavior/alternative_coding_standards.txt | 0 .../library/propel/docs/behavior/auto_add_pk.txt | 0 .../library/propel/docs/behavior/nested_set.txt | 0 .../library/propel/docs/behavior/query_cache.txt | 0 .../library/propel/docs/behavior/sluggable.txt | 0 .../library/propel/docs/behavior/soft_delete.txt | 0 .../library/propel/docs/behavior/sortable.txt | 0 .../library/propel/docs/behavior/timestampable.txt | 0 airtime_mvc/library/propel/docs/build.xml | 0 .../library/propel/docs/cookbook/Add-Custom-SQL.txt | 0 .../propel/docs/cookbook/Copying-Objects.txt | 0 .../propel/docs/cookbook/Customizing-Build.txt | 0 .../propel/docs/cookbook/Existing-Database.txt | 0 .../library/propel/docs/cookbook/LOB-Columns.txt | 0 .../library/propel/docs/cookbook/Master-Slave.txt | 0 .../propel/docs/cookbook/Multi-Component.txt | 0 .../library/propel/docs/cookbook/Namespaces.txt | 0 .../library/propel/docs/cookbook/Nested-Set.txt | 0 .../propel/docs/cookbook/Runtime-Introspection.txt | 0 .../propel/docs/cookbook/Writing-Behavior.txt | 0 .../library/propel/docs/guide/01-Installation.txt | 0 .../library/propel/docs/guide/02-BuildTime.txt | 0 .../library/propel/docs/guide/03-Basic-CRUD.txt | 0 .../library/propel/docs/guide/04-Relationships.txt | 0 .../library/propel/docs/guide/05-Validators.txt | 0 .../library/propel/docs/guide/06-Transactions.txt | 0 .../library/propel/docs/guide/07-Behaviors.txt | 0 .../library/propel/docs/guide/08-Logging.txt | 0 .../library/propel/docs/guide/09-Inheritance.txt | 0 .../docs/reference/Buildtime-Configuration.txt | 0 .../library/propel/docs/reference/ModelCriteria.txt | 0 .../propel/docs/reference/Runtime-Configuration.txt | 0 .../library/propel/docs/reference/Schema.txt | 0 .../library/propel/generator/build-propel.xml | 0 .../propel/generator/build.properties-sample | 0 airtime_mvc/library/propel/generator/build.xml | 0 .../library/propel/generator/build.xml-local | 0 .../library/propel/generator/default.properties | 0 .../behavior/AlternativeCodingStandardsBehavior.php | 0 .../generator/lib/behavior/AutoAddPkBehavior.php | 0 .../generator/lib/behavior/SoftDeleteBehavior.php | 0 .../lib/behavior/TimestampableBehavior.php | 0 .../aggregate_column/AggregateColumnBehavior.php | 0 .../AggregateColumnRelationBehavior.php | 0 .../aggregate_column/templates/objectCompute.php | 0 .../aggregate_column/templates/objectUpdate.php | 0 .../templates/objectUpdateRelated.php | 0 .../aggregate_column/templates/queryFindRelated.php | 0 .../templates/queryUpdateRelated.php | 0 .../ConcreteInheritanceBehavior.php | 0 .../ConcreteInheritanceParentBehavior.php | 0 .../lib/behavior/nestedset/NestedSetBehavior.php | 0 .../NestedSetBehaviorObjectBuilderModifier.php | 0 .../NestedSetBehaviorPeerBuilderModifier.php | 0 .../NestedSetBehaviorQueryBuilderModifier.php | 0 .../lib/behavior/query_cache/QueryCacheBehavior.php | 0 .../lib/behavior/sluggable/SluggableBehavior.php | 0 .../lib/behavior/sortable/SortableBehavior.php | 0 .../SortableBehaviorObjectBuilderModifier.php | 0 .../SortableBehaviorPeerBuilderModifier.php | 0 .../SortableBehaviorQueryBuilderModifier.php | 0 .../generator/lib/builder/DataModelBuilder.php | 0 .../propel/generator/lib/builder/om/ClassTools.php | 0 .../lib/builder/om/ExtensionQueryBuilder.php | 0 .../builder/om/ExtensionQueryInheritanceBuilder.php | 0 .../propel/generator/lib/builder/om/OMBuilder.php | 0 .../generator/lib/builder/om/ObjectBuilder.php | 0 .../lib/builder/om/PHP5ExtensionNodeBuilder.php | 0 .../lib/builder/om/PHP5ExtensionNodePeerBuilder.php | 0 .../lib/builder/om/PHP5ExtensionObjectBuilder.php | 0 .../lib/builder/om/PHP5ExtensionPeerBuilder.php | 0 .../lib/builder/om/PHP5InterfaceBuilder.php | 0 .../lib/builder/om/PHP5MultiExtendObjectBuilder.php | 0 .../lib/builder/om/PHP5NestedSetBuilder.php | 0 .../lib/builder/om/PHP5NestedSetPeerBuilder.php | 0 .../generator/lib/builder/om/PHP5NodeBuilder.php | 0 .../lib/builder/om/PHP5NodePeerBuilder.php | 0 .../generator/lib/builder/om/PHP5ObjectBuilder.php | 0 .../builder/om/PHP5ObjectNoCollectionBuilder.php | 0 .../generator/lib/builder/om/PHP5PeerBuilder.php | 0 .../lib/builder/om/PHP5TableMapBuilder.php | 0 .../propel/generator/lib/builder/om/PeerBuilder.php | 0 .../generator/lib/builder/om/QueryBuilder.php | 0 .../lib/builder/om/QueryInheritanceBuilder.php | 0 .../propel/generator/lib/builder/sql/DDLBuilder.php | 0 .../generator/lib/builder/sql/DataSQLBuilder.php | 0 .../lib/builder/sql/mssql/MssqlDDLBuilder.php | 0 .../lib/builder/sql/mssql/MssqlDataSQLBuilder.php | 0 .../lib/builder/sql/mysql/MysqlDDLBuilder.php | 0 .../lib/builder/sql/mysql/MysqlDataSQLBuilder.php | 0 .../lib/builder/sql/oracle/OracleDDLBuilder.php | 0 .../lib/builder/sql/oracle/OracleDataSQLBuilder.php | 0 .../lib/builder/sql/pgsql/PgsqlDDLBuilder.php | 0 .../lib/builder/sql/pgsql/PgsqlDataSQLBuilder.php | 0 .../lib/builder/sql/sqlite/SqliteDDLBuilder.php | 0 .../lib/builder/sql/sqlite/SqliteDataSQLBuilder.php | 0 .../lib/builder/util/DefaultEnglishPluralizer.php | 0 .../generator/lib/builder/util/Pluralizer.php | 0 .../lib/builder/util/PropelStringReader.php | 0 .../generator/lib/builder/util/PropelTemplate.php | 0 .../generator/lib/builder/util/XmlToAppData.php | 0 .../generator/lib/builder/util/XmlToDataSQL.php | 0 .../propel/generator/lib/config/GeneratorConfig.php | 0 .../generator/lib/exception/EngineException.php | 0 .../library/propel/generator/lib/model/AppData.php | 0 .../library/propel/generator/lib/model/Behavior.php | 0 .../library/propel/generator/lib/model/Column.php | 0 .../generator/lib/model/ColumnDefaultValue.php | 0 .../generator/lib/model/ConstraintNameGenerator.php | 0 .../library/propel/generator/lib/model/Database.php | 0 .../library/propel/generator/lib/model/Domain.php | 0 .../propel/generator/lib/model/ForeignKey.php | 0 .../library/propel/generator/lib/model/IDMethod.php | 0 .../generator/lib/model/IdMethodParameter.php | 0 .../library/propel/generator/lib/model/Index.php | 0 .../propel/generator/lib/model/Inheritance.php | 0 .../propel/generator/lib/model/NameFactory.php | 0 .../propel/generator/lib/model/NameGenerator.php | 0 .../propel/generator/lib/model/PhpNameGenerator.php | 0 .../propel/generator/lib/model/PropelTypes.php | 0 .../library/propel/generator/lib/model/Rule.php | 0 .../library/propel/generator/lib/model/Table.php | 0 .../library/propel/generator/lib/model/Unique.php | 0 .../propel/generator/lib/model/Validator.php | 0 .../propel/generator/lib/model/VendorInfo.php | 0 .../propel/generator/lib/model/XMLElement.php | 0 .../generator/lib/platform/DefaultPlatform.php | 0 .../propel/generator/lib/platform/MssqlPlatform.php | 0 .../propel/generator/lib/platform/MysqlPlatform.php | 0 .../generator/lib/platform/OraclePlatform.php | 0 .../propel/generator/lib/platform/PgsqlPlatform.php | 0 .../propel/generator/lib/platform/Platform.php | 0 .../generator/lib/platform/SqlitePlatform.php | 0 .../generator/lib/reverse/BaseSchemaParser.php | 0 .../propel/generator/lib/reverse/SchemaParser.php | 0 .../lib/reverse/mssql/MssqlSchemaParser.php | 0 .../lib/reverse/mysql/MysqlSchemaParser.php | 0 .../lib/reverse/oracle/OracleSchemaParser.php | 0 .../lib/reverse/pgsql/PgsqlSchemaParser.php | 0 .../lib/reverse/sqlite/SqliteSchemaParser.php | 0 .../lib/task/AbstractPropelDataModelTask.php | 0 .../generator/lib/task/PropelConvertConfTask.php | 0 .../propel/generator/lib/task/PropelDataDTDTask.php | 0 .../generator/lib/task/PropelDataDumpTask.php | 0 .../lib/task/PropelDataModelTemplateTask.php | 0 .../propel/generator/lib/task/PropelDataSQLTask.php | 0 .../generator/lib/task/PropelGraphvizTask.php | 0 .../propel/generator/lib/task/PropelOMTask.php | 0 .../propel/generator/lib/task/PropelSQLExec.php | 0 .../propel/generator/lib/task/PropelSQLTask.php | 0 .../generator/lib/task/PropelSchemaReverseTask.php | 0 .../pear/BuildPropelGenPEARPackageTask.php | 0 .../propel/generator/pear/build-pear-package.xml | 0 .../library/propel/generator/pear/build.properties | 0 .../library/propel/generator/pear/pear-build.xml | 0 .../propel/generator/pear/pear-propel-gen.bat | 0 .../propel/generator/resources/dtd/database.dtd | 0 .../generator/resources/xsd/custom_datatypes.xsd | 0 .../propel/generator/resources/xsd/database.xsd | 0 .../propel/generator/resources/xsl/database.xsl | 0 airtime_mvc/library/propel/runtime/lib/Propel.php | 0 .../propel/runtime/lib/adapter/DBAdapter.php | 0 .../library/propel/runtime/lib/adapter/DBMSSQL.php | 0 .../library/propel/runtime/lib/adapter/DBMySQL.php | 0 .../library/propel/runtime/lib/adapter/DBNone.php | 0 .../library/propel/runtime/lib/adapter/DBOracle.php | 0 .../propel/runtime/lib/adapter/DBPostgres.php | 0 .../library/propel/runtime/lib/adapter/DBSQLite.php | 0 .../lib/adapter/MSSQL/MssqlDateTime.class.php | 0 .../runtime/lib/adapter/MSSQL/MssqlDebugPDO.php | 0 .../runtime/lib/adapter/MSSQL/MssqlPropelPDO.php | 0 .../lib/collection/PropelArrayCollection.php | 0 .../runtime/lib/collection/PropelCollection.php | 0 .../lib/collection/PropelObjectCollection.php | 0 .../lib/collection/PropelOnDemandCollection.php | 0 .../lib/collection/PropelOnDemandIterator.php | 0 .../runtime/lib/config/PropelConfiguration.php | 0 .../lib/config/PropelConfigurationIterator.php | 0 .../propel/runtime/lib/connection/DebugPDO.php | 0 .../runtime/lib/connection/DebugPDOStatement.php | 0 .../propel/runtime/lib/connection/PropelPDO.php | 0 .../runtime/lib/exception/PropelException.php | 0 .../propel/runtime/lib/formatter/ModelWith.php | 0 .../runtime/lib/formatter/PropelArrayFormatter.php | 0 .../runtime/lib/formatter/PropelFormatter.php | 0 .../runtime/lib/formatter/PropelObjectFormatter.php | 0 .../lib/formatter/PropelOnDemandFormatter.php | 0 .../lib/formatter/PropelStatementFormatter.php | 0 .../propel/runtime/lib/logger/BasicLogger.php | 0 .../propel/runtime/lib/logger/MojaviLogAdapter.php | 0 .../library/propel/runtime/lib/map/ColumnMap.php | 0 .../library/propel/runtime/lib/map/DatabaseMap.php | 0 .../library/propel/runtime/lib/map/RelationMap.php | 0 .../library/propel/runtime/lib/map/TableMap.php | 0 .../library/propel/runtime/lib/map/ValidatorMap.php | 0 .../library/propel/runtime/lib/om/BaseObject.php | 0 .../runtime/lib/om/NestedSetRecursiveIterator.php | 0 .../library/propel/runtime/lib/om/NodeObject.php | 0 .../library/propel/runtime/lib/om/Persistent.php | 0 .../propel/runtime/lib/om/PreOrderNodeIterator.php | 0 .../library/propel/runtime/lib/query/Criteria.php | 0 .../library/propel/runtime/lib/query/Criterion.php | 0 .../propel/runtime/lib/query/CriterionIterator.php | 0 .../library/propel/runtime/lib/query/Join.php | 0 .../propel/runtime/lib/query/ModelCriteria.php | 0 .../propel/runtime/lib/query/ModelCriterion.php | 0 .../library/propel/runtime/lib/query/ModelJoin.php | 0 .../propel/runtime/lib/query/PropelQuery.php | 0 .../library/propel/runtime/lib/util/BasePeer.php | 0 .../library/propel/runtime/lib/util/NodePeer.php | 0 .../propel/runtime/lib/util/PropelAutoloader.php | 0 .../propel/runtime/lib/util/PropelColumnTypes.php | 0 .../runtime/lib/util/PropelConditionalProxy.php | 0 .../propel/runtime/lib/util/PropelDateTime.php | 0 .../propel/runtime/lib/util/PropelModelPager.php | 0 .../library/propel/runtime/lib/util/PropelPager.php | 0 .../propel/runtime/lib/validator/BasicValidator.php | 0 .../propel/runtime/lib/validator/MatchValidator.php | 0 .../runtime/lib/validator/MaxLengthValidator.php | 0 .../runtime/lib/validator/MaxValueValidator.php | 0 .../runtime/lib/validator/MinLengthValidator.php | 0 .../runtime/lib/validator/MinValueValidator.php | 0 .../runtime/lib/validator/NotMatchValidator.php | 0 .../runtime/lib/validator/RequiredValidator.php | 0 .../propel/runtime/lib/validator/TypeValidator.php | 0 .../runtime/lib/validator/UniqueValidator.php | 0 .../runtime/lib/validator/ValidValuesValidator.php | 0 .../runtime/lib/validator/ValidationFailed.php | 0 .../runtime/pear/BuildPropelPEARPackageTask.php | 0 .../propel/runtime/pear/build-pear-package.xml | 0 airtime_mvc/library/propel/test/README | 0 .../library/propel/test/bookstore-packaged-test.php | 0 airtime_mvc/library/propel/test/etc/lob/propel.gif | Bin .../library/propel/test/etc/lob/tin_drum.gif | Bin .../library/propel/test/etc/lob/tin_drum.txt | 0 .../propel/test/etc/schema/tabletest-schema.xml | 0 .../library/propel/test/etc/xsl/coverage-frames.xsl | 0 airtime_mvc/library/propel/test/etc/xsl/log.xsl | 0 .../propel/test/etc/xsl/phpunit2-noframes.xsl | 0 .../propel/test/etc/xsl/str.replace.function.xsl | 0 .../fixtures/bookstore-packaged/book.schema.xml | 0 .../bookstore-packaged/book_club_list.schema.xml | 0 .../fixtures/bookstore-packaged/build.properties | 0 .../bookstore-packaged/external/author.schema.xml | 0 .../test/fixtures/bookstore-packaged/log.schema.xml | 0 .../fixtures/bookstore-packaged/media.schema.xml | 0 .../bookstore-packaged/publisher.schema.xml | 0 .../fixtures/bookstore-packaged/review.schema.xml | 0 .../fixtures/bookstore-packaged/runtime-conf.xml | 0 .../bookstore/behavior-aggregate-schema.xml | 0 .../bookstore/behavior-auto-add-pk-schema.xml | 0 .../behavior-concrete-inheritance-schema.xml | 0 .../bookstore/behavior-nested-set-schema.xml | 0 .../test/fixtures/bookstore/behavior-schema.xml | 0 .../bookstore/behavior-sluggable-schema.xml | 0 .../bookstore/behavior-soft-delete-schema.xml | 0 .../fixtures/bookstore/behavior-sortable-schema.xml | 0 .../bookstore/behavior-timestampable-schema.xml | 0 .../propel/test/fixtures/bookstore/build.properties | 0 .../propel/test/fixtures/bookstore/cms-schema.xml | 0 .../propel/test/fixtures/bookstore/runtime-conf.xml | 0 .../propel/test/fixtures/bookstore/schema.xml | 0 .../test/fixtures/namespaced/build.properties | 0 .../test/fixtures/namespaced/runtime-conf.xml | 0 .../propel/test/fixtures/namespaced/schema.xml | 0 .../propel/test/fixtures/nestedset/build.properties | 0 .../test/fixtures/nestedset/nestedset-schema.xml | 0 .../propel/test/fixtures/nestedset/runtime-conf.xml | 0 .../propel/test/fixtures/treetest/build.properties | 0 .../propel/test/fixtures/treetest/runtime-conf.xml | 0 .../test/fixtures/treetest/treetest-schema.xml | 0 .../test/fixtures/unique-column/column-schema.xml | 0 .../test/fixtures/unique-column/table-schema.xml | 0 airtime_mvc/library/propel/test/speed.php | 0 airtime_mvc/library/propel/test/test.xml | 0 .../generator/behavior/AutoAddPkBehaviorTest.php | 0 .../generator/behavior/ObjectBehaviorTest.php | 0 .../generator/behavior/PeerBehaviorTest.php | 0 .../generator/behavior/SoftDeleteBehaviorTest.php | 0 .../generator/behavior/TableBehaviorTest.php | 0 .../behavior/TimestampableBehaviorTest.php | 0 .../AggregateColumnBehaviorTest.php | 0 .../ConcreteInheritanceBehaviorTest.php | 0 .../ConcreteInheritanceParentBehaviorTest.php | 0 .../NestedSetBehaviorObjectBuilderModifierTest.php | 0 ...etBehaviorObjectBuilderModifierWithScopeTest.php | 0 .../NestedSetBehaviorPeerBuilderModifierTest.php | 0 ...dSetBehaviorPeerBuilderModifierWithScopeTest.php | 0 .../NestedSetBehaviorQueryBuilderModifierTest.php | 0 ...SetBehaviorQueryBuilderModifierWithScopeTest.php | 0 .../behavior/nestedset/NestedSetBehaviorTest.php | 0 .../behavior/sluggable/SluggableBehaviorTest.php | 0 .../SortableBehaviorObjectBuilderModifierTest.php | 0 ...leBehaviorObjectBuilderModifierWithScopeTest.php | 0 .../SortableBehaviorPeerBuilderModifierTest.php | 0 ...ableBehaviorPeerBuilderModifierWithScopeTest.php | 0 .../SortableBehaviorQueryBuilderModifierTest.php | 0 ...bleBehaviorQueryBuilderModifierWithScopeTest.php | 0 .../behavior/sortable/SortableBehaviorTest.php | 0 .../testsuite/generator/builder/NamespaceTest.php | 0 .../builder/om/GeneratedNestedSetObjectTest.php | 0 .../builder/om/GeneratedNestedSetPeerTest.php | 0 .../generator/builder/om/GeneratedNestedSetTest.php | 0 .../generator/builder/om/GeneratedObjectLobTest.php | 0 .../generator/builder/om/GeneratedObjectRelTest.php | 0 .../generator/builder/om/GeneratedObjectTest.php | 0 .../builder/om/GeneratedPeerDoDeleteTest.php | 0 .../builder/om/GeneratedPeerDoSelectTest.php | 0 .../generator/builder/om/GeneratedPeerTest.php | 0 .../generator/builder/om/OMBuilderNamespaceTest.php | 0 .../generator/builder/om/OMBuilderTest.php | 0 .../builder/om/PHP5TableMapBuilderTest.php | 0 .../builder/om/QueryBuilderInheritanceTest.php | 0 .../generator/builder/om/QueryBuilderTest.php | 0 .../generator/builder/util/PropelTemplateTest.php | 0 .../testsuite/generator/builder/util/template.php | 0 .../test/testsuite/generator/model/BehaviorTest.php | 0 .../test/testsuite/generator/model/ColumnTest.php | 0 .../testsuite/generator/model/NameFactoryTest.php | 0 .../generator/model/PhpNameGeneratorTest.php | 0 .../test/testsuite/generator/model/TableTest.php | 0 .../generator/platform/DefaultPlatformTest.php | 0 .../generator/platform/PlatformTestBase.php | 0 .../generator/platform/SqlitePlatformTest.php | 0 .../propel/test/testsuite/misc/BookstoreTest.php | 0 .../test/testsuite/misc/CharacterEncodingTest.php | 0 .../test/testsuite/misc/FieldnameRelatedTest.php | 0 .../propel/test/testsuite/misc/Ticket520Test.php | 0 .../test/testsuite/runtime/adapter/DBOracleTest.php | 0 .../collection/PropelArrayCollectionTest.php | 0 .../runtime/collection/PropelCollectionTest.php | 0 .../collection/PropelObjectCollectionTest.php | 0 .../collection/PropelOnDemandCollectionTest.php | 0 .../collection/PropelOnDemandIteratorTest.php | 0 .../testsuite/runtime/connection/PropelPDOTest.php | 0 .../runtime/formatter/PropelArrayFormatterTest.php | 0 .../formatter/PropelArrayFormatterWithTest.php | 0 .../PropelObjectFormatterInheritanceTest.php | 0 .../runtime/formatter/PropelObjectFormatterTest.php | 0 .../formatter/PropelObjectFormatterWithTest.php | 0 .../formatter/PropelOnDemandFormatterTest.php | 0 .../formatter/PropelOnDemandFormatterWithTest.php | 0 .../formatter/PropelStatementFormatterTest.php | 0 .../test/testsuite/runtime/map/ColumnMapTest.php | 0 .../test/testsuite/runtime/map/DatabaseMapTest.php | 0 .../runtime/map/GeneratedRelationMapTest.php | 0 .../runtime/map/RelatedMapSymmetricalTest.php | 0 .../test/testsuite/runtime/map/RelationMapTest.php | 0 .../test/testsuite/runtime/map/TableMapTest.php | 0 .../runtime/om/BaseObjectSerializeTest.php | 0 .../test/testsuite/runtime/om/BaseObjectTest.php | 0 .../testsuite/runtime/query/CriteriaCombineTest.php | 0 .../runtime/query/CriteriaFluidConditionTest.php | 0 .../testsuite/runtime/query/CriteriaMergeTest.php | 0 .../test/testsuite/runtime/query/CriteriaTest.php | 0 .../test/testsuite/runtime/query/JoinTest.php | 0 .../runtime/query/ModelCriteriaHooksTest.php | 0 .../testsuite/runtime/query/ModelCriteriaTest.php | 0 .../test/testsuite/runtime/query/ModelJoinTest.php | 0 .../test/testsuite/runtime/query/ModelWithTest.php | 0 .../testsuite/runtime/query/PropelQueryTest.php | 0 .../runtime/util/BasePeerExceptionsTest.php | 0 .../test/testsuite/runtime/util/BasePeerTest.php | 0 .../runtime/util/PropelConfigurationTest.php | 0 .../testsuite/runtime/util/PropelDateTimeTest.php | 0 .../testsuite/runtime/util/PropelModelPagerTest.php | 0 .../test/testsuite/runtime/util/PropelPagerTest.php | 0 .../testsuite/runtime/validator/ValidatorTest.php | 0 .../propel/test/tools/helpers/BaseTestCase.php | 0 .../helpers/bookstore/BookstoreDataPopulator.php | 0 .../helpers/bookstore/BookstoreEmptyTestBase.php | 0 .../tools/helpers/bookstore/BookstoreTestBase.php | 0 .../behavior/BookstoreNestedSetTestBase.php | 0 .../behavior/BookstoreSortableTestBase.php | 0 .../bookstore/behavior/DonothingBehavior.php | 0 .../tools/helpers/bookstore/behavior/TestAuthor.php | 0 .../bookstore/behavior/Testallhooksbehavior.php | 0 .../helpers/bookstore/validator/ISBNValidator.php | 0 .../test/tools/helpers/cms/CmsDataPopulator.php | 0 .../propel/test/tools/helpers/cms/CmsTestBase.php | 0 .../library/propel/test/tools/phing/DefineTask.php | 0 airtime_mvc/library/propel/test/tree-test.php | 0 airtime_mvc/library/soundcloud-api/README.md | 0 .../library/soundcloud-api/Services/Soundcloud.php | 0 .../Services/Soundcloud/Exception.php | 0 .../soundcloud-api/Services/Soundcloud/Version.php | 0 .../soundcloud-api/tests/Soundcloud_Test.php | 0 .../soundcloud-api/tests/Soundcloud_Test_Helper.php | 0 airtime_mvc/locale/az/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/az/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/cs_CZ/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/cs_CZ/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/de_AT/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/de_AT/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/de_DE/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/de_DE/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/el_GR/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/el_GR/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/en_CA/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/en_CA/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/en_GB/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/en_GB/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/en_US/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/en_US/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/es_ES/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/es_ES/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/fr_FR/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/fr_FR/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/hr_HR/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/hr_HR/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/hu_HU/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/hu_HU/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/hy/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/hy/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/hy_AM/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/hy_AM/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/it_IT/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/it_IT/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/ja/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/ja/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/ja_JP/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/ja_JP/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/ka/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/ka/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/ko_KR/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/ko_KR/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/nl_NL/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/nl_NL/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/pl_PL/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/pl_PL/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/pt_BR/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/pt_BR/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/ru_RU/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/ru_RU/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/si/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/si/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/sr_RS/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/sr_RS/LC_MESSAGES/airtime.po | 0 .../locale/sr_RS@latin/LC_MESSAGES/airtime.mo | Bin .../locale/sr_RS@latin/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/template/airtime.po | 0 airtime_mvc/locale/zh_CN/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/zh_CN/LC_MESSAGES/airtime.po | 0 airtime_mvc/public/.htaccess | 0 airtime_mvc/public/css/TableTools.css | 0 airtime_mvc/public/css/TableTools_JUI.css | 0 airtime_mvc/public/css/add-show.css | 0 airtime_mvc/public/css/bootstrap-3.3.1.min.css | 0 .../public/css/bootstrap-datetimepicker.min.css | 0 airtime_mvc/public/css/bootstrap.css | 0 .../public/css/colorpicker/css/colorpicker.css | 0 airtime_mvc/public/css/colorpicker/images/blank.gif | Bin .../colorpicker/images/colorpicker_background.png | Bin .../css/colorpicker/images/colorpicker_hex.png | Bin .../css/colorpicker/images/colorpicker_hsb_b.png | Bin .../css/colorpicker/images/colorpicker_hsb_h.png | Bin .../css/colorpicker/images/colorpicker_hsb_s.png | Bin .../css/colorpicker/images/colorpicker_indic.gif | Bin .../css/colorpicker/images/colorpicker_overlay.png | Bin .../css/colorpicker/images/colorpicker_rgb_b.png | Bin .../css/colorpicker/images/colorpicker_rgb_g.png | Bin .../css/colorpicker/images/colorpicker_rgb_r.png | Bin .../css/colorpicker/images/colorpicker_select.gif | Bin .../css/colorpicker/images/colorpicker_submit.png | Bin .../css/colorpicker/images/custom_background.png | Bin .../public/css/colorpicker/images/custom_hex.png | Bin .../public/css/colorpicker/images/custom_hsb_b.png | Bin .../public/css/colorpicker/images/custom_hsb_h.png | Bin .../public/css/colorpicker/images/custom_hsb_s.png | Bin .../public/css/colorpicker/images/custom_indic.gif | Bin .../public/css/colorpicker/images/custom_rgb_b.png | Bin .../public/css/colorpicker/images/custom_rgb_g.png | Bin .../public/css/colorpicker/images/custom_rgb_r.png | Bin .../public/css/colorpicker/images/custom_submit.png | Bin .../public/css/colorpicker/images/select.png | Bin .../public/css/colorpicker/images/select2.png | Bin .../public/css/colorpicker/images/slider.png | Bin .../public/css/datatables/css/ColReorder.css | 0 airtime_mvc/public/css/datatables/css/ColVis.css | 0 .../public/css/datatables/css/TableTools.css | 0 .../public/css/datatables/css/jquery.dataTables.css | 0 .../css/jquery.dataTables_themeroller.css | 0 .../public/css/datatables/images/Sorting icons.psd | Bin .../public/css/datatables/images/back_disabled.png | Bin .../public/css/datatables/images/back_enabled.png | Bin .../css/datatables/images/back_enabled_hover.png | Bin .../public/css/datatables/images/favicon.ico | Bin .../css/datatables/images/forward_disabled.png | Bin .../css/datatables/images/forward_enabled.png | Bin .../css/datatables/images/forward_enabled_hover.png | Bin .../public/css/datatables/images/sort_asc.png | Bin .../css/datatables/images/sort_asc_disabled.png | Bin .../public/css/datatables/images/sort_both.png | Bin .../public/css/datatables/images/sort_desc.png | Bin .../css/datatables/images/sort_desc_disabled.png | Bin airtime_mvc/public/css/fullcalendar-old.css | 0 airtime_mvc/public/css/fullcalendar.css | 0 airtime_mvc/public/css/history_styles.css | 0 airtime_mvc/public/css/images/404.png | Bin airtime_mvc/public/css/images/accept.png | Bin airtime_mvc/public/css/images/airtime_logo.png | Bin airtime_mvc/public/css/images/airtime_logo_big.png | Bin airtime_mvc/public/css/images/airtime_logo_jp.png | Bin airtime_mvc/public/css/images/arrow.gif | Bin airtime_mvc/public/css/images/arrow.png | Bin airtime_mvc/public/css/images/arrow_over.gif | Bin airtime_mvc/public/css/images/arrow_over.png | Bin airtime_mvc/public/css/images/arrows_collapse.png | Bin airtime_mvc/public/css/images/big_gray_logo.png | Bin airtime_mvc/public/css/images/big_play_arrow.png | Bin airtime_mvc/public/css/images/crossfade_bg.png | Bin airtime_mvc/public/css/images/crossfade_main.png | Bin .../public/css/images/crossfade_playlist.png | Bin airtime_mvc/public/css/images/cue-editor_bg.png | Bin airtime_mvc/public/css/images/cue_playlist.png | Bin airtime_mvc/public/css/images/delete.png | Bin airtime_mvc/public/css/images/down_arrow.png | Bin airtime_mvc/public/css/images/drag.png | Bin airtime_mvc/public/css/images/fade_in.png | Bin airtime_mvc/public/css/images/fade_out.png | Bin .../public/css/images/file_import_loader.gif | Bin airtime_mvc/public/css/images/filetype_icons.png | Bin .../public/css/images/icon_add_content_cm.png | Bin .../public/css/images/icon_add_playlist_cm.png | Bin airtime_mvc/public/css/images/icon_alert_cal.png | Bin .../public/css/images/icon_alert_cal_alt.png | Bin .../public/css/images/icon_alert_cal_alt2.png | Bin airtime_mvc/public/css/images/icon_alert_ffffff.png | Bin airtime_mvc/public/css/images/icon_audioclip.png | Bin airtime_mvc/public/css/images/icon_copy.png | Bin airtime_mvc/public/css/images/icon_copy_cm.png | Bin airtime_mvc/public/css/images/icon_cut.png | Bin airtime_mvc/public/css/images/icon_cut_cm.png | Bin airtime_mvc/public/css/images/icon_delete.png | Bin airtime_mvc/public/css/images/icon_delete_cm.png | Bin airtime_mvc/public/css/images/icon_door.png | Bin airtime_mvc/public/css/images/icon_door_cm.png | Bin airtime_mvc/public/css/images/icon_download_cm.png | Bin airtime_mvc/public/css/images/icon_edit.png | Bin airtime_mvc/public/css/images/icon_edit_cm.png | Bin airtime_mvc/public/css/images/icon_edit_l.png | Bin .../public/css/images/icon_finishedplaying_m.png | Bin airtime_mvc/public/css/images/icon_info.png | Bin airtime_mvc/public/css/images/icon_link.png | Bin airtime_mvc/public/css/images/icon_nowplaying_m.png | Bin airtime_mvc/public/css/images/icon_nowplaying_n.png | Bin airtime_mvc/public/css/images/icon_outdated.png | Bin airtime_mvc/public/css/images/icon_overlap.png | Bin airtime_mvc/public/css/images/icon_overview_cm.png | Bin airtime_mvc/public/css/images/icon_paste.png | Bin airtime_mvc/public/css/images/icon_paste_cm.png | Bin airtime_mvc/public/css/images/icon_play_cal.png | Bin airtime_mvc/public/css/images/icon_play_cm.png | Bin airtime_mvc/public/css/images/icon_playlist.png | Bin airtime_mvc/public/css/images/icon_rebroadcast.png | Bin .../public/css/images/icon_rebroadcast_m.png | Bin airtime_mvc/public/css/images/icon_record.png | Bin airtime_mvc/public/css/images/icon_record_m.png | Bin .../css/images/icon_remove_all_content_cm.png | Bin .../public/css/images/icon_select-cursor_cm.png | Bin airtime_mvc/public/css/images/icon_smart-block.png | Bin airtime_mvc/public/css/images/icon_soundcloud.png | Bin .../public/css/images/icon_soundcloud_cm.png | Bin .../public/css/images/icon_soundcloud_error2.png | Bin airtime_mvc/public/css/images/icon_soundcloud_m.png | Bin airtime_mvc/public/css/images/icon_update.png | Bin airtime_mvc/public/css/images/icon_update2.png | Bin airtime_mvc/public/css/images/icon_uptodate.png | Bin airtime_mvc/public/css/images/icon_webstream.png | Bin airtime_mvc/public/css/images/input_bg.png | Bin .../public/css/images/input_with_calendar_bg.png | Bin .../public/css/images/input_with_time_bg.png | Bin airtime_mvc/public/css/images/is_playlist.png | Bin airtime_mvc/public/css/images/is_scheduled.png | Bin airtime_mvc/public/css/images/loader-small.gif | Bin airtime_mvc/public/css/images/loader.gif | Bin airtime_mvc/public/css/images/login_content_bg.png | Bin airtime_mvc/public/css/images/login_page_bg.png | Bin airtime_mvc/public/css/images/masterpanel_bg.png | Bin .../public/css/images/masterpanel_spacer.png | Bin airtime_mvc/public/css/images/menuitem.gif | Bin airtime_mvc/public/css/images/more.gif | Bin airtime_mvc/public/css/images/on-off-air.png | Bin airtime_mvc/public/css/images/playinfo_bg.png | Bin airtime_mvc/public/css/images/progressbar_bg.png | Bin airtime_mvc/public/css/images/progressbar_show.png | Bin .../public/css/images/progressbar_show_error.png | Bin airtime_mvc/public/css/images/progressbar_song.png | Bin airtime_mvc/public/css/images/record_icon.png | Bin airtime_mvc/public/css/images/round_delete.png | Bin .../css/images/schedule-show_progressbar_bg.png | Bin airtime_mvc/public/css/images/search_auto_bg.png | Bin airtime_mvc/public/css/images/sf_arror.png | Bin airtime_mvc/public/css/images/source-info_lines.png | Bin .../public/css/images/source_to_switch_lines.png | Bin airtime_mvc/public/css/images/stream_status.png | Bin airtime_mvc/public/css/images/thin_delete.png | Bin airtime_mvc/public/css/images/three_0a.png | Bin airtime_mvc/public/css/images/tl-arrow.png | Bin airtime_mvc/public/css/images/tooltip_arrow.png | Bin airtime_mvc/public/css/images/upload-icon.gif | Bin airtime_mvc/public/css/images/warning-icon.png | Bin airtime_mvc/public/css/img/backgrounds.gif | Bin airtime_mvc/public/css/img/buttons-disabled.png | Bin airtime_mvc/public/css/img/buttons.png | Bin airtime_mvc/public/css/img/delete.gif | Bin airtime_mvc/public/css/img/desktop.png | Bin airtime_mvc/public/css/img/documents.png | Bin airtime_mvc/public/css/img/done.gif | Bin airtime_mvc/public/css/img/error.gif | Bin airtime_mvc/public/css/img/folder.png | Bin .../public/css/img/glyphicons-halflings-white.png | Bin airtime_mvc/public/css/img/glyphicons-halflings.png | Bin airtime_mvc/public/css/img/icon_cut_white.png | Bin airtime_mvc/public/css/img/loading.gif | Bin airtime_mvc/public/css/img/throbber.gif | Bin airtime_mvc/public/css/img/transp50.png | Bin airtime_mvc/public/css/img/unknown.png | Bin .../public/css/jquery-ui-timepicker-addon.css | 0 airtime_mvc/public/css/jquery.contextMenu.css | 0 airtime_mvc/public/css/jquery.ui.timepicker.css | 0 airtime_mvc/public/css/library_search.css | 0 airtime_mvc/public/css/masterpanel.css | 0 airtime_mvc/public/css/media_library.css | 0 airtime_mvc/public/css/playlist_builder.css | 0 airtime_mvc/public/css/playouthistory.css | 0 airtime_mvc/public/css/plupload.queue.css | 0 airtime_mvc/public/css/pro_dropdown_3.css | 0 airtime_mvc/public/css/qtip/jquery.qtip.css | 0 airtime_mvc/public/css/qtip/jquery.qtip.min.css | 0 .../css/redmond/images/ui-bg_default_aaaaaa.png | Bin .../redmond/images/ui-bg_flat_0_6c6c6c_40x100.png | Bin .../redmond/images/ui-bg_flat_0_9d9d9d_40x100.png | Bin .../redmond/images/ui-bg_flat_0_aaaaaa_40x100.png | Bin .../redmond/images/ui-bg_flat_55_eff6eb_40x100.png | Bin .../redmond/images/ui-bg_flat_55_fae5e5_40x100.png | Bin .../redmond/images/ui-bg_flat_55_fbec88_40x100.png | Bin .../redmond/images/ui-bg_flat_65_ffffff_40x100.png | Bin .../redmond/images/ui-bg_flat_75_ffffff_40x100.png | Bin .../redmond/images/ui-bg_glass_75_d0e5f5_1x400.png | Bin .../redmond/images/ui-bg_glass_85_dfeffc_1x400.png | Bin .../redmond/images/ui-bg_glass_95_fef1ec_1x400.png | Bin .../images/ui-bg_gloss-wave_55_5c9ccc_500x100.png | Bin .../ui-bg_highlight-soft_100_f6f6f6_1x100.png | Bin .../images/ui-bg_highlight-soft_25_007fb3_1x100.png | Bin .../images/ui-bg_highlight-soft_50_ebebeb_1x100.png | Bin .../public/css/redmond/images/ui-bg_highlight.png | Bin .../images/ui-bg_inset-hard_100_f5f8f9_1x100.png | Bin .../images/ui-bg_inset-hard_100_fcfdfd_1x100.png | Bin .../css/redmond/images/ui-icons_007fb3_256x240.png | Bin .../css/redmond/images/ui-icons_217bc0_256x240.png | Bin .../css/redmond/images/ui-icons_2e83ff_256x240.png | Bin .../css/redmond/images/ui-icons_454545_256x240.png | Bin .../css/redmond/images/ui-icons_469bdd_256x240.png | Bin .../css/redmond/images/ui-icons_65a539_256x240.png | Bin .../css/redmond/images/ui-icons_666666_256x240.png | Bin .../css/redmond/images/ui-icons_6da8d5_256x240.png | Bin .../css/redmond/images/ui-icons_cd0a0a_256x240.png | Bin .../css/redmond/images/ui-icons_d00000_256x240.png | Bin .../css/redmond/images/ui-icons_d8e7f3_256x240.png | Bin .../css/redmond/images/ui-icons_f9bd01_256x240.png | Bin .../css/redmond/images/ui-icons_ff0084_256x240.png | Bin .../css/redmond/images/ui-icons_ff5d1a_256x240.png | Bin .../css/redmond/images/ui-icons_ffffff_256x240.png | Bin .../public/css/redmond/jquery-ui-1.8.8.custom.css | 0 .../jquery-ui-1.8.8.custom.css | 0 airtime_mvc/public/css/setup/config-check.css | 0 airtime_mvc/public/css/setup/setup-config.css | 0 airtime_mvc/public/css/showbuilder.css | 0 airtime_mvc/public/css/styles.css | 0 airtime_mvc/public/css/tipsy/jquery.tipsy.css | 0 airtime_mvc/public/css/users.css | 0 airtime_mvc/public/css/waveform.css | 0 airtime_mvc/public/favicon.ico | Bin .../public/fonts/glyphicons-halflings-regular.eot | Bin .../public/fonts/glyphicons-halflings-regular.svg | 0 .../public/fonts/glyphicons-halflings-regular.ttf | Bin .../public/fonts/glyphicons-halflings-regular.woff | Bin .../public/images/datatables/Sorting icons.psd | Bin .../public/images/datatables/back_disabled.jpg | Bin .../public/images/datatables/back_enabled.jpg | Bin airtime_mvc/public/images/datatables/favicon.ico | Bin .../public/images/datatables/forward_disabled.jpg | Bin .../public/images/datatables/forward_enabled.jpg | Bin airtime_mvc/public/images/datatables/sort_asc.png | Bin .../public/images/datatables/sort_asc_disabled.png | Bin airtime_mvc/public/images/datatables/sort_both.png | Bin airtime_mvc/public/images/datatables/sort_desc.png | Bin .../public/images/datatables/sort_desc_disabled.png | Bin airtime_mvc/public/index.php | 0 airtime_mvc/public/install/clearstatcache.php | 0 airtime_mvc/public/js/airtime/airtime_bootstrap.js | 0 .../js/airtime/audiopreview/preview_jplayer.js | 0 airtime_mvc/public/js/airtime/buttons/buttons.js | 0 .../public/js/airtime/common/audioplaytest.js | 0 airtime_mvc/public/js/airtime/common/common.js | 0 .../public/js/airtime/dashboard/dashboard.js | 0 .../public/js/airtime/dashboard/helperfunctions.js | 0 .../public/js/airtime/dashboard/versiontooltip.js | 0 .../library/events/library_playlistbuilder.js | 0 .../airtime/library/events/library_showbuilder.js | 0 airtime_mvc/public/js/airtime/library/library.js | 0 airtime_mvc/public/js/airtime/library/plupload.js | 0 airtime_mvc/public/js/airtime/library/spl.js | 0 .../public/js/airtime/listenerstat/listenerstat.js | 0 airtime_mvc/public/js/airtime/login/login.js | 0 .../public/js/airtime/login/password-restore.js | 0 airtime_mvc/public/js/airtime/nowplaying/dayview.js | 0 airtime_mvc/public/js/airtime/nowplaying/nowview.js | 0 .../public/js/airtime/nowplaying/register.js | 0 .../js/airtime/playlist/smart_blockbuilder.js | 0 .../js/airtime/playouthistory/configuretemplate.js | 0 .../js/airtime/playouthistory/historytable.js | 0 .../public/js/airtime/playouthistory/template.js | 0 .../public/js/airtime/preferences/musicdirs.js | 0 .../public/js/airtime/preferences/preferences.js | 0 .../public/js/airtime/preferences/streamsetting.js | 0 .../js/airtime/preferences/support-setting.js | 0 airtime_mvc/public/js/airtime/schedule/add-show.js | 0 .../js/airtime/schedule/full-calendar-functions.js | 0 airtime_mvc/public/js/airtime/schedule/schedule.js | 0 .../public/js/airtime/showbuilder/builder.js | 0 .../public/js/airtime/showbuilder/main_builder.js | 0 airtime_mvc/public/js/airtime/status/status.js | 0 airtime_mvc/public/js/airtime/user/user.js | 0 .../public/js/airtime/utilities/utilities.js | 0 airtime_mvc/public/js/blockui/jquery.blockUI.js | 0 .../bootstrap-datetime/bootstrap-datetimepicker.js | 0 airtime_mvc/public/js/bootstrap/bootstrap.js | 0 airtime_mvc/public/js/bootstrap/bootstrap.min.js | 0 airtime_mvc/public/js/colorpicker/js/colorpicker.js | 0 .../public/js/contextmenu/AIRTIME_DEV_README | 0 .../public/js/contextmenu/jquery.contextMenu.js | 0 airtime_mvc/public/js/cookie/jquery.cookie.js | 0 airtime_mvc/public/js/datatables/i18n/cs_CZ.txt | 0 airtime_mvc/public/js/datatables/i18n/de_AT.txt | 0 airtime_mvc/public/js/datatables/i18n/de_DE.txt | 0 airtime_mvc/public/js/datatables/i18n/el_GR.txt | 0 airtime_mvc/public/js/datatables/i18n/en_CA.txt | 0 airtime_mvc/public/js/datatables/i18n/en_GB.txt | 0 airtime_mvc/public/js/datatables/i18n/en_US.txt | 0 airtime_mvc/public/js/datatables/i18n/es_ES.txt | 0 airtime_mvc/public/js/datatables/i18n/fr_FR.txt | 0 airtime_mvc/public/js/datatables/i18n/hr_HR.txt | 0 airtime_mvc/public/js/datatables/i18n/hu_HU.txt | 0 airtime_mvc/public/js/datatables/i18n/it_IT.txt | 0 airtime_mvc/public/js/datatables/i18n/ja.txt | 0 airtime_mvc/public/js/datatables/i18n/ja_JP.txt | 0 airtime_mvc/public/js/datatables/i18n/ko_KR.txt | 0 airtime_mvc/public/js/datatables/i18n/pl_PL.txt | 0 airtime_mvc/public/js/datatables/i18n/pt_BR.txt | 0 airtime_mvc/public/js/datatables/i18n/ru_RU.txt | 0 airtime_mvc/public/js/datatables/i18n/sr_RS.txt | 0 .../public/js/datatables/i18n/sr_RS@latin.txt | 0 airtime_mvc/public/js/datatables/i18n/zh_CN.txt | 0 .../public/js/datatables/js/jquery.dataTables.js | 0 .../plugin/AIRTIME_DEV_README_COLUMN_FILTER | 0 .../js/datatables/plugin/AIRTIME_DEV_README_COL_VIS | 0 .../plugin/TableTools-2.1.5/as3/ZeroClipboard.as | 0 .../plugin/TableTools-2.1.5/as3/ZeroClipboardPdf.as | 0 .../plugin/TableTools-2.1.5/as3/lib/AlivePDF.swc | Bin .../plugin/TableTools-2.1.5/css/TableTools.css | 0 .../plugin/TableTools-2.1.5/css/TableTools_JUI.css | 0 .../plugin/TableTools-2.1.5/images/background.png | Bin .../plugin/TableTools-2.1.5/images/collection.png | Bin .../TableTools-2.1.5/images/collection_hover.png | Bin .../plugin/TableTools-2.1.5/images/copy.png | Bin .../plugin/TableTools-2.1.5/images/copy_hover.png | Bin .../plugin/TableTools-2.1.5/images/csv.png | Bin .../plugin/TableTools-2.1.5/images/csv_hover.png | Bin .../plugin/TableTools-2.1.5/images/pdf.png | Bin .../plugin/TableTools-2.1.5/images/pdf_hover.png | Bin .../plugin/TableTools-2.1.5/images/print.png | Bin .../plugin/TableTools-2.1.5/images/print_hover.png | Bin .../TableTools-2.1.5/images/psd/collection.psd | Bin .../TableTools-2.1.5/images/psd/copy document.psd | Bin .../TableTools-2.1.5/images/psd/file_types.psd | Bin .../plugin/TableTools-2.1.5/images/psd/printer.psd | Bin .../plugin/TableTools-2.1.5/images/xls.png | Bin .../plugin/TableTools-2.1.5/images/xls_hover.png | Bin .../plugin/TableTools-2.1.5/js/TableTools.js | 0 .../plugin/TableTools-2.1.5/js/TableTools.min.js | 0 .../plugin/TableTools-2.1.5/js/TableTools.min.js.gz | Bin .../plugin/TableTools-2.1.5/js/ZeroClipboard.js | 0 .../plugin/TableTools-2.1.5/swf/copy_csv_xls.swf | Bin .../TableTools-2.1.5/swf/copy_csv_xls_pdf.swf | Bin .../js/datatables/plugin/dataTables.ColReorder.js | 0 .../js/datatables/plugin/dataTables.ColVis.js | 0 .../js/datatables/plugin/dataTables.ColVis_orig.js | 0 .../js/datatables/plugin/dataTables.FixedColumns.js | 0 .../js/datatables/plugin/dataTables.FixedHeader.js | 0 .../js/datatables/plugin/dataTables.columnFilter.js | 0 .../plugin/dataTables.columnFilter_orig.js | 0 .../plugin/dataTables.fnSetFilteringDelay.js | 0 .../js/datatables/plugin/dataTables.pluginAPI.js | 0 airtime_mvc/public/js/flot/API.txt | 0 airtime_mvc/public/js/flot/FAQ.txt | 0 airtime_mvc/public/js/flot/Makefile | 0 airtime_mvc/public/js/flot/NEWS.txt | 0 airtime_mvc/public/js/flot/PLUGINS.txt | 0 airtime_mvc/public/js/flot/README.txt | 0 airtime_mvc/public/js/flot/excanvas.js | 0 airtime_mvc/public/js/flot/excanvas.min.js | 0 airtime_mvc/public/js/flot/jquery.colorhelpers.js | 0 airtime_mvc/public/js/flot/jquery.flot.crosshair.js | 0 .../public/js/flot/jquery.flot.fillbetween.js | 0 airtime_mvc/public/js/flot/jquery.flot.image.js | 0 airtime_mvc/public/js/flot/jquery.flot.js | 0 airtime_mvc/public/js/flot/jquery.flot.navigate.js | 0 airtime_mvc/public/js/flot/jquery.flot.pie.js | 0 airtime_mvc/public/js/flot/jquery.flot.resize.js | 0 airtime_mvc/public/js/flot/jquery.flot.selection.js | 0 airtime_mvc/public/js/flot/jquery.flot.stack.js | 0 airtime_mvc/public/js/flot/jquery.flot.symbol.js | 0 airtime_mvc/public/js/flot/jquery.flot.threshold.js | 0 .../public/js/fullcalendar/AIRTIME_DEV_README | 0 airtime_mvc/public/js/fullcalendar/fullcalendar.js | 0 .../public/js/fullcalendar/fullcalendar.orig.js | 0 airtime_mvc/public/js/i18n/jquery.i18n.js | 0 airtime_mvc/public/js/jplayer/Jplayer.swf | Bin .../public/js/jplayer/jplayer.playlist.min.js | 0 .../public/js/jplayer/jquery.jplayer.inspector.js | 0 airtime_mvc/public/js/jplayer/jquery.jplayer.min.js | 0 .../public/js/jplayer/popcorn/popcorn.jplayer.js | 0 .../public/js/jplayer/skin/jplayer-mute-unmute.png | Bin .../jplayer/skin/jplayer.airtime.audio.preview.css | 0 .../skin/jplayer.audio-preview.blue.monday.css | 0 .../public/js/jplayer/skin/jplayer.blue.monday.css | 0 .../public/js/jplayer/skin/jplayer.blue.monday.jpg | Bin .../js/jplayer/skin/jplayer.blue.monday.seeking.gif | Bin airtime_mvc/public/js/jplayer/skin/jplayer.png | Bin airtime_mvc/public/js/jplayer/skin/pbar-ani.gif | Bin airtime_mvc/public/js/libs/google-analytics.js | 0 airtime_mvc/public/js/libs/jquery-1.10.2.js | 0 airtime_mvc/public/js/libs/jquery-1.7.2.min.js | 0 airtime_mvc/public/js/libs/jquery-1.8.3.min.js | 0 airtime_mvc/public/js/libs/jquery-migrate-1.2.1.js | 0 .../public/js/libs/jquery-ui-1.8.18.custom.min.js | 0 airtime_mvc/public/js/libs/jquery-ui-1.8.24.min.js | 0 airtime_mvc/public/js/libs/jquery.stickyPanel.js | 0 airtime_mvc/public/js/libs/underscore-min.js | 0 airtime_mvc/public/js/plupload/i18n/cs_CZ.js | 0 airtime_mvc/public/js/plupload/i18n/de_AT.js | 0 airtime_mvc/public/js/plupload/i18n/de_DE.js | 0 airtime_mvc/public/js/plupload/i18n/el_GR.js | 0 airtime_mvc/public/js/plupload/i18n/en_CA.js | 0 airtime_mvc/public/js/plupload/i18n/en_GB.js | 0 airtime_mvc/public/js/plupload/i18n/en_US.js | 0 airtime_mvc/public/js/plupload/i18n/es_ES.js | 0 airtime_mvc/public/js/plupload/i18n/fr_FR.js | 0 airtime_mvc/public/js/plupload/i18n/hr_HR.js | 0 airtime_mvc/public/js/plupload/i18n/hu_HU.js | 0 airtime_mvc/public/js/plupload/i18n/it_IT.js | 0 airtime_mvc/public/js/plupload/i18n/ja_JP.js | 0 airtime_mvc/public/js/plupload/i18n/ko_KR.js | 0 airtime_mvc/public/js/plupload/i18n/pl_PL.js | 0 airtime_mvc/public/js/plupload/i18n/pt_BR.js | 0 airtime_mvc/public/js/plupload/i18n/ru_RU.js | 0 airtime_mvc/public/js/plupload/i18n/sr_RS.js | 0 airtime_mvc/public/js/plupload/i18n/sr_RS@latin.js | 0 airtime_mvc/public/js/plupload/i18n/zh_CN.js | 0 .../public/js/plupload/jquery.plupload.queue.min.js | 0 airtime_mvc/public/js/plupload/plupload.full.min.js | 0 airtime_mvc/public/js/qtip/jquery.qtip.js | 0 airtime_mvc/public/js/qtip/jquery.qtip.min.js | 0 .../public/js/serverbrowse/AIRTIME_DEV_README | 0 airtime_mvc/public/js/serverbrowse/serverbrowser.js | 0 .../public/js/serverbrowse/serverbrowser_orig.js | 0 airtime_mvc/public/js/setup/setup-config.js | 0 airtime_mvc/public/js/sprintf/sprintf-0.7-beta1.js | 0 .../js/timepicker/jquery-ui-timepicker-addon.js | 0 .../public/js/timepicker/jquery.ui.timepicker.js | 0 airtime_mvc/public/js/tipsy/AIRTIME_DEV_README | 0 airtime_mvc/public/js/tipsy/jquery.tipsy.js | 0 airtime_mvc/public/js/tipsy/jquery.tipsy_orig.js | 0 airtime_mvc/public/js/waveformplaylist/config.js | 0 airtime_mvc/public/js/waveformplaylist/controls.js | 0 airtime_mvc/public/js/waveformplaylist/curves.js | 0 airtime_mvc/public/js/waveformplaylist/fades.js | 0 airtime_mvc/public/js/waveformplaylist/loader.js | 0 .../public/js/waveformplaylist/local_storage.js | 0 .../public/js/waveformplaylist/observer/observer.js | 0 .../js/waveformplaylist/observer/observer.js~ | 0 airtime_mvc/public/js/waveformplaylist/playlist.js | 0 airtime_mvc/public/js/waveformplaylist/playout.js | 0 .../js/waveformplaylist/templates/bottombar.tpl | 0 .../js/waveformplaylist/templates/bottombar.tpl~ | 0 .../public/js/waveformplaylist/time_scale.js | 0 airtime_mvc/public/js/waveformplaylist/track.js | 0 .../public/js/waveformplaylist/track_render.js | 0 airtime_mvc/public/robots.txt | 0 airtime_mvc/public/setup/database-setup.php | 0 airtime_mvc/public/setup/finish-setup.php | 0 airtime_mvc/public/setup/general-setup.php | 0 airtime_mvc/public/setup/media-setup.php | 0 airtime_mvc/public/setup/rabbitmq-setup.php | 0 airtime_mvc/public/setup/setup-functions.php | 0 airtime_mvc/tests/README.txt | 0 airtime_mvc/tests/airtime.conf | 0 airtime_mvc/tests/application/bootstrap.php | 0 .../tests/application/helpers/TestHelper.php | 0 .../application/models/database/ScheduleDbTest.php | 0 .../models/database/datasets/seed_schedule.xml | 0 .../datasets/test_checkOverlappingShows.xml | 0 .../application/models/unit/PreferenceUnitTest.php | 0 .../application/models/unit/ScheduleUnitTest.php | 0 .../services/database/ShowServiceDbTest.php | 0 .../database/datasets/seed_show_service.xml | 0 .../datasets/test_ccShowInsertedIntoDatabase.xml | 0 ...test_changeRepeatDayUpdatesScheduleCorrectly.xml | 0 .../test_createBiWeeklyRepeatNoEndNoRRShow.xml | 0 .../database/datasets/test_createLinkedShow.xml | 0 ...test_createMonthlyMonthlyRepeatNoEndNoRRShow.xml | 0 .../test_createMonthlyWeeklyRepeatNoEndNoRRShow.xml | 0 .../datasets/test_createNoRepeatNoRRShow.xml | 0 .../database/datasets/test_createNoRepeatRRShow.xml | 0 .../test_createQuadWeeklyRepeatNoEndNoRRShow.xml | 0 .../test_createTriWeeklyRepeatNoEndNoRRShow.xml | 0 .../test_createWeeklyRepeatNoEndNoRRShow.xml | 0 .../datasets/test_createWeeklyRepeatRRShow.xml | 0 .../database/datasets/test_deleteRepeatingShow.xml | 0 .../database/datasets/test_deleteShowInstance.xml | 0 .../test_deleteShowInstanceAndAllFollowing.xml | 0 .../test_editRepeatingShowChangeNoEndOption.xml | 0 .../datasets/test_editRepeatingShowInstance.xml | 0 ...veFirstRepeatShowDayUpdatesScheduleCorrectly.xml | 0 ...atShowCreationWhenUserMovesForwardInCalendar.xml | 0 .../database/datasets/test_unlinkLinkedShow.xml | 0 .../database/datasets/test_weeklyToBiWeekly.xml | 0 .../database/datasets/test_weeklyToNoRepeat.xml | 0 .../services/unit/ShowServiceUnitTest.php | 0 .../tests/application/testdata/ShowServiceData.php | 0 airtime_mvc/tests/library/bootstrap.php | 0 airtime_mvc/tests/phpunit.xml | 0 changelog | 0 debian/changelog | 0 debian/compat | 0 debian/config | 0 debian/control | 0 debian/copyright | 0 debian/docs | 0 debian/etc/airtime.ini | 0 debian/etc/apache.conf | 0 debian/etc/apache.vhost.tpl | 0 debian/gbp.conf | 0 debian/install | 0 debian/po/POTFILES.in | 0 debian/po/templates.pot | 0 debian/source/format | 0 debian/source/include-binaries | 0 debian/templates | 0 debian/usr/share/applications/airtime.desktop | 0 debian/usr/share/man/man1/airtime-import.1.gz | Bin .../usr/share/man/man1/airtime-launch-browser.1.gz | Bin debian/usr/share/man/man1/airtime-log.1.gz | Bin .../usr/share/man/man1/airtime-test-soundcard.1.gz | Bin debian/usr/share/man/man1/airtime-test-stream.1.gz | Bin debian/usr/share/menu/airtime | 0 debian/usr/share/pixmaps/airtime.xpm | 0 debian/watch | 0 dev_tools/auto_schedule_show.php | 0 dev_tools/compare_cc_files_to_fs.py | 0 dev_tools/fabric/airtime.vhost | 0 dev_tools/fabric/fab_liquidsoap_compile.cfg | 0 dev_tools/fabric/fab_liquidsoap_compile.py | 0 dev_tools/fabric/fab_release_test.py | 0 dev_tools/gen_doctrine_migration.php | 0 dev_tools/populate-cc_files.php | 0 dev_tools/release/jsmin/jsmin.c | 0 dev_tools/scripts/git-attributes-git-merge-po | 0 dev_tools/scripts/git-config-git-merge-po | 0 dev_tools/scripts/git-merge-po | 0 docs/README.txt | 0 installer/apache/airtime-vhost | 0 installer/bin/requirements-ubuntu-saucy.apt | 0 installer/bin/requirements-ubuntu-trusty.apt | 0 installer/install | 6 ++++++ installer/php/airtime.ini | 0 python_apps/api_clients/__init__.py | 0 python_apps/api_clients/api_client.py | 0 python_apps/api_clients/tests/__init__.py | 0 python_apps/api_clients/tests/test_apcurl.py | 0 python_apps/api_clients/tests/test_apirequest.py | 0 .../api_clients/tests/test_requestprovider.py | 0 python_apps/icecast2/airtime-icecast-status.xsl | 0 python_apps/icecast2/install/icecast2-install.py | 0 .../install/airtime-media-monitor.conf | 0 .../media-monitor/airtimefilemonitor/__init__.py | 0 .../airtimemediamonitorbootstrap.py | 0 .../airtimefilemonitor/airtimemetadata.py | 0 .../airtimefilemonitor/airtimenotifier.py | 0 .../airtimefilemonitor/airtimeprocessevent.py | 0 .../media-monitor/airtimefilemonitor/mediaconfig.py | 0 .../airtimefilemonitor/mediamonitorcommon.py | 0 .../media-monitor/airtimefilemonitor/replaygain.py | 0 .../airtimefilemonitor/workerprocess.py | 0 python_apps/media-monitor/media-monitor/logging.cfg | 0 .../media-monitor/media-monitor/media_monitor.py | 0 python_apps/media-monitor/media-monitor/mm1.py | 0 .../media-monitor/media-monitor2/__init__.py | 0 python_apps/media-monitor/media-monitor2/baby.py | 0 .../media-monitor2/configs/logging.cfg | 0 .../media-monitor/media-monitor2/media/__init__.py | 0 .../media-monitor2/media/metadata/__init__.py | 0 .../media-monitor2/media/metadata/definitions.py | 0 .../media-monitor2/media/metadata/process.py | 0 .../media-monitor2/media/monitor/__init__.py | 0 .../media-monitor2/media/monitor/airtime.py | 0 .../media-monitor2/media/monitor/bootstrap.py | 0 .../media-monitor2/media/monitor/config.py | 0 .../media-monitor2/media/monitor/eventcontractor.py | 0 .../media-monitor2/media/monitor/eventdrainer.py | 0 .../media-monitor2/media/monitor/events.py | 0 .../media-monitor2/media/monitor/exceptions.py | 0 .../media-monitor2/media/monitor/handler.py | 0 .../media-monitor2/media/monitor/listeners.py | 0 .../media-monitor2/media/monitor/log.py | 0 .../media-monitor2/media/monitor/manager.py | 0 .../media-monitor2/media/monitor/metadata.py | 0 .../media-monitor2/media/monitor/organizer.py | 0 .../media-monitor2/media/monitor/owners.py | 0 .../media-monitor2/media/monitor/pure.py | 0 .../media-monitor2/media/monitor/request.py | 0 .../media-monitor2/media/monitor/syncdb.py | 0 .../media-monitor2/media/monitor/toucher.py | 0 .../media-monitor2/media/monitor/watchersyncer.py | 0 .../media-monitor2/media/saas/__init__.py | 0 .../media-monitor2/media/saas/airtimeinstance.py | 0 .../media-monitor2/media/saas/launcher.py | 0 .../media-monitor2/media/saas/thread.py | 0 python_apps/media-monitor/media-monitor2/mm2.py | 0 .../media-monitor/media-monitor2/tests/__init__.py | 0 .../media-monitor2/tests/api_client.cfg | 0 .../media-monitor2/tests/live_client.cfg | 0 .../media-monitor2/tests/prepare_tests.py | 0 .../media-monitor2/tests/test_api_client.py | 0 .../media-monitor2/tests/test_config.cfg | 0 .../media-monitor2/tests/test_config.py | 0 .../media-monitor/media-monitor2/tests/test_emf.py | 0 .../media-monitor2/tests/test_eventcontractor.py | 0 .../media-monitor2/tests/test_instance.py | 0 .../media-monitor2/tests/test_listeners.py | 0 .../media-monitor2/tests/test_manager.py | 0 .../media-monitor2/tests/test_metadata.py | 0 .../media-monitor2/tests/test_metadata_def.py | 0 .../media-monitor2/tests/test_notifier.py | 0 .../media-monitor2/tests/test_owners.py | 0 .../media-monitor/media-monitor2/tests/test_pure.py | 0 .../media-monitor2/tests/test_requestsync.py | 0 .../media-monitor2/tests/test_syncdb.py | 0 .../media-monitor2/tests/test_thread.py | 0 .../media-monitor2/tests/test_toucher.py | 0 python_apps/media-monitor/setup.py | 0 python_apps/pypo/bin/airtime-playout | 9 +-------- python_apps/pypo/install/airtime-liquidsoap.conf | 0 python_apps/pypo/install/airtime-playout.conf | 0 python_apps/pypo/pypo/AUTHORS | 0 python_apps/pypo/pypo/LICENSE | 0 python_apps/pypo/pypo/__init__.py | 0 python_apps/pypo/pypo/eventtypes.py | 0 python_apps/pypo/pypo/liquidsoap_scripts/aac.liq | 0 .../pypo/pypo/liquidsoap_scripts/aacplus.liq | 0 .../liquidsoap_scripts/airtime-liquidsoap.logrotate | 0 python_apps/pypo/pypo/liquidsoap_scripts/fdkaac.liq | 0 .../liquidsoap_scripts/generate_liquidsoap_cfg.py | 0 .../pypo/liquidsoap_scripts/library/externals.liq | 0 .../pypo/pypo/liquidsoap_scripts/library/flows.liq | 0 .../pypo/liquidsoap_scripts/library/gstreamer.liq | 0 .../pypo/pypo/liquidsoap_scripts/library/http.liq | 0 .../pypo/liquidsoap_scripts/library/http_codes.liq | 0 .../pypo/pypo/liquidsoap_scripts/library/lastfm.liq | 0 .../pypo/liquidsoap_scripts/library/pervasives.liq | 0 .../pypo/liquidsoap_scripts/library/shoutcast.liq | 0 .../pypo/pypo/liquidsoap_scripts/library/utils.liq | 0 .../pypo/liquidsoap_scripts/library/video_text.liq | 0 .../pypo/pypo/liquidsoap_scripts/liquidsoap.cfg | 0 .../pypo/pypo/liquidsoap_scripts/liquidsoap_auth.py | 0 .../liquidsoap_prepare_terminate.py | 0 python_apps/pypo/pypo/liquidsoap_scripts/ls_lib.liq | 0 .../pypo/pypo/liquidsoap_scripts/ls_script.liq | 0 python_apps/pypo/pypo/liquidsoap_scripts/mp3.liq | 0 python_apps/pypo/pypo/liquidsoap_scripts/ogg.liq | 0 python_apps/pypo/pypo/liquidsoap_scripts/opus.liq | 0 python_apps/pypo/pypo/listenerstat.py | 0 python_apps/pypo/pypo/logging.cfg | 0 python_apps/pypo/pypo/media/__init__.py | 0 python_apps/pypo/pypo/media/update/__init__.py | 0 python_apps/pypo/pypo/media/update/replaygain.py | 0 .../pypo/pypo/media/update/replaygainupdater.py | 0 python_apps/pypo/pypo/media/update/silananalyzer.py | 0 python_apps/pypo/pypo/notify_logging.cfg | 0 python_apps/pypo/pypo/pure.py | 0 python_apps/pypo/pypo/pypocli.py | 0 python_apps/pypo/pypo/pypofetch.py | 0 python_apps/pypo/pypo/pypofile.py | 0 python_apps/pypo/pypo/pypoliqqueue.py | 0 python_apps/pypo/pypo/pypoliquidsoap.py | 0 python_apps/pypo/pypo/pypomessagehandler.py | 0 python_apps/pypo/pypo/pyponotify.py | 0 python_apps/pypo/pypo/pypopush.py | 0 python_apps/pypo/pypo/recorder.py | 0 python_apps/pypo/pypo/telnetliquidsoap.py | 0 python_apps/pypo/pypo/testpypoliqqueue.py | 0 python_apps/pypo/pypo/tests/test_modify_cue_in.py | 0 python_apps/pypo/pypo/timeout.py | 0 python_apps/pypo/setup.py | 0 .../3rd_party/distribute-0.6.10.tar.gz | Bin .../python-virtualenv/3rd_party/pip-1.0.2.tar.gz | Bin .../python-virtualenv/airtime_virtual_env.pybundle | Bin .../patches/mutagen/mutagen_patch1.patch | 0 .../patches/mutagen/mutagen_patch2.patch | 0 python_apps/python-virtualenv/requirements | 0 python_apps/std_err_override/LogWriter.py | 0 python_apps/std_err_override/__init__.py | 0 tests/README | 0 tests/selenium/Add Media Skeleton Present.html | 0 tests/selenium/Airtime.html | 0 tests/selenium/Calendar Add Show Skeleton.html | 0 tests/selenium/Calendar Day Week Month Views.html | 0 tests/selenium/Calendar Skeleton Present.html | 0 tests/selenium/Library Skeleton Present.html | 0 tests/selenium/Listen Button Skeleton.html | 0 tests/selenium/Login and Logout.html | 0 tests/selenium/Login.html | 0 tests/selenium/Preferences Skeletons.html | 0 tests/selenium/System Menu Contents.html | 0 utils/airtime-backup.py | 0 utils/airtime-check-system.php | 0 utils/airtime-import/airtime-import.py | 0 utils/airtime-log.php | 0 utils/airtime-silan.py | 0 utils/airtime-test-soundcard.py | 0 utils/airtime-test-stream.py | 0 utils/airtime-update-db-settings.py | 0 utils/phone_home_stat.php | 0 utils/soundcloud-uploader.php | 0 widgets/css/airtime-widgets.css | 0 widgets/css/widget-img/schedule-tabs-list-bgr.png | Bin widgets/js/jquery-1.6.1.min.js | 0 widgets/js/jquery-ui-1.8.10.custom.min.js | 0 widgets/js/jquery.showinfo.js | 0 widgets/sample_page.html | 0 widgets/widget_schedule.html | 0 widgets/widgets.html | 0 2072 files changed, 7 insertions(+), 8 deletions(-) mode change 100644 => 100755 .gitignore mode change 100644 => 100755 .zfproject.xml mode change 100644 => 100755 CREDITS mode change 100644 => 100755 LICENSE mode change 100644 => 100755 LICENSE_3RD_PARTY mode change 100644 => 100755 README mode change 100644 => 100755 VERSION mode change 100644 => 100755 airtime_mvc/application/Bootstrap.php mode change 100644 => 100755 airtime_mvc/application/airtime-boot.php mode change 100644 => 100755 airtime_mvc/application/common/Database.php mode change 100644 => 100755 airtime_mvc/application/common/DateHelper.php mode change 100644 => 100755 airtime_mvc/application/common/OsPath.php mode change 100644 => 100755 airtime_mvc/application/common/Timezone.php mode change 100644 => 100755 airtime_mvc/application/configs/ACL.php mode change 100644 => 100755 airtime_mvc/application/configs/airtime-conf-production.php mode change 100644 => 100755 airtime_mvc/application/configs/airtime-conf.php mode change 100644 => 100755 airtime_mvc/application/configs/application.ini mode change 100644 => 100755 airtime_mvc/application/configs/classmap-airtime-conf.php mode change 100644 => 100755 airtime_mvc/application/configs/conf.php mode change 100644 => 100755 airtime_mvc/application/configs/config-check.php mode change 100644 => 100755 airtime_mvc/application/configs/constants.php mode change 100644 => 100755 airtime_mvc/application/configs/db-conf.php mode change 100644 => 100755 airtime_mvc/application/configs/navigation.php mode change 100644 => 100755 airtime_mvc/application/controllers/ApiController.php mode change 100644 => 100755 airtime_mvc/application/controllers/AudiopreviewController.php mode change 100644 => 100755 airtime_mvc/application/controllers/DashboardController.php mode change 100644 => 100755 airtime_mvc/application/controllers/ErrorController.php mode change 100644 => 100755 airtime_mvc/application/controllers/IndexController.php mode change 100644 => 100755 airtime_mvc/application/controllers/LibraryController.php mode change 100644 => 100755 airtime_mvc/application/controllers/ListenerstatController.php mode change 100644 => 100755 airtime_mvc/application/controllers/LocaleController.php mode change 100644 => 100755 airtime_mvc/application/controllers/LoginController.php mode change 100644 => 100755 airtime_mvc/application/controllers/PlaylistController.php mode change 100644 => 100755 airtime_mvc/application/controllers/PlayouthistoryController.php mode change 100644 => 100755 airtime_mvc/application/controllers/PlayouthistorytemplateController.php mode change 100644 => 100755 airtime_mvc/application/controllers/PluploadController.php mode change 100644 => 100755 airtime_mvc/application/controllers/PreferenceController.php mode change 100644 => 100755 airtime_mvc/application/controllers/ScheduleController.php mode change 100644 => 100755 airtime_mvc/application/controllers/ShowbuilderController.php mode change 100644 => 100755 airtime_mvc/application/controllers/SystemstatusController.php mode change 100644 => 100755 airtime_mvc/application/controllers/UserController.php mode change 100644 => 100755 airtime_mvc/application/controllers/UsersettingsController.php mode change 100644 => 100755 airtime_mvc/application/controllers/WebstreamController.php mode change 100644 => 100755 airtime_mvc/application/controllers/plugins/Acl_plugin.php mode change 100644 => 100755 airtime_mvc/application/controllers/plugins/RabbitMqPlugin.php mode change 100644 => 100755 airtime_mvc/application/forms/AddShowAbsoluteRebroadcastDates.php mode change 100644 => 100755 airtime_mvc/application/forms/AddShowLiveStream.php mode change 100644 => 100755 airtime_mvc/application/forms/AddShowRR.php mode change 100644 => 100755 airtime_mvc/application/forms/AddShowRebroadcastDates.php mode change 100644 => 100755 airtime_mvc/application/forms/AddShowRepeats.php mode change 100644 => 100755 airtime_mvc/application/forms/AddShowStyle.php mode change 100644 => 100755 airtime_mvc/application/forms/AddShowWhat.php mode change 100644 => 100755 airtime_mvc/application/forms/AddShowWhen.php mode change 100644 => 100755 airtime_mvc/application/forms/AddShowWho.php mode change 100644 => 100755 airtime_mvc/application/forms/AddUser.php mode change 100644 => 100755 airtime_mvc/application/forms/DateRange.php mode change 100644 => 100755 airtime_mvc/application/forms/EditAudioMD.php mode change 100644 => 100755 airtime_mvc/application/forms/EditHistory.php mode change 100644 => 100755 airtime_mvc/application/forms/EditHistoryFile.php mode change 100644 => 100755 airtime_mvc/application/forms/EditHistoryItem.php mode change 100644 => 100755 airtime_mvc/application/forms/EditUser.php mode change 100644 => 100755 airtime_mvc/application/forms/EmailServerPreferences.php mode change 100644 => 100755 airtime_mvc/application/forms/GeneralPreferences.php mode change 100644 => 100755 airtime_mvc/application/forms/LiveStreamingPreferences.php mode change 100644 => 100755 airtime_mvc/application/forms/Login.php mode change 100644 => 100755 airtime_mvc/application/forms/PasswordChange.php mode change 100644 => 100755 airtime_mvc/application/forms/PasswordRestore.php mode change 100644 => 100755 airtime_mvc/application/forms/Preferences.php mode change 100644 => 100755 airtime_mvc/application/forms/RegisterAirtime.php mode change 100644 => 100755 airtime_mvc/application/forms/ScheduleShow.php mode change 100644 => 100755 airtime_mvc/application/forms/ShowBuilder.php mode change 100644 => 100755 airtime_mvc/application/forms/SmartBlockCriteria.php mode change 100644 => 100755 airtime_mvc/application/forms/SoundcloudPreferences.php mode change 100644 => 100755 airtime_mvc/application/forms/StreamSetting.php mode change 100644 => 100755 airtime_mvc/application/forms/StreamSettingSubForm.php mode change 100644 => 100755 airtime_mvc/application/forms/SupportSettings.php mode change 100644 => 100755 airtime_mvc/application/forms/WatchedDirPreferences.php mode change 100644 => 100755 airtime_mvc/application/forms/customfilters/ImageSize.php mode change 100644 => 100755 airtime_mvc/application/forms/customvalidators/ConditionalNotEmpty.php mode change 100644 => 100755 airtime_mvc/application/forms/customvalidators/PasswordNotEmpty.php mode change 100644 => 100755 airtime_mvc/application/forms/helpers/ValidationTypes.php mode change 100644 => 100755 airtime_mvc/application/layouts/scripts/audio-player.phtml mode change 100644 => 100755 airtime_mvc/application/layouts/scripts/bare.phtml mode change 100644 => 100755 airtime_mvc/application/layouts/scripts/layout.phtml mode change 100644 => 100755 airtime_mvc/application/layouts/scripts/livestream.phtml mode change 100644 => 100755 airtime_mvc/application/layouts/scripts/login.phtml mode change 100644 => 100755 airtime_mvc/application/logging/AirtimeLog.php mode change 100644 => 100755 airtime_mvc/application/logging/Logging.php mode change 100644 => 100755 airtime_mvc/application/models/Auth.php mode change 100644 => 100755 airtime_mvc/application/models/Block.php mode change 100644 => 100755 airtime_mvc/application/models/Cache.php mode change 100644 => 100755 airtime_mvc/application/models/Dashboard.php mode change 100644 => 100755 airtime_mvc/application/models/Datatables.php mode change 100644 => 100755 airtime_mvc/application/models/Email.php mode change 100644 => 100755 airtime_mvc/application/models/Library.php mode change 100644 => 100755 airtime_mvc/application/models/LibraryEditable.php mode change 100644 => 100755 airtime_mvc/application/models/ListenerStat.php mode change 100644 => 100755 airtime_mvc/application/models/LiveLog.php mode change 100644 => 100755 airtime_mvc/application/models/Locale.php mode change 100644 => 100755 airtime_mvc/application/models/LoginAttempts.php mode change 100644 => 100755 airtime_mvc/application/models/MusicDir.php mode change 100644 => 100755 airtime_mvc/application/models/Playlist.php mode change 100644 => 100755 airtime_mvc/application/models/Preference.php mode change 100644 => 100755 airtime_mvc/application/models/RabbitMq.php mode change 100644 => 100755 airtime_mvc/application/models/Schedule.php mode change 100644 => 100755 airtime_mvc/application/models/Scheduler.php mode change 100644 => 100755 airtime_mvc/application/models/ServiceRegister.php mode change 100644 => 100755 airtime_mvc/application/models/Show.php mode change 100644 => 100755 airtime_mvc/application/models/ShowBuilder.php mode change 100644 => 100755 airtime_mvc/application/models/ShowInstance.php mode change 100644 => 100755 airtime_mvc/application/models/Soundcloud.php mode change 100644 => 100755 airtime_mvc/application/models/StoredFile.php mode change 100644 => 100755 airtime_mvc/application/models/StreamSetting.php mode change 100644 => 100755 airtime_mvc/application/models/Subjects.php mode change 100644 => 100755 airtime_mvc/application/models/Systemstatus.php mode change 100644 => 100755 airtime_mvc/application/models/User.php mode change 100644 => 100755 airtime_mvc/application/models/Webstream.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcAccess.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcAccessPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcAccessQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcBackup.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcBackupPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcBackupQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcBlock.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcBlockPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcBlockQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcBlockcontents.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcBlockcontentsPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcBlockcontentsQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcBlockcriteria.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcBlockcriteriaPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcBlockcriteriaQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcCountry.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcCountryPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcCountryQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcFileTag.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcFileTagPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcFileTagQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcFiles.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcFilesPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcFilesQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcListenerCount.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcListenerCountPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcListenerCountQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcLiveLog.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcLiveLogPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcLiveLogQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcLocale.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcLocalePeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcLocaleQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcLoginAttempts.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcLoginAttemptsPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcLoginAttemptsQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcMountName.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcMountNamePeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcMountNameQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcMusicDirs.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcMusicDirsPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcMusicDirsQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcPerms.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcPermsPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcPermsQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcPlaylist.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcPlaylistPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcPlaylistQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcPlaylistcontents.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcPlaylistcontentsPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcPlaylistcontentsQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcPlaylistcriteria.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcPlaylistcriteriaPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcPlaylistcriteriaQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcPlayoutHistory.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcPlayoutHistoryMetaData.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcPlayoutHistoryMetaDataPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcPlayoutHistoryMetaDataQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcPlayoutHistoryPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcPlayoutHistoryQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplate.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplateField.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplateFieldPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplateFieldQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplatePeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplateQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcPref.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcPrefPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcPrefQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcSchedule.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcSchedulePeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcScheduleQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcServiceRegister.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcServiceRegisterPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcServiceRegisterQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcSess.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcSessPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcSessQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcShow.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcShowDays.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcShowDaysPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcShowDaysQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcShowHosts.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcShowHostsPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcShowHostsQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcShowInstances.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcShowInstancesPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcShowInstancesQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcShowPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcShowQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcShowRebroadcast.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcShowRebroadcastPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcShowRebroadcastQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcShowSchedule.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcShowSchedulePeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcShowScheduleQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcSmemb.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcSmembPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcSmembQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcStreamSetting.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcStreamSettingPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcStreamSettingQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcSubjs.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcSubjsPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcSubjsQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcSubjsToken.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcSubjsTokenPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcSubjsTokenQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcTag.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcTagPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcTagQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcTimestamp.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcTimestampPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcTimestampQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcTrans.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcTransPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcTransQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcWebstream.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcWebstreamMetadata.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcWebstreamMetadataPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcWebstreamMetadataQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcWebstreamPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/CcWebstreamQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcAccessTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcBackupTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcBlockTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcBlockcontentsTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcBlockcriteriaTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcCountryTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcFileTagTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcFilesTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcListenerCountTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcLiveLogTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcLocaleTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcLoginAttemptsTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcMountNameTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcMusicDirsTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcPermsTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcPlaylistTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcPlaylistcontentsTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcPlaylistcriteriaTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcPlayoutHistoryMetaDataTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcPlayoutHistoryTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcPlayoutHistoryTemplateFieldTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcPlayoutHistoryTemplateTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcPlayoutHistoryTemplateTagTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcPrefTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcScheduleTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcSectionTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcSectioncontentsTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcSectioncriteriaTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcServiceRegisterTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcSessTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcShowDaysTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcShowHostsTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcShowInstancesTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcShowRebroadcastTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcShowScheduleTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcShowStampTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcShowTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcSmembTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcStampContentsTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcStampTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcStreamSettingTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcSubjsTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcSubjsTokenTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcTagTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcTimestampTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcTransTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcWebstreamMetadataTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/map/CcWebstreamTableMap.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcAccess.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcAccessPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcAccessQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcBackup.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcBackupPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcBackupQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcBlock.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcBlockPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcBlockQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcBlockcontents.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcBlockcontentsPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcBlockcontentsQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcBlockcriteria.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcBlockcriteriaPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcBlockcriteriaQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcCountry.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcCountryPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcCountryQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcFileTag.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcFileTagPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcFileTagQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcFiles.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcFilesPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcFilesQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcListenerCount.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcListenerCountPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcListenerCountQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcLiveLog.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcLiveLogPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcLiveLogQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcLocale.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcLocalePeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcLocaleQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcLoginAttempts.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcLoginAttemptsPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcLoginAttemptsQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcMountName.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcMountNamePeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcMountNameQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcMusicDirs.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcMusicDirsPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcMusicDirsQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcPerms.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcPermsPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcPermsQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcPlaylist.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcPlaylistPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcPlaylistQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcPlaylistcontents.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcPlaylistcontentsPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcPlaylistcontentsQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcPlaylistcriteria.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcPlaylistcriteriaPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcPlaylistcriteriaQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistory.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryMetaData.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryMetaDataPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryMetaDataQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplate.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateField.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateFieldPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateFieldQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplatePeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateTag.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateTagPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateTagQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcPref.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcPrefPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcPrefQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcSchedule.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcSchedulePeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcScheduleQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcServiceRegister.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcServiceRegisterPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcServiceRegisterQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcSess.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcSessPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcSessQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcShow.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcShowDays.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcShowDaysPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcShowDaysQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcShowHosts.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcShowHostsPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcShowHostsQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcShowInstances.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcShowInstancesPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcShowInstancesQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcShowPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcShowQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcShowRebroadcast.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcShowRebroadcastPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcShowRebroadcastQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcShowSchedule.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcShowSchedulePeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcShowScheduleQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcSmemb.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcSmembPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcSmembQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcStreamSetting.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcStreamSettingPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcStreamSettingQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcSubjs.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcSubjsPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcSubjsQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcSubjsToken.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcSubjsTokenPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcSubjsTokenQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcTag.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcTagPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcTagQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcTimestamp.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcTimestampPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcTimestampQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcTrans.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcTransPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcTransQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcWebstream.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcWebstreamMetadata.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcWebstreamMetadataPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcWebstreamMetadataQuery.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcWebstreamPeer.php mode change 100644 => 100755 airtime_mvc/application/models/airtime/om/BaseCcWebstreamQuery.php mode change 100644 => 100755 airtime_mvc/application/models/formatters/BitrateFormatter.php mode change 100644 => 100755 airtime_mvc/application/models/formatters/LengthFormatter.php mode change 100644 => 100755 airtime_mvc/application/models/formatters/SamplerateFormatter.php mode change 100644 => 100755 airtime_mvc/application/models/formatters/TimeFilledFormatter.php mode change 100644 => 100755 airtime_mvc/application/models/tests/0000000000010001 mode change 100644 => 100755 airtime_mvc/application/models/tests/0000000000010002 mode change 100644 => 100755 airtime_mvc/application/models/tests/AllTests.php mode change 100644 => 100755 airtime_mvc/application/models/tests/SchedulerExportTests.php mode change 100644 => 100755 airtime_mvc/application/models/tests/SchedulerTests.php mode change 100644 => 100755 airtime_mvc/application/models/tests/StoredFileTests.php mode change 100644 => 100755 airtime_mvc/application/models/tests/ex1.mp3 mode change 100644 => 100755 airtime_mvc/application/models/tests/ex2.ogg mode change 100644 => 100755 airtime_mvc/application/models/tests/ex2.wav mode change 100644 => 100755 airtime_mvc/application/models/tests/ex3.wav mode change 100644 => 100755 airtime_mvc/application/models/tests/exportedPl_lspl.tar mode change 100644 => 100755 airtime_mvc/application/models/tests/index.php mode change 100644 => 100755 airtime_mvc/application/models/tests/pdoTest.php mode change 100644 => 100755 airtime_mvc/application/models/tests/plistEmbedded.xml mode change 100644 => 100755 airtime_mvc/application/models/tests/populator.php mode change 100644 => 100755 airtime_mvc/application/models/tests/question.wav mode change 100644 => 100755 airtime_mvc/application/models/tests/silence.wav mode change 100644 => 100755 airtime_mvc/application/models/tests/test10001.mp3 mode change 100644 => 100755 airtime_mvc/application/models/tests/test10002.mp3 mode change 100644 => 100755 airtime_mvc/application/models/tests/test10003.mp3 mode change 100644 => 100755 airtime_mvc/application/models/tests/wstream1.xml mode change 100644 => 100755 airtime_mvc/application/services/CalendarService.php mode change 100644 => 100755 airtime_mvc/application/services/HistoryService.php mode change 100644 => 100755 airtime_mvc/application/services/SchedulerService.php mode change 100644 => 100755 airtime_mvc/application/services/ShowFormService.php mode change 100644 => 100755 airtime_mvc/application/services/ShowService.php mode change 100644 => 100755 airtime_mvc/application/services/UserService.php mode change 100644 => 100755 airtime_mvc/application/validate/NotDemoValidate.php mode change 100644 => 100755 airtime_mvc/application/validate/UserNameValidate.php mode change 100644 => 100755 airtime_mvc/application/views/helpers/IsTrial.php mode change 100644 => 100755 airtime_mvc/application/views/helpers/LoggedInAs.php mode change 100644 => 100755 airtime_mvc/application/views/helpers/SourceConnectionStatus.php mode change 100644 => 100755 airtime_mvc/application/views/helpers/SourceSwitchStatus.php mode change 100644 => 100755 airtime_mvc/application/views/helpers/TrialRemaining.php mode change 100644 => 100755 airtime_mvc/application/views/helpers/VersionNotify.php mode change 100644 => 100755 airtime_mvc/application/views/scripts/airtime-recorder/index.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/api/list-all-files.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/api/status.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/dashboard/about.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/dashboard/help.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/dashboard/index.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/dashboard/stream-player.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/error/denied.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/error/error.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/form/add-show-block.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/form/add-show-live-stream.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/form/add-show-rebroadcast-absolute.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/form/add-show-rebroadcast.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/form/add-show-style.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/form/add-show-what.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/form/add-show-when.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/form/daterange.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/form/edit-history-file.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/form/edit-history-item.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/form/edit-user.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/form/login.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/form/password-change.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/form/password-restore.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/form/preferences.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/form/preferences_email_server.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/form/preferences_general.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/form/preferences_livestream.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/form/preferences_soundcloud.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/form/register-dialog.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/form/showbuilder.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/form/smart-block-criteria.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/form/stream-setting-form.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/form/support-setting.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/index/display.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/index/index.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/index/main.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/index/newfield.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/library/edit-file-md.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/library/index.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/library/library.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/listenerstat/index.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/login/index.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/login/logout.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/login/password-change.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/login/password-restore-after.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/login/password-restore.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/menu.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/partialviews/header.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/partialviews/trialBox.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/playlist/playlist.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/playlist/set-cue.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/playlist/set-fade.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/playlist/smart-block.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/playlist/update.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/playouthistory/dialog.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/playouthistory/index.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/playouthistorytemplate/configure-template.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/plupload/index.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/plupload/upload.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/preference/directory-config.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/preference/index.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/preference/stream-setting.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/preference/support-setting.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/recorder/get-show-schedule.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/recorder/index.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/schedule/add-show-form.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/schedule/add-show.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/schedule/cancel-current-show.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/schedule/cancel-show.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/schedule/clear-show.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/schedule/delete-show.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/schedule/edit-show.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/schedule/event-feed.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/schedule/get-current-playlist.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/schedule/get-form.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/schedule/get-show-data.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/schedule/index.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/schedule/make-context-menu.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/schedule/move-show.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/schedule/remove-group.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/schedule/resize-show.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/schedule/schedule-show.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/schedule/show-content-dialog.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/schedule/show-list.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/showbuilder/builderDialog.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/showbuilder/index.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/systemstatus/get-log-file.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/systemstatus/index.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/user/add-user.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/user/edit-user.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/user/get-hosts.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/user/get-user-data-table-info.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/user/get-user-data.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/user/index.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/user/remove-user.phtml mode change 100644 => 100755 airtime_mvc/application/views/scripts/webstream/webstream.phtml mode change 100644 => 100755 airtime_mvc/build/airtime-php.logrotate mode change 100644 => 100755 airtime_mvc/build/airtime-setup/forms/database-settings.php mode change 100644 => 100755 airtime_mvc/build/airtime-setup/forms/finish-settings.php mode change 100644 => 100755 airtime_mvc/build/airtime-setup/forms/general-settings.php mode change 100644 => 100755 airtime_mvc/build/airtime-setup/forms/media-settings.php mode change 100644 => 100755 airtime_mvc/build/airtime-setup/forms/rabbitmq-settings.php mode change 100644 => 100755 airtime_mvc/build/airtime-setup/load.php mode change 100644 => 100755 airtime_mvc/build/airtime-setup/setup-config.php mode change 100644 => 100755 airtime_mvc/build/airtime.example.conf mode change 100644 => 100755 airtime_mvc/build/build.properties mode change 100644 => 100755 airtime_mvc/build/runtime-conf.xml mode change 100644 => 100755 airtime_mvc/build/schema.xml mode change 100644 => 100755 airtime_mvc/build/sql/defaultdata.sql mode change 100644 => 100755 airtime_mvc/build/sql/schema.sql mode change 100644 => 100755 airtime_mvc/build/sql/sequences.sql mode change 100644 => 100755 airtime_mvc/build/sql/sqldb.map mode change 100644 => 100755 airtime_mvc/build/sql/triggers.sql mode change 100644 => 100755 airtime_mvc/build/sql/views.sql mode change 100644 => 100755 airtime_mvc/library/ZFDebug/Controller/Plugin/Debug.php mode change 100644 => 100755 airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin.php mode change 100644 => 100755 airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Auth.php mode change 100644 => 100755 airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Cache.php mode change 100644 => 100755 airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Database.php mode change 100644 => 100755 airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Exception.php mode change 100644 => 100755 airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/File.php mode change 100644 => 100755 airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Html.php mode change 100644 => 100755 airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Interface.php mode change 100644 => 100755 airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Memory.php mode change 100644 => 100755 airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Registry.php mode change 100644 => 100755 airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Text.php mode change 100644 => 100755 airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Time.php mode change 100644 => 100755 airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Variables.php mode change 100644 => 100755 airtime_mvc/library/doctrine/migrations/doctrine-migrations.phar mode change 100644 => 100755 airtime_mvc/library/doctrine/migrations/migrations-db.php mode change 100644 => 100755 airtime_mvc/library/phing/BuildEvent.php mode change 100644 => 100755 airtime_mvc/library/phing/BuildException.php mode change 100644 => 100755 airtime_mvc/library/phing/BuildListener.php mode change 100644 => 100755 airtime_mvc/library/phing/BuildLogger.php mode change 100644 => 100755 airtime_mvc/library/phing/ConfigurationException.php mode change 100644 => 100755 airtime_mvc/library/phing/IntrospectionHelper.php mode change 100644 => 100755 airtime_mvc/library/phing/LICENSE mode change 100644 => 100755 airtime_mvc/library/phing/Phing.php mode change 100644 => 100755 airtime_mvc/library/phing/Project.php mode change 100644 => 100755 airtime_mvc/library/phing/ProjectComponent.php mode change 100644 => 100755 airtime_mvc/library/phing/RuntimeConfigurable.php mode change 100644 => 100755 airtime_mvc/library/phing/Target.php mode change 100644 => 100755 airtime_mvc/library/phing/Task.php mode change 100644 => 100755 airtime_mvc/library/phing/TaskAdapter.php mode change 100644 => 100755 airtime_mvc/library/phing/TaskContainer.php mode change 100644 => 100755 airtime_mvc/library/phing/UnknownElement.php mode change 100644 => 100755 airtime_mvc/library/phing/filters/BaseFilterReader.php mode change 100644 => 100755 airtime_mvc/library/phing/filters/BaseParamFilterReader.php mode change 100644 => 100755 airtime_mvc/library/phing/filters/ChainableReader.php mode change 100644 => 100755 airtime_mvc/library/phing/filters/ExpandProperties.php mode change 100644 => 100755 airtime_mvc/library/phing/filters/HeadFilter.php mode change 100644 => 100755 airtime_mvc/library/phing/filters/LineContains.php mode change 100644 => 100755 airtime_mvc/library/phing/filters/LineContainsRegexp.php mode change 100644 => 100755 airtime_mvc/library/phing/filters/PrefixLines.php mode change 100644 => 100755 airtime_mvc/library/phing/filters/ReplaceRegexp.php mode change 100644 => 100755 airtime_mvc/library/phing/filters/ReplaceTokens.php mode change 100644 => 100755 airtime_mvc/library/phing/filters/ReplaceTokensWithFile.php mode change 100644 => 100755 airtime_mvc/library/phing/filters/StripLineBreaks.php mode change 100644 => 100755 airtime_mvc/library/phing/filters/StripLineComments.php mode change 100644 => 100755 airtime_mvc/library/phing/filters/StripPhpComments.php mode change 100644 => 100755 airtime_mvc/library/phing/filters/StripWhitespace.php mode change 100644 => 100755 airtime_mvc/library/phing/filters/TabToSpaces.php mode change 100644 => 100755 airtime_mvc/library/phing/filters/TailFilter.php mode change 100644 => 100755 airtime_mvc/library/phing/filters/TidyFilter.php mode change 100644 => 100755 airtime_mvc/library/phing/filters/TranslateGettext.php mode change 100644 => 100755 airtime_mvc/library/phing/filters/XincludeFilter.php mode change 100644 => 100755 airtime_mvc/library/phing/filters/XsltFilter.php mode change 100644 => 100755 airtime_mvc/library/phing/filters/util/ChainReaderHelper.php mode change 100644 => 100755 airtime_mvc/library/phing/filters/util/IniFileTokenReader.php mode change 100644 => 100755 airtime_mvc/library/phing/input/DefaultInputHandler.php mode change 100644 => 100755 airtime_mvc/library/phing/input/InputHandler.php mode change 100644 => 100755 airtime_mvc/library/phing/input/InputRequest.php mode change 100644 => 100755 airtime_mvc/library/phing/input/MultipleChoiceInputRequest.php mode change 100644 => 100755 airtime_mvc/library/phing/input/YesNoInputRequest.php mode change 100644 => 100755 airtime_mvc/library/phing/lib/Capsule.php mode change 100644 => 100755 airtime_mvc/library/phing/listener/AnsiColorLogger.php mode change 100644 => 100755 airtime_mvc/library/phing/listener/DefaultLogger.php mode change 100644 => 100755 airtime_mvc/library/phing/listener/NoBannerLogger.php mode change 100644 => 100755 airtime_mvc/library/phing/listener/PearLogListener.php mode change 100644 => 100755 airtime_mvc/library/phing/listener/StreamRequiredBuildLogger.php mode change 100644 => 100755 airtime_mvc/library/phing/listener/XmlLogger.php mode change 100644 => 100755 airtime_mvc/library/phing/mappers/FileNameMapper.php mode change 100644 => 100755 airtime_mvc/library/phing/mappers/FlattenMapper.php mode change 100644 => 100755 airtime_mvc/library/phing/mappers/GlobMapper.php mode change 100644 => 100755 airtime_mvc/library/phing/mappers/IdentityMapper.php mode change 100644 => 100755 airtime_mvc/library/phing/mappers/MergeMapper.php mode change 100644 => 100755 airtime_mvc/library/phing/mappers/RegexpMapper.php mode change 100644 => 100755 airtime_mvc/library/phing/parser/AbstractHandler.php mode change 100644 => 100755 airtime_mvc/library/phing/parser/AbstractSAXParser.php mode change 100644 => 100755 airtime_mvc/library/phing/parser/DataTypeHandler.php mode change 100644 => 100755 airtime_mvc/library/phing/parser/ExpatParseException.php mode change 100644 => 100755 airtime_mvc/library/phing/parser/ExpatParser.php mode change 100644 => 100755 airtime_mvc/library/phing/parser/Location.php mode change 100644 => 100755 airtime_mvc/library/phing/parser/NestedElementHandler.php mode change 100644 => 100755 airtime_mvc/library/phing/parser/PhingXMLContext.php mode change 100644 => 100755 airtime_mvc/library/phing/parser/ProjectConfigurator.php mode change 100644 => 100755 airtime_mvc/library/phing/parser/ProjectHandler.php mode change 100644 => 100755 airtime_mvc/library/phing/parser/RootHandler.php mode change 100644 => 100755 airtime_mvc/library/phing/parser/TargetHandler.php mode change 100644 => 100755 airtime_mvc/library/phing/parser/TaskHandler.php mode change 100644 => 100755 airtime_mvc/library/phing/system/io/BufferedReader.php mode change 100644 => 100755 airtime_mvc/library/phing/system/io/BufferedWriter.php mode change 100644 => 100755 airtime_mvc/library/phing/system/io/ConsoleReader.php mode change 100644 => 100755 airtime_mvc/library/phing/system/io/FileInputStream.php mode change 100644 => 100755 airtime_mvc/library/phing/system/io/FileOutputStream.php mode change 100644 => 100755 airtime_mvc/library/phing/system/io/FileReader.php mode change 100644 => 100755 airtime_mvc/library/phing/system/io/FileSystem.php mode change 100644 => 100755 airtime_mvc/library/phing/system/io/FileWriter.php mode change 100644 => 100755 airtime_mvc/library/phing/system/io/FilterReader.php mode change 100644 => 100755 airtime_mvc/library/phing/system/io/IOException.php mode change 100644 => 100755 airtime_mvc/library/phing/system/io/InputStream.php mode change 100644 => 100755 airtime_mvc/library/phing/system/io/InputStreamReader.php mode change 100644 => 100755 airtime_mvc/library/phing/system/io/OutputStream.php mode change 100644 => 100755 airtime_mvc/library/phing/system/io/OutputStreamWriter.php mode change 100644 => 100755 airtime_mvc/library/phing/system/io/PhingFile.php mode change 100644 => 100755 airtime_mvc/library/phing/system/io/Reader.php mode change 100644 => 100755 airtime_mvc/library/phing/system/io/StringReader.php mode change 100644 => 100755 airtime_mvc/library/phing/system/io/UnixFileSystem.php mode change 100644 => 100755 airtime_mvc/library/phing/system/io/Win32FileSystem.php mode change 100644 => 100755 airtime_mvc/library/phing/system/io/WinNTFileSystem.php mode change 100644 => 100755 airtime_mvc/library/phing/system/io/Writer.php mode change 100644 => 100755 airtime_mvc/library/phing/system/lang/Character.php mode change 100644 => 100755 airtime_mvc/library/phing/system/lang/EventObject.php mode change 100644 => 100755 airtime_mvc/library/phing/system/lang/FileNotFoundException.php mode change 100644 => 100755 airtime_mvc/library/phing/system/lang/NullPointerException.php mode change 100644 => 100755 airtime_mvc/library/phing/system/lang/SecurityException.php mode change 100644 => 100755 airtime_mvc/library/phing/system/util/Properties.php mode change 100644 => 100755 airtime_mvc/library/phing/system/util/Register.php mode change 100644 => 100755 airtime_mvc/library/phing/system/util/Timer.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/CapsuleTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/ExportPropertiesTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/ExtractBaseTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/FileHashTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/FileSizeTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/FtpDeployTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/HttpRequestTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/JslLintTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/MailTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/ManifestTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/PackageAsPathTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/PatchTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/PearPackage2Task.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/PearPackageTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/PhpCodeSnifferTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/PhpLintTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/ReplaceRegexpTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/ScpTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/SmartyTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/SshTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/TarTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/UntarTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/UnzipTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/VersionTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/XmlLintTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/XmlPropertyTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/ZendCodeAnalyzerTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/ZipTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/coverage/CoverageMerger.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/coverage/CoverageMergerTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/coverage/CoverageReportTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/coverage/CoverageReportTransformer.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/coverage/CoverageSetupTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/coverage/CoverageThresholdTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/creole/CreoleSQLExecTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/creole/CreoleTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/dbdeploy/DbDeployTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/dbdeploy/DbmsSyntax.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/dbdeploy/DbmsSyntaxFactory.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/dbdeploy/DbmsSyntaxMsSql.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/dbdeploy/DbmsSyntaxMysql.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/dbdeploy/DbmsSyntaxSQLite.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/ioncube/IoncubeComment.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/ioncube/IoncubeEncoderTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/ioncube/IoncubeLicenseTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/jsmin/JsMin.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/jsmin/JsMinTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/pdepend/PhpDependAnalyzerElement.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/pdepend/PhpDependLoggerElement.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/pdepend/PhpDependTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/pdo/PDOResultFormatter.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/pdo/PDOSQLExecFormatterElement.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/pdo/PDOSQLExecTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/pdo/PDOTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/pdo/PlainPDOResultFormatter.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/pdo/XMLPDOResultFormatter.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/pearpackage/Fileset.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/phar/IterableFileSet.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/phar/PharMetadata.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/phar/PharMetadataElement.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/phar/PharPackageTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/phk/PhkPackageTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/phk/PhkPackageWebAccess.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/phk/PhkPackageWebAccessPath.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/phpcpd/PHPCPDFormatterElement.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/phpcpd/PHPCPDTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/phpcpd/formatter/DefaultPHPCPDResultFormatter.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/phpcpd/formatter/PHPCPDResultFormatter.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/phpcpd/formatter/PMDPHPCPDResultFormatter.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/phpdoc/PhingPhpDocumentorSetup.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/phpdoc/PhpDocumentorExternalTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/phpdoc/PhpDocumentorTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/phpmd/PHPMDFormatterElement.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/phpmd/PHPMDTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/phpunit/BatchTest.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/phpunit/FormatterElement.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/phpunit/PHPUnitReportTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/phpunit/PHPUnitTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/phpunit/PHPUnitTestRunner.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/phpunit/PHPUnitUtil.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/phpunit/formatter/CloverPHPUnitResultFormatter.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/phpunit/formatter/PHPUnitResultFormatter.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/phpunit/formatter/PlainPHPUnitResultFormatter.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/phpunit/formatter/SummaryPHPUnitResultFormatter.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/phpunit/formatter/XMLPHPUnitResultFormatter.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestCountResultFormatter.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestDebugResultFormatter.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestFormatterElement.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestPlainResultFormatter.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestResultFormatter.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestSummaryResultFormatter.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestXmlResultFormatter.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/svn/SvnBaseTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/svn/SvnCheckoutTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/svn/SvnCommitTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/svn/SvnCopyTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/svn/SvnExportTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/svn/SvnLastRevisionTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/ext/svn/SvnUpdateTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/AdhocTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/AdhocTaskdefTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/AdhocTypedefTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/AppendTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/AvailableTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/ChmodTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/ChownTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/ConditionTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/CopyTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/CvsPassTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/CvsTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/DeleteTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/EchoTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/ExecTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/ExitTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/ForeachTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/IfTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/ImportTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/IncludePathTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/InputTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/MatchingTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/MkdirTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/MoveTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/PhingCallTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/PhingTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/PhpEvalTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/PropertyPromptTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/PropertyTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/ReflexiveTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/ResolvePathTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/SequentialTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/TaskdefTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/TouchTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/TstampTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/TypedefTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/UpToDateTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/WarnTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/XsltTask.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/condition/AndCondition.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/condition/Condition.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/condition/ConditionBase.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/condition/ContainsCondition.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/condition/EqualsCondition.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/condition/IsFalseCondition.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/condition/IsSetCondition.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/condition/IsTrueCondition.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/condition/NotCondition.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/condition/OrCondition.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/condition/OsCondition.php mode change 100644 => 100755 airtime_mvc/library/phing/tasks/system/condition/ReferenceExistsCondition.php mode change 100644 => 100755 airtime_mvc/library/phing/types/AbstractFileSet.php mode change 100644 => 100755 airtime_mvc/library/phing/types/Commandline.php mode change 100644 => 100755 airtime_mvc/library/phing/types/DataType.php mode change 100644 => 100755 airtime_mvc/library/phing/types/Description.php mode change 100644 => 100755 airtime_mvc/library/phing/types/DirSet.php mode change 100644 => 100755 airtime_mvc/library/phing/types/FileList.php mode change 100644 => 100755 airtime_mvc/library/phing/types/FileSet.php mode change 100644 => 100755 airtime_mvc/library/phing/types/FilterChain.php mode change 100644 => 100755 airtime_mvc/library/phing/types/Mapper.php mode change 100644 => 100755 airtime_mvc/library/phing/types/Parameter.php mode change 100644 => 100755 airtime_mvc/library/phing/types/Parameterizable.php mode change 100644 => 100755 airtime_mvc/library/phing/types/Path.php mode change 100644 => 100755 airtime_mvc/library/phing/types/PatternSet.php mode change 100644 => 100755 airtime_mvc/library/phing/types/PhingFilterReader.php mode change 100644 => 100755 airtime_mvc/library/phing/types/Reference.php mode change 100644 => 100755 airtime_mvc/library/phing/types/RegularExpression.php mode change 100644 => 100755 airtime_mvc/library/phing/types/TokenReader.php mode change 100644 => 100755 airtime_mvc/library/phing/types/TokenSource.php mode change 100644 => 100755 airtime_mvc/library/phing/types/selectors/AndSelector.php mode change 100644 => 100755 airtime_mvc/library/phing/types/selectors/BaseExtendSelector.php mode change 100644 => 100755 airtime_mvc/library/phing/types/selectors/BaseSelector.php mode change 100644 => 100755 airtime_mvc/library/phing/types/selectors/BaseSelectorContainer.php mode change 100644 => 100755 airtime_mvc/library/phing/types/selectors/ContainsRegexpSelector.php mode change 100644 => 100755 airtime_mvc/library/phing/types/selectors/ContainsSelector.php mode change 100644 => 100755 airtime_mvc/library/phing/types/selectors/DateSelector.php mode change 100644 => 100755 airtime_mvc/library/phing/types/selectors/DependSelector.php mode change 100644 => 100755 airtime_mvc/library/phing/types/selectors/DepthSelector.php mode change 100644 => 100755 airtime_mvc/library/phing/types/selectors/ExtendFileSelector.php mode change 100644 => 100755 airtime_mvc/library/phing/types/selectors/ExtendSelector.php mode change 100644 => 100755 airtime_mvc/library/phing/types/selectors/FileSelector.php mode change 100644 => 100755 airtime_mvc/library/phing/types/selectors/FilenameSelector.php mode change 100644 => 100755 airtime_mvc/library/phing/types/selectors/MajoritySelector.php mode change 100644 => 100755 airtime_mvc/library/phing/types/selectors/NoneSelector.php mode change 100644 => 100755 airtime_mvc/library/phing/types/selectors/NotSelector.php mode change 100644 => 100755 airtime_mvc/library/phing/types/selectors/OrSelector.php mode change 100644 => 100755 airtime_mvc/library/phing/types/selectors/PresentSelector.php mode change 100644 => 100755 airtime_mvc/library/phing/types/selectors/SelectSelector.php mode change 100644 => 100755 airtime_mvc/library/phing/types/selectors/SelectorContainer.php mode change 100644 => 100755 airtime_mvc/library/phing/types/selectors/SelectorScanner.php mode change 100644 => 100755 airtime_mvc/library/phing/types/selectors/SelectorUtils.php mode change 100644 => 100755 airtime_mvc/library/phing/types/selectors/SizeSelector.php mode change 100644 => 100755 airtime_mvc/library/phing/types/selectors/TypeSelector.php mode change 100644 => 100755 airtime_mvc/library/phing/util/DataStore.php mode change 100644 => 100755 airtime_mvc/library/phing/util/DirectoryScanner.php mode change 100644 => 100755 airtime_mvc/library/phing/util/ExtendedFileStream.php mode change 100644 => 100755 airtime_mvc/library/phing/util/FileUtils.php mode change 100644 => 100755 airtime_mvc/library/phing/util/LogWriter.php mode change 100644 => 100755 airtime_mvc/library/phing/util/PathTokenizer.php mode change 100644 => 100755 airtime_mvc/library/phing/util/SourceFileScanner.php mode change 100644 => 100755 airtime_mvc/library/phing/util/StringHelper.php mode change 100644 => 100755 airtime_mvc/library/phing/util/regexp/PregEngine.php mode change 100644 => 100755 airtime_mvc/library/phing/util/regexp/Regexp.php mode change 100644 => 100755 airtime_mvc/library/phing/util/regexp/RegexpEngine.php mode change 100644 => 100755 airtime_mvc/library/php-amqplib/CREDITS mode change 100644 => 100755 airtime_mvc/library/php-amqplib/LICENSE mode change 100644 => 100755 airtime_mvc/library/php-amqplib/README.md mode change 100644 => 100755 airtime_mvc/library/php-amqplib/amqp.inc mode change 100644 => 100755 airtime_mvc/library/php-amqplib/amqp_receive.php mode change 100644 => 100755 airtime_mvc/library/php-amqplib/amqp_test.php mode change 100644 => 100755 airtime_mvc/library/php-amqplib/amqp_wire.inc mode change 100644 => 100755 airtime_mvc/library/php-amqplib/hexdump.inc mode change 100644 => 100755 airtime_mvc/library/propel/CHANGELOG mode change 100644 => 100755 airtime_mvc/library/propel/INSTALL mode change 100644 => 100755 airtime_mvc/library/propel/LICENSE mode change 100644 => 100755 airtime_mvc/library/propel/WHATS_NEW mode change 100644 => 100755 airtime_mvc/library/propel/contrib/dbd2propel/dbd2propel.xsl mode change 100644 => 100755 airtime_mvc/library/propel/contrib/dbd2propel/transform.php mode change 100644 => 100755 airtime_mvc/library/propel/contrib/pat/patForms.php mode change 100644 => 100755 airtime_mvc/library/propel/contrib/pat/patForms/Creator/Definition.php mode change 100644 => 100755 airtime_mvc/library/propel/contrib/pat/patForms/Creator/Propel.php mode change 100644 => 100755 airtime_mvc/library/propel/contrib/pat/patForms/Creator/_propel_creator_test.php mode change 100644 => 100755 airtime_mvc/library/propel/contrib/pat/patForms/Datasource/Propel.php mode change 100644 => 100755 airtime_mvc/library/propel/contrib/pat/patForms/Definition.php mode change 100644 => 100755 airtime_mvc/library/propel/contrib/pat/patForms/Definition/Propel.php mode change 100644 => 100755 airtime_mvc/library/propel/contrib/pat/patForms/Element.php mode change 100644 => 100755 airtime_mvc/library/propel/contrib/pat/patForms/Rule.php mode change 100644 => 100755 airtime_mvc/library/propel/contrib/pat/patForms/Rule/Match.php mode change 100644 => 100755 airtime_mvc/library/propel/contrib/pat/patForms/Rule/MaxLength.php mode change 100644 => 100755 airtime_mvc/library/propel/contrib/pat/patForms/Rule/MaxValue.php mode change 100644 => 100755 airtime_mvc/library/propel/contrib/pat/patForms/Rule/MinLength.php mode change 100644 => 100755 airtime_mvc/library/propel/contrib/pat/patForms/Rule/MinValue.php mode change 100644 => 100755 airtime_mvc/library/propel/contrib/pat/patForms/Rule/NotMatch.php mode change 100644 => 100755 airtime_mvc/library/propel/contrib/pat/patForms/Rule/ValidValues.php mode change 100644 => 100755 airtime_mvc/library/propel/contrib/pat/patForms/Storage/Propel.php mode change 100644 => 100755 airtime_mvc/library/propel/contrib/pat/patForms/res/form.dynamic.tpl mode change 100644 => 100755 airtime_mvc/library/propel/contrib/pat/patForms/res/mysql-dump.bookstore.sql mode change 100644 => 100755 airtime_mvc/library/propel/contrib/pat/patForms_Storage_Propel_test.php mode change 100644 => 100755 airtime_mvc/library/propel/contrib/pat/patTemplate.php mode change 100644 => 100755 airtime_mvc/library/propel/contrib/pear/HTML_QuickForm_Propel/Propel.php mode change 100644 => 100755 airtime_mvc/library/propel/contrib/pear/Structures_DataGrid_Propel/Propel.php mode change 100644 => 100755 airtime_mvc/library/propel/docs/behavior/aggregate_column.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/behavior/alternative_coding_standards.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/behavior/auto_add_pk.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/behavior/nested_set.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/behavior/query_cache.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/behavior/sluggable.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/behavior/soft_delete.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/behavior/sortable.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/behavior/timestampable.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/build.xml mode change 100644 => 100755 airtime_mvc/library/propel/docs/cookbook/Add-Custom-SQL.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/cookbook/Copying-Objects.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/cookbook/Customizing-Build.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/cookbook/Existing-Database.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/cookbook/LOB-Columns.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/cookbook/Master-Slave.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/cookbook/Multi-Component.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/cookbook/Namespaces.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/cookbook/Nested-Set.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/cookbook/Runtime-Introspection.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/cookbook/Writing-Behavior.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/guide/01-Installation.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/guide/02-BuildTime.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/guide/03-Basic-CRUD.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/guide/04-Relationships.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/guide/05-Validators.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/guide/06-Transactions.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/guide/07-Behaviors.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/guide/08-Logging.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/guide/09-Inheritance.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/reference/Buildtime-Configuration.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/reference/ModelCriteria.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/reference/Runtime-Configuration.txt mode change 100644 => 100755 airtime_mvc/library/propel/docs/reference/Schema.txt mode change 100644 => 100755 airtime_mvc/library/propel/generator/build-propel.xml mode change 100644 => 100755 airtime_mvc/library/propel/generator/build.properties-sample mode change 100644 => 100755 airtime_mvc/library/propel/generator/build.xml mode change 100644 => 100755 airtime_mvc/library/propel/generator/build.xml-local mode change 100644 => 100755 airtime_mvc/library/propel/generator/default.properties mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/behavior/AlternativeCodingStandardsBehavior.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/behavior/AutoAddPkBehavior.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/behavior/SoftDeleteBehavior.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/behavior/TimestampableBehavior.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/AggregateColumnBehavior.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/AggregateColumnRelationBehavior.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/templates/objectCompute.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/templates/objectUpdate.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/templates/objectUpdateRelated.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/templates/queryFindRelated.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/templates/queryUpdateRelated.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/behavior/concrete_inheritance/ConcreteInheritanceBehavior.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/behavior/concrete_inheritance/ConcreteInheritanceParentBehavior.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/behavior/nestedset/NestedSetBehavior.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/behavior/nestedset/NestedSetBehaviorObjectBuilderModifier.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/behavior/nestedset/NestedSetBehaviorPeerBuilderModifier.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/behavior/nestedset/NestedSetBehaviorQueryBuilderModifier.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/behavior/query_cache/QueryCacheBehavior.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/behavior/sluggable/SluggableBehavior.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/behavior/sortable/SortableBehavior.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/behavior/sortable/SortableBehaviorObjectBuilderModifier.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/behavior/sortable/SortableBehaviorPeerBuilderModifier.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/behavior/sortable/SortableBehaviorQueryBuilderModifier.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/DataModelBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/om/ClassTools.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/om/ExtensionQueryBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/om/ExtensionQueryInheritanceBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/om/OMBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/om/ObjectBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/om/PHP5ExtensionNodeBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/om/PHP5ExtensionNodePeerBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/om/PHP5ExtensionObjectBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/om/PHP5ExtensionPeerBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/om/PHP5InterfaceBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/om/PHP5MultiExtendObjectBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/om/PHP5NestedSetBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/om/PHP5NestedSetPeerBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/om/PHP5NodeBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/om/PHP5NodePeerBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/om/PHP5ObjectBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/om/PHP5ObjectNoCollectionBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/om/PHP5PeerBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/om/PHP5TableMapBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/om/PeerBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/om/QueryBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/om/QueryInheritanceBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/sql/DDLBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/sql/DataSQLBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/sql/mssql/MssqlDDLBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/sql/mssql/MssqlDataSQLBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/sql/mysql/MysqlDDLBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/sql/mysql/MysqlDataSQLBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/sql/oracle/OracleDDLBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/sql/oracle/OracleDataSQLBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/sql/pgsql/PgsqlDDLBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/sql/pgsql/PgsqlDataSQLBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/sql/sqlite/SqliteDDLBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/sql/sqlite/SqliteDataSQLBuilder.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/util/DefaultEnglishPluralizer.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/util/Pluralizer.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/util/PropelStringReader.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/util/PropelTemplate.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/util/XmlToAppData.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/builder/util/XmlToDataSQL.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/config/GeneratorConfig.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/exception/EngineException.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/model/AppData.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/model/Behavior.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/model/Column.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/model/ColumnDefaultValue.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/model/ConstraintNameGenerator.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/model/Database.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/model/Domain.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/model/ForeignKey.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/model/IDMethod.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/model/IdMethodParameter.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/model/Index.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/model/Inheritance.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/model/NameFactory.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/model/NameGenerator.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/model/PhpNameGenerator.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/model/PropelTypes.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/model/Rule.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/model/Table.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/model/Unique.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/model/Validator.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/model/VendorInfo.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/model/XMLElement.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/platform/DefaultPlatform.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/platform/MssqlPlatform.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/platform/MysqlPlatform.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/platform/OraclePlatform.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/platform/PgsqlPlatform.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/platform/Platform.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/platform/SqlitePlatform.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/reverse/BaseSchemaParser.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/reverse/SchemaParser.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/reverse/mssql/MssqlSchemaParser.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/reverse/mysql/MysqlSchemaParser.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/reverse/oracle/OracleSchemaParser.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/reverse/pgsql/PgsqlSchemaParser.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/reverse/sqlite/SqliteSchemaParser.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/task/AbstractPropelDataModelTask.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/task/PropelConvertConfTask.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/task/PropelDataDTDTask.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/task/PropelDataDumpTask.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/task/PropelDataModelTemplateTask.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/task/PropelDataSQLTask.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/task/PropelGraphvizTask.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/task/PropelOMTask.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/task/PropelSQLExec.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/task/PropelSQLTask.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/lib/task/PropelSchemaReverseTask.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/pear/BuildPropelGenPEARPackageTask.php mode change 100644 => 100755 airtime_mvc/library/propel/generator/pear/build-pear-package.xml mode change 100644 => 100755 airtime_mvc/library/propel/generator/pear/build.properties mode change 100644 => 100755 airtime_mvc/library/propel/generator/pear/pear-build.xml mode change 100644 => 100755 airtime_mvc/library/propel/generator/pear/pear-propel-gen.bat mode change 100644 => 100755 airtime_mvc/library/propel/generator/resources/dtd/database.dtd mode change 100644 => 100755 airtime_mvc/library/propel/generator/resources/xsd/custom_datatypes.xsd mode change 100644 => 100755 airtime_mvc/library/propel/generator/resources/xsd/database.xsd mode change 100644 => 100755 airtime_mvc/library/propel/generator/resources/xsl/database.xsl mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/Propel.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/adapter/DBAdapter.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/adapter/DBMSSQL.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/adapter/DBMySQL.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/adapter/DBNone.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/adapter/DBOracle.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/adapter/DBPostgres.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/adapter/DBSQLite.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/adapter/MSSQL/MssqlDateTime.class.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/adapter/MSSQL/MssqlDebugPDO.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/adapter/MSSQL/MssqlPropelPDO.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/collection/PropelArrayCollection.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/collection/PropelCollection.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/collection/PropelObjectCollection.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/collection/PropelOnDemandCollection.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/collection/PropelOnDemandIterator.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/config/PropelConfiguration.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/config/PropelConfigurationIterator.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/connection/DebugPDO.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/connection/DebugPDOStatement.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/connection/PropelPDO.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/exception/PropelException.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/formatter/ModelWith.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/formatter/PropelArrayFormatter.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/formatter/PropelFormatter.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/formatter/PropelObjectFormatter.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/formatter/PropelOnDemandFormatter.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/formatter/PropelStatementFormatter.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/logger/BasicLogger.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/logger/MojaviLogAdapter.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/map/ColumnMap.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/map/DatabaseMap.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/map/RelationMap.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/map/TableMap.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/map/ValidatorMap.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/om/BaseObject.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/om/NestedSetRecursiveIterator.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/om/NodeObject.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/om/Persistent.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/om/PreOrderNodeIterator.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/query/Criteria.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/query/Criterion.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/query/CriterionIterator.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/query/Join.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/query/ModelCriteria.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/query/ModelCriterion.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/query/ModelJoin.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/query/PropelQuery.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/util/BasePeer.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/util/NodePeer.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/util/PropelAutoloader.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/util/PropelColumnTypes.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/util/PropelConditionalProxy.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/util/PropelDateTime.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/util/PropelModelPager.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/util/PropelPager.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/validator/BasicValidator.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/validator/MatchValidator.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/validator/MaxLengthValidator.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/validator/MaxValueValidator.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/validator/MinLengthValidator.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/validator/MinValueValidator.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/validator/NotMatchValidator.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/validator/RequiredValidator.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/validator/TypeValidator.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/validator/UniqueValidator.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/validator/ValidValuesValidator.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/lib/validator/ValidationFailed.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/pear/BuildPropelPEARPackageTask.php mode change 100644 => 100755 airtime_mvc/library/propel/runtime/pear/build-pear-package.xml mode change 100644 => 100755 airtime_mvc/library/propel/test/README mode change 100644 => 100755 airtime_mvc/library/propel/test/bookstore-packaged-test.php mode change 100644 => 100755 airtime_mvc/library/propel/test/etc/lob/propel.gif mode change 100644 => 100755 airtime_mvc/library/propel/test/etc/lob/tin_drum.gif mode change 100644 => 100755 airtime_mvc/library/propel/test/etc/lob/tin_drum.txt mode change 100644 => 100755 airtime_mvc/library/propel/test/etc/schema/tabletest-schema.xml mode change 100644 => 100755 airtime_mvc/library/propel/test/etc/xsl/coverage-frames.xsl mode change 100644 => 100755 airtime_mvc/library/propel/test/etc/xsl/log.xsl mode change 100644 => 100755 airtime_mvc/library/propel/test/etc/xsl/phpunit2-noframes.xsl mode change 100644 => 100755 airtime_mvc/library/propel/test/etc/xsl/str.replace.function.xsl mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/bookstore-packaged/book.schema.xml mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/bookstore-packaged/book_club_list.schema.xml mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/bookstore-packaged/build.properties mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/bookstore-packaged/external/author.schema.xml mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/bookstore-packaged/log.schema.xml mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/bookstore-packaged/media.schema.xml mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/bookstore-packaged/publisher.schema.xml mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/bookstore-packaged/review.schema.xml mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/bookstore-packaged/runtime-conf.xml mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/bookstore/behavior-aggregate-schema.xml mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/bookstore/behavior-auto-add-pk-schema.xml mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/bookstore/behavior-concrete-inheritance-schema.xml mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/bookstore/behavior-nested-set-schema.xml mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/bookstore/behavior-schema.xml mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/bookstore/behavior-sluggable-schema.xml mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/bookstore/behavior-soft-delete-schema.xml mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/bookstore/behavior-sortable-schema.xml mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/bookstore/behavior-timestampable-schema.xml mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/bookstore/build.properties mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/bookstore/cms-schema.xml mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/bookstore/runtime-conf.xml mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/bookstore/schema.xml mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/namespaced/build.properties mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/namespaced/runtime-conf.xml mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/namespaced/schema.xml mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/nestedset/build.properties mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/nestedset/nestedset-schema.xml mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/nestedset/runtime-conf.xml mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/treetest/build.properties mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/treetest/runtime-conf.xml mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/treetest/treetest-schema.xml mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/unique-column/column-schema.xml mode change 100644 => 100755 airtime_mvc/library/propel/test/fixtures/unique-column/table-schema.xml mode change 100644 => 100755 airtime_mvc/library/propel/test/speed.php mode change 100644 => 100755 airtime_mvc/library/propel/test/test.xml mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/behavior/AutoAddPkBehaviorTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/behavior/ObjectBehaviorTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/behavior/PeerBehaviorTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/behavior/SoftDeleteBehaviorTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/behavior/TableBehaviorTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/behavior/TimestampableBehaviorTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/behavior/aggregate_column/AggregateColumnBehaviorTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/behavior/concrete_inheritance/ConcreteInheritanceBehaviorTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/behavior/concrete_inheritance/ConcreteInheritanceParentBehaviorTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorObjectBuilderModifierTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorObjectBuilderModifierWithScopeTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorPeerBuilderModifierTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorPeerBuilderModifierWithScopeTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorQueryBuilderModifierTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorQueryBuilderModifierWithScopeTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/behavior/sluggable/SluggableBehaviorTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorObjectBuilderModifierTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorObjectBuilderModifierWithScopeTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorPeerBuilderModifierTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorPeerBuilderModifierWithScopeTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorQueryBuilderModifierTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorQueryBuilderModifierWithScopeTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/builder/NamespaceTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedNestedSetObjectTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedNestedSetPeerTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedNestedSetTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedObjectLobTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedObjectRelTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedObjectTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedPeerDoDeleteTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedPeerDoSelectTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedPeerTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/builder/om/OMBuilderNamespaceTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/builder/om/OMBuilderTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/builder/om/PHP5TableMapBuilderTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/builder/om/QueryBuilderInheritanceTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/builder/om/QueryBuilderTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/builder/util/PropelTemplateTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/builder/util/template.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/model/BehaviorTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/model/ColumnTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/model/NameFactoryTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/model/PhpNameGeneratorTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/model/TableTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/platform/DefaultPlatformTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/platform/PlatformTestBase.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/generator/platform/SqlitePlatformTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/misc/BookstoreTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/misc/CharacterEncodingTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/misc/FieldnameRelatedTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/misc/Ticket520Test.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/adapter/DBOracleTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/collection/PropelArrayCollectionTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/collection/PropelCollectionTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/collection/PropelObjectCollectionTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/collection/PropelOnDemandCollectionTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/collection/PropelOnDemandIteratorTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/connection/PropelPDOTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelArrayFormatterTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelArrayFormatterWithTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelObjectFormatterInheritanceTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelObjectFormatterTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelObjectFormatterWithTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelOnDemandFormatterTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelOnDemandFormatterWithTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelStatementFormatterTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/map/ColumnMapTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/map/DatabaseMapTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/map/GeneratedRelationMapTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/map/RelatedMapSymmetricalTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/map/RelationMapTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/map/TableMapTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/om/BaseObjectSerializeTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/om/BaseObjectTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/query/CriteriaCombineTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/query/CriteriaFluidConditionTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/query/CriteriaMergeTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/query/CriteriaTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/query/JoinTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/query/ModelCriteriaHooksTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/query/ModelCriteriaTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/query/ModelJoinTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/query/ModelWithTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/query/PropelQueryTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/util/BasePeerExceptionsTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/util/BasePeerTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/util/PropelConfigurationTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/util/PropelDateTimeTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/util/PropelModelPagerTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/util/PropelPagerTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/testsuite/runtime/validator/ValidatorTest.php mode change 100644 => 100755 airtime_mvc/library/propel/test/tools/helpers/BaseTestCase.php mode change 100644 => 100755 airtime_mvc/library/propel/test/tools/helpers/bookstore/BookstoreDataPopulator.php mode change 100644 => 100755 airtime_mvc/library/propel/test/tools/helpers/bookstore/BookstoreEmptyTestBase.php mode change 100644 => 100755 airtime_mvc/library/propel/test/tools/helpers/bookstore/BookstoreTestBase.php mode change 100644 => 100755 airtime_mvc/library/propel/test/tools/helpers/bookstore/behavior/BookstoreNestedSetTestBase.php mode change 100644 => 100755 airtime_mvc/library/propel/test/tools/helpers/bookstore/behavior/BookstoreSortableTestBase.php mode change 100644 => 100755 airtime_mvc/library/propel/test/tools/helpers/bookstore/behavior/DonothingBehavior.php mode change 100644 => 100755 airtime_mvc/library/propel/test/tools/helpers/bookstore/behavior/TestAuthor.php mode change 100644 => 100755 airtime_mvc/library/propel/test/tools/helpers/bookstore/behavior/Testallhooksbehavior.php mode change 100644 => 100755 airtime_mvc/library/propel/test/tools/helpers/bookstore/validator/ISBNValidator.php mode change 100644 => 100755 airtime_mvc/library/propel/test/tools/helpers/cms/CmsDataPopulator.php mode change 100644 => 100755 airtime_mvc/library/propel/test/tools/helpers/cms/CmsTestBase.php mode change 100644 => 100755 airtime_mvc/library/propel/test/tools/phing/DefineTask.php mode change 100644 => 100755 airtime_mvc/library/propel/test/tree-test.php mode change 100644 => 100755 airtime_mvc/library/soundcloud-api/README.md mode change 100644 => 100755 airtime_mvc/library/soundcloud-api/Services/Soundcloud.php mode change 100644 => 100755 airtime_mvc/library/soundcloud-api/Services/Soundcloud/Exception.php mode change 100644 => 100755 airtime_mvc/library/soundcloud-api/Services/Soundcloud/Version.php mode change 100644 => 100755 airtime_mvc/library/soundcloud-api/tests/Soundcloud_Test.php mode change 100644 => 100755 airtime_mvc/library/soundcloud-api/tests/Soundcloud_Test_Helper.php mode change 100644 => 100755 airtime_mvc/locale/az/LC_MESSAGES/airtime.mo mode change 100644 => 100755 airtime_mvc/locale/az/LC_MESSAGES/airtime.po mode change 100644 => 100755 airtime_mvc/locale/cs_CZ/LC_MESSAGES/airtime.mo mode change 100644 => 100755 airtime_mvc/locale/cs_CZ/LC_MESSAGES/airtime.po mode change 100644 => 100755 airtime_mvc/locale/de_AT/LC_MESSAGES/airtime.mo mode change 100644 => 100755 airtime_mvc/locale/de_AT/LC_MESSAGES/airtime.po mode change 100644 => 100755 airtime_mvc/locale/de_DE/LC_MESSAGES/airtime.mo mode change 100644 => 100755 airtime_mvc/locale/de_DE/LC_MESSAGES/airtime.po mode change 100644 => 100755 airtime_mvc/locale/el_GR/LC_MESSAGES/airtime.mo mode change 100644 => 100755 airtime_mvc/locale/el_GR/LC_MESSAGES/airtime.po mode change 100644 => 100755 airtime_mvc/locale/en_CA/LC_MESSAGES/airtime.mo mode change 100644 => 100755 airtime_mvc/locale/en_CA/LC_MESSAGES/airtime.po mode change 100644 => 100755 airtime_mvc/locale/en_GB/LC_MESSAGES/airtime.mo mode change 100644 => 100755 airtime_mvc/locale/en_GB/LC_MESSAGES/airtime.po mode change 100644 => 100755 airtime_mvc/locale/en_US/LC_MESSAGES/airtime.mo mode change 100644 => 100755 airtime_mvc/locale/en_US/LC_MESSAGES/airtime.po mode change 100644 => 100755 airtime_mvc/locale/es_ES/LC_MESSAGES/airtime.mo mode change 100644 => 100755 airtime_mvc/locale/es_ES/LC_MESSAGES/airtime.po mode change 100644 => 100755 airtime_mvc/locale/fr_FR/LC_MESSAGES/airtime.mo mode change 100644 => 100755 airtime_mvc/locale/fr_FR/LC_MESSAGES/airtime.po mode change 100644 => 100755 airtime_mvc/locale/hr_HR/LC_MESSAGES/airtime.mo mode change 100644 => 100755 airtime_mvc/locale/hr_HR/LC_MESSAGES/airtime.po mode change 100644 => 100755 airtime_mvc/locale/hu_HU/LC_MESSAGES/airtime.mo mode change 100644 => 100755 airtime_mvc/locale/hu_HU/LC_MESSAGES/airtime.po mode change 100644 => 100755 airtime_mvc/locale/hy/LC_MESSAGES/airtime.mo mode change 100644 => 100755 airtime_mvc/locale/hy/LC_MESSAGES/airtime.po mode change 100644 => 100755 airtime_mvc/locale/hy_AM/LC_MESSAGES/airtime.mo mode change 100644 => 100755 airtime_mvc/locale/hy_AM/LC_MESSAGES/airtime.po mode change 100644 => 100755 airtime_mvc/locale/it_IT/LC_MESSAGES/airtime.mo mode change 100644 => 100755 airtime_mvc/locale/it_IT/LC_MESSAGES/airtime.po mode change 100644 => 100755 airtime_mvc/locale/ja/LC_MESSAGES/airtime.mo mode change 100644 => 100755 airtime_mvc/locale/ja/LC_MESSAGES/airtime.po mode change 100644 => 100755 airtime_mvc/locale/ja_JP/LC_MESSAGES/airtime.mo mode change 100644 => 100755 airtime_mvc/locale/ja_JP/LC_MESSAGES/airtime.po mode change 100644 => 100755 airtime_mvc/locale/ka/LC_MESSAGES/airtime.mo mode change 100644 => 100755 airtime_mvc/locale/ka/LC_MESSAGES/airtime.po mode change 100644 => 100755 airtime_mvc/locale/ko_KR/LC_MESSAGES/airtime.mo mode change 100644 => 100755 airtime_mvc/locale/ko_KR/LC_MESSAGES/airtime.po mode change 100644 => 100755 airtime_mvc/locale/nl_NL/LC_MESSAGES/airtime.mo mode change 100644 => 100755 airtime_mvc/locale/nl_NL/LC_MESSAGES/airtime.po mode change 100644 => 100755 airtime_mvc/locale/pl_PL/LC_MESSAGES/airtime.mo mode change 100644 => 100755 airtime_mvc/locale/pl_PL/LC_MESSAGES/airtime.po mode change 100644 => 100755 airtime_mvc/locale/pt_BR/LC_MESSAGES/airtime.mo mode change 100644 => 100755 airtime_mvc/locale/pt_BR/LC_MESSAGES/airtime.po mode change 100644 => 100755 airtime_mvc/locale/ru_RU/LC_MESSAGES/airtime.mo mode change 100644 => 100755 airtime_mvc/locale/ru_RU/LC_MESSAGES/airtime.po mode change 100644 => 100755 airtime_mvc/locale/si/LC_MESSAGES/airtime.mo mode change 100644 => 100755 airtime_mvc/locale/si/LC_MESSAGES/airtime.po mode change 100644 => 100755 airtime_mvc/locale/sr_RS/LC_MESSAGES/airtime.mo mode change 100644 => 100755 airtime_mvc/locale/sr_RS/LC_MESSAGES/airtime.po mode change 100644 => 100755 airtime_mvc/locale/sr_RS@latin/LC_MESSAGES/airtime.mo mode change 100644 => 100755 airtime_mvc/locale/sr_RS@latin/LC_MESSAGES/airtime.po mode change 100644 => 100755 airtime_mvc/locale/template/airtime.po mode change 100644 => 100755 airtime_mvc/locale/zh_CN/LC_MESSAGES/airtime.mo mode change 100644 => 100755 airtime_mvc/locale/zh_CN/LC_MESSAGES/airtime.po mode change 100644 => 100755 airtime_mvc/public/.htaccess mode change 100644 => 100755 airtime_mvc/public/css/TableTools.css mode change 100644 => 100755 airtime_mvc/public/css/TableTools_JUI.css mode change 100644 => 100755 airtime_mvc/public/css/add-show.css mode change 100644 => 100755 airtime_mvc/public/css/bootstrap-3.3.1.min.css mode change 100644 => 100755 airtime_mvc/public/css/bootstrap-datetimepicker.min.css mode change 100644 => 100755 airtime_mvc/public/css/bootstrap.css mode change 100644 => 100755 airtime_mvc/public/css/colorpicker/css/colorpicker.css mode change 100644 => 100755 airtime_mvc/public/css/colorpicker/images/blank.gif mode change 100644 => 100755 airtime_mvc/public/css/colorpicker/images/colorpicker_background.png mode change 100644 => 100755 airtime_mvc/public/css/colorpicker/images/colorpicker_hex.png mode change 100644 => 100755 airtime_mvc/public/css/colorpicker/images/colorpicker_hsb_b.png mode change 100644 => 100755 airtime_mvc/public/css/colorpicker/images/colorpicker_hsb_h.png mode change 100644 => 100755 airtime_mvc/public/css/colorpicker/images/colorpicker_hsb_s.png mode change 100644 => 100755 airtime_mvc/public/css/colorpicker/images/colorpicker_indic.gif mode change 100644 => 100755 airtime_mvc/public/css/colorpicker/images/colorpicker_overlay.png mode change 100644 => 100755 airtime_mvc/public/css/colorpicker/images/colorpicker_rgb_b.png mode change 100644 => 100755 airtime_mvc/public/css/colorpicker/images/colorpicker_rgb_g.png mode change 100644 => 100755 airtime_mvc/public/css/colorpicker/images/colorpicker_rgb_r.png mode change 100644 => 100755 airtime_mvc/public/css/colorpicker/images/colorpicker_select.gif mode change 100644 => 100755 airtime_mvc/public/css/colorpicker/images/colorpicker_submit.png mode change 100644 => 100755 airtime_mvc/public/css/colorpicker/images/custom_background.png mode change 100644 => 100755 airtime_mvc/public/css/colorpicker/images/custom_hex.png mode change 100644 => 100755 airtime_mvc/public/css/colorpicker/images/custom_hsb_b.png mode change 100644 => 100755 airtime_mvc/public/css/colorpicker/images/custom_hsb_h.png mode change 100644 => 100755 airtime_mvc/public/css/colorpicker/images/custom_hsb_s.png mode change 100644 => 100755 airtime_mvc/public/css/colorpicker/images/custom_indic.gif mode change 100644 => 100755 airtime_mvc/public/css/colorpicker/images/custom_rgb_b.png mode change 100644 => 100755 airtime_mvc/public/css/colorpicker/images/custom_rgb_g.png mode change 100644 => 100755 airtime_mvc/public/css/colorpicker/images/custom_rgb_r.png mode change 100644 => 100755 airtime_mvc/public/css/colorpicker/images/custom_submit.png mode change 100644 => 100755 airtime_mvc/public/css/colorpicker/images/select.png mode change 100644 => 100755 airtime_mvc/public/css/colorpicker/images/select2.png mode change 100644 => 100755 airtime_mvc/public/css/colorpicker/images/slider.png mode change 100644 => 100755 airtime_mvc/public/css/datatables/css/ColReorder.css mode change 100644 => 100755 airtime_mvc/public/css/datatables/css/ColVis.css mode change 100644 => 100755 airtime_mvc/public/css/datatables/css/TableTools.css mode change 100644 => 100755 airtime_mvc/public/css/datatables/css/jquery.dataTables.css mode change 100644 => 100755 airtime_mvc/public/css/datatables/css/jquery.dataTables_themeroller.css mode change 100644 => 100755 airtime_mvc/public/css/datatables/images/Sorting icons.psd mode change 100644 => 100755 airtime_mvc/public/css/datatables/images/back_disabled.png mode change 100644 => 100755 airtime_mvc/public/css/datatables/images/back_enabled.png mode change 100644 => 100755 airtime_mvc/public/css/datatables/images/back_enabled_hover.png mode change 100644 => 100755 airtime_mvc/public/css/datatables/images/favicon.ico mode change 100644 => 100755 airtime_mvc/public/css/datatables/images/forward_disabled.png mode change 100644 => 100755 airtime_mvc/public/css/datatables/images/forward_enabled.png mode change 100644 => 100755 airtime_mvc/public/css/datatables/images/forward_enabled_hover.png mode change 100644 => 100755 airtime_mvc/public/css/datatables/images/sort_asc.png mode change 100644 => 100755 airtime_mvc/public/css/datatables/images/sort_asc_disabled.png mode change 100644 => 100755 airtime_mvc/public/css/datatables/images/sort_both.png mode change 100644 => 100755 airtime_mvc/public/css/datatables/images/sort_desc.png mode change 100644 => 100755 airtime_mvc/public/css/datatables/images/sort_desc_disabled.png mode change 100644 => 100755 airtime_mvc/public/css/fullcalendar-old.css mode change 100644 => 100755 airtime_mvc/public/css/fullcalendar.css mode change 100644 => 100755 airtime_mvc/public/css/history_styles.css mode change 100644 => 100755 airtime_mvc/public/css/images/404.png mode change 100644 => 100755 airtime_mvc/public/css/images/accept.png mode change 100644 => 100755 airtime_mvc/public/css/images/airtime_logo.png mode change 100644 => 100755 airtime_mvc/public/css/images/airtime_logo_big.png mode change 100644 => 100755 airtime_mvc/public/css/images/airtime_logo_jp.png mode change 100644 => 100755 airtime_mvc/public/css/images/arrow.gif mode change 100644 => 100755 airtime_mvc/public/css/images/arrow.png mode change 100644 => 100755 airtime_mvc/public/css/images/arrow_over.gif mode change 100644 => 100755 airtime_mvc/public/css/images/arrow_over.png mode change 100644 => 100755 airtime_mvc/public/css/images/arrows_collapse.png mode change 100644 => 100755 airtime_mvc/public/css/images/big_gray_logo.png mode change 100644 => 100755 airtime_mvc/public/css/images/big_play_arrow.png mode change 100644 => 100755 airtime_mvc/public/css/images/crossfade_bg.png mode change 100644 => 100755 airtime_mvc/public/css/images/crossfade_main.png mode change 100644 => 100755 airtime_mvc/public/css/images/crossfade_playlist.png mode change 100644 => 100755 airtime_mvc/public/css/images/cue-editor_bg.png mode change 100644 => 100755 airtime_mvc/public/css/images/cue_playlist.png mode change 100644 => 100755 airtime_mvc/public/css/images/delete.png mode change 100644 => 100755 airtime_mvc/public/css/images/down_arrow.png mode change 100644 => 100755 airtime_mvc/public/css/images/drag.png mode change 100644 => 100755 airtime_mvc/public/css/images/fade_in.png mode change 100644 => 100755 airtime_mvc/public/css/images/fade_out.png mode change 100644 => 100755 airtime_mvc/public/css/images/file_import_loader.gif mode change 100644 => 100755 airtime_mvc/public/css/images/filetype_icons.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_add_content_cm.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_add_playlist_cm.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_alert_cal.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_alert_cal_alt.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_alert_cal_alt2.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_alert_ffffff.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_audioclip.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_copy.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_copy_cm.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_cut.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_cut_cm.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_delete.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_delete_cm.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_door.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_door_cm.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_download_cm.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_edit.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_edit_cm.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_edit_l.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_finishedplaying_m.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_info.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_link.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_nowplaying_m.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_nowplaying_n.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_outdated.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_overlap.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_overview_cm.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_paste.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_paste_cm.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_play_cal.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_play_cm.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_playlist.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_rebroadcast.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_rebroadcast_m.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_record.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_record_m.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_remove_all_content_cm.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_select-cursor_cm.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_smart-block.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_soundcloud.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_soundcloud_cm.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_soundcloud_error2.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_soundcloud_m.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_update.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_update2.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_uptodate.png mode change 100644 => 100755 airtime_mvc/public/css/images/icon_webstream.png mode change 100644 => 100755 airtime_mvc/public/css/images/input_bg.png mode change 100644 => 100755 airtime_mvc/public/css/images/input_with_calendar_bg.png mode change 100644 => 100755 airtime_mvc/public/css/images/input_with_time_bg.png mode change 100644 => 100755 airtime_mvc/public/css/images/is_playlist.png mode change 100644 => 100755 airtime_mvc/public/css/images/is_scheduled.png mode change 100644 => 100755 airtime_mvc/public/css/images/loader-small.gif mode change 100644 => 100755 airtime_mvc/public/css/images/loader.gif mode change 100644 => 100755 airtime_mvc/public/css/images/login_content_bg.png mode change 100644 => 100755 airtime_mvc/public/css/images/login_page_bg.png mode change 100644 => 100755 airtime_mvc/public/css/images/masterpanel_bg.png mode change 100644 => 100755 airtime_mvc/public/css/images/masterpanel_spacer.png mode change 100644 => 100755 airtime_mvc/public/css/images/menuitem.gif mode change 100644 => 100755 airtime_mvc/public/css/images/more.gif mode change 100644 => 100755 airtime_mvc/public/css/images/on-off-air.png mode change 100644 => 100755 airtime_mvc/public/css/images/playinfo_bg.png mode change 100644 => 100755 airtime_mvc/public/css/images/progressbar_bg.png mode change 100644 => 100755 airtime_mvc/public/css/images/progressbar_show.png mode change 100644 => 100755 airtime_mvc/public/css/images/progressbar_show_error.png mode change 100644 => 100755 airtime_mvc/public/css/images/progressbar_song.png mode change 100644 => 100755 airtime_mvc/public/css/images/record_icon.png mode change 100644 => 100755 airtime_mvc/public/css/images/round_delete.png mode change 100644 => 100755 airtime_mvc/public/css/images/schedule-show_progressbar_bg.png mode change 100644 => 100755 airtime_mvc/public/css/images/search_auto_bg.png mode change 100644 => 100755 airtime_mvc/public/css/images/sf_arror.png mode change 100644 => 100755 airtime_mvc/public/css/images/source-info_lines.png mode change 100644 => 100755 airtime_mvc/public/css/images/source_to_switch_lines.png mode change 100644 => 100755 airtime_mvc/public/css/images/stream_status.png mode change 100644 => 100755 airtime_mvc/public/css/images/thin_delete.png mode change 100644 => 100755 airtime_mvc/public/css/images/three_0a.png mode change 100644 => 100755 airtime_mvc/public/css/images/tl-arrow.png mode change 100644 => 100755 airtime_mvc/public/css/images/tooltip_arrow.png mode change 100644 => 100755 airtime_mvc/public/css/images/upload-icon.gif mode change 100644 => 100755 airtime_mvc/public/css/images/warning-icon.png mode change 100644 => 100755 airtime_mvc/public/css/img/backgrounds.gif mode change 100644 => 100755 airtime_mvc/public/css/img/buttons-disabled.png mode change 100644 => 100755 airtime_mvc/public/css/img/buttons.png mode change 100644 => 100755 airtime_mvc/public/css/img/delete.gif mode change 100644 => 100755 airtime_mvc/public/css/img/desktop.png mode change 100644 => 100755 airtime_mvc/public/css/img/documents.png mode change 100644 => 100755 airtime_mvc/public/css/img/done.gif mode change 100644 => 100755 airtime_mvc/public/css/img/error.gif mode change 100644 => 100755 airtime_mvc/public/css/img/folder.png mode change 100644 => 100755 airtime_mvc/public/css/img/glyphicons-halflings-white.png mode change 100644 => 100755 airtime_mvc/public/css/img/glyphicons-halflings.png mode change 100644 => 100755 airtime_mvc/public/css/img/icon_cut_white.png mode change 100644 => 100755 airtime_mvc/public/css/img/loading.gif mode change 100644 => 100755 airtime_mvc/public/css/img/throbber.gif mode change 100644 => 100755 airtime_mvc/public/css/img/transp50.png mode change 100644 => 100755 airtime_mvc/public/css/img/unknown.png mode change 100644 => 100755 airtime_mvc/public/css/jquery-ui-timepicker-addon.css mode change 100644 => 100755 airtime_mvc/public/css/jquery.contextMenu.css mode change 100644 => 100755 airtime_mvc/public/css/jquery.ui.timepicker.css mode change 100644 => 100755 airtime_mvc/public/css/library_search.css mode change 100644 => 100755 airtime_mvc/public/css/masterpanel.css mode change 100644 => 100755 airtime_mvc/public/css/media_library.css mode change 100644 => 100755 airtime_mvc/public/css/playlist_builder.css mode change 100644 => 100755 airtime_mvc/public/css/playouthistory.css mode change 100644 => 100755 airtime_mvc/public/css/plupload.queue.css mode change 100644 => 100755 airtime_mvc/public/css/pro_dropdown_3.css mode change 100644 => 100755 airtime_mvc/public/css/qtip/jquery.qtip.css mode change 100644 => 100755 airtime_mvc/public/css/qtip/jquery.qtip.min.css mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-bg_default_aaaaaa.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-bg_flat_0_6c6c6c_40x100.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-bg_flat_0_9d9d9d_40x100.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-bg_flat_55_eff6eb_40x100.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-bg_flat_55_fae5e5_40x100.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-bg_flat_55_fbec88_40x100.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-bg_flat_65_ffffff_40x100.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-bg_flat_75_ffffff_40x100.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-bg_glass_85_dfeffc_1x400.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-bg_glass_95_fef1ec_1x400.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-bg_highlight-soft_100_f6f6f6_1x100.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-bg_highlight-soft_25_007fb3_1x100.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-bg_highlight-soft_50_ebebeb_1x100.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-bg_highlight.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-icons_007fb3_256x240.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-icons_217bc0_256x240.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-icons_2e83ff_256x240.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-icons_454545_256x240.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-icons_469bdd_256x240.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-icons_65a539_256x240.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-icons_666666_256x240.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-icons_6da8d5_256x240.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-icons_cd0a0a_256x240.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-icons_d00000_256x240.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-icons_d8e7f3_256x240.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-icons_f9bd01_256x240.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-icons_ff0084_256x240.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-icons_ff5d1a_256x240.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/images/ui-icons_ffffff_256x240.png mode change 100644 => 100755 airtime_mvc/public/css/redmond/jquery-ui-1.8.8.custom.css mode change 100644 => 100755 airtime_mvc/public/css/redmond/jquery-ui-1.8.8.custom/jquery-ui-1.8.8.custom.css mode change 100644 => 100755 airtime_mvc/public/css/setup/config-check.css mode change 100644 => 100755 airtime_mvc/public/css/setup/setup-config.css mode change 100644 => 100755 airtime_mvc/public/css/showbuilder.css mode change 100644 => 100755 airtime_mvc/public/css/styles.css mode change 100644 => 100755 airtime_mvc/public/css/tipsy/jquery.tipsy.css mode change 100644 => 100755 airtime_mvc/public/css/users.css mode change 100644 => 100755 airtime_mvc/public/css/waveform.css mode change 100644 => 100755 airtime_mvc/public/favicon.ico mode change 100644 => 100755 airtime_mvc/public/fonts/glyphicons-halflings-regular.eot mode change 100644 => 100755 airtime_mvc/public/fonts/glyphicons-halflings-regular.svg mode change 100644 => 100755 airtime_mvc/public/fonts/glyphicons-halflings-regular.ttf mode change 100644 => 100755 airtime_mvc/public/fonts/glyphicons-halflings-regular.woff mode change 100644 => 100755 airtime_mvc/public/images/datatables/Sorting icons.psd mode change 100644 => 100755 airtime_mvc/public/images/datatables/back_disabled.jpg mode change 100644 => 100755 airtime_mvc/public/images/datatables/back_enabled.jpg mode change 100644 => 100755 airtime_mvc/public/images/datatables/favicon.ico mode change 100644 => 100755 airtime_mvc/public/images/datatables/forward_disabled.jpg mode change 100644 => 100755 airtime_mvc/public/images/datatables/forward_enabled.jpg mode change 100644 => 100755 airtime_mvc/public/images/datatables/sort_asc.png mode change 100644 => 100755 airtime_mvc/public/images/datatables/sort_asc_disabled.png mode change 100644 => 100755 airtime_mvc/public/images/datatables/sort_both.png mode change 100644 => 100755 airtime_mvc/public/images/datatables/sort_desc.png mode change 100644 => 100755 airtime_mvc/public/images/datatables/sort_desc_disabled.png mode change 100644 => 100755 airtime_mvc/public/index.php mode change 100644 => 100755 airtime_mvc/public/install/clearstatcache.php mode change 100644 => 100755 airtime_mvc/public/js/airtime/airtime_bootstrap.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/audiopreview/preview_jplayer.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/buttons/buttons.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/common/audioplaytest.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/common/common.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/dashboard/dashboard.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/dashboard/helperfunctions.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/dashboard/versiontooltip.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/library/events/library_playlistbuilder.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/library/events/library_showbuilder.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/library/library.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/library/plupload.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/library/spl.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/listenerstat/listenerstat.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/login/login.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/login/password-restore.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/nowplaying/dayview.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/nowplaying/nowview.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/nowplaying/register.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/playlist/smart_blockbuilder.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/playouthistory/configuretemplate.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/playouthistory/historytable.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/playouthistory/template.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/preferences/musicdirs.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/preferences/preferences.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/preferences/streamsetting.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/preferences/support-setting.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/schedule/add-show.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/schedule/full-calendar-functions.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/schedule/schedule.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/showbuilder/builder.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/showbuilder/main_builder.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/status/status.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/user/user.js mode change 100644 => 100755 airtime_mvc/public/js/airtime/utilities/utilities.js mode change 100644 => 100755 airtime_mvc/public/js/blockui/jquery.blockUI.js mode change 100644 => 100755 airtime_mvc/public/js/bootstrap-datetime/bootstrap-datetimepicker.js mode change 100644 => 100755 airtime_mvc/public/js/bootstrap/bootstrap.js mode change 100644 => 100755 airtime_mvc/public/js/bootstrap/bootstrap.min.js mode change 100644 => 100755 airtime_mvc/public/js/colorpicker/js/colorpicker.js mode change 100644 => 100755 airtime_mvc/public/js/contextmenu/AIRTIME_DEV_README mode change 100644 => 100755 airtime_mvc/public/js/contextmenu/jquery.contextMenu.js mode change 100644 => 100755 airtime_mvc/public/js/cookie/jquery.cookie.js mode change 100644 => 100755 airtime_mvc/public/js/datatables/i18n/cs_CZ.txt mode change 100644 => 100755 airtime_mvc/public/js/datatables/i18n/de_AT.txt mode change 100644 => 100755 airtime_mvc/public/js/datatables/i18n/de_DE.txt mode change 100644 => 100755 airtime_mvc/public/js/datatables/i18n/el_GR.txt mode change 100644 => 100755 airtime_mvc/public/js/datatables/i18n/en_CA.txt mode change 100644 => 100755 airtime_mvc/public/js/datatables/i18n/en_GB.txt mode change 100644 => 100755 airtime_mvc/public/js/datatables/i18n/en_US.txt mode change 100644 => 100755 airtime_mvc/public/js/datatables/i18n/es_ES.txt mode change 100644 => 100755 airtime_mvc/public/js/datatables/i18n/fr_FR.txt mode change 100644 => 100755 airtime_mvc/public/js/datatables/i18n/hr_HR.txt mode change 100644 => 100755 airtime_mvc/public/js/datatables/i18n/hu_HU.txt mode change 100644 => 100755 airtime_mvc/public/js/datatables/i18n/it_IT.txt mode change 100644 => 100755 airtime_mvc/public/js/datatables/i18n/ja.txt mode change 100644 => 100755 airtime_mvc/public/js/datatables/i18n/ja_JP.txt mode change 100644 => 100755 airtime_mvc/public/js/datatables/i18n/ko_KR.txt mode change 100644 => 100755 airtime_mvc/public/js/datatables/i18n/pl_PL.txt mode change 100644 => 100755 airtime_mvc/public/js/datatables/i18n/pt_BR.txt mode change 100644 => 100755 airtime_mvc/public/js/datatables/i18n/ru_RU.txt mode change 100644 => 100755 airtime_mvc/public/js/datatables/i18n/sr_RS.txt mode change 100644 => 100755 airtime_mvc/public/js/datatables/i18n/sr_RS@latin.txt mode change 100644 => 100755 airtime_mvc/public/js/datatables/i18n/zh_CN.txt mode change 100644 => 100755 airtime_mvc/public/js/datatables/js/jquery.dataTables.js mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/AIRTIME_DEV_README_COLUMN_FILTER mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/AIRTIME_DEV_README_COL_VIS mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/as3/ZeroClipboard.as mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/as3/ZeroClipboardPdf.as mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/as3/lib/AlivePDF.swc mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/css/TableTools.css mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/css/TableTools_JUI.css mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/background.png mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/collection.png mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/collection_hover.png mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/copy.png mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/copy_hover.png mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/csv.png mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/csv_hover.png mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/pdf.png mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/pdf_hover.png mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/print.png mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/print_hover.png mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/psd/collection.psd mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/psd/copy document.psd mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/psd/file_types.psd mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/psd/printer.psd mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/xls.png mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/xls_hover.png mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/js/TableTools.js mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/js/TableTools.min.js mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/js/TableTools.min.js.gz mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/js/ZeroClipboard.js mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/swf/copy_csv_xls.swf mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/swf/copy_csv_xls_pdf.swf mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/dataTables.ColReorder.js mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/dataTables.ColVis.js mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/dataTables.ColVis_orig.js mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/dataTables.FixedColumns.js mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/dataTables.FixedHeader.js mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/dataTables.columnFilter.js mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/dataTables.columnFilter_orig.js mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/dataTables.fnSetFilteringDelay.js mode change 100644 => 100755 airtime_mvc/public/js/datatables/plugin/dataTables.pluginAPI.js mode change 100644 => 100755 airtime_mvc/public/js/flot/API.txt mode change 100644 => 100755 airtime_mvc/public/js/flot/FAQ.txt mode change 100644 => 100755 airtime_mvc/public/js/flot/Makefile mode change 100644 => 100755 airtime_mvc/public/js/flot/NEWS.txt mode change 100644 => 100755 airtime_mvc/public/js/flot/PLUGINS.txt mode change 100644 => 100755 airtime_mvc/public/js/flot/README.txt mode change 100644 => 100755 airtime_mvc/public/js/flot/excanvas.js mode change 100644 => 100755 airtime_mvc/public/js/flot/excanvas.min.js mode change 100644 => 100755 airtime_mvc/public/js/flot/jquery.colorhelpers.js mode change 100644 => 100755 airtime_mvc/public/js/flot/jquery.flot.crosshair.js mode change 100644 => 100755 airtime_mvc/public/js/flot/jquery.flot.fillbetween.js mode change 100644 => 100755 airtime_mvc/public/js/flot/jquery.flot.image.js mode change 100644 => 100755 airtime_mvc/public/js/flot/jquery.flot.js mode change 100644 => 100755 airtime_mvc/public/js/flot/jquery.flot.navigate.js mode change 100644 => 100755 airtime_mvc/public/js/flot/jquery.flot.pie.js mode change 100644 => 100755 airtime_mvc/public/js/flot/jquery.flot.resize.js mode change 100644 => 100755 airtime_mvc/public/js/flot/jquery.flot.selection.js mode change 100644 => 100755 airtime_mvc/public/js/flot/jquery.flot.stack.js mode change 100644 => 100755 airtime_mvc/public/js/flot/jquery.flot.symbol.js mode change 100644 => 100755 airtime_mvc/public/js/flot/jquery.flot.threshold.js mode change 100644 => 100755 airtime_mvc/public/js/fullcalendar/AIRTIME_DEV_README mode change 100644 => 100755 airtime_mvc/public/js/fullcalendar/fullcalendar.js mode change 100644 => 100755 airtime_mvc/public/js/fullcalendar/fullcalendar.orig.js mode change 100644 => 100755 airtime_mvc/public/js/i18n/jquery.i18n.js mode change 100644 => 100755 airtime_mvc/public/js/jplayer/Jplayer.swf mode change 100644 => 100755 airtime_mvc/public/js/jplayer/jplayer.playlist.min.js mode change 100644 => 100755 airtime_mvc/public/js/jplayer/jquery.jplayer.inspector.js mode change 100644 => 100755 airtime_mvc/public/js/jplayer/jquery.jplayer.min.js mode change 100644 => 100755 airtime_mvc/public/js/jplayer/popcorn/popcorn.jplayer.js mode change 100644 => 100755 airtime_mvc/public/js/jplayer/skin/jplayer-mute-unmute.png mode change 100644 => 100755 airtime_mvc/public/js/jplayer/skin/jplayer.airtime.audio.preview.css mode change 100644 => 100755 airtime_mvc/public/js/jplayer/skin/jplayer.audio-preview.blue.monday.css mode change 100644 => 100755 airtime_mvc/public/js/jplayer/skin/jplayer.blue.monday.css mode change 100644 => 100755 airtime_mvc/public/js/jplayer/skin/jplayer.blue.monday.jpg mode change 100644 => 100755 airtime_mvc/public/js/jplayer/skin/jplayer.blue.monday.seeking.gif mode change 100644 => 100755 airtime_mvc/public/js/jplayer/skin/jplayer.png mode change 100644 => 100755 airtime_mvc/public/js/jplayer/skin/pbar-ani.gif mode change 100644 => 100755 airtime_mvc/public/js/libs/google-analytics.js mode change 100644 => 100755 airtime_mvc/public/js/libs/jquery-1.10.2.js mode change 100644 => 100755 airtime_mvc/public/js/libs/jquery-1.7.2.min.js mode change 100644 => 100755 airtime_mvc/public/js/libs/jquery-1.8.3.min.js mode change 100644 => 100755 airtime_mvc/public/js/libs/jquery-migrate-1.2.1.js mode change 100644 => 100755 airtime_mvc/public/js/libs/jquery-ui-1.8.18.custom.min.js mode change 100644 => 100755 airtime_mvc/public/js/libs/jquery-ui-1.8.24.min.js mode change 100644 => 100755 airtime_mvc/public/js/libs/jquery.stickyPanel.js mode change 100644 => 100755 airtime_mvc/public/js/libs/underscore-min.js mode change 100644 => 100755 airtime_mvc/public/js/plupload/i18n/cs_CZ.js mode change 100644 => 100755 airtime_mvc/public/js/plupload/i18n/de_AT.js mode change 100644 => 100755 airtime_mvc/public/js/plupload/i18n/de_DE.js mode change 100644 => 100755 airtime_mvc/public/js/plupload/i18n/el_GR.js mode change 100644 => 100755 airtime_mvc/public/js/plupload/i18n/en_CA.js mode change 100644 => 100755 airtime_mvc/public/js/plupload/i18n/en_GB.js mode change 100644 => 100755 airtime_mvc/public/js/plupload/i18n/en_US.js mode change 100644 => 100755 airtime_mvc/public/js/plupload/i18n/es_ES.js mode change 100644 => 100755 airtime_mvc/public/js/plupload/i18n/fr_FR.js mode change 100644 => 100755 airtime_mvc/public/js/plupload/i18n/hr_HR.js mode change 100644 => 100755 airtime_mvc/public/js/plupload/i18n/hu_HU.js mode change 100644 => 100755 airtime_mvc/public/js/plupload/i18n/it_IT.js mode change 100644 => 100755 airtime_mvc/public/js/plupload/i18n/ja_JP.js mode change 100644 => 100755 airtime_mvc/public/js/plupload/i18n/ko_KR.js mode change 100644 => 100755 airtime_mvc/public/js/plupload/i18n/pl_PL.js mode change 100644 => 100755 airtime_mvc/public/js/plupload/i18n/pt_BR.js mode change 100644 => 100755 airtime_mvc/public/js/plupload/i18n/ru_RU.js mode change 100644 => 100755 airtime_mvc/public/js/plupload/i18n/sr_RS.js mode change 100644 => 100755 airtime_mvc/public/js/plupload/i18n/sr_RS@latin.js mode change 100644 => 100755 airtime_mvc/public/js/plupload/i18n/zh_CN.js mode change 100644 => 100755 airtime_mvc/public/js/plupload/jquery.plupload.queue.min.js mode change 100644 => 100755 airtime_mvc/public/js/plupload/plupload.full.min.js mode change 100644 => 100755 airtime_mvc/public/js/qtip/jquery.qtip.js mode change 100644 => 100755 airtime_mvc/public/js/qtip/jquery.qtip.min.js mode change 100644 => 100755 airtime_mvc/public/js/serverbrowse/AIRTIME_DEV_README mode change 100644 => 100755 airtime_mvc/public/js/serverbrowse/serverbrowser.js mode change 100644 => 100755 airtime_mvc/public/js/serverbrowse/serverbrowser_orig.js mode change 100644 => 100755 airtime_mvc/public/js/setup/setup-config.js mode change 100644 => 100755 airtime_mvc/public/js/sprintf/sprintf-0.7-beta1.js mode change 100644 => 100755 airtime_mvc/public/js/timepicker/jquery-ui-timepicker-addon.js mode change 100644 => 100755 airtime_mvc/public/js/timepicker/jquery.ui.timepicker.js mode change 100644 => 100755 airtime_mvc/public/js/tipsy/AIRTIME_DEV_README mode change 100644 => 100755 airtime_mvc/public/js/tipsy/jquery.tipsy.js mode change 100644 => 100755 airtime_mvc/public/js/tipsy/jquery.tipsy_orig.js mode change 100644 => 100755 airtime_mvc/public/js/waveformplaylist/config.js mode change 100644 => 100755 airtime_mvc/public/js/waveformplaylist/controls.js mode change 100644 => 100755 airtime_mvc/public/js/waveformplaylist/curves.js mode change 100644 => 100755 airtime_mvc/public/js/waveformplaylist/fades.js mode change 100644 => 100755 airtime_mvc/public/js/waveformplaylist/loader.js mode change 100644 => 100755 airtime_mvc/public/js/waveformplaylist/local_storage.js mode change 100644 => 100755 airtime_mvc/public/js/waveformplaylist/observer/observer.js mode change 100644 => 100755 airtime_mvc/public/js/waveformplaylist/observer/observer.js~ mode change 100644 => 100755 airtime_mvc/public/js/waveformplaylist/playlist.js mode change 100644 => 100755 airtime_mvc/public/js/waveformplaylist/playout.js mode change 100644 => 100755 airtime_mvc/public/js/waveformplaylist/templates/bottombar.tpl mode change 100644 => 100755 airtime_mvc/public/js/waveformplaylist/templates/bottombar.tpl~ mode change 100644 => 100755 airtime_mvc/public/js/waveformplaylist/time_scale.js mode change 100644 => 100755 airtime_mvc/public/js/waveformplaylist/track.js mode change 100644 => 100755 airtime_mvc/public/js/waveformplaylist/track_render.js mode change 100644 => 100755 airtime_mvc/public/robots.txt mode change 100644 => 100755 airtime_mvc/public/setup/database-setup.php mode change 100644 => 100755 airtime_mvc/public/setup/finish-setup.php mode change 100644 => 100755 airtime_mvc/public/setup/general-setup.php mode change 100644 => 100755 airtime_mvc/public/setup/media-setup.php mode change 100644 => 100755 airtime_mvc/public/setup/rabbitmq-setup.php mode change 100644 => 100755 airtime_mvc/public/setup/setup-functions.php mode change 100644 => 100755 airtime_mvc/tests/README.txt mode change 100644 => 100755 airtime_mvc/tests/airtime.conf mode change 100644 => 100755 airtime_mvc/tests/application/bootstrap.php mode change 100644 => 100755 airtime_mvc/tests/application/helpers/TestHelper.php mode change 100644 => 100755 airtime_mvc/tests/application/models/database/ScheduleDbTest.php mode change 100644 => 100755 airtime_mvc/tests/application/models/database/datasets/seed_schedule.xml mode change 100644 => 100755 airtime_mvc/tests/application/models/database/datasets/test_checkOverlappingShows.xml mode change 100644 => 100755 airtime_mvc/tests/application/models/unit/PreferenceUnitTest.php mode change 100644 => 100755 airtime_mvc/tests/application/models/unit/ScheduleUnitTest.php mode change 100644 => 100755 airtime_mvc/tests/application/services/database/ShowServiceDbTest.php mode change 100644 => 100755 airtime_mvc/tests/application/services/database/datasets/seed_show_service.xml mode change 100644 => 100755 airtime_mvc/tests/application/services/database/datasets/test_ccShowInsertedIntoDatabase.xml mode change 100644 => 100755 airtime_mvc/tests/application/services/database/datasets/test_changeRepeatDayUpdatesScheduleCorrectly.xml mode change 100644 => 100755 airtime_mvc/tests/application/services/database/datasets/test_createBiWeeklyRepeatNoEndNoRRShow.xml mode change 100644 => 100755 airtime_mvc/tests/application/services/database/datasets/test_createLinkedShow.xml mode change 100644 => 100755 airtime_mvc/tests/application/services/database/datasets/test_createMonthlyMonthlyRepeatNoEndNoRRShow.xml mode change 100644 => 100755 airtime_mvc/tests/application/services/database/datasets/test_createMonthlyWeeklyRepeatNoEndNoRRShow.xml mode change 100644 => 100755 airtime_mvc/tests/application/services/database/datasets/test_createNoRepeatNoRRShow.xml mode change 100644 => 100755 airtime_mvc/tests/application/services/database/datasets/test_createNoRepeatRRShow.xml mode change 100644 => 100755 airtime_mvc/tests/application/services/database/datasets/test_createQuadWeeklyRepeatNoEndNoRRShow.xml mode change 100644 => 100755 airtime_mvc/tests/application/services/database/datasets/test_createTriWeeklyRepeatNoEndNoRRShow.xml mode change 100644 => 100755 airtime_mvc/tests/application/services/database/datasets/test_createWeeklyRepeatNoEndNoRRShow.xml mode change 100644 => 100755 airtime_mvc/tests/application/services/database/datasets/test_createWeeklyRepeatRRShow.xml mode change 100644 => 100755 airtime_mvc/tests/application/services/database/datasets/test_deleteRepeatingShow.xml mode change 100644 => 100755 airtime_mvc/tests/application/services/database/datasets/test_deleteShowInstance.xml mode change 100644 => 100755 airtime_mvc/tests/application/services/database/datasets/test_deleteShowInstanceAndAllFollowing.xml mode change 100644 => 100755 airtime_mvc/tests/application/services/database/datasets/test_editRepeatingShowChangeNoEndOption.xml mode change 100644 => 100755 airtime_mvc/tests/application/services/database/datasets/test_editRepeatingShowInstance.xml mode change 100644 => 100755 airtime_mvc/tests/application/services/database/datasets/test_removeFirstRepeatShowDayUpdatesScheduleCorrectly.xml mode change 100644 => 100755 airtime_mvc/tests/application/services/database/datasets/test_repeatShowCreationWhenUserMovesForwardInCalendar.xml mode change 100644 => 100755 airtime_mvc/tests/application/services/database/datasets/test_unlinkLinkedShow.xml mode change 100644 => 100755 airtime_mvc/tests/application/services/database/datasets/test_weeklyToBiWeekly.xml mode change 100644 => 100755 airtime_mvc/tests/application/services/database/datasets/test_weeklyToNoRepeat.xml mode change 100644 => 100755 airtime_mvc/tests/application/services/unit/ShowServiceUnitTest.php mode change 100644 => 100755 airtime_mvc/tests/application/testdata/ShowServiceData.php mode change 100644 => 100755 airtime_mvc/tests/library/bootstrap.php mode change 100644 => 100755 airtime_mvc/tests/phpunit.xml mode change 100644 => 100755 changelog mode change 100644 => 100755 debian/changelog mode change 100644 => 100755 debian/compat mode change 100644 => 100755 debian/config mode change 100644 => 100755 debian/control mode change 100644 => 100755 debian/copyright mode change 100644 => 100755 debian/docs mode change 100644 => 100755 debian/etc/airtime.ini mode change 100644 => 100755 debian/etc/apache.conf mode change 100644 => 100755 debian/etc/apache.vhost.tpl mode change 100644 => 100755 debian/gbp.conf mode change 100644 => 100755 debian/install mode change 100644 => 100755 debian/po/POTFILES.in mode change 100644 => 100755 debian/po/templates.pot mode change 100644 => 100755 debian/source/format mode change 100644 => 100755 debian/source/include-binaries mode change 100644 => 100755 debian/templates mode change 100644 => 100755 debian/usr/share/applications/airtime.desktop mode change 100644 => 100755 debian/usr/share/man/man1/airtime-import.1.gz mode change 100644 => 100755 debian/usr/share/man/man1/airtime-launch-browser.1.gz mode change 100644 => 100755 debian/usr/share/man/man1/airtime-log.1.gz mode change 100644 => 100755 debian/usr/share/man/man1/airtime-test-soundcard.1.gz mode change 100644 => 100755 debian/usr/share/man/man1/airtime-test-stream.1.gz mode change 100644 => 100755 debian/usr/share/menu/airtime mode change 100644 => 100755 debian/usr/share/pixmaps/airtime.xpm mode change 100644 => 100755 debian/watch mode change 100644 => 100755 dev_tools/auto_schedule_show.php mode change 100644 => 100755 dev_tools/compare_cc_files_to_fs.py mode change 100644 => 100755 dev_tools/fabric/airtime.vhost mode change 100644 => 100755 dev_tools/fabric/fab_liquidsoap_compile.cfg mode change 100644 => 100755 dev_tools/fabric/fab_liquidsoap_compile.py mode change 100644 => 100755 dev_tools/fabric/fab_release_test.py mode change 100644 => 100755 dev_tools/gen_doctrine_migration.php mode change 100644 => 100755 dev_tools/populate-cc_files.php mode change 100644 => 100755 dev_tools/release/jsmin/jsmin.c mode change 100644 => 100755 dev_tools/scripts/git-attributes-git-merge-po mode change 100644 => 100755 dev_tools/scripts/git-config-git-merge-po mode change 100644 => 100755 dev_tools/scripts/git-merge-po mode change 100644 => 100755 docs/README.txt mode change 100644 => 100755 installer/apache/airtime-vhost mode change 100644 => 100755 installer/bin/requirements-ubuntu-saucy.apt mode change 100644 => 100755 installer/bin/requirements-ubuntu-trusty.apt mode change 100644 => 100755 installer/php/airtime.ini mode change 100644 => 100755 python_apps/api_clients/__init__.py mode change 100644 => 100755 python_apps/api_clients/api_client.py mode change 100644 => 100755 python_apps/api_clients/tests/__init__.py mode change 100644 => 100755 python_apps/api_clients/tests/test_apcurl.py mode change 100644 => 100755 python_apps/api_clients/tests/test_apirequest.py mode change 100644 => 100755 python_apps/api_clients/tests/test_requestprovider.py mode change 100644 => 100755 python_apps/icecast2/airtime-icecast-status.xsl mode change 100644 => 100755 python_apps/icecast2/install/icecast2-install.py mode change 100644 => 100755 python_apps/media-monitor/install/airtime-media-monitor.conf mode change 100644 => 100755 python_apps/media-monitor/media-monitor/airtimefilemonitor/__init__.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimemediamonitorbootstrap.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimemetadata.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimenotifier.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimeprocessevent.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor/airtimefilemonitor/mediaconfig.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor/airtimefilemonitor/mediamonitorcommon.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor/airtimefilemonitor/replaygain.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor/airtimefilemonitor/workerprocess.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor/logging.cfg mode change 100644 => 100755 python_apps/media-monitor/media-monitor/media_monitor.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor/mm1.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/__init__.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/baby.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/configs/logging.cfg mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/media/__init__.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/media/metadata/__init__.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/media/metadata/definitions.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/media/metadata/process.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/media/monitor/__init__.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/media/monitor/airtime.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/media/monitor/bootstrap.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/media/monitor/config.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/media/monitor/eventcontractor.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/media/monitor/eventdrainer.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/media/monitor/events.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/media/monitor/exceptions.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/media/monitor/handler.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/media/monitor/listeners.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/media/monitor/log.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/media/monitor/manager.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/media/monitor/metadata.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/media/monitor/organizer.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/media/monitor/owners.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/media/monitor/pure.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/media/monitor/request.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/media/monitor/syncdb.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/media/monitor/toucher.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/media/monitor/watchersyncer.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/media/saas/__init__.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/media/saas/airtimeinstance.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/media/saas/launcher.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/media/saas/thread.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/mm2.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/tests/__init__.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/tests/api_client.cfg mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/tests/live_client.cfg mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/tests/prepare_tests.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/tests/test_api_client.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/tests/test_config.cfg mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/tests/test_config.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/tests/test_emf.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/tests/test_eventcontractor.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/tests/test_instance.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/tests/test_listeners.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/tests/test_manager.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/tests/test_metadata.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/tests/test_metadata_def.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/tests/test_notifier.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/tests/test_owners.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/tests/test_pure.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/tests/test_requestsync.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/tests/test_syncdb.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/tests/test_thread.py mode change 100644 => 100755 python_apps/media-monitor/media-monitor2/tests/test_toucher.py mode change 100644 => 100755 python_apps/media-monitor/setup.py mode change 100644 => 100755 python_apps/pypo/install/airtime-liquidsoap.conf mode change 100644 => 100755 python_apps/pypo/install/airtime-playout.conf mode change 100644 => 100755 python_apps/pypo/pypo/AUTHORS mode change 100644 => 100755 python_apps/pypo/pypo/LICENSE mode change 100644 => 100755 python_apps/pypo/pypo/__init__.py mode change 100644 => 100755 python_apps/pypo/pypo/eventtypes.py mode change 100644 => 100755 python_apps/pypo/pypo/liquidsoap_scripts/aac.liq mode change 100644 => 100755 python_apps/pypo/pypo/liquidsoap_scripts/aacplus.liq mode change 100644 => 100755 python_apps/pypo/pypo/liquidsoap_scripts/airtime-liquidsoap.logrotate mode change 100644 => 100755 python_apps/pypo/pypo/liquidsoap_scripts/fdkaac.liq mode change 100644 => 100755 python_apps/pypo/pypo/liquidsoap_scripts/generate_liquidsoap_cfg.py mode change 100644 => 100755 python_apps/pypo/pypo/liquidsoap_scripts/library/externals.liq mode change 100644 => 100755 python_apps/pypo/pypo/liquidsoap_scripts/library/flows.liq mode change 100644 => 100755 python_apps/pypo/pypo/liquidsoap_scripts/library/gstreamer.liq mode change 100644 => 100755 python_apps/pypo/pypo/liquidsoap_scripts/library/http.liq mode change 100644 => 100755 python_apps/pypo/pypo/liquidsoap_scripts/library/http_codes.liq mode change 100644 => 100755 python_apps/pypo/pypo/liquidsoap_scripts/library/lastfm.liq mode change 100644 => 100755 python_apps/pypo/pypo/liquidsoap_scripts/library/pervasives.liq mode change 100644 => 100755 python_apps/pypo/pypo/liquidsoap_scripts/library/shoutcast.liq mode change 100644 => 100755 python_apps/pypo/pypo/liquidsoap_scripts/library/utils.liq mode change 100644 => 100755 python_apps/pypo/pypo/liquidsoap_scripts/library/video_text.liq mode change 100644 => 100755 python_apps/pypo/pypo/liquidsoap_scripts/liquidsoap.cfg mode change 100644 => 100755 python_apps/pypo/pypo/liquidsoap_scripts/liquidsoap_auth.py mode change 100644 => 100755 python_apps/pypo/pypo/liquidsoap_scripts/liquidsoap_prepare_terminate.py mode change 100644 => 100755 python_apps/pypo/pypo/liquidsoap_scripts/ls_lib.liq mode change 100644 => 100755 python_apps/pypo/pypo/liquidsoap_scripts/ls_script.liq mode change 100644 => 100755 python_apps/pypo/pypo/liquidsoap_scripts/mp3.liq mode change 100644 => 100755 python_apps/pypo/pypo/liquidsoap_scripts/ogg.liq mode change 100644 => 100755 python_apps/pypo/pypo/liquidsoap_scripts/opus.liq mode change 100644 => 100755 python_apps/pypo/pypo/listenerstat.py mode change 100644 => 100755 python_apps/pypo/pypo/logging.cfg mode change 100644 => 100755 python_apps/pypo/pypo/media/__init__.py mode change 100644 => 100755 python_apps/pypo/pypo/media/update/__init__.py mode change 100644 => 100755 python_apps/pypo/pypo/media/update/replaygain.py mode change 100644 => 100755 python_apps/pypo/pypo/media/update/replaygainupdater.py mode change 100644 => 100755 python_apps/pypo/pypo/media/update/silananalyzer.py mode change 100644 => 100755 python_apps/pypo/pypo/notify_logging.cfg mode change 100644 => 100755 python_apps/pypo/pypo/pure.py mode change 100644 => 100755 python_apps/pypo/pypo/pypocli.py mode change 100644 => 100755 python_apps/pypo/pypo/pypofetch.py mode change 100644 => 100755 python_apps/pypo/pypo/pypofile.py mode change 100644 => 100755 python_apps/pypo/pypo/pypoliqqueue.py mode change 100644 => 100755 python_apps/pypo/pypo/pypoliquidsoap.py mode change 100644 => 100755 python_apps/pypo/pypo/pypomessagehandler.py mode change 100644 => 100755 python_apps/pypo/pypo/pyponotify.py mode change 100644 => 100755 python_apps/pypo/pypo/pypopush.py mode change 100644 => 100755 python_apps/pypo/pypo/recorder.py mode change 100644 => 100755 python_apps/pypo/pypo/telnetliquidsoap.py mode change 100644 => 100755 python_apps/pypo/pypo/testpypoliqqueue.py mode change 100644 => 100755 python_apps/pypo/pypo/tests/test_modify_cue_in.py mode change 100644 => 100755 python_apps/pypo/pypo/timeout.py mode change 100644 => 100755 python_apps/pypo/setup.py mode change 100644 => 100755 python_apps/python-virtualenv/3rd_party/distribute-0.6.10.tar.gz mode change 100644 => 100755 python_apps/python-virtualenv/3rd_party/pip-1.0.2.tar.gz mode change 100644 => 100755 python_apps/python-virtualenv/airtime_virtual_env.pybundle mode change 100644 => 100755 python_apps/python-virtualenv/patches/mutagen/mutagen_patch1.patch mode change 100644 => 100755 python_apps/python-virtualenv/patches/mutagen/mutagen_patch2.patch mode change 100644 => 100755 python_apps/python-virtualenv/requirements mode change 100644 => 100755 python_apps/std_err_override/LogWriter.py mode change 100644 => 100755 python_apps/std_err_override/__init__.py mode change 100644 => 100755 tests/README mode change 100644 => 100755 tests/selenium/Add Media Skeleton Present.html mode change 100644 => 100755 tests/selenium/Airtime.html mode change 100644 => 100755 tests/selenium/Calendar Add Show Skeleton.html mode change 100644 => 100755 tests/selenium/Calendar Day Week Month Views.html mode change 100644 => 100755 tests/selenium/Calendar Skeleton Present.html mode change 100644 => 100755 tests/selenium/Library Skeleton Present.html mode change 100644 => 100755 tests/selenium/Listen Button Skeleton.html mode change 100644 => 100755 tests/selenium/Login and Logout.html mode change 100644 => 100755 tests/selenium/Login.html mode change 100644 => 100755 tests/selenium/Preferences Skeletons.html mode change 100644 => 100755 tests/selenium/System Menu Contents.html mode change 100644 => 100755 utils/airtime-backup.py mode change 100644 => 100755 utils/airtime-check-system.php mode change 100644 => 100755 utils/airtime-import/airtime-import.py mode change 100644 => 100755 utils/airtime-log.php mode change 100644 => 100755 utils/airtime-silan.py mode change 100644 => 100755 utils/airtime-test-soundcard.py mode change 100644 => 100755 utils/airtime-test-stream.py mode change 100644 => 100755 utils/airtime-update-db-settings.py mode change 100644 => 100755 utils/phone_home_stat.php mode change 100644 => 100755 utils/soundcloud-uploader.php mode change 100644 => 100755 widgets/css/airtime-widgets.css mode change 100644 => 100755 widgets/css/widget-img/schedule-tabs-list-bgr.png mode change 100644 => 100755 widgets/js/jquery-1.6.1.min.js mode change 100644 => 100755 widgets/js/jquery-ui-1.8.10.custom.min.js mode change 100644 => 100755 widgets/js/jquery.showinfo.js mode change 100644 => 100755 widgets/sample_page.html mode change 100644 => 100755 widgets/widget_schedule.html mode change 100644 => 100755 widgets/widgets.html diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/.zfproject.xml b/.zfproject.xml old mode 100644 new mode 100755 diff --git a/CREDITS b/CREDITS old mode 100644 new mode 100755 diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/LICENSE_3RD_PARTY b/LICENSE_3RD_PARTY old mode 100644 new mode 100755 diff --git a/README b/README old mode 100644 new mode 100755 diff --git a/VERSION b/VERSION old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/Bootstrap.php b/airtime_mvc/application/Bootstrap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/airtime-boot.php b/airtime_mvc/application/airtime-boot.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/common/Database.php b/airtime_mvc/application/common/Database.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/common/DateHelper.php b/airtime_mvc/application/common/DateHelper.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/common/OsPath.php b/airtime_mvc/application/common/OsPath.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/common/Timezone.php b/airtime_mvc/application/common/Timezone.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/configs/ACL.php b/airtime_mvc/application/configs/ACL.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/configs/airtime-conf-production.php b/airtime_mvc/application/configs/airtime-conf-production.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/configs/airtime-conf.php b/airtime_mvc/application/configs/airtime-conf.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/configs/application.ini b/airtime_mvc/application/configs/application.ini old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/configs/classmap-airtime-conf.php b/airtime_mvc/application/configs/classmap-airtime-conf.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/configs/conf.php b/airtime_mvc/application/configs/conf.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/configs/config-check.php b/airtime_mvc/application/configs/config-check.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/configs/constants.php b/airtime_mvc/application/configs/constants.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/configs/db-conf.php b/airtime_mvc/application/configs/db-conf.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/configs/navigation.php b/airtime_mvc/application/configs/navigation.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/controllers/ApiController.php b/airtime_mvc/application/controllers/ApiController.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/controllers/AudiopreviewController.php b/airtime_mvc/application/controllers/AudiopreviewController.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/controllers/DashboardController.php b/airtime_mvc/application/controllers/DashboardController.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/controllers/ErrorController.php b/airtime_mvc/application/controllers/ErrorController.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/controllers/IndexController.php b/airtime_mvc/application/controllers/IndexController.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/controllers/LibraryController.php b/airtime_mvc/application/controllers/LibraryController.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/controllers/ListenerstatController.php b/airtime_mvc/application/controllers/ListenerstatController.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/controllers/LocaleController.php b/airtime_mvc/application/controllers/LocaleController.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/controllers/LoginController.php b/airtime_mvc/application/controllers/LoginController.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/controllers/PlaylistController.php b/airtime_mvc/application/controllers/PlaylistController.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/controllers/PlayouthistoryController.php b/airtime_mvc/application/controllers/PlayouthistoryController.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/controllers/PlayouthistorytemplateController.php b/airtime_mvc/application/controllers/PlayouthistorytemplateController.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/controllers/PluploadController.php b/airtime_mvc/application/controllers/PluploadController.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/controllers/PreferenceController.php b/airtime_mvc/application/controllers/PreferenceController.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/controllers/ScheduleController.php b/airtime_mvc/application/controllers/ScheduleController.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/controllers/ShowbuilderController.php b/airtime_mvc/application/controllers/ShowbuilderController.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/controllers/SystemstatusController.php b/airtime_mvc/application/controllers/SystemstatusController.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/controllers/UserController.php b/airtime_mvc/application/controllers/UserController.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/controllers/UsersettingsController.php b/airtime_mvc/application/controllers/UsersettingsController.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/controllers/WebstreamController.php b/airtime_mvc/application/controllers/WebstreamController.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/controllers/plugins/Acl_plugin.php b/airtime_mvc/application/controllers/plugins/Acl_plugin.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/controllers/plugins/RabbitMqPlugin.php b/airtime_mvc/application/controllers/plugins/RabbitMqPlugin.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/AddShowAbsoluteRebroadcastDates.php b/airtime_mvc/application/forms/AddShowAbsoluteRebroadcastDates.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/AddShowLiveStream.php b/airtime_mvc/application/forms/AddShowLiveStream.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/AddShowRR.php b/airtime_mvc/application/forms/AddShowRR.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/AddShowRebroadcastDates.php b/airtime_mvc/application/forms/AddShowRebroadcastDates.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/AddShowRepeats.php b/airtime_mvc/application/forms/AddShowRepeats.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/AddShowStyle.php b/airtime_mvc/application/forms/AddShowStyle.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/AddShowWhat.php b/airtime_mvc/application/forms/AddShowWhat.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/AddShowWhen.php b/airtime_mvc/application/forms/AddShowWhen.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/AddShowWho.php b/airtime_mvc/application/forms/AddShowWho.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/AddUser.php b/airtime_mvc/application/forms/AddUser.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/DateRange.php b/airtime_mvc/application/forms/DateRange.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/EditAudioMD.php b/airtime_mvc/application/forms/EditAudioMD.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/EditHistory.php b/airtime_mvc/application/forms/EditHistory.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/EditHistoryFile.php b/airtime_mvc/application/forms/EditHistoryFile.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/EditHistoryItem.php b/airtime_mvc/application/forms/EditHistoryItem.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/EditUser.php b/airtime_mvc/application/forms/EditUser.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/EmailServerPreferences.php b/airtime_mvc/application/forms/EmailServerPreferences.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/GeneralPreferences.php b/airtime_mvc/application/forms/GeneralPreferences.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/LiveStreamingPreferences.php b/airtime_mvc/application/forms/LiveStreamingPreferences.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/Login.php b/airtime_mvc/application/forms/Login.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/PasswordChange.php b/airtime_mvc/application/forms/PasswordChange.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/PasswordRestore.php b/airtime_mvc/application/forms/PasswordRestore.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/Preferences.php b/airtime_mvc/application/forms/Preferences.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/RegisterAirtime.php b/airtime_mvc/application/forms/RegisterAirtime.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/ScheduleShow.php b/airtime_mvc/application/forms/ScheduleShow.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/ShowBuilder.php b/airtime_mvc/application/forms/ShowBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/SmartBlockCriteria.php b/airtime_mvc/application/forms/SmartBlockCriteria.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/SoundcloudPreferences.php b/airtime_mvc/application/forms/SoundcloudPreferences.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/StreamSetting.php b/airtime_mvc/application/forms/StreamSetting.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/StreamSettingSubForm.php b/airtime_mvc/application/forms/StreamSettingSubForm.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/SupportSettings.php b/airtime_mvc/application/forms/SupportSettings.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/WatchedDirPreferences.php b/airtime_mvc/application/forms/WatchedDirPreferences.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/customfilters/ImageSize.php b/airtime_mvc/application/forms/customfilters/ImageSize.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/customvalidators/ConditionalNotEmpty.php b/airtime_mvc/application/forms/customvalidators/ConditionalNotEmpty.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/customvalidators/PasswordNotEmpty.php b/airtime_mvc/application/forms/customvalidators/PasswordNotEmpty.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/forms/helpers/ValidationTypes.php b/airtime_mvc/application/forms/helpers/ValidationTypes.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/layouts/scripts/audio-player.phtml b/airtime_mvc/application/layouts/scripts/audio-player.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/layouts/scripts/bare.phtml b/airtime_mvc/application/layouts/scripts/bare.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/layouts/scripts/layout.phtml b/airtime_mvc/application/layouts/scripts/layout.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/layouts/scripts/livestream.phtml b/airtime_mvc/application/layouts/scripts/livestream.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/layouts/scripts/login.phtml b/airtime_mvc/application/layouts/scripts/login.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/logging/AirtimeLog.php b/airtime_mvc/application/logging/AirtimeLog.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/logging/Logging.php b/airtime_mvc/application/logging/Logging.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/Auth.php b/airtime_mvc/application/models/Auth.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/Block.php b/airtime_mvc/application/models/Block.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/Cache.php b/airtime_mvc/application/models/Cache.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/Dashboard.php b/airtime_mvc/application/models/Dashboard.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/Datatables.php b/airtime_mvc/application/models/Datatables.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/Email.php b/airtime_mvc/application/models/Email.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/Library.php b/airtime_mvc/application/models/Library.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/LibraryEditable.php b/airtime_mvc/application/models/LibraryEditable.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/ListenerStat.php b/airtime_mvc/application/models/ListenerStat.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/LiveLog.php b/airtime_mvc/application/models/LiveLog.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/Locale.php b/airtime_mvc/application/models/Locale.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/LoginAttempts.php b/airtime_mvc/application/models/LoginAttempts.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/MusicDir.php b/airtime_mvc/application/models/MusicDir.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/Playlist.php b/airtime_mvc/application/models/Playlist.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/Preference.php b/airtime_mvc/application/models/Preference.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/RabbitMq.php b/airtime_mvc/application/models/RabbitMq.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/Schedule.php b/airtime_mvc/application/models/Schedule.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/Scheduler.php b/airtime_mvc/application/models/Scheduler.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/ServiceRegister.php b/airtime_mvc/application/models/ServiceRegister.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/Show.php b/airtime_mvc/application/models/Show.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/ShowBuilder.php b/airtime_mvc/application/models/ShowBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/ShowInstance.php b/airtime_mvc/application/models/ShowInstance.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/Soundcloud.php b/airtime_mvc/application/models/Soundcloud.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/StoredFile.php b/airtime_mvc/application/models/StoredFile.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/StreamSetting.php b/airtime_mvc/application/models/StreamSetting.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/Subjects.php b/airtime_mvc/application/models/Subjects.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/Systemstatus.php b/airtime_mvc/application/models/Systemstatus.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/User.php b/airtime_mvc/application/models/User.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/Webstream.php b/airtime_mvc/application/models/Webstream.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcAccess.php b/airtime_mvc/application/models/airtime/CcAccess.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcAccessPeer.php b/airtime_mvc/application/models/airtime/CcAccessPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcAccessQuery.php b/airtime_mvc/application/models/airtime/CcAccessQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcBackup.php b/airtime_mvc/application/models/airtime/CcBackup.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcBackupPeer.php b/airtime_mvc/application/models/airtime/CcBackupPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcBackupQuery.php b/airtime_mvc/application/models/airtime/CcBackupQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcBlock.php b/airtime_mvc/application/models/airtime/CcBlock.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcBlockPeer.php b/airtime_mvc/application/models/airtime/CcBlockPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcBlockQuery.php b/airtime_mvc/application/models/airtime/CcBlockQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcBlockcontents.php b/airtime_mvc/application/models/airtime/CcBlockcontents.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcBlockcontentsPeer.php b/airtime_mvc/application/models/airtime/CcBlockcontentsPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcBlockcontentsQuery.php b/airtime_mvc/application/models/airtime/CcBlockcontentsQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcBlockcriteria.php b/airtime_mvc/application/models/airtime/CcBlockcriteria.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcBlockcriteriaPeer.php b/airtime_mvc/application/models/airtime/CcBlockcriteriaPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcBlockcriteriaQuery.php b/airtime_mvc/application/models/airtime/CcBlockcriteriaQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcCountry.php b/airtime_mvc/application/models/airtime/CcCountry.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcCountryPeer.php b/airtime_mvc/application/models/airtime/CcCountryPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcCountryQuery.php b/airtime_mvc/application/models/airtime/CcCountryQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcFileTag.php b/airtime_mvc/application/models/airtime/CcFileTag.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcFileTagPeer.php b/airtime_mvc/application/models/airtime/CcFileTagPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcFileTagQuery.php b/airtime_mvc/application/models/airtime/CcFileTagQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcFiles.php b/airtime_mvc/application/models/airtime/CcFiles.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcFilesPeer.php b/airtime_mvc/application/models/airtime/CcFilesPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcFilesQuery.php b/airtime_mvc/application/models/airtime/CcFilesQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcListenerCount.php b/airtime_mvc/application/models/airtime/CcListenerCount.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcListenerCountPeer.php b/airtime_mvc/application/models/airtime/CcListenerCountPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcListenerCountQuery.php b/airtime_mvc/application/models/airtime/CcListenerCountQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcLiveLog.php b/airtime_mvc/application/models/airtime/CcLiveLog.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcLiveLogPeer.php b/airtime_mvc/application/models/airtime/CcLiveLogPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcLiveLogQuery.php b/airtime_mvc/application/models/airtime/CcLiveLogQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcLocale.php b/airtime_mvc/application/models/airtime/CcLocale.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcLocalePeer.php b/airtime_mvc/application/models/airtime/CcLocalePeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcLocaleQuery.php b/airtime_mvc/application/models/airtime/CcLocaleQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcLoginAttempts.php b/airtime_mvc/application/models/airtime/CcLoginAttempts.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcLoginAttemptsPeer.php b/airtime_mvc/application/models/airtime/CcLoginAttemptsPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcLoginAttemptsQuery.php b/airtime_mvc/application/models/airtime/CcLoginAttemptsQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcMountName.php b/airtime_mvc/application/models/airtime/CcMountName.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcMountNamePeer.php b/airtime_mvc/application/models/airtime/CcMountNamePeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcMountNameQuery.php b/airtime_mvc/application/models/airtime/CcMountNameQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcMusicDirs.php b/airtime_mvc/application/models/airtime/CcMusicDirs.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcMusicDirsPeer.php b/airtime_mvc/application/models/airtime/CcMusicDirsPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcMusicDirsQuery.php b/airtime_mvc/application/models/airtime/CcMusicDirsQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcPerms.php b/airtime_mvc/application/models/airtime/CcPerms.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcPermsPeer.php b/airtime_mvc/application/models/airtime/CcPermsPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcPermsQuery.php b/airtime_mvc/application/models/airtime/CcPermsQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcPlaylist.php b/airtime_mvc/application/models/airtime/CcPlaylist.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcPlaylistPeer.php b/airtime_mvc/application/models/airtime/CcPlaylistPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcPlaylistQuery.php b/airtime_mvc/application/models/airtime/CcPlaylistQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcPlaylistcontents.php b/airtime_mvc/application/models/airtime/CcPlaylistcontents.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcPlaylistcontentsPeer.php b/airtime_mvc/application/models/airtime/CcPlaylistcontentsPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcPlaylistcontentsQuery.php b/airtime_mvc/application/models/airtime/CcPlaylistcontentsQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcPlaylistcriteria.php b/airtime_mvc/application/models/airtime/CcPlaylistcriteria.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcPlaylistcriteriaPeer.php b/airtime_mvc/application/models/airtime/CcPlaylistcriteriaPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcPlaylistcriteriaQuery.php b/airtime_mvc/application/models/airtime/CcPlaylistcriteriaQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcPlayoutHistory.php b/airtime_mvc/application/models/airtime/CcPlayoutHistory.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcPlayoutHistoryMetaData.php b/airtime_mvc/application/models/airtime/CcPlayoutHistoryMetaData.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcPlayoutHistoryMetaDataPeer.php b/airtime_mvc/application/models/airtime/CcPlayoutHistoryMetaDataPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcPlayoutHistoryMetaDataQuery.php b/airtime_mvc/application/models/airtime/CcPlayoutHistoryMetaDataQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcPlayoutHistoryPeer.php b/airtime_mvc/application/models/airtime/CcPlayoutHistoryPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcPlayoutHistoryQuery.php b/airtime_mvc/application/models/airtime/CcPlayoutHistoryQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplate.php b/airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplate.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplateField.php b/airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplateField.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplateFieldPeer.php b/airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplateFieldPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplateFieldQuery.php b/airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplateFieldQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplatePeer.php b/airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplatePeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplateQuery.php b/airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplateQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcPref.php b/airtime_mvc/application/models/airtime/CcPref.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcPrefPeer.php b/airtime_mvc/application/models/airtime/CcPrefPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcPrefQuery.php b/airtime_mvc/application/models/airtime/CcPrefQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcSchedule.php b/airtime_mvc/application/models/airtime/CcSchedule.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcSchedulePeer.php b/airtime_mvc/application/models/airtime/CcSchedulePeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcScheduleQuery.php b/airtime_mvc/application/models/airtime/CcScheduleQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcServiceRegister.php b/airtime_mvc/application/models/airtime/CcServiceRegister.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcServiceRegisterPeer.php b/airtime_mvc/application/models/airtime/CcServiceRegisterPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcServiceRegisterQuery.php b/airtime_mvc/application/models/airtime/CcServiceRegisterQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcSess.php b/airtime_mvc/application/models/airtime/CcSess.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcSessPeer.php b/airtime_mvc/application/models/airtime/CcSessPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcSessQuery.php b/airtime_mvc/application/models/airtime/CcSessQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcShow.php b/airtime_mvc/application/models/airtime/CcShow.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcShowDays.php b/airtime_mvc/application/models/airtime/CcShowDays.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcShowDaysPeer.php b/airtime_mvc/application/models/airtime/CcShowDaysPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcShowDaysQuery.php b/airtime_mvc/application/models/airtime/CcShowDaysQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcShowHosts.php b/airtime_mvc/application/models/airtime/CcShowHosts.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcShowHostsPeer.php b/airtime_mvc/application/models/airtime/CcShowHostsPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcShowHostsQuery.php b/airtime_mvc/application/models/airtime/CcShowHostsQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcShowInstances.php b/airtime_mvc/application/models/airtime/CcShowInstances.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcShowInstancesPeer.php b/airtime_mvc/application/models/airtime/CcShowInstancesPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcShowInstancesQuery.php b/airtime_mvc/application/models/airtime/CcShowInstancesQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcShowPeer.php b/airtime_mvc/application/models/airtime/CcShowPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcShowQuery.php b/airtime_mvc/application/models/airtime/CcShowQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcShowRebroadcast.php b/airtime_mvc/application/models/airtime/CcShowRebroadcast.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcShowRebroadcastPeer.php b/airtime_mvc/application/models/airtime/CcShowRebroadcastPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcShowRebroadcastQuery.php b/airtime_mvc/application/models/airtime/CcShowRebroadcastQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcShowSchedule.php b/airtime_mvc/application/models/airtime/CcShowSchedule.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcShowSchedulePeer.php b/airtime_mvc/application/models/airtime/CcShowSchedulePeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcShowScheduleQuery.php b/airtime_mvc/application/models/airtime/CcShowScheduleQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcSmemb.php b/airtime_mvc/application/models/airtime/CcSmemb.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcSmembPeer.php b/airtime_mvc/application/models/airtime/CcSmembPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcSmembQuery.php b/airtime_mvc/application/models/airtime/CcSmembQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcStreamSetting.php b/airtime_mvc/application/models/airtime/CcStreamSetting.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcStreamSettingPeer.php b/airtime_mvc/application/models/airtime/CcStreamSettingPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcStreamSettingQuery.php b/airtime_mvc/application/models/airtime/CcStreamSettingQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcSubjs.php b/airtime_mvc/application/models/airtime/CcSubjs.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcSubjsPeer.php b/airtime_mvc/application/models/airtime/CcSubjsPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcSubjsQuery.php b/airtime_mvc/application/models/airtime/CcSubjsQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcSubjsToken.php b/airtime_mvc/application/models/airtime/CcSubjsToken.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcSubjsTokenPeer.php b/airtime_mvc/application/models/airtime/CcSubjsTokenPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcSubjsTokenQuery.php b/airtime_mvc/application/models/airtime/CcSubjsTokenQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcTag.php b/airtime_mvc/application/models/airtime/CcTag.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcTagPeer.php b/airtime_mvc/application/models/airtime/CcTagPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcTagQuery.php b/airtime_mvc/application/models/airtime/CcTagQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcTimestamp.php b/airtime_mvc/application/models/airtime/CcTimestamp.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcTimestampPeer.php b/airtime_mvc/application/models/airtime/CcTimestampPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcTimestampQuery.php b/airtime_mvc/application/models/airtime/CcTimestampQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcTrans.php b/airtime_mvc/application/models/airtime/CcTrans.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcTransPeer.php b/airtime_mvc/application/models/airtime/CcTransPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcTransQuery.php b/airtime_mvc/application/models/airtime/CcTransQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcWebstream.php b/airtime_mvc/application/models/airtime/CcWebstream.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcWebstreamMetadata.php b/airtime_mvc/application/models/airtime/CcWebstreamMetadata.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcWebstreamMetadataPeer.php b/airtime_mvc/application/models/airtime/CcWebstreamMetadataPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcWebstreamMetadataQuery.php b/airtime_mvc/application/models/airtime/CcWebstreamMetadataQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcWebstreamPeer.php b/airtime_mvc/application/models/airtime/CcWebstreamPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/CcWebstreamQuery.php b/airtime_mvc/application/models/airtime/CcWebstreamQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcAccessTableMap.php b/airtime_mvc/application/models/airtime/map/CcAccessTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcBackupTableMap.php b/airtime_mvc/application/models/airtime/map/CcBackupTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcBlockTableMap.php b/airtime_mvc/application/models/airtime/map/CcBlockTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcBlockcontentsTableMap.php b/airtime_mvc/application/models/airtime/map/CcBlockcontentsTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcBlockcriteriaTableMap.php b/airtime_mvc/application/models/airtime/map/CcBlockcriteriaTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcCountryTableMap.php b/airtime_mvc/application/models/airtime/map/CcCountryTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcFileTagTableMap.php b/airtime_mvc/application/models/airtime/map/CcFileTagTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcFilesTableMap.php b/airtime_mvc/application/models/airtime/map/CcFilesTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcListenerCountTableMap.php b/airtime_mvc/application/models/airtime/map/CcListenerCountTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcLiveLogTableMap.php b/airtime_mvc/application/models/airtime/map/CcLiveLogTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcLocaleTableMap.php b/airtime_mvc/application/models/airtime/map/CcLocaleTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcLoginAttemptsTableMap.php b/airtime_mvc/application/models/airtime/map/CcLoginAttemptsTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcMountNameTableMap.php b/airtime_mvc/application/models/airtime/map/CcMountNameTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcMusicDirsTableMap.php b/airtime_mvc/application/models/airtime/map/CcMusicDirsTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcPermsTableMap.php b/airtime_mvc/application/models/airtime/map/CcPermsTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcPlaylistTableMap.php b/airtime_mvc/application/models/airtime/map/CcPlaylistTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcPlaylistcontentsTableMap.php b/airtime_mvc/application/models/airtime/map/CcPlaylistcontentsTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcPlaylistcriteriaTableMap.php b/airtime_mvc/application/models/airtime/map/CcPlaylistcriteriaTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcPlayoutHistoryMetaDataTableMap.php b/airtime_mvc/application/models/airtime/map/CcPlayoutHistoryMetaDataTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcPlayoutHistoryTableMap.php b/airtime_mvc/application/models/airtime/map/CcPlayoutHistoryTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcPlayoutHistoryTemplateFieldTableMap.php b/airtime_mvc/application/models/airtime/map/CcPlayoutHistoryTemplateFieldTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcPlayoutHistoryTemplateTableMap.php b/airtime_mvc/application/models/airtime/map/CcPlayoutHistoryTemplateTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcPlayoutHistoryTemplateTagTableMap.php b/airtime_mvc/application/models/airtime/map/CcPlayoutHistoryTemplateTagTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcPrefTableMap.php b/airtime_mvc/application/models/airtime/map/CcPrefTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcScheduleTableMap.php b/airtime_mvc/application/models/airtime/map/CcScheduleTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcSectionTableMap.php b/airtime_mvc/application/models/airtime/map/CcSectionTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcSectioncontentsTableMap.php b/airtime_mvc/application/models/airtime/map/CcSectioncontentsTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcSectioncriteriaTableMap.php b/airtime_mvc/application/models/airtime/map/CcSectioncriteriaTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcServiceRegisterTableMap.php b/airtime_mvc/application/models/airtime/map/CcServiceRegisterTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcSessTableMap.php b/airtime_mvc/application/models/airtime/map/CcSessTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcShowDaysTableMap.php b/airtime_mvc/application/models/airtime/map/CcShowDaysTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcShowHostsTableMap.php b/airtime_mvc/application/models/airtime/map/CcShowHostsTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcShowInstancesTableMap.php b/airtime_mvc/application/models/airtime/map/CcShowInstancesTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcShowRebroadcastTableMap.php b/airtime_mvc/application/models/airtime/map/CcShowRebroadcastTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcShowScheduleTableMap.php b/airtime_mvc/application/models/airtime/map/CcShowScheduleTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcShowStampTableMap.php b/airtime_mvc/application/models/airtime/map/CcShowStampTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcShowTableMap.php b/airtime_mvc/application/models/airtime/map/CcShowTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcSmembTableMap.php b/airtime_mvc/application/models/airtime/map/CcSmembTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcStampContentsTableMap.php b/airtime_mvc/application/models/airtime/map/CcStampContentsTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcStampTableMap.php b/airtime_mvc/application/models/airtime/map/CcStampTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcStreamSettingTableMap.php b/airtime_mvc/application/models/airtime/map/CcStreamSettingTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcSubjsTableMap.php b/airtime_mvc/application/models/airtime/map/CcSubjsTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcSubjsTokenTableMap.php b/airtime_mvc/application/models/airtime/map/CcSubjsTokenTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcTagTableMap.php b/airtime_mvc/application/models/airtime/map/CcTagTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcTimestampTableMap.php b/airtime_mvc/application/models/airtime/map/CcTimestampTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcTransTableMap.php b/airtime_mvc/application/models/airtime/map/CcTransTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcWebstreamMetadataTableMap.php b/airtime_mvc/application/models/airtime/map/CcWebstreamMetadataTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/map/CcWebstreamTableMap.php b/airtime_mvc/application/models/airtime/map/CcWebstreamTableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcAccess.php b/airtime_mvc/application/models/airtime/om/BaseCcAccess.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcAccessPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcAccessPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcAccessQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcAccessQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcBackup.php b/airtime_mvc/application/models/airtime/om/BaseCcBackup.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcBackupPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcBackupPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcBackupQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcBackupQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcBlock.php b/airtime_mvc/application/models/airtime/om/BaseCcBlock.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcBlockPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcBlockPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcBlockQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcBlockQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcBlockcontents.php b/airtime_mvc/application/models/airtime/om/BaseCcBlockcontents.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcBlockcontentsPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcBlockcontentsPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcBlockcontentsQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcBlockcontentsQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcBlockcriteria.php b/airtime_mvc/application/models/airtime/om/BaseCcBlockcriteria.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcBlockcriteriaPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcBlockcriteriaPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcBlockcriteriaQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcBlockcriteriaQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcCountry.php b/airtime_mvc/application/models/airtime/om/BaseCcCountry.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcCountryPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcCountryPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcCountryQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcCountryQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcFileTag.php b/airtime_mvc/application/models/airtime/om/BaseCcFileTag.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcFileTagPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcFileTagPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcFileTagQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcFileTagQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcFiles.php b/airtime_mvc/application/models/airtime/om/BaseCcFiles.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcFilesPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcFilesPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcFilesQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcFilesQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcListenerCount.php b/airtime_mvc/application/models/airtime/om/BaseCcListenerCount.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcListenerCountPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcListenerCountPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcListenerCountQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcListenerCountQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcLiveLog.php b/airtime_mvc/application/models/airtime/om/BaseCcLiveLog.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcLiveLogPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcLiveLogPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcLiveLogQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcLiveLogQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcLocale.php b/airtime_mvc/application/models/airtime/om/BaseCcLocale.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcLocalePeer.php b/airtime_mvc/application/models/airtime/om/BaseCcLocalePeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcLocaleQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcLocaleQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcLoginAttempts.php b/airtime_mvc/application/models/airtime/om/BaseCcLoginAttempts.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcLoginAttemptsPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcLoginAttemptsPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcLoginAttemptsQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcLoginAttemptsQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcMountName.php b/airtime_mvc/application/models/airtime/om/BaseCcMountName.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcMountNamePeer.php b/airtime_mvc/application/models/airtime/om/BaseCcMountNamePeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcMountNameQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcMountNameQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcMusicDirs.php b/airtime_mvc/application/models/airtime/om/BaseCcMusicDirs.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcMusicDirsPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcMusicDirsPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcMusicDirsQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcMusicDirsQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPerms.php b/airtime_mvc/application/models/airtime/om/BaseCcPerms.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPermsPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcPermsPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPermsQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcPermsQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlaylist.php b/airtime_mvc/application/models/airtime/om/BaseCcPlaylist.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlaylistPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcPlaylistPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlaylistQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcPlaylistQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlaylistcontents.php b/airtime_mvc/application/models/airtime/om/BaseCcPlaylistcontents.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlaylistcontentsPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcPlaylistcontentsPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlaylistcontentsQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcPlaylistcontentsQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlaylistcriteria.php b/airtime_mvc/application/models/airtime/om/BaseCcPlaylistcriteria.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlaylistcriteriaPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcPlaylistcriteriaPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlaylistcriteriaQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcPlaylistcriteriaQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistory.php b/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistory.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryMetaData.php b/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryMetaData.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryMetaDataPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryMetaDataPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryMetaDataQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryMetaDataQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplate.php b/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplate.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateField.php b/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateField.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateFieldPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateFieldPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateFieldQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateFieldQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplatePeer.php b/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplatePeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateTag.php b/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateTag.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateTagPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateTagPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateTagQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateTagQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPref.php b/airtime_mvc/application/models/airtime/om/BaseCcPref.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPrefPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcPrefPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPrefQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcPrefQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcSchedule.php b/airtime_mvc/application/models/airtime/om/BaseCcSchedule.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcSchedulePeer.php b/airtime_mvc/application/models/airtime/om/BaseCcSchedulePeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcScheduleQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcScheduleQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcServiceRegister.php b/airtime_mvc/application/models/airtime/om/BaseCcServiceRegister.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcServiceRegisterPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcServiceRegisterPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcServiceRegisterQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcServiceRegisterQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcSess.php b/airtime_mvc/application/models/airtime/om/BaseCcSess.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcSessPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcSessPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcSessQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcSessQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShow.php b/airtime_mvc/application/models/airtime/om/BaseCcShow.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowDays.php b/airtime_mvc/application/models/airtime/om/BaseCcShowDays.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowDaysPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcShowDaysPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowDaysQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcShowDaysQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowHosts.php b/airtime_mvc/application/models/airtime/om/BaseCcShowHosts.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowHostsPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcShowHostsPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowHostsQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcShowHostsQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowInstances.php b/airtime_mvc/application/models/airtime/om/BaseCcShowInstances.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowInstancesPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcShowInstancesPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowInstancesQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcShowInstancesQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcShowPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcShowQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowRebroadcast.php b/airtime_mvc/application/models/airtime/om/BaseCcShowRebroadcast.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowRebroadcastPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcShowRebroadcastPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowRebroadcastQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcShowRebroadcastQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowSchedule.php b/airtime_mvc/application/models/airtime/om/BaseCcShowSchedule.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowSchedulePeer.php b/airtime_mvc/application/models/airtime/om/BaseCcShowSchedulePeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowScheduleQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcShowScheduleQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcSmemb.php b/airtime_mvc/application/models/airtime/om/BaseCcSmemb.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcSmembPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcSmembPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcSmembQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcSmembQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcStreamSetting.php b/airtime_mvc/application/models/airtime/om/BaseCcStreamSetting.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcStreamSettingPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcStreamSettingPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcStreamSettingQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcStreamSettingQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcSubjs.php b/airtime_mvc/application/models/airtime/om/BaseCcSubjs.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcSubjsPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcSubjsPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcSubjsQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcSubjsQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcSubjsToken.php b/airtime_mvc/application/models/airtime/om/BaseCcSubjsToken.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcSubjsTokenPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcSubjsTokenPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcSubjsTokenQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcSubjsTokenQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcTag.php b/airtime_mvc/application/models/airtime/om/BaseCcTag.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcTagPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcTagPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcTagQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcTagQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcTimestamp.php b/airtime_mvc/application/models/airtime/om/BaseCcTimestamp.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcTimestampPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcTimestampPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcTimestampQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcTimestampQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcTrans.php b/airtime_mvc/application/models/airtime/om/BaseCcTrans.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcTransPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcTransPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcTransQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcTransQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcWebstream.php b/airtime_mvc/application/models/airtime/om/BaseCcWebstream.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcWebstreamMetadata.php b/airtime_mvc/application/models/airtime/om/BaseCcWebstreamMetadata.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcWebstreamMetadataPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcWebstreamMetadataPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcWebstreamMetadataQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcWebstreamMetadataQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcWebstreamPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcWebstreamPeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcWebstreamQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcWebstreamQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/formatters/BitrateFormatter.php b/airtime_mvc/application/models/formatters/BitrateFormatter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/formatters/LengthFormatter.php b/airtime_mvc/application/models/formatters/LengthFormatter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/formatters/SamplerateFormatter.php b/airtime_mvc/application/models/formatters/SamplerateFormatter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/formatters/TimeFilledFormatter.php b/airtime_mvc/application/models/formatters/TimeFilledFormatter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/tests/0000000000010001 b/airtime_mvc/application/models/tests/0000000000010001 old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/tests/0000000000010002 b/airtime_mvc/application/models/tests/0000000000010002 old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/tests/AllTests.php b/airtime_mvc/application/models/tests/AllTests.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/tests/SchedulerExportTests.php b/airtime_mvc/application/models/tests/SchedulerExportTests.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/tests/SchedulerTests.php b/airtime_mvc/application/models/tests/SchedulerTests.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/tests/StoredFileTests.php b/airtime_mvc/application/models/tests/StoredFileTests.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/tests/ex1.mp3 b/airtime_mvc/application/models/tests/ex1.mp3 old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/tests/ex2.ogg b/airtime_mvc/application/models/tests/ex2.ogg old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/tests/ex2.wav b/airtime_mvc/application/models/tests/ex2.wav old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/tests/ex3.wav b/airtime_mvc/application/models/tests/ex3.wav old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/tests/exportedPl_lspl.tar b/airtime_mvc/application/models/tests/exportedPl_lspl.tar old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/tests/index.php b/airtime_mvc/application/models/tests/index.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/tests/pdoTest.php b/airtime_mvc/application/models/tests/pdoTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/tests/plistEmbedded.xml b/airtime_mvc/application/models/tests/plistEmbedded.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/tests/populator.php b/airtime_mvc/application/models/tests/populator.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/tests/question.wav b/airtime_mvc/application/models/tests/question.wav old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/tests/silence.wav b/airtime_mvc/application/models/tests/silence.wav old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/tests/test10001.mp3 b/airtime_mvc/application/models/tests/test10001.mp3 old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/tests/test10002.mp3 b/airtime_mvc/application/models/tests/test10002.mp3 old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/tests/test10003.mp3 b/airtime_mvc/application/models/tests/test10003.mp3 old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/models/tests/wstream1.xml b/airtime_mvc/application/models/tests/wstream1.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/services/CalendarService.php b/airtime_mvc/application/services/CalendarService.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/services/HistoryService.php b/airtime_mvc/application/services/HistoryService.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/services/SchedulerService.php b/airtime_mvc/application/services/SchedulerService.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/services/ShowFormService.php b/airtime_mvc/application/services/ShowFormService.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/services/ShowService.php b/airtime_mvc/application/services/ShowService.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/services/UserService.php b/airtime_mvc/application/services/UserService.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/validate/NotDemoValidate.php b/airtime_mvc/application/validate/NotDemoValidate.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/validate/UserNameValidate.php b/airtime_mvc/application/validate/UserNameValidate.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/helpers/IsTrial.php b/airtime_mvc/application/views/helpers/IsTrial.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/helpers/LoggedInAs.php b/airtime_mvc/application/views/helpers/LoggedInAs.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/helpers/SourceConnectionStatus.php b/airtime_mvc/application/views/helpers/SourceConnectionStatus.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/helpers/SourceSwitchStatus.php b/airtime_mvc/application/views/helpers/SourceSwitchStatus.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/helpers/TrialRemaining.php b/airtime_mvc/application/views/helpers/TrialRemaining.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/helpers/VersionNotify.php b/airtime_mvc/application/views/helpers/VersionNotify.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/airtime-recorder/index.phtml b/airtime_mvc/application/views/scripts/airtime-recorder/index.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/api/list-all-files.phtml b/airtime_mvc/application/views/scripts/api/list-all-files.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/api/status.phtml b/airtime_mvc/application/views/scripts/api/status.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml b/airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/dashboard/about.phtml b/airtime_mvc/application/views/scripts/dashboard/about.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/dashboard/help.phtml b/airtime_mvc/application/views/scripts/dashboard/help.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/dashboard/index.phtml b/airtime_mvc/application/views/scripts/dashboard/index.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/dashboard/stream-player.phtml b/airtime_mvc/application/views/scripts/dashboard/stream-player.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/error/denied.phtml b/airtime_mvc/application/views/scripts/error/denied.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/error/error.phtml b/airtime_mvc/application/views/scripts/error/error.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/form/add-show-block.phtml b/airtime_mvc/application/views/scripts/form/add-show-block.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/form/add-show-live-stream.phtml b/airtime_mvc/application/views/scripts/form/add-show-live-stream.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/form/add-show-rebroadcast-absolute.phtml b/airtime_mvc/application/views/scripts/form/add-show-rebroadcast-absolute.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/form/add-show-rebroadcast.phtml b/airtime_mvc/application/views/scripts/form/add-show-rebroadcast.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/form/add-show-style.phtml b/airtime_mvc/application/views/scripts/form/add-show-style.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/form/add-show-what.phtml b/airtime_mvc/application/views/scripts/form/add-show-what.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/form/add-show-when.phtml b/airtime_mvc/application/views/scripts/form/add-show-when.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/form/daterange.phtml b/airtime_mvc/application/views/scripts/form/daterange.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/form/edit-history-file.phtml b/airtime_mvc/application/views/scripts/form/edit-history-file.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/form/edit-history-item.phtml b/airtime_mvc/application/views/scripts/form/edit-history-item.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/form/edit-user.phtml b/airtime_mvc/application/views/scripts/form/edit-user.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/form/login.phtml b/airtime_mvc/application/views/scripts/form/login.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/form/password-change.phtml b/airtime_mvc/application/views/scripts/form/password-change.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/form/password-restore.phtml b/airtime_mvc/application/views/scripts/form/password-restore.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/form/preferences.phtml b/airtime_mvc/application/views/scripts/form/preferences.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/form/preferences_email_server.phtml b/airtime_mvc/application/views/scripts/form/preferences_email_server.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/form/preferences_general.phtml b/airtime_mvc/application/views/scripts/form/preferences_general.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/form/preferences_livestream.phtml b/airtime_mvc/application/views/scripts/form/preferences_livestream.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/form/preferences_soundcloud.phtml b/airtime_mvc/application/views/scripts/form/preferences_soundcloud.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml b/airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/form/register-dialog.phtml b/airtime_mvc/application/views/scripts/form/register-dialog.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/form/showbuilder.phtml b/airtime_mvc/application/views/scripts/form/showbuilder.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/form/smart-block-criteria.phtml b/airtime_mvc/application/views/scripts/form/smart-block-criteria.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/form/stream-setting-form.phtml b/airtime_mvc/application/views/scripts/form/stream-setting-form.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/form/support-setting.phtml b/airtime_mvc/application/views/scripts/form/support-setting.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/index/display.phtml b/airtime_mvc/application/views/scripts/index/display.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/index/index.phtml b/airtime_mvc/application/views/scripts/index/index.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/index/main.phtml b/airtime_mvc/application/views/scripts/index/main.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/index/newfield.phtml b/airtime_mvc/application/views/scripts/index/newfield.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/library/edit-file-md.phtml b/airtime_mvc/application/views/scripts/library/edit-file-md.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml b/airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/library/index.phtml b/airtime_mvc/application/views/scripts/library/index.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/library/library.phtml b/airtime_mvc/application/views/scripts/library/library.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/listenerstat/index.phtml b/airtime_mvc/application/views/scripts/listenerstat/index.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/login/index.phtml b/airtime_mvc/application/views/scripts/login/index.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/login/logout.phtml b/airtime_mvc/application/views/scripts/login/logout.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/login/password-change.phtml b/airtime_mvc/application/views/scripts/login/password-change.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/login/password-restore-after.phtml b/airtime_mvc/application/views/scripts/login/password-restore-after.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/login/password-restore.phtml b/airtime_mvc/application/views/scripts/login/password-restore.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/menu.phtml b/airtime_mvc/application/views/scripts/menu.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/partialviews/header.phtml b/airtime_mvc/application/views/scripts/partialviews/header.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/partialviews/trialBox.phtml b/airtime_mvc/application/views/scripts/partialviews/trialBox.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/playlist/playlist.phtml b/airtime_mvc/application/views/scripts/playlist/playlist.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/playlist/set-cue.phtml b/airtime_mvc/application/views/scripts/playlist/set-cue.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/playlist/set-fade.phtml b/airtime_mvc/application/views/scripts/playlist/set-fade.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/playlist/smart-block.phtml b/airtime_mvc/application/views/scripts/playlist/smart-block.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/playlist/update.phtml b/airtime_mvc/application/views/scripts/playlist/update.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/playouthistory/dialog.phtml b/airtime_mvc/application/views/scripts/playouthistory/dialog.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/playouthistory/index.phtml b/airtime_mvc/application/views/scripts/playouthistory/index.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/playouthistorytemplate/configure-template.phtml b/airtime_mvc/application/views/scripts/playouthistorytemplate/configure-template.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml b/airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml b/airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/plupload/index.phtml b/airtime_mvc/application/views/scripts/plupload/index.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/plupload/upload.phtml b/airtime_mvc/application/views/scripts/plupload/upload.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/preference/directory-config.phtml b/airtime_mvc/application/views/scripts/preference/directory-config.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/preference/index.phtml b/airtime_mvc/application/views/scripts/preference/index.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/preference/stream-setting.phtml b/airtime_mvc/application/views/scripts/preference/stream-setting.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/preference/support-setting.phtml b/airtime_mvc/application/views/scripts/preference/support-setting.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/recorder/get-show-schedule.phtml b/airtime_mvc/application/views/scripts/recorder/get-show-schedule.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/recorder/index.phtml b/airtime_mvc/application/views/scripts/recorder/index.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/schedule/add-show-form.phtml b/airtime_mvc/application/views/scripts/schedule/add-show-form.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/schedule/add-show.phtml b/airtime_mvc/application/views/scripts/schedule/add-show.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/schedule/cancel-current-show.phtml b/airtime_mvc/application/views/scripts/schedule/cancel-current-show.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/schedule/cancel-show.phtml b/airtime_mvc/application/views/scripts/schedule/cancel-show.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/schedule/clear-show.phtml b/airtime_mvc/application/views/scripts/schedule/clear-show.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/schedule/delete-show.phtml b/airtime_mvc/application/views/scripts/schedule/delete-show.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/schedule/edit-show.phtml b/airtime_mvc/application/views/scripts/schedule/edit-show.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/schedule/event-feed.phtml b/airtime_mvc/application/views/scripts/schedule/event-feed.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/schedule/get-current-playlist.phtml b/airtime_mvc/application/views/scripts/schedule/get-current-playlist.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/schedule/get-form.phtml b/airtime_mvc/application/views/scripts/schedule/get-form.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/schedule/get-show-data.phtml b/airtime_mvc/application/views/scripts/schedule/get-show-data.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/schedule/index.phtml b/airtime_mvc/application/views/scripts/schedule/index.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/schedule/make-context-menu.phtml b/airtime_mvc/application/views/scripts/schedule/make-context-menu.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/schedule/move-show.phtml b/airtime_mvc/application/views/scripts/schedule/move-show.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/schedule/remove-group.phtml b/airtime_mvc/application/views/scripts/schedule/remove-group.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/schedule/resize-show.phtml b/airtime_mvc/application/views/scripts/schedule/resize-show.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/schedule/schedule-show.phtml b/airtime_mvc/application/views/scripts/schedule/schedule-show.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/schedule/show-content-dialog.phtml b/airtime_mvc/application/views/scripts/schedule/show-content-dialog.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/schedule/show-list.phtml b/airtime_mvc/application/views/scripts/schedule/show-list.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/showbuilder/builderDialog.phtml b/airtime_mvc/application/views/scripts/showbuilder/builderDialog.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/showbuilder/index.phtml b/airtime_mvc/application/views/scripts/showbuilder/index.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/systemstatus/get-log-file.phtml b/airtime_mvc/application/views/scripts/systemstatus/get-log-file.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/systemstatus/index.phtml b/airtime_mvc/application/views/scripts/systemstatus/index.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/user/add-user.phtml b/airtime_mvc/application/views/scripts/user/add-user.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/user/edit-user.phtml b/airtime_mvc/application/views/scripts/user/edit-user.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/user/get-hosts.phtml b/airtime_mvc/application/views/scripts/user/get-hosts.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/user/get-user-data-table-info.phtml b/airtime_mvc/application/views/scripts/user/get-user-data-table-info.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/user/get-user-data.phtml b/airtime_mvc/application/views/scripts/user/get-user-data.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/user/index.phtml b/airtime_mvc/application/views/scripts/user/index.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/user/remove-user.phtml b/airtime_mvc/application/views/scripts/user/remove-user.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/application/views/scripts/webstream/webstream.phtml b/airtime_mvc/application/views/scripts/webstream/webstream.phtml old mode 100644 new mode 100755 diff --git a/airtime_mvc/build/airtime-php.logrotate b/airtime_mvc/build/airtime-php.logrotate old mode 100644 new mode 100755 diff --git a/airtime_mvc/build/airtime-setup/forms/database-settings.php b/airtime_mvc/build/airtime-setup/forms/database-settings.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/build/airtime-setup/forms/finish-settings.php b/airtime_mvc/build/airtime-setup/forms/finish-settings.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/build/airtime-setup/forms/general-settings.php b/airtime_mvc/build/airtime-setup/forms/general-settings.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/build/airtime-setup/forms/media-settings.php b/airtime_mvc/build/airtime-setup/forms/media-settings.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/build/airtime-setup/forms/rabbitmq-settings.php b/airtime_mvc/build/airtime-setup/forms/rabbitmq-settings.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/build/airtime-setup/load.php b/airtime_mvc/build/airtime-setup/load.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/build/airtime-setup/setup-config.php b/airtime_mvc/build/airtime-setup/setup-config.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/build/airtime.example.conf b/airtime_mvc/build/airtime.example.conf old mode 100644 new mode 100755 diff --git a/airtime_mvc/build/build.properties b/airtime_mvc/build/build.properties old mode 100644 new mode 100755 diff --git a/airtime_mvc/build/runtime-conf.xml b/airtime_mvc/build/runtime-conf.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/build/schema.xml b/airtime_mvc/build/schema.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/build/sql/defaultdata.sql b/airtime_mvc/build/sql/defaultdata.sql old mode 100644 new mode 100755 diff --git a/airtime_mvc/build/sql/schema.sql b/airtime_mvc/build/sql/schema.sql old mode 100644 new mode 100755 diff --git a/airtime_mvc/build/sql/sequences.sql b/airtime_mvc/build/sql/sequences.sql old mode 100644 new mode 100755 diff --git a/airtime_mvc/build/sql/sqldb.map b/airtime_mvc/build/sql/sqldb.map old mode 100644 new mode 100755 diff --git a/airtime_mvc/build/sql/triggers.sql b/airtime_mvc/build/sql/triggers.sql old mode 100644 new mode 100755 diff --git a/airtime_mvc/build/sql/views.sql b/airtime_mvc/build/sql/views.sql old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug.php b/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin.php b/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Auth.php b/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Auth.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Cache.php b/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Cache.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Database.php b/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Database.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Exception.php b/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Exception.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/File.php b/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/File.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Html.php b/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Html.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Interface.php b/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Interface.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Memory.php b/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Memory.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Registry.php b/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Registry.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Text.php b/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Text.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Time.php b/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Time.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Variables.php b/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Variables.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/doctrine/migrations/doctrine-migrations.phar b/airtime_mvc/library/doctrine/migrations/doctrine-migrations.phar old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/doctrine/migrations/migrations-db.php b/airtime_mvc/library/doctrine/migrations/migrations-db.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/BuildEvent.php b/airtime_mvc/library/phing/BuildEvent.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/BuildException.php b/airtime_mvc/library/phing/BuildException.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/BuildListener.php b/airtime_mvc/library/phing/BuildListener.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/BuildLogger.php b/airtime_mvc/library/phing/BuildLogger.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/ConfigurationException.php b/airtime_mvc/library/phing/ConfigurationException.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/IntrospectionHelper.php b/airtime_mvc/library/phing/IntrospectionHelper.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/LICENSE b/airtime_mvc/library/phing/LICENSE old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/Phing.php b/airtime_mvc/library/phing/Phing.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/Project.php b/airtime_mvc/library/phing/Project.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/ProjectComponent.php b/airtime_mvc/library/phing/ProjectComponent.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/RuntimeConfigurable.php b/airtime_mvc/library/phing/RuntimeConfigurable.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/Target.php b/airtime_mvc/library/phing/Target.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/Task.php b/airtime_mvc/library/phing/Task.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/TaskAdapter.php b/airtime_mvc/library/phing/TaskAdapter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/TaskContainer.php b/airtime_mvc/library/phing/TaskContainer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/UnknownElement.php b/airtime_mvc/library/phing/UnknownElement.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/filters/BaseFilterReader.php b/airtime_mvc/library/phing/filters/BaseFilterReader.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/filters/BaseParamFilterReader.php b/airtime_mvc/library/phing/filters/BaseParamFilterReader.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/filters/ChainableReader.php b/airtime_mvc/library/phing/filters/ChainableReader.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/filters/ExpandProperties.php b/airtime_mvc/library/phing/filters/ExpandProperties.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/filters/HeadFilter.php b/airtime_mvc/library/phing/filters/HeadFilter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/filters/LineContains.php b/airtime_mvc/library/phing/filters/LineContains.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/filters/LineContainsRegexp.php b/airtime_mvc/library/phing/filters/LineContainsRegexp.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/filters/PrefixLines.php b/airtime_mvc/library/phing/filters/PrefixLines.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/filters/ReplaceRegexp.php b/airtime_mvc/library/phing/filters/ReplaceRegexp.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/filters/ReplaceTokens.php b/airtime_mvc/library/phing/filters/ReplaceTokens.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/filters/ReplaceTokensWithFile.php b/airtime_mvc/library/phing/filters/ReplaceTokensWithFile.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/filters/StripLineBreaks.php b/airtime_mvc/library/phing/filters/StripLineBreaks.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/filters/StripLineComments.php b/airtime_mvc/library/phing/filters/StripLineComments.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/filters/StripPhpComments.php b/airtime_mvc/library/phing/filters/StripPhpComments.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/filters/StripWhitespace.php b/airtime_mvc/library/phing/filters/StripWhitespace.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/filters/TabToSpaces.php b/airtime_mvc/library/phing/filters/TabToSpaces.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/filters/TailFilter.php b/airtime_mvc/library/phing/filters/TailFilter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/filters/TidyFilter.php b/airtime_mvc/library/phing/filters/TidyFilter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/filters/TranslateGettext.php b/airtime_mvc/library/phing/filters/TranslateGettext.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/filters/XincludeFilter.php b/airtime_mvc/library/phing/filters/XincludeFilter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/filters/XsltFilter.php b/airtime_mvc/library/phing/filters/XsltFilter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/filters/util/ChainReaderHelper.php b/airtime_mvc/library/phing/filters/util/ChainReaderHelper.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/filters/util/IniFileTokenReader.php b/airtime_mvc/library/phing/filters/util/IniFileTokenReader.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/input/DefaultInputHandler.php b/airtime_mvc/library/phing/input/DefaultInputHandler.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/input/InputHandler.php b/airtime_mvc/library/phing/input/InputHandler.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/input/InputRequest.php b/airtime_mvc/library/phing/input/InputRequest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/input/MultipleChoiceInputRequest.php b/airtime_mvc/library/phing/input/MultipleChoiceInputRequest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/input/YesNoInputRequest.php b/airtime_mvc/library/phing/input/YesNoInputRequest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/lib/Capsule.php b/airtime_mvc/library/phing/lib/Capsule.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/listener/AnsiColorLogger.php b/airtime_mvc/library/phing/listener/AnsiColorLogger.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/listener/DefaultLogger.php b/airtime_mvc/library/phing/listener/DefaultLogger.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/listener/NoBannerLogger.php b/airtime_mvc/library/phing/listener/NoBannerLogger.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/listener/PearLogListener.php b/airtime_mvc/library/phing/listener/PearLogListener.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/listener/StreamRequiredBuildLogger.php b/airtime_mvc/library/phing/listener/StreamRequiredBuildLogger.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/listener/XmlLogger.php b/airtime_mvc/library/phing/listener/XmlLogger.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/mappers/FileNameMapper.php b/airtime_mvc/library/phing/mappers/FileNameMapper.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/mappers/FlattenMapper.php b/airtime_mvc/library/phing/mappers/FlattenMapper.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/mappers/GlobMapper.php b/airtime_mvc/library/phing/mappers/GlobMapper.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/mappers/IdentityMapper.php b/airtime_mvc/library/phing/mappers/IdentityMapper.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/mappers/MergeMapper.php b/airtime_mvc/library/phing/mappers/MergeMapper.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/mappers/RegexpMapper.php b/airtime_mvc/library/phing/mappers/RegexpMapper.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/parser/AbstractHandler.php b/airtime_mvc/library/phing/parser/AbstractHandler.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/parser/AbstractSAXParser.php b/airtime_mvc/library/phing/parser/AbstractSAXParser.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/parser/DataTypeHandler.php b/airtime_mvc/library/phing/parser/DataTypeHandler.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/parser/ExpatParseException.php b/airtime_mvc/library/phing/parser/ExpatParseException.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/parser/ExpatParser.php b/airtime_mvc/library/phing/parser/ExpatParser.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/parser/Location.php b/airtime_mvc/library/phing/parser/Location.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/parser/NestedElementHandler.php b/airtime_mvc/library/phing/parser/NestedElementHandler.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/parser/PhingXMLContext.php b/airtime_mvc/library/phing/parser/PhingXMLContext.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/parser/ProjectConfigurator.php b/airtime_mvc/library/phing/parser/ProjectConfigurator.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/parser/ProjectHandler.php b/airtime_mvc/library/phing/parser/ProjectHandler.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/parser/RootHandler.php b/airtime_mvc/library/phing/parser/RootHandler.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/parser/TargetHandler.php b/airtime_mvc/library/phing/parser/TargetHandler.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/parser/TaskHandler.php b/airtime_mvc/library/phing/parser/TaskHandler.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/system/io/BufferedReader.php b/airtime_mvc/library/phing/system/io/BufferedReader.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/system/io/BufferedWriter.php b/airtime_mvc/library/phing/system/io/BufferedWriter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/system/io/ConsoleReader.php b/airtime_mvc/library/phing/system/io/ConsoleReader.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/system/io/FileInputStream.php b/airtime_mvc/library/phing/system/io/FileInputStream.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/system/io/FileOutputStream.php b/airtime_mvc/library/phing/system/io/FileOutputStream.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/system/io/FileReader.php b/airtime_mvc/library/phing/system/io/FileReader.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/system/io/FileSystem.php b/airtime_mvc/library/phing/system/io/FileSystem.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/system/io/FileWriter.php b/airtime_mvc/library/phing/system/io/FileWriter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/system/io/FilterReader.php b/airtime_mvc/library/phing/system/io/FilterReader.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/system/io/IOException.php b/airtime_mvc/library/phing/system/io/IOException.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/system/io/InputStream.php b/airtime_mvc/library/phing/system/io/InputStream.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/system/io/InputStreamReader.php b/airtime_mvc/library/phing/system/io/InputStreamReader.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/system/io/OutputStream.php b/airtime_mvc/library/phing/system/io/OutputStream.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/system/io/OutputStreamWriter.php b/airtime_mvc/library/phing/system/io/OutputStreamWriter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/system/io/PhingFile.php b/airtime_mvc/library/phing/system/io/PhingFile.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/system/io/Reader.php b/airtime_mvc/library/phing/system/io/Reader.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/system/io/StringReader.php b/airtime_mvc/library/phing/system/io/StringReader.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/system/io/UnixFileSystem.php b/airtime_mvc/library/phing/system/io/UnixFileSystem.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/system/io/Win32FileSystem.php b/airtime_mvc/library/phing/system/io/Win32FileSystem.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/system/io/WinNTFileSystem.php b/airtime_mvc/library/phing/system/io/WinNTFileSystem.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/system/io/Writer.php b/airtime_mvc/library/phing/system/io/Writer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/system/lang/Character.php b/airtime_mvc/library/phing/system/lang/Character.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/system/lang/EventObject.php b/airtime_mvc/library/phing/system/lang/EventObject.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/system/lang/FileNotFoundException.php b/airtime_mvc/library/phing/system/lang/FileNotFoundException.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/system/lang/NullPointerException.php b/airtime_mvc/library/phing/system/lang/NullPointerException.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/system/lang/SecurityException.php b/airtime_mvc/library/phing/system/lang/SecurityException.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/system/util/Properties.php b/airtime_mvc/library/phing/system/util/Properties.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/system/util/Register.php b/airtime_mvc/library/phing/system/util/Register.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/system/util/Timer.php b/airtime_mvc/library/phing/system/util/Timer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/CapsuleTask.php b/airtime_mvc/library/phing/tasks/ext/CapsuleTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/ExportPropertiesTask.php b/airtime_mvc/library/phing/tasks/ext/ExportPropertiesTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/ExtractBaseTask.php b/airtime_mvc/library/phing/tasks/ext/ExtractBaseTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/FileHashTask.php b/airtime_mvc/library/phing/tasks/ext/FileHashTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/FileSizeTask.php b/airtime_mvc/library/phing/tasks/ext/FileSizeTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/FtpDeployTask.php b/airtime_mvc/library/phing/tasks/ext/FtpDeployTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/HttpRequestTask.php b/airtime_mvc/library/phing/tasks/ext/HttpRequestTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/JslLintTask.php b/airtime_mvc/library/phing/tasks/ext/JslLintTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/MailTask.php b/airtime_mvc/library/phing/tasks/ext/MailTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/ManifestTask.php b/airtime_mvc/library/phing/tasks/ext/ManifestTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/PackageAsPathTask.php b/airtime_mvc/library/phing/tasks/ext/PackageAsPathTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/PatchTask.php b/airtime_mvc/library/phing/tasks/ext/PatchTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/PearPackage2Task.php b/airtime_mvc/library/phing/tasks/ext/PearPackage2Task.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/PearPackageTask.php b/airtime_mvc/library/phing/tasks/ext/PearPackageTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/PhpCodeSnifferTask.php b/airtime_mvc/library/phing/tasks/ext/PhpCodeSnifferTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/PhpLintTask.php b/airtime_mvc/library/phing/tasks/ext/PhpLintTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/ReplaceRegexpTask.php b/airtime_mvc/library/phing/tasks/ext/ReplaceRegexpTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/ScpTask.php b/airtime_mvc/library/phing/tasks/ext/ScpTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/SmartyTask.php b/airtime_mvc/library/phing/tasks/ext/SmartyTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/SshTask.php b/airtime_mvc/library/phing/tasks/ext/SshTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/TarTask.php b/airtime_mvc/library/phing/tasks/ext/TarTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/UntarTask.php b/airtime_mvc/library/phing/tasks/ext/UntarTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/UnzipTask.php b/airtime_mvc/library/phing/tasks/ext/UnzipTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/VersionTask.php b/airtime_mvc/library/phing/tasks/ext/VersionTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/XmlLintTask.php b/airtime_mvc/library/phing/tasks/ext/XmlLintTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/XmlPropertyTask.php b/airtime_mvc/library/phing/tasks/ext/XmlPropertyTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/ZendCodeAnalyzerTask.php b/airtime_mvc/library/phing/tasks/ext/ZendCodeAnalyzerTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/ZipTask.php b/airtime_mvc/library/phing/tasks/ext/ZipTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/coverage/CoverageMerger.php b/airtime_mvc/library/phing/tasks/ext/coverage/CoverageMerger.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/coverage/CoverageMergerTask.php b/airtime_mvc/library/phing/tasks/ext/coverage/CoverageMergerTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/coverage/CoverageReportTask.php b/airtime_mvc/library/phing/tasks/ext/coverage/CoverageReportTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/coverage/CoverageReportTransformer.php b/airtime_mvc/library/phing/tasks/ext/coverage/CoverageReportTransformer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/coverage/CoverageSetupTask.php b/airtime_mvc/library/phing/tasks/ext/coverage/CoverageSetupTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/coverage/CoverageThresholdTask.php b/airtime_mvc/library/phing/tasks/ext/coverage/CoverageThresholdTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/creole/CreoleSQLExecTask.php b/airtime_mvc/library/phing/tasks/ext/creole/CreoleSQLExecTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/creole/CreoleTask.php b/airtime_mvc/library/phing/tasks/ext/creole/CreoleTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/dbdeploy/DbDeployTask.php b/airtime_mvc/library/phing/tasks/ext/dbdeploy/DbDeployTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/dbdeploy/DbmsSyntax.php b/airtime_mvc/library/phing/tasks/ext/dbdeploy/DbmsSyntax.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/dbdeploy/DbmsSyntaxFactory.php b/airtime_mvc/library/phing/tasks/ext/dbdeploy/DbmsSyntaxFactory.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/dbdeploy/DbmsSyntaxMsSql.php b/airtime_mvc/library/phing/tasks/ext/dbdeploy/DbmsSyntaxMsSql.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/dbdeploy/DbmsSyntaxMysql.php b/airtime_mvc/library/phing/tasks/ext/dbdeploy/DbmsSyntaxMysql.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/dbdeploy/DbmsSyntaxSQLite.php b/airtime_mvc/library/phing/tasks/ext/dbdeploy/DbmsSyntaxSQLite.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/ioncube/IoncubeComment.php b/airtime_mvc/library/phing/tasks/ext/ioncube/IoncubeComment.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/ioncube/IoncubeEncoderTask.php b/airtime_mvc/library/phing/tasks/ext/ioncube/IoncubeEncoderTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/ioncube/IoncubeLicenseTask.php b/airtime_mvc/library/phing/tasks/ext/ioncube/IoncubeLicenseTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/jsmin/JsMin.php b/airtime_mvc/library/phing/tasks/ext/jsmin/JsMin.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/jsmin/JsMinTask.php b/airtime_mvc/library/phing/tasks/ext/jsmin/JsMinTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/pdepend/PhpDependAnalyzerElement.php b/airtime_mvc/library/phing/tasks/ext/pdepend/PhpDependAnalyzerElement.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/pdepend/PhpDependLoggerElement.php b/airtime_mvc/library/phing/tasks/ext/pdepend/PhpDependLoggerElement.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/pdepend/PhpDependTask.php b/airtime_mvc/library/phing/tasks/ext/pdepend/PhpDependTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/pdo/PDOResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/pdo/PDOResultFormatter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/pdo/PDOSQLExecFormatterElement.php b/airtime_mvc/library/phing/tasks/ext/pdo/PDOSQLExecFormatterElement.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/pdo/PDOSQLExecTask.php b/airtime_mvc/library/phing/tasks/ext/pdo/PDOSQLExecTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/pdo/PDOTask.php b/airtime_mvc/library/phing/tasks/ext/pdo/PDOTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/pdo/PlainPDOResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/pdo/PlainPDOResultFormatter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/pdo/XMLPDOResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/pdo/XMLPDOResultFormatter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/pearpackage/Fileset.php b/airtime_mvc/library/phing/tasks/ext/pearpackage/Fileset.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/phar/IterableFileSet.php b/airtime_mvc/library/phing/tasks/ext/phar/IterableFileSet.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/phar/PharMetadata.php b/airtime_mvc/library/phing/tasks/ext/phar/PharMetadata.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/phar/PharMetadataElement.php b/airtime_mvc/library/phing/tasks/ext/phar/PharMetadataElement.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/phar/PharPackageTask.php b/airtime_mvc/library/phing/tasks/ext/phar/PharPackageTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/phk/PhkPackageTask.php b/airtime_mvc/library/phing/tasks/ext/phk/PhkPackageTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/phk/PhkPackageWebAccess.php b/airtime_mvc/library/phing/tasks/ext/phk/PhkPackageWebAccess.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/phk/PhkPackageWebAccessPath.php b/airtime_mvc/library/phing/tasks/ext/phk/PhkPackageWebAccessPath.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/phpcpd/PHPCPDFormatterElement.php b/airtime_mvc/library/phing/tasks/ext/phpcpd/PHPCPDFormatterElement.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/phpcpd/PHPCPDTask.php b/airtime_mvc/library/phing/tasks/ext/phpcpd/PHPCPDTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/phpcpd/formatter/DefaultPHPCPDResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/phpcpd/formatter/DefaultPHPCPDResultFormatter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/phpcpd/formatter/PHPCPDResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/phpcpd/formatter/PHPCPDResultFormatter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/phpcpd/formatter/PMDPHPCPDResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/phpcpd/formatter/PMDPHPCPDResultFormatter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/phpdoc/PhingPhpDocumentorSetup.php b/airtime_mvc/library/phing/tasks/ext/phpdoc/PhingPhpDocumentorSetup.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/phpdoc/PhpDocumentorExternalTask.php b/airtime_mvc/library/phing/tasks/ext/phpdoc/PhpDocumentorExternalTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/phpdoc/PhpDocumentorTask.php b/airtime_mvc/library/phing/tasks/ext/phpdoc/PhpDocumentorTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/phpmd/PHPMDFormatterElement.php b/airtime_mvc/library/phing/tasks/ext/phpmd/PHPMDFormatterElement.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/phpmd/PHPMDTask.php b/airtime_mvc/library/phing/tasks/ext/phpmd/PHPMDTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/phpunit/BatchTest.php b/airtime_mvc/library/phing/tasks/ext/phpunit/BatchTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/phpunit/FormatterElement.php b/airtime_mvc/library/phing/tasks/ext/phpunit/FormatterElement.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/phpunit/PHPUnitReportTask.php b/airtime_mvc/library/phing/tasks/ext/phpunit/PHPUnitReportTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/phpunit/PHPUnitTask.php b/airtime_mvc/library/phing/tasks/ext/phpunit/PHPUnitTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/phpunit/PHPUnitTestRunner.php b/airtime_mvc/library/phing/tasks/ext/phpunit/PHPUnitTestRunner.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/phpunit/PHPUnitUtil.php b/airtime_mvc/library/phing/tasks/ext/phpunit/PHPUnitUtil.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/phpunit/formatter/CloverPHPUnitResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/phpunit/formatter/CloverPHPUnitResultFormatter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/phpunit/formatter/PHPUnitResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/phpunit/formatter/PHPUnitResultFormatter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/phpunit/formatter/PlainPHPUnitResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/phpunit/formatter/PlainPHPUnitResultFormatter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/phpunit/formatter/SummaryPHPUnitResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/phpunit/formatter/SummaryPHPUnitResultFormatter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/phpunit/formatter/XMLPHPUnitResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/phpunit/formatter/XMLPHPUnitResultFormatter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestCountResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestCountResultFormatter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestDebugResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestDebugResultFormatter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestFormatterElement.php b/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestFormatterElement.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestPlainResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestPlainResultFormatter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestResultFormatter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestSummaryResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestSummaryResultFormatter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestTask.php b/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestXmlResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestXmlResultFormatter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/svn/SvnBaseTask.php b/airtime_mvc/library/phing/tasks/ext/svn/SvnBaseTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/svn/SvnCheckoutTask.php b/airtime_mvc/library/phing/tasks/ext/svn/SvnCheckoutTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/svn/SvnCommitTask.php b/airtime_mvc/library/phing/tasks/ext/svn/SvnCommitTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/svn/SvnCopyTask.php b/airtime_mvc/library/phing/tasks/ext/svn/SvnCopyTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/svn/SvnExportTask.php b/airtime_mvc/library/phing/tasks/ext/svn/SvnExportTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/svn/SvnLastRevisionTask.php b/airtime_mvc/library/phing/tasks/ext/svn/SvnLastRevisionTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/ext/svn/SvnUpdateTask.php b/airtime_mvc/library/phing/tasks/ext/svn/SvnUpdateTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/AdhocTask.php b/airtime_mvc/library/phing/tasks/system/AdhocTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/AdhocTaskdefTask.php b/airtime_mvc/library/phing/tasks/system/AdhocTaskdefTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/AdhocTypedefTask.php b/airtime_mvc/library/phing/tasks/system/AdhocTypedefTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/AppendTask.php b/airtime_mvc/library/phing/tasks/system/AppendTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/AvailableTask.php b/airtime_mvc/library/phing/tasks/system/AvailableTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/ChmodTask.php b/airtime_mvc/library/phing/tasks/system/ChmodTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/ChownTask.php b/airtime_mvc/library/phing/tasks/system/ChownTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/ConditionTask.php b/airtime_mvc/library/phing/tasks/system/ConditionTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/CopyTask.php b/airtime_mvc/library/phing/tasks/system/CopyTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/CvsPassTask.php b/airtime_mvc/library/phing/tasks/system/CvsPassTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/CvsTask.php b/airtime_mvc/library/phing/tasks/system/CvsTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/DeleteTask.php b/airtime_mvc/library/phing/tasks/system/DeleteTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/EchoTask.php b/airtime_mvc/library/phing/tasks/system/EchoTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/ExecTask.php b/airtime_mvc/library/phing/tasks/system/ExecTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/ExitTask.php b/airtime_mvc/library/phing/tasks/system/ExitTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/ForeachTask.php b/airtime_mvc/library/phing/tasks/system/ForeachTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/IfTask.php b/airtime_mvc/library/phing/tasks/system/IfTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/ImportTask.php b/airtime_mvc/library/phing/tasks/system/ImportTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/IncludePathTask.php b/airtime_mvc/library/phing/tasks/system/IncludePathTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/InputTask.php b/airtime_mvc/library/phing/tasks/system/InputTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/MatchingTask.php b/airtime_mvc/library/phing/tasks/system/MatchingTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/MkdirTask.php b/airtime_mvc/library/phing/tasks/system/MkdirTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/MoveTask.php b/airtime_mvc/library/phing/tasks/system/MoveTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/PhingCallTask.php b/airtime_mvc/library/phing/tasks/system/PhingCallTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/PhingTask.php b/airtime_mvc/library/phing/tasks/system/PhingTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/PhpEvalTask.php b/airtime_mvc/library/phing/tasks/system/PhpEvalTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/PropertyPromptTask.php b/airtime_mvc/library/phing/tasks/system/PropertyPromptTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/PropertyTask.php b/airtime_mvc/library/phing/tasks/system/PropertyTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/ReflexiveTask.php b/airtime_mvc/library/phing/tasks/system/ReflexiveTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/ResolvePathTask.php b/airtime_mvc/library/phing/tasks/system/ResolvePathTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/SequentialTask.php b/airtime_mvc/library/phing/tasks/system/SequentialTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/TaskdefTask.php b/airtime_mvc/library/phing/tasks/system/TaskdefTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/TouchTask.php b/airtime_mvc/library/phing/tasks/system/TouchTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/TstampTask.php b/airtime_mvc/library/phing/tasks/system/TstampTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/TypedefTask.php b/airtime_mvc/library/phing/tasks/system/TypedefTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/UpToDateTask.php b/airtime_mvc/library/phing/tasks/system/UpToDateTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/WarnTask.php b/airtime_mvc/library/phing/tasks/system/WarnTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/XsltTask.php b/airtime_mvc/library/phing/tasks/system/XsltTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/condition/AndCondition.php b/airtime_mvc/library/phing/tasks/system/condition/AndCondition.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/condition/Condition.php b/airtime_mvc/library/phing/tasks/system/condition/Condition.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/condition/ConditionBase.php b/airtime_mvc/library/phing/tasks/system/condition/ConditionBase.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/condition/ContainsCondition.php b/airtime_mvc/library/phing/tasks/system/condition/ContainsCondition.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/condition/EqualsCondition.php b/airtime_mvc/library/phing/tasks/system/condition/EqualsCondition.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/condition/IsFalseCondition.php b/airtime_mvc/library/phing/tasks/system/condition/IsFalseCondition.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/condition/IsSetCondition.php b/airtime_mvc/library/phing/tasks/system/condition/IsSetCondition.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/condition/IsTrueCondition.php b/airtime_mvc/library/phing/tasks/system/condition/IsTrueCondition.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/condition/NotCondition.php b/airtime_mvc/library/phing/tasks/system/condition/NotCondition.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/condition/OrCondition.php b/airtime_mvc/library/phing/tasks/system/condition/OrCondition.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/condition/OsCondition.php b/airtime_mvc/library/phing/tasks/system/condition/OsCondition.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/tasks/system/condition/ReferenceExistsCondition.php b/airtime_mvc/library/phing/tasks/system/condition/ReferenceExistsCondition.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/AbstractFileSet.php b/airtime_mvc/library/phing/types/AbstractFileSet.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/Commandline.php b/airtime_mvc/library/phing/types/Commandline.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/DataType.php b/airtime_mvc/library/phing/types/DataType.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/Description.php b/airtime_mvc/library/phing/types/Description.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/DirSet.php b/airtime_mvc/library/phing/types/DirSet.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/FileList.php b/airtime_mvc/library/phing/types/FileList.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/FileSet.php b/airtime_mvc/library/phing/types/FileSet.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/FilterChain.php b/airtime_mvc/library/phing/types/FilterChain.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/Mapper.php b/airtime_mvc/library/phing/types/Mapper.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/Parameter.php b/airtime_mvc/library/phing/types/Parameter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/Parameterizable.php b/airtime_mvc/library/phing/types/Parameterizable.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/Path.php b/airtime_mvc/library/phing/types/Path.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/PatternSet.php b/airtime_mvc/library/phing/types/PatternSet.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/PhingFilterReader.php b/airtime_mvc/library/phing/types/PhingFilterReader.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/Reference.php b/airtime_mvc/library/phing/types/Reference.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/RegularExpression.php b/airtime_mvc/library/phing/types/RegularExpression.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/TokenReader.php b/airtime_mvc/library/phing/types/TokenReader.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/TokenSource.php b/airtime_mvc/library/phing/types/TokenSource.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/selectors/AndSelector.php b/airtime_mvc/library/phing/types/selectors/AndSelector.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/selectors/BaseExtendSelector.php b/airtime_mvc/library/phing/types/selectors/BaseExtendSelector.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/selectors/BaseSelector.php b/airtime_mvc/library/phing/types/selectors/BaseSelector.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/selectors/BaseSelectorContainer.php b/airtime_mvc/library/phing/types/selectors/BaseSelectorContainer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/selectors/ContainsRegexpSelector.php b/airtime_mvc/library/phing/types/selectors/ContainsRegexpSelector.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/selectors/ContainsSelector.php b/airtime_mvc/library/phing/types/selectors/ContainsSelector.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/selectors/DateSelector.php b/airtime_mvc/library/phing/types/selectors/DateSelector.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/selectors/DependSelector.php b/airtime_mvc/library/phing/types/selectors/DependSelector.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/selectors/DepthSelector.php b/airtime_mvc/library/phing/types/selectors/DepthSelector.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/selectors/ExtendFileSelector.php b/airtime_mvc/library/phing/types/selectors/ExtendFileSelector.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/selectors/ExtendSelector.php b/airtime_mvc/library/phing/types/selectors/ExtendSelector.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/selectors/FileSelector.php b/airtime_mvc/library/phing/types/selectors/FileSelector.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/selectors/FilenameSelector.php b/airtime_mvc/library/phing/types/selectors/FilenameSelector.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/selectors/MajoritySelector.php b/airtime_mvc/library/phing/types/selectors/MajoritySelector.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/selectors/NoneSelector.php b/airtime_mvc/library/phing/types/selectors/NoneSelector.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/selectors/NotSelector.php b/airtime_mvc/library/phing/types/selectors/NotSelector.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/selectors/OrSelector.php b/airtime_mvc/library/phing/types/selectors/OrSelector.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/selectors/PresentSelector.php b/airtime_mvc/library/phing/types/selectors/PresentSelector.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/selectors/SelectSelector.php b/airtime_mvc/library/phing/types/selectors/SelectSelector.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/selectors/SelectorContainer.php b/airtime_mvc/library/phing/types/selectors/SelectorContainer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/selectors/SelectorScanner.php b/airtime_mvc/library/phing/types/selectors/SelectorScanner.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/selectors/SelectorUtils.php b/airtime_mvc/library/phing/types/selectors/SelectorUtils.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/selectors/SizeSelector.php b/airtime_mvc/library/phing/types/selectors/SizeSelector.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/types/selectors/TypeSelector.php b/airtime_mvc/library/phing/types/selectors/TypeSelector.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/util/DataStore.php b/airtime_mvc/library/phing/util/DataStore.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/util/DirectoryScanner.php b/airtime_mvc/library/phing/util/DirectoryScanner.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/util/ExtendedFileStream.php b/airtime_mvc/library/phing/util/ExtendedFileStream.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/util/FileUtils.php b/airtime_mvc/library/phing/util/FileUtils.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/util/LogWriter.php b/airtime_mvc/library/phing/util/LogWriter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/util/PathTokenizer.php b/airtime_mvc/library/phing/util/PathTokenizer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/util/SourceFileScanner.php b/airtime_mvc/library/phing/util/SourceFileScanner.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/util/StringHelper.php b/airtime_mvc/library/phing/util/StringHelper.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/util/regexp/PregEngine.php b/airtime_mvc/library/phing/util/regexp/PregEngine.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/util/regexp/Regexp.php b/airtime_mvc/library/phing/util/regexp/Regexp.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/phing/util/regexp/RegexpEngine.php b/airtime_mvc/library/phing/util/regexp/RegexpEngine.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/php-amqplib/CREDITS b/airtime_mvc/library/php-amqplib/CREDITS old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/php-amqplib/LICENSE b/airtime_mvc/library/php-amqplib/LICENSE old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/php-amqplib/README.md b/airtime_mvc/library/php-amqplib/README.md old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/php-amqplib/amqp.inc b/airtime_mvc/library/php-amqplib/amqp.inc old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/php-amqplib/amqp_receive.php b/airtime_mvc/library/php-amqplib/amqp_receive.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/php-amqplib/amqp_test.php b/airtime_mvc/library/php-amqplib/amqp_test.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/php-amqplib/amqp_wire.inc b/airtime_mvc/library/php-amqplib/amqp_wire.inc old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/php-amqplib/hexdump.inc b/airtime_mvc/library/php-amqplib/hexdump.inc old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/CHANGELOG b/airtime_mvc/library/propel/CHANGELOG old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/INSTALL b/airtime_mvc/library/propel/INSTALL old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/LICENSE b/airtime_mvc/library/propel/LICENSE old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/WHATS_NEW b/airtime_mvc/library/propel/WHATS_NEW old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/contrib/dbd2propel/dbd2propel.xsl b/airtime_mvc/library/propel/contrib/dbd2propel/dbd2propel.xsl old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/contrib/dbd2propel/transform.php b/airtime_mvc/library/propel/contrib/dbd2propel/transform.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms.php b/airtime_mvc/library/propel/contrib/pat/patForms.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Creator/Definition.php b/airtime_mvc/library/propel/contrib/pat/patForms/Creator/Definition.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Creator/Propel.php b/airtime_mvc/library/propel/contrib/pat/patForms/Creator/Propel.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Creator/_propel_creator_test.php b/airtime_mvc/library/propel/contrib/pat/patForms/Creator/_propel_creator_test.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Datasource/Propel.php b/airtime_mvc/library/propel/contrib/pat/patForms/Datasource/Propel.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Definition.php b/airtime_mvc/library/propel/contrib/pat/patForms/Definition.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Definition/Propel.php b/airtime_mvc/library/propel/contrib/pat/patForms/Definition/Propel.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Element.php b/airtime_mvc/library/propel/contrib/pat/patForms/Element.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Rule.php b/airtime_mvc/library/propel/contrib/pat/patForms/Rule.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Rule/Match.php b/airtime_mvc/library/propel/contrib/pat/patForms/Rule/Match.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Rule/MaxLength.php b/airtime_mvc/library/propel/contrib/pat/patForms/Rule/MaxLength.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Rule/MaxValue.php b/airtime_mvc/library/propel/contrib/pat/patForms/Rule/MaxValue.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Rule/MinLength.php b/airtime_mvc/library/propel/contrib/pat/patForms/Rule/MinLength.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Rule/MinValue.php b/airtime_mvc/library/propel/contrib/pat/patForms/Rule/MinValue.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Rule/NotMatch.php b/airtime_mvc/library/propel/contrib/pat/patForms/Rule/NotMatch.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Rule/ValidValues.php b/airtime_mvc/library/propel/contrib/pat/patForms/Rule/ValidValues.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Storage/Propel.php b/airtime_mvc/library/propel/contrib/pat/patForms/Storage/Propel.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/res/form.dynamic.tpl b/airtime_mvc/library/propel/contrib/pat/patForms/res/form.dynamic.tpl old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/res/mysql-dump.bookstore.sql b/airtime_mvc/library/propel/contrib/pat/patForms/res/mysql-dump.bookstore.sql old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms_Storage_Propel_test.php b/airtime_mvc/library/propel/contrib/pat/patForms_Storage_Propel_test.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/contrib/pat/patTemplate.php b/airtime_mvc/library/propel/contrib/pat/patTemplate.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/contrib/pear/HTML_QuickForm_Propel/Propel.php b/airtime_mvc/library/propel/contrib/pear/HTML_QuickForm_Propel/Propel.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/contrib/pear/Structures_DataGrid_Propel/Propel.php b/airtime_mvc/library/propel/contrib/pear/Structures_DataGrid_Propel/Propel.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/behavior/aggregate_column.txt b/airtime_mvc/library/propel/docs/behavior/aggregate_column.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/behavior/alternative_coding_standards.txt b/airtime_mvc/library/propel/docs/behavior/alternative_coding_standards.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/behavior/auto_add_pk.txt b/airtime_mvc/library/propel/docs/behavior/auto_add_pk.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/behavior/nested_set.txt b/airtime_mvc/library/propel/docs/behavior/nested_set.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/behavior/query_cache.txt b/airtime_mvc/library/propel/docs/behavior/query_cache.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/behavior/sluggable.txt b/airtime_mvc/library/propel/docs/behavior/sluggable.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/behavior/soft_delete.txt b/airtime_mvc/library/propel/docs/behavior/soft_delete.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/behavior/sortable.txt b/airtime_mvc/library/propel/docs/behavior/sortable.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/behavior/timestampable.txt b/airtime_mvc/library/propel/docs/behavior/timestampable.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/build.xml b/airtime_mvc/library/propel/docs/build.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/cookbook/Add-Custom-SQL.txt b/airtime_mvc/library/propel/docs/cookbook/Add-Custom-SQL.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/cookbook/Copying-Objects.txt b/airtime_mvc/library/propel/docs/cookbook/Copying-Objects.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/cookbook/Customizing-Build.txt b/airtime_mvc/library/propel/docs/cookbook/Customizing-Build.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/cookbook/Existing-Database.txt b/airtime_mvc/library/propel/docs/cookbook/Existing-Database.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/cookbook/LOB-Columns.txt b/airtime_mvc/library/propel/docs/cookbook/LOB-Columns.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/cookbook/Master-Slave.txt b/airtime_mvc/library/propel/docs/cookbook/Master-Slave.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/cookbook/Multi-Component.txt b/airtime_mvc/library/propel/docs/cookbook/Multi-Component.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/cookbook/Namespaces.txt b/airtime_mvc/library/propel/docs/cookbook/Namespaces.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/cookbook/Nested-Set.txt b/airtime_mvc/library/propel/docs/cookbook/Nested-Set.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/cookbook/Runtime-Introspection.txt b/airtime_mvc/library/propel/docs/cookbook/Runtime-Introspection.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/cookbook/Writing-Behavior.txt b/airtime_mvc/library/propel/docs/cookbook/Writing-Behavior.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/guide/01-Installation.txt b/airtime_mvc/library/propel/docs/guide/01-Installation.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/guide/02-BuildTime.txt b/airtime_mvc/library/propel/docs/guide/02-BuildTime.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/guide/03-Basic-CRUD.txt b/airtime_mvc/library/propel/docs/guide/03-Basic-CRUD.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/guide/04-Relationships.txt b/airtime_mvc/library/propel/docs/guide/04-Relationships.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/guide/05-Validators.txt b/airtime_mvc/library/propel/docs/guide/05-Validators.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/guide/06-Transactions.txt b/airtime_mvc/library/propel/docs/guide/06-Transactions.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/guide/07-Behaviors.txt b/airtime_mvc/library/propel/docs/guide/07-Behaviors.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/guide/08-Logging.txt b/airtime_mvc/library/propel/docs/guide/08-Logging.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/guide/09-Inheritance.txt b/airtime_mvc/library/propel/docs/guide/09-Inheritance.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/reference/Buildtime-Configuration.txt b/airtime_mvc/library/propel/docs/reference/Buildtime-Configuration.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/reference/ModelCriteria.txt b/airtime_mvc/library/propel/docs/reference/ModelCriteria.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/reference/Runtime-Configuration.txt b/airtime_mvc/library/propel/docs/reference/Runtime-Configuration.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/docs/reference/Schema.txt b/airtime_mvc/library/propel/docs/reference/Schema.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/build-propel.xml b/airtime_mvc/library/propel/generator/build-propel.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/build.properties-sample b/airtime_mvc/library/propel/generator/build.properties-sample old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/build.xml b/airtime_mvc/library/propel/generator/build.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/build.xml-local b/airtime_mvc/library/propel/generator/build.xml-local old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/default.properties b/airtime_mvc/library/propel/generator/default.properties old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/AlternativeCodingStandardsBehavior.php b/airtime_mvc/library/propel/generator/lib/behavior/AlternativeCodingStandardsBehavior.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/AutoAddPkBehavior.php b/airtime_mvc/library/propel/generator/lib/behavior/AutoAddPkBehavior.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/SoftDeleteBehavior.php b/airtime_mvc/library/propel/generator/lib/behavior/SoftDeleteBehavior.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/TimestampableBehavior.php b/airtime_mvc/library/propel/generator/lib/behavior/TimestampableBehavior.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/AggregateColumnBehavior.php b/airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/AggregateColumnBehavior.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/AggregateColumnRelationBehavior.php b/airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/AggregateColumnRelationBehavior.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/templates/objectCompute.php b/airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/templates/objectCompute.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/templates/objectUpdate.php b/airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/templates/objectUpdate.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/templates/objectUpdateRelated.php b/airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/templates/objectUpdateRelated.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/templates/queryFindRelated.php b/airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/templates/queryFindRelated.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/templates/queryUpdateRelated.php b/airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/templates/queryUpdateRelated.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/concrete_inheritance/ConcreteInheritanceBehavior.php b/airtime_mvc/library/propel/generator/lib/behavior/concrete_inheritance/ConcreteInheritanceBehavior.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/concrete_inheritance/ConcreteInheritanceParentBehavior.php b/airtime_mvc/library/propel/generator/lib/behavior/concrete_inheritance/ConcreteInheritanceParentBehavior.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/nestedset/NestedSetBehavior.php b/airtime_mvc/library/propel/generator/lib/behavior/nestedset/NestedSetBehavior.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/nestedset/NestedSetBehaviorObjectBuilderModifier.php b/airtime_mvc/library/propel/generator/lib/behavior/nestedset/NestedSetBehaviorObjectBuilderModifier.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/nestedset/NestedSetBehaviorPeerBuilderModifier.php b/airtime_mvc/library/propel/generator/lib/behavior/nestedset/NestedSetBehaviorPeerBuilderModifier.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/nestedset/NestedSetBehaviorQueryBuilderModifier.php b/airtime_mvc/library/propel/generator/lib/behavior/nestedset/NestedSetBehaviorQueryBuilderModifier.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/query_cache/QueryCacheBehavior.php b/airtime_mvc/library/propel/generator/lib/behavior/query_cache/QueryCacheBehavior.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/sluggable/SluggableBehavior.php b/airtime_mvc/library/propel/generator/lib/behavior/sluggable/SluggableBehavior.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/sortable/SortableBehavior.php b/airtime_mvc/library/propel/generator/lib/behavior/sortable/SortableBehavior.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/sortable/SortableBehaviorObjectBuilderModifier.php b/airtime_mvc/library/propel/generator/lib/behavior/sortable/SortableBehaviorObjectBuilderModifier.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/sortable/SortableBehaviorPeerBuilderModifier.php b/airtime_mvc/library/propel/generator/lib/behavior/sortable/SortableBehaviorPeerBuilderModifier.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/sortable/SortableBehaviorQueryBuilderModifier.php b/airtime_mvc/library/propel/generator/lib/behavior/sortable/SortableBehaviorQueryBuilderModifier.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/DataModelBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/DataModelBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/ClassTools.php b/airtime_mvc/library/propel/generator/lib/builder/om/ClassTools.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/ExtensionQueryBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/ExtensionQueryBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/ExtensionQueryInheritanceBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/ExtensionQueryInheritanceBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/OMBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/OMBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/ObjectBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/ObjectBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/PHP5ExtensionNodeBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/PHP5ExtensionNodeBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/PHP5ExtensionNodePeerBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/PHP5ExtensionNodePeerBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/PHP5ExtensionObjectBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/PHP5ExtensionObjectBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/PHP5ExtensionPeerBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/PHP5ExtensionPeerBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/PHP5InterfaceBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/PHP5InterfaceBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/PHP5MultiExtendObjectBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/PHP5MultiExtendObjectBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/PHP5NestedSetBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/PHP5NestedSetBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/PHP5NestedSetPeerBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/PHP5NestedSetPeerBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/PHP5NodeBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/PHP5NodeBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/PHP5NodePeerBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/PHP5NodePeerBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/PHP5ObjectBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/PHP5ObjectBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/PHP5ObjectNoCollectionBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/PHP5ObjectNoCollectionBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/PHP5PeerBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/PHP5PeerBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/PHP5TableMapBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/PHP5TableMapBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/PeerBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/PeerBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/QueryBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/QueryBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/QueryInheritanceBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/QueryInheritanceBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/sql/DDLBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/sql/DDLBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/sql/DataSQLBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/sql/DataSQLBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/sql/mssql/MssqlDDLBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/sql/mssql/MssqlDDLBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/sql/mssql/MssqlDataSQLBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/sql/mssql/MssqlDataSQLBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/sql/mysql/MysqlDDLBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/sql/mysql/MysqlDDLBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/sql/mysql/MysqlDataSQLBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/sql/mysql/MysqlDataSQLBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/sql/oracle/OracleDDLBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/sql/oracle/OracleDDLBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/sql/oracle/OracleDataSQLBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/sql/oracle/OracleDataSQLBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/sql/pgsql/PgsqlDDLBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/sql/pgsql/PgsqlDDLBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/sql/pgsql/PgsqlDataSQLBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/sql/pgsql/PgsqlDataSQLBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/sql/sqlite/SqliteDDLBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/sql/sqlite/SqliteDDLBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/sql/sqlite/SqliteDataSQLBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/sql/sqlite/SqliteDataSQLBuilder.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/util/DefaultEnglishPluralizer.php b/airtime_mvc/library/propel/generator/lib/builder/util/DefaultEnglishPluralizer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/util/Pluralizer.php b/airtime_mvc/library/propel/generator/lib/builder/util/Pluralizer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/util/PropelStringReader.php b/airtime_mvc/library/propel/generator/lib/builder/util/PropelStringReader.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/util/PropelTemplate.php b/airtime_mvc/library/propel/generator/lib/builder/util/PropelTemplate.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/util/XmlToAppData.php b/airtime_mvc/library/propel/generator/lib/builder/util/XmlToAppData.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/builder/util/XmlToDataSQL.php b/airtime_mvc/library/propel/generator/lib/builder/util/XmlToDataSQL.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/config/GeneratorConfig.php b/airtime_mvc/library/propel/generator/lib/config/GeneratorConfig.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/exception/EngineException.php b/airtime_mvc/library/propel/generator/lib/exception/EngineException.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/model/AppData.php b/airtime_mvc/library/propel/generator/lib/model/AppData.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/model/Behavior.php b/airtime_mvc/library/propel/generator/lib/model/Behavior.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/model/Column.php b/airtime_mvc/library/propel/generator/lib/model/Column.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/model/ColumnDefaultValue.php b/airtime_mvc/library/propel/generator/lib/model/ColumnDefaultValue.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/model/ConstraintNameGenerator.php b/airtime_mvc/library/propel/generator/lib/model/ConstraintNameGenerator.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/model/Database.php b/airtime_mvc/library/propel/generator/lib/model/Database.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/model/Domain.php b/airtime_mvc/library/propel/generator/lib/model/Domain.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/model/ForeignKey.php b/airtime_mvc/library/propel/generator/lib/model/ForeignKey.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/model/IDMethod.php b/airtime_mvc/library/propel/generator/lib/model/IDMethod.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/model/IdMethodParameter.php b/airtime_mvc/library/propel/generator/lib/model/IdMethodParameter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/model/Index.php b/airtime_mvc/library/propel/generator/lib/model/Index.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/model/Inheritance.php b/airtime_mvc/library/propel/generator/lib/model/Inheritance.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/model/NameFactory.php b/airtime_mvc/library/propel/generator/lib/model/NameFactory.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/model/NameGenerator.php b/airtime_mvc/library/propel/generator/lib/model/NameGenerator.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/model/PhpNameGenerator.php b/airtime_mvc/library/propel/generator/lib/model/PhpNameGenerator.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/model/PropelTypes.php b/airtime_mvc/library/propel/generator/lib/model/PropelTypes.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/model/Rule.php b/airtime_mvc/library/propel/generator/lib/model/Rule.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/model/Table.php b/airtime_mvc/library/propel/generator/lib/model/Table.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/model/Unique.php b/airtime_mvc/library/propel/generator/lib/model/Unique.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/model/Validator.php b/airtime_mvc/library/propel/generator/lib/model/Validator.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/model/VendorInfo.php b/airtime_mvc/library/propel/generator/lib/model/VendorInfo.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/model/XMLElement.php b/airtime_mvc/library/propel/generator/lib/model/XMLElement.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/platform/DefaultPlatform.php b/airtime_mvc/library/propel/generator/lib/platform/DefaultPlatform.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/platform/MssqlPlatform.php b/airtime_mvc/library/propel/generator/lib/platform/MssqlPlatform.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/platform/MysqlPlatform.php b/airtime_mvc/library/propel/generator/lib/platform/MysqlPlatform.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/platform/OraclePlatform.php b/airtime_mvc/library/propel/generator/lib/platform/OraclePlatform.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/platform/PgsqlPlatform.php b/airtime_mvc/library/propel/generator/lib/platform/PgsqlPlatform.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/platform/Platform.php b/airtime_mvc/library/propel/generator/lib/platform/Platform.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/platform/SqlitePlatform.php b/airtime_mvc/library/propel/generator/lib/platform/SqlitePlatform.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/reverse/BaseSchemaParser.php b/airtime_mvc/library/propel/generator/lib/reverse/BaseSchemaParser.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/reverse/SchemaParser.php b/airtime_mvc/library/propel/generator/lib/reverse/SchemaParser.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/reverse/mssql/MssqlSchemaParser.php b/airtime_mvc/library/propel/generator/lib/reverse/mssql/MssqlSchemaParser.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/reverse/mysql/MysqlSchemaParser.php b/airtime_mvc/library/propel/generator/lib/reverse/mysql/MysqlSchemaParser.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/reverse/oracle/OracleSchemaParser.php b/airtime_mvc/library/propel/generator/lib/reverse/oracle/OracleSchemaParser.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/reverse/pgsql/PgsqlSchemaParser.php b/airtime_mvc/library/propel/generator/lib/reverse/pgsql/PgsqlSchemaParser.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/reverse/sqlite/SqliteSchemaParser.php b/airtime_mvc/library/propel/generator/lib/reverse/sqlite/SqliteSchemaParser.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/task/AbstractPropelDataModelTask.php b/airtime_mvc/library/propel/generator/lib/task/AbstractPropelDataModelTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/task/PropelConvertConfTask.php b/airtime_mvc/library/propel/generator/lib/task/PropelConvertConfTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/task/PropelDataDTDTask.php b/airtime_mvc/library/propel/generator/lib/task/PropelDataDTDTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/task/PropelDataDumpTask.php b/airtime_mvc/library/propel/generator/lib/task/PropelDataDumpTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/task/PropelDataModelTemplateTask.php b/airtime_mvc/library/propel/generator/lib/task/PropelDataModelTemplateTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/task/PropelDataSQLTask.php b/airtime_mvc/library/propel/generator/lib/task/PropelDataSQLTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/task/PropelGraphvizTask.php b/airtime_mvc/library/propel/generator/lib/task/PropelGraphvizTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/task/PropelOMTask.php b/airtime_mvc/library/propel/generator/lib/task/PropelOMTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/task/PropelSQLExec.php b/airtime_mvc/library/propel/generator/lib/task/PropelSQLExec.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/task/PropelSQLTask.php b/airtime_mvc/library/propel/generator/lib/task/PropelSQLTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/lib/task/PropelSchemaReverseTask.php b/airtime_mvc/library/propel/generator/lib/task/PropelSchemaReverseTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/pear/BuildPropelGenPEARPackageTask.php b/airtime_mvc/library/propel/generator/pear/BuildPropelGenPEARPackageTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/pear/build-pear-package.xml b/airtime_mvc/library/propel/generator/pear/build-pear-package.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/pear/build.properties b/airtime_mvc/library/propel/generator/pear/build.properties old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/pear/pear-build.xml b/airtime_mvc/library/propel/generator/pear/pear-build.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/pear/pear-propel-gen.bat b/airtime_mvc/library/propel/generator/pear/pear-propel-gen.bat old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/resources/dtd/database.dtd b/airtime_mvc/library/propel/generator/resources/dtd/database.dtd old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/resources/xsd/custom_datatypes.xsd b/airtime_mvc/library/propel/generator/resources/xsd/custom_datatypes.xsd old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/resources/xsd/database.xsd b/airtime_mvc/library/propel/generator/resources/xsd/database.xsd old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/generator/resources/xsl/database.xsl b/airtime_mvc/library/propel/generator/resources/xsl/database.xsl old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/Propel.php b/airtime_mvc/library/propel/runtime/lib/Propel.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/adapter/DBAdapter.php b/airtime_mvc/library/propel/runtime/lib/adapter/DBAdapter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/adapter/DBMSSQL.php b/airtime_mvc/library/propel/runtime/lib/adapter/DBMSSQL.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/adapter/DBMySQL.php b/airtime_mvc/library/propel/runtime/lib/adapter/DBMySQL.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/adapter/DBNone.php b/airtime_mvc/library/propel/runtime/lib/adapter/DBNone.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/adapter/DBOracle.php b/airtime_mvc/library/propel/runtime/lib/adapter/DBOracle.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/adapter/DBPostgres.php b/airtime_mvc/library/propel/runtime/lib/adapter/DBPostgres.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/adapter/DBSQLite.php b/airtime_mvc/library/propel/runtime/lib/adapter/DBSQLite.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/adapter/MSSQL/MssqlDateTime.class.php b/airtime_mvc/library/propel/runtime/lib/adapter/MSSQL/MssqlDateTime.class.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/adapter/MSSQL/MssqlDebugPDO.php b/airtime_mvc/library/propel/runtime/lib/adapter/MSSQL/MssqlDebugPDO.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/adapter/MSSQL/MssqlPropelPDO.php b/airtime_mvc/library/propel/runtime/lib/adapter/MSSQL/MssqlPropelPDO.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/collection/PropelArrayCollection.php b/airtime_mvc/library/propel/runtime/lib/collection/PropelArrayCollection.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/collection/PropelCollection.php b/airtime_mvc/library/propel/runtime/lib/collection/PropelCollection.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/collection/PropelObjectCollection.php b/airtime_mvc/library/propel/runtime/lib/collection/PropelObjectCollection.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/collection/PropelOnDemandCollection.php b/airtime_mvc/library/propel/runtime/lib/collection/PropelOnDemandCollection.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/collection/PropelOnDemandIterator.php b/airtime_mvc/library/propel/runtime/lib/collection/PropelOnDemandIterator.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/config/PropelConfiguration.php b/airtime_mvc/library/propel/runtime/lib/config/PropelConfiguration.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/config/PropelConfigurationIterator.php b/airtime_mvc/library/propel/runtime/lib/config/PropelConfigurationIterator.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/connection/DebugPDO.php b/airtime_mvc/library/propel/runtime/lib/connection/DebugPDO.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/connection/DebugPDOStatement.php b/airtime_mvc/library/propel/runtime/lib/connection/DebugPDOStatement.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/connection/PropelPDO.php b/airtime_mvc/library/propel/runtime/lib/connection/PropelPDO.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/exception/PropelException.php b/airtime_mvc/library/propel/runtime/lib/exception/PropelException.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/formatter/ModelWith.php b/airtime_mvc/library/propel/runtime/lib/formatter/ModelWith.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/formatter/PropelArrayFormatter.php b/airtime_mvc/library/propel/runtime/lib/formatter/PropelArrayFormatter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/formatter/PropelFormatter.php b/airtime_mvc/library/propel/runtime/lib/formatter/PropelFormatter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/formatter/PropelObjectFormatter.php b/airtime_mvc/library/propel/runtime/lib/formatter/PropelObjectFormatter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/formatter/PropelOnDemandFormatter.php b/airtime_mvc/library/propel/runtime/lib/formatter/PropelOnDemandFormatter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/formatter/PropelStatementFormatter.php b/airtime_mvc/library/propel/runtime/lib/formatter/PropelStatementFormatter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/logger/BasicLogger.php b/airtime_mvc/library/propel/runtime/lib/logger/BasicLogger.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/logger/MojaviLogAdapter.php b/airtime_mvc/library/propel/runtime/lib/logger/MojaviLogAdapter.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/map/ColumnMap.php b/airtime_mvc/library/propel/runtime/lib/map/ColumnMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/map/DatabaseMap.php b/airtime_mvc/library/propel/runtime/lib/map/DatabaseMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/map/RelationMap.php b/airtime_mvc/library/propel/runtime/lib/map/RelationMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/map/TableMap.php b/airtime_mvc/library/propel/runtime/lib/map/TableMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/map/ValidatorMap.php b/airtime_mvc/library/propel/runtime/lib/map/ValidatorMap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/om/BaseObject.php b/airtime_mvc/library/propel/runtime/lib/om/BaseObject.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/om/NestedSetRecursiveIterator.php b/airtime_mvc/library/propel/runtime/lib/om/NestedSetRecursiveIterator.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/om/NodeObject.php b/airtime_mvc/library/propel/runtime/lib/om/NodeObject.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/om/Persistent.php b/airtime_mvc/library/propel/runtime/lib/om/Persistent.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/om/PreOrderNodeIterator.php b/airtime_mvc/library/propel/runtime/lib/om/PreOrderNodeIterator.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/query/Criteria.php b/airtime_mvc/library/propel/runtime/lib/query/Criteria.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/query/Criterion.php b/airtime_mvc/library/propel/runtime/lib/query/Criterion.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/query/CriterionIterator.php b/airtime_mvc/library/propel/runtime/lib/query/CriterionIterator.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/query/Join.php b/airtime_mvc/library/propel/runtime/lib/query/Join.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/query/ModelCriteria.php b/airtime_mvc/library/propel/runtime/lib/query/ModelCriteria.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/query/ModelCriterion.php b/airtime_mvc/library/propel/runtime/lib/query/ModelCriterion.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/query/ModelJoin.php b/airtime_mvc/library/propel/runtime/lib/query/ModelJoin.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/query/PropelQuery.php b/airtime_mvc/library/propel/runtime/lib/query/PropelQuery.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/util/BasePeer.php b/airtime_mvc/library/propel/runtime/lib/util/BasePeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/util/NodePeer.php b/airtime_mvc/library/propel/runtime/lib/util/NodePeer.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/util/PropelAutoloader.php b/airtime_mvc/library/propel/runtime/lib/util/PropelAutoloader.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/util/PropelColumnTypes.php b/airtime_mvc/library/propel/runtime/lib/util/PropelColumnTypes.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/util/PropelConditionalProxy.php b/airtime_mvc/library/propel/runtime/lib/util/PropelConditionalProxy.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/util/PropelDateTime.php b/airtime_mvc/library/propel/runtime/lib/util/PropelDateTime.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/util/PropelModelPager.php b/airtime_mvc/library/propel/runtime/lib/util/PropelModelPager.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/util/PropelPager.php b/airtime_mvc/library/propel/runtime/lib/util/PropelPager.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/validator/BasicValidator.php b/airtime_mvc/library/propel/runtime/lib/validator/BasicValidator.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/validator/MatchValidator.php b/airtime_mvc/library/propel/runtime/lib/validator/MatchValidator.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/validator/MaxLengthValidator.php b/airtime_mvc/library/propel/runtime/lib/validator/MaxLengthValidator.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/validator/MaxValueValidator.php b/airtime_mvc/library/propel/runtime/lib/validator/MaxValueValidator.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/validator/MinLengthValidator.php b/airtime_mvc/library/propel/runtime/lib/validator/MinLengthValidator.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/validator/MinValueValidator.php b/airtime_mvc/library/propel/runtime/lib/validator/MinValueValidator.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/validator/NotMatchValidator.php b/airtime_mvc/library/propel/runtime/lib/validator/NotMatchValidator.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/validator/RequiredValidator.php b/airtime_mvc/library/propel/runtime/lib/validator/RequiredValidator.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/validator/TypeValidator.php b/airtime_mvc/library/propel/runtime/lib/validator/TypeValidator.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/validator/UniqueValidator.php b/airtime_mvc/library/propel/runtime/lib/validator/UniqueValidator.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/validator/ValidValuesValidator.php b/airtime_mvc/library/propel/runtime/lib/validator/ValidValuesValidator.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/lib/validator/ValidationFailed.php b/airtime_mvc/library/propel/runtime/lib/validator/ValidationFailed.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/pear/BuildPropelPEARPackageTask.php b/airtime_mvc/library/propel/runtime/pear/BuildPropelPEARPackageTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/runtime/pear/build-pear-package.xml b/airtime_mvc/library/propel/runtime/pear/build-pear-package.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/README b/airtime_mvc/library/propel/test/README old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/bookstore-packaged-test.php b/airtime_mvc/library/propel/test/bookstore-packaged-test.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/etc/lob/propel.gif b/airtime_mvc/library/propel/test/etc/lob/propel.gif old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/etc/lob/tin_drum.gif b/airtime_mvc/library/propel/test/etc/lob/tin_drum.gif old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/etc/lob/tin_drum.txt b/airtime_mvc/library/propel/test/etc/lob/tin_drum.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/etc/schema/tabletest-schema.xml b/airtime_mvc/library/propel/test/etc/schema/tabletest-schema.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/etc/xsl/coverage-frames.xsl b/airtime_mvc/library/propel/test/etc/xsl/coverage-frames.xsl old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/etc/xsl/log.xsl b/airtime_mvc/library/propel/test/etc/xsl/log.xsl old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/etc/xsl/phpunit2-noframes.xsl b/airtime_mvc/library/propel/test/etc/xsl/phpunit2-noframes.xsl old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/etc/xsl/str.replace.function.xsl b/airtime_mvc/library/propel/test/etc/xsl/str.replace.function.xsl old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/book.schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/book.schema.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/book_club_list.schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/book_club_list.schema.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/build.properties b/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/build.properties old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/external/author.schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/external/author.schema.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/log.schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/log.schema.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/media.schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/media.schema.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/publisher.schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/publisher.schema.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/review.schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/review.schema.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/runtime-conf.xml b/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/runtime-conf.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-aggregate-schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-aggregate-schema.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-auto-add-pk-schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-auto-add-pk-schema.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-concrete-inheritance-schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-concrete-inheritance-schema.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-nested-set-schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-nested-set-schema.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-schema.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-sluggable-schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-sluggable-schema.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-soft-delete-schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-soft-delete-schema.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-sortable-schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-sortable-schema.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-timestampable-schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-timestampable-schema.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore/build.properties b/airtime_mvc/library/propel/test/fixtures/bookstore/build.properties old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore/cms-schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore/cms-schema.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore/runtime-conf.xml b/airtime_mvc/library/propel/test/fixtures/bookstore/runtime-conf.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore/schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore/schema.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/namespaced/build.properties b/airtime_mvc/library/propel/test/fixtures/namespaced/build.properties old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/namespaced/runtime-conf.xml b/airtime_mvc/library/propel/test/fixtures/namespaced/runtime-conf.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/namespaced/schema.xml b/airtime_mvc/library/propel/test/fixtures/namespaced/schema.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/nestedset/build.properties b/airtime_mvc/library/propel/test/fixtures/nestedset/build.properties old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/nestedset/nestedset-schema.xml b/airtime_mvc/library/propel/test/fixtures/nestedset/nestedset-schema.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/nestedset/runtime-conf.xml b/airtime_mvc/library/propel/test/fixtures/nestedset/runtime-conf.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/treetest/build.properties b/airtime_mvc/library/propel/test/fixtures/treetest/build.properties old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/treetest/runtime-conf.xml b/airtime_mvc/library/propel/test/fixtures/treetest/runtime-conf.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/treetest/treetest-schema.xml b/airtime_mvc/library/propel/test/fixtures/treetest/treetest-schema.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/unique-column/column-schema.xml b/airtime_mvc/library/propel/test/fixtures/unique-column/column-schema.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/fixtures/unique-column/table-schema.xml b/airtime_mvc/library/propel/test/fixtures/unique-column/table-schema.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/speed.php b/airtime_mvc/library/propel/test/speed.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/test.xml b/airtime_mvc/library/propel/test/test.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/AutoAddPkBehaviorTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/AutoAddPkBehaviorTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/ObjectBehaviorTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/ObjectBehaviorTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/PeerBehaviorTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/PeerBehaviorTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/SoftDeleteBehaviorTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/SoftDeleteBehaviorTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/TableBehaviorTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/TableBehaviorTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/TimestampableBehaviorTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/TimestampableBehaviorTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/aggregate_column/AggregateColumnBehaviorTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/aggregate_column/AggregateColumnBehaviorTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/concrete_inheritance/ConcreteInheritanceBehaviorTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/concrete_inheritance/ConcreteInheritanceBehaviorTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/concrete_inheritance/ConcreteInheritanceParentBehaviorTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/concrete_inheritance/ConcreteInheritanceParentBehaviorTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorObjectBuilderModifierTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorObjectBuilderModifierTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorObjectBuilderModifierWithScopeTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorObjectBuilderModifierWithScopeTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorPeerBuilderModifierTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorPeerBuilderModifierTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorPeerBuilderModifierWithScopeTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorPeerBuilderModifierWithScopeTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorQueryBuilderModifierTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorQueryBuilderModifierTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorQueryBuilderModifierWithScopeTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorQueryBuilderModifierWithScopeTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/sluggable/SluggableBehaviorTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/sluggable/SluggableBehaviorTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorObjectBuilderModifierTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorObjectBuilderModifierTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorObjectBuilderModifierWithScopeTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorObjectBuilderModifierWithScopeTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorPeerBuilderModifierTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorPeerBuilderModifierTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorPeerBuilderModifierWithScopeTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorPeerBuilderModifierWithScopeTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorQueryBuilderModifierTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorQueryBuilderModifierTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorQueryBuilderModifierWithScopeTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorQueryBuilderModifierWithScopeTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/NamespaceTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/NamespaceTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedNestedSetObjectTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedNestedSetObjectTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedNestedSetPeerTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedNestedSetPeerTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedNestedSetTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedNestedSetTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedObjectLobTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedObjectLobTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedObjectRelTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedObjectRelTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedObjectTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedObjectTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedPeerDoDeleteTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedPeerDoDeleteTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedPeerDoSelectTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedPeerDoSelectTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedPeerTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedPeerTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/om/OMBuilderNamespaceTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/om/OMBuilderNamespaceTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/om/OMBuilderTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/om/OMBuilderTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/om/PHP5TableMapBuilderTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/om/PHP5TableMapBuilderTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/om/QueryBuilderInheritanceTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/om/QueryBuilderInheritanceTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/om/QueryBuilderTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/om/QueryBuilderTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/util/PropelTemplateTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/util/PropelTemplateTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/util/template.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/util/template.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/model/BehaviorTest.php b/airtime_mvc/library/propel/test/testsuite/generator/model/BehaviorTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/model/ColumnTest.php b/airtime_mvc/library/propel/test/testsuite/generator/model/ColumnTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/model/NameFactoryTest.php b/airtime_mvc/library/propel/test/testsuite/generator/model/NameFactoryTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/model/PhpNameGeneratorTest.php b/airtime_mvc/library/propel/test/testsuite/generator/model/PhpNameGeneratorTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/model/TableTest.php b/airtime_mvc/library/propel/test/testsuite/generator/model/TableTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/platform/DefaultPlatformTest.php b/airtime_mvc/library/propel/test/testsuite/generator/platform/DefaultPlatformTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/platform/PlatformTestBase.php b/airtime_mvc/library/propel/test/testsuite/generator/platform/PlatformTestBase.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/platform/SqlitePlatformTest.php b/airtime_mvc/library/propel/test/testsuite/generator/platform/SqlitePlatformTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/misc/BookstoreTest.php b/airtime_mvc/library/propel/test/testsuite/misc/BookstoreTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/misc/CharacterEncodingTest.php b/airtime_mvc/library/propel/test/testsuite/misc/CharacterEncodingTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/misc/FieldnameRelatedTest.php b/airtime_mvc/library/propel/test/testsuite/misc/FieldnameRelatedTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/misc/Ticket520Test.php b/airtime_mvc/library/propel/test/testsuite/misc/Ticket520Test.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/adapter/DBOracleTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/adapter/DBOracleTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/collection/PropelArrayCollectionTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/collection/PropelArrayCollectionTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/collection/PropelCollectionTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/collection/PropelCollectionTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/collection/PropelObjectCollectionTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/collection/PropelObjectCollectionTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/collection/PropelOnDemandCollectionTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/collection/PropelOnDemandCollectionTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/collection/PropelOnDemandIteratorTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/collection/PropelOnDemandIteratorTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/connection/PropelPDOTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/connection/PropelPDOTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelArrayFormatterTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelArrayFormatterTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelArrayFormatterWithTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelArrayFormatterWithTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelObjectFormatterInheritanceTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelObjectFormatterInheritanceTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelObjectFormatterTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelObjectFormatterTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelObjectFormatterWithTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelObjectFormatterWithTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelOnDemandFormatterTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelOnDemandFormatterTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelOnDemandFormatterWithTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelOnDemandFormatterWithTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelStatementFormatterTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelStatementFormatterTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/map/ColumnMapTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/map/ColumnMapTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/map/DatabaseMapTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/map/DatabaseMapTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/map/GeneratedRelationMapTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/map/GeneratedRelationMapTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/map/RelatedMapSymmetricalTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/map/RelatedMapSymmetricalTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/map/RelationMapTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/map/RelationMapTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/map/TableMapTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/map/TableMapTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/om/BaseObjectSerializeTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/om/BaseObjectSerializeTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/om/BaseObjectTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/om/BaseObjectTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/query/CriteriaCombineTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/query/CriteriaCombineTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/query/CriteriaFluidConditionTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/query/CriteriaFluidConditionTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/query/CriteriaMergeTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/query/CriteriaMergeTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/query/CriteriaTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/query/CriteriaTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/query/JoinTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/query/JoinTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/query/ModelCriteriaHooksTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/query/ModelCriteriaHooksTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/query/ModelCriteriaTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/query/ModelCriteriaTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/query/ModelJoinTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/query/ModelJoinTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/query/ModelWithTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/query/ModelWithTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/query/PropelQueryTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/query/PropelQueryTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/util/BasePeerExceptionsTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/util/BasePeerExceptionsTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/util/BasePeerTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/util/BasePeerTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/util/PropelConfigurationTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/util/PropelConfigurationTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/util/PropelDateTimeTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/util/PropelDateTimeTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/util/PropelModelPagerTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/util/PropelModelPagerTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/util/PropelPagerTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/util/PropelPagerTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/validator/ValidatorTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/validator/ValidatorTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/tools/helpers/BaseTestCase.php b/airtime_mvc/library/propel/test/tools/helpers/BaseTestCase.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/tools/helpers/bookstore/BookstoreDataPopulator.php b/airtime_mvc/library/propel/test/tools/helpers/bookstore/BookstoreDataPopulator.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/tools/helpers/bookstore/BookstoreEmptyTestBase.php b/airtime_mvc/library/propel/test/tools/helpers/bookstore/BookstoreEmptyTestBase.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/tools/helpers/bookstore/BookstoreTestBase.php b/airtime_mvc/library/propel/test/tools/helpers/bookstore/BookstoreTestBase.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/tools/helpers/bookstore/behavior/BookstoreNestedSetTestBase.php b/airtime_mvc/library/propel/test/tools/helpers/bookstore/behavior/BookstoreNestedSetTestBase.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/tools/helpers/bookstore/behavior/BookstoreSortableTestBase.php b/airtime_mvc/library/propel/test/tools/helpers/bookstore/behavior/BookstoreSortableTestBase.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/tools/helpers/bookstore/behavior/DonothingBehavior.php b/airtime_mvc/library/propel/test/tools/helpers/bookstore/behavior/DonothingBehavior.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/tools/helpers/bookstore/behavior/TestAuthor.php b/airtime_mvc/library/propel/test/tools/helpers/bookstore/behavior/TestAuthor.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/tools/helpers/bookstore/behavior/Testallhooksbehavior.php b/airtime_mvc/library/propel/test/tools/helpers/bookstore/behavior/Testallhooksbehavior.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/tools/helpers/bookstore/validator/ISBNValidator.php b/airtime_mvc/library/propel/test/tools/helpers/bookstore/validator/ISBNValidator.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/tools/helpers/cms/CmsDataPopulator.php b/airtime_mvc/library/propel/test/tools/helpers/cms/CmsDataPopulator.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/tools/helpers/cms/CmsTestBase.php b/airtime_mvc/library/propel/test/tools/helpers/cms/CmsTestBase.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/tools/phing/DefineTask.php b/airtime_mvc/library/propel/test/tools/phing/DefineTask.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/propel/test/tree-test.php b/airtime_mvc/library/propel/test/tree-test.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/soundcloud-api/README.md b/airtime_mvc/library/soundcloud-api/README.md old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/soundcloud-api/Services/Soundcloud.php b/airtime_mvc/library/soundcloud-api/Services/Soundcloud.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/soundcloud-api/Services/Soundcloud/Exception.php b/airtime_mvc/library/soundcloud-api/Services/Soundcloud/Exception.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/soundcloud-api/Services/Soundcloud/Version.php b/airtime_mvc/library/soundcloud-api/Services/Soundcloud/Version.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/soundcloud-api/tests/Soundcloud_Test.php b/airtime_mvc/library/soundcloud-api/tests/Soundcloud_Test.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/library/soundcloud-api/tests/Soundcloud_Test_Helper.php b/airtime_mvc/library/soundcloud-api/tests/Soundcloud_Test_Helper.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/az/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/az/LC_MESSAGES/airtime.mo old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/az/LC_MESSAGES/airtime.po b/airtime_mvc/locale/az/LC_MESSAGES/airtime.po old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/cs_CZ/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/cs_CZ/LC_MESSAGES/airtime.mo old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/cs_CZ/LC_MESSAGES/airtime.po b/airtime_mvc/locale/cs_CZ/LC_MESSAGES/airtime.po old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/de_AT/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/de_AT/LC_MESSAGES/airtime.mo old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/de_AT/LC_MESSAGES/airtime.po b/airtime_mvc/locale/de_AT/LC_MESSAGES/airtime.po old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/de_DE/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/de_DE/LC_MESSAGES/airtime.mo old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/de_DE/LC_MESSAGES/airtime.po b/airtime_mvc/locale/de_DE/LC_MESSAGES/airtime.po old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/el_GR/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/el_GR/LC_MESSAGES/airtime.mo old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/el_GR/LC_MESSAGES/airtime.po b/airtime_mvc/locale/el_GR/LC_MESSAGES/airtime.po old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/en_CA/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/en_CA/LC_MESSAGES/airtime.mo old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/en_CA/LC_MESSAGES/airtime.po b/airtime_mvc/locale/en_CA/LC_MESSAGES/airtime.po old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/en_GB/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/en_GB/LC_MESSAGES/airtime.mo old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/en_GB/LC_MESSAGES/airtime.po b/airtime_mvc/locale/en_GB/LC_MESSAGES/airtime.po old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/en_US/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/en_US/LC_MESSAGES/airtime.mo old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/en_US/LC_MESSAGES/airtime.po b/airtime_mvc/locale/en_US/LC_MESSAGES/airtime.po old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/es_ES/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/es_ES/LC_MESSAGES/airtime.mo old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/es_ES/LC_MESSAGES/airtime.po b/airtime_mvc/locale/es_ES/LC_MESSAGES/airtime.po old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/fr_FR/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/fr_FR/LC_MESSAGES/airtime.mo old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/fr_FR/LC_MESSAGES/airtime.po b/airtime_mvc/locale/fr_FR/LC_MESSAGES/airtime.po old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/hr_HR/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/hr_HR/LC_MESSAGES/airtime.mo old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/hr_HR/LC_MESSAGES/airtime.po b/airtime_mvc/locale/hr_HR/LC_MESSAGES/airtime.po old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/hu_HU/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/hu_HU/LC_MESSAGES/airtime.mo old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/hu_HU/LC_MESSAGES/airtime.po b/airtime_mvc/locale/hu_HU/LC_MESSAGES/airtime.po old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/hy/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/hy/LC_MESSAGES/airtime.mo old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/hy/LC_MESSAGES/airtime.po b/airtime_mvc/locale/hy/LC_MESSAGES/airtime.po old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/hy_AM/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/hy_AM/LC_MESSAGES/airtime.mo old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/hy_AM/LC_MESSAGES/airtime.po b/airtime_mvc/locale/hy_AM/LC_MESSAGES/airtime.po old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/it_IT/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/it_IT/LC_MESSAGES/airtime.mo old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/it_IT/LC_MESSAGES/airtime.po b/airtime_mvc/locale/it_IT/LC_MESSAGES/airtime.po old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/ja/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/ja/LC_MESSAGES/airtime.mo old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/ja/LC_MESSAGES/airtime.po b/airtime_mvc/locale/ja/LC_MESSAGES/airtime.po old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/ja_JP/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/ja_JP/LC_MESSAGES/airtime.mo old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/ja_JP/LC_MESSAGES/airtime.po b/airtime_mvc/locale/ja_JP/LC_MESSAGES/airtime.po old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/ka/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/ka/LC_MESSAGES/airtime.mo old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/ka/LC_MESSAGES/airtime.po b/airtime_mvc/locale/ka/LC_MESSAGES/airtime.po old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/ko_KR/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/ko_KR/LC_MESSAGES/airtime.mo old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/ko_KR/LC_MESSAGES/airtime.po b/airtime_mvc/locale/ko_KR/LC_MESSAGES/airtime.po old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/nl_NL/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/nl_NL/LC_MESSAGES/airtime.mo old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/nl_NL/LC_MESSAGES/airtime.po b/airtime_mvc/locale/nl_NL/LC_MESSAGES/airtime.po old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/pl_PL/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/pl_PL/LC_MESSAGES/airtime.mo old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/pl_PL/LC_MESSAGES/airtime.po b/airtime_mvc/locale/pl_PL/LC_MESSAGES/airtime.po old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/pt_BR/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/pt_BR/LC_MESSAGES/airtime.mo old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/pt_BR/LC_MESSAGES/airtime.po b/airtime_mvc/locale/pt_BR/LC_MESSAGES/airtime.po old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/ru_RU/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/ru_RU/LC_MESSAGES/airtime.mo old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/ru_RU/LC_MESSAGES/airtime.po b/airtime_mvc/locale/ru_RU/LC_MESSAGES/airtime.po old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/si/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/si/LC_MESSAGES/airtime.mo old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/si/LC_MESSAGES/airtime.po b/airtime_mvc/locale/si/LC_MESSAGES/airtime.po old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/sr_RS/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/sr_RS/LC_MESSAGES/airtime.mo old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/sr_RS/LC_MESSAGES/airtime.po b/airtime_mvc/locale/sr_RS/LC_MESSAGES/airtime.po old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/sr_RS@latin/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/sr_RS@latin/LC_MESSAGES/airtime.mo old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/sr_RS@latin/LC_MESSAGES/airtime.po b/airtime_mvc/locale/sr_RS@latin/LC_MESSAGES/airtime.po old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/template/airtime.po b/airtime_mvc/locale/template/airtime.po old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/zh_CN/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/zh_CN/LC_MESSAGES/airtime.mo old mode 100644 new mode 100755 diff --git a/airtime_mvc/locale/zh_CN/LC_MESSAGES/airtime.po b/airtime_mvc/locale/zh_CN/LC_MESSAGES/airtime.po old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/.htaccess b/airtime_mvc/public/.htaccess old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/TableTools.css b/airtime_mvc/public/css/TableTools.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/TableTools_JUI.css b/airtime_mvc/public/css/TableTools_JUI.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/add-show.css b/airtime_mvc/public/css/add-show.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/bootstrap-3.3.1.min.css b/airtime_mvc/public/css/bootstrap-3.3.1.min.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/bootstrap-datetimepicker.min.css b/airtime_mvc/public/css/bootstrap-datetimepicker.min.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/bootstrap.css b/airtime_mvc/public/css/bootstrap.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/colorpicker/css/colorpicker.css b/airtime_mvc/public/css/colorpicker/css/colorpicker.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/colorpicker/images/blank.gif b/airtime_mvc/public/css/colorpicker/images/blank.gif old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/colorpicker/images/colorpicker_background.png b/airtime_mvc/public/css/colorpicker/images/colorpicker_background.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/colorpicker/images/colorpicker_hex.png b/airtime_mvc/public/css/colorpicker/images/colorpicker_hex.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/colorpicker/images/colorpicker_hsb_b.png b/airtime_mvc/public/css/colorpicker/images/colorpicker_hsb_b.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/colorpicker/images/colorpicker_hsb_h.png b/airtime_mvc/public/css/colorpicker/images/colorpicker_hsb_h.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/colorpicker/images/colorpicker_hsb_s.png b/airtime_mvc/public/css/colorpicker/images/colorpicker_hsb_s.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/colorpicker/images/colorpicker_indic.gif b/airtime_mvc/public/css/colorpicker/images/colorpicker_indic.gif old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/colorpicker/images/colorpicker_overlay.png b/airtime_mvc/public/css/colorpicker/images/colorpicker_overlay.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/colorpicker/images/colorpicker_rgb_b.png b/airtime_mvc/public/css/colorpicker/images/colorpicker_rgb_b.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/colorpicker/images/colorpicker_rgb_g.png b/airtime_mvc/public/css/colorpicker/images/colorpicker_rgb_g.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/colorpicker/images/colorpicker_rgb_r.png b/airtime_mvc/public/css/colorpicker/images/colorpicker_rgb_r.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/colorpicker/images/colorpicker_select.gif b/airtime_mvc/public/css/colorpicker/images/colorpicker_select.gif old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/colorpicker/images/colorpicker_submit.png b/airtime_mvc/public/css/colorpicker/images/colorpicker_submit.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/colorpicker/images/custom_background.png b/airtime_mvc/public/css/colorpicker/images/custom_background.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/colorpicker/images/custom_hex.png b/airtime_mvc/public/css/colorpicker/images/custom_hex.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/colorpicker/images/custom_hsb_b.png b/airtime_mvc/public/css/colorpicker/images/custom_hsb_b.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/colorpicker/images/custom_hsb_h.png b/airtime_mvc/public/css/colorpicker/images/custom_hsb_h.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/colorpicker/images/custom_hsb_s.png b/airtime_mvc/public/css/colorpicker/images/custom_hsb_s.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/colorpicker/images/custom_indic.gif b/airtime_mvc/public/css/colorpicker/images/custom_indic.gif old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/colorpicker/images/custom_rgb_b.png b/airtime_mvc/public/css/colorpicker/images/custom_rgb_b.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/colorpicker/images/custom_rgb_g.png b/airtime_mvc/public/css/colorpicker/images/custom_rgb_g.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/colorpicker/images/custom_rgb_r.png b/airtime_mvc/public/css/colorpicker/images/custom_rgb_r.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/colorpicker/images/custom_submit.png b/airtime_mvc/public/css/colorpicker/images/custom_submit.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/colorpicker/images/select.png b/airtime_mvc/public/css/colorpicker/images/select.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/colorpicker/images/select2.png b/airtime_mvc/public/css/colorpicker/images/select2.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/colorpicker/images/slider.png b/airtime_mvc/public/css/colorpicker/images/slider.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/datatables/css/ColReorder.css b/airtime_mvc/public/css/datatables/css/ColReorder.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/datatables/css/ColVis.css b/airtime_mvc/public/css/datatables/css/ColVis.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/datatables/css/TableTools.css b/airtime_mvc/public/css/datatables/css/TableTools.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/datatables/css/jquery.dataTables.css b/airtime_mvc/public/css/datatables/css/jquery.dataTables.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/datatables/css/jquery.dataTables_themeroller.css b/airtime_mvc/public/css/datatables/css/jquery.dataTables_themeroller.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/datatables/images/Sorting icons.psd b/airtime_mvc/public/css/datatables/images/Sorting icons.psd old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/datatables/images/back_disabled.png b/airtime_mvc/public/css/datatables/images/back_disabled.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/datatables/images/back_enabled.png b/airtime_mvc/public/css/datatables/images/back_enabled.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/datatables/images/back_enabled_hover.png b/airtime_mvc/public/css/datatables/images/back_enabled_hover.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/datatables/images/favicon.ico b/airtime_mvc/public/css/datatables/images/favicon.ico old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/datatables/images/forward_disabled.png b/airtime_mvc/public/css/datatables/images/forward_disabled.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/datatables/images/forward_enabled.png b/airtime_mvc/public/css/datatables/images/forward_enabled.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/datatables/images/forward_enabled_hover.png b/airtime_mvc/public/css/datatables/images/forward_enabled_hover.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/datatables/images/sort_asc.png b/airtime_mvc/public/css/datatables/images/sort_asc.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/datatables/images/sort_asc_disabled.png b/airtime_mvc/public/css/datatables/images/sort_asc_disabled.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/datatables/images/sort_both.png b/airtime_mvc/public/css/datatables/images/sort_both.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/datatables/images/sort_desc.png b/airtime_mvc/public/css/datatables/images/sort_desc.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/datatables/images/sort_desc_disabled.png b/airtime_mvc/public/css/datatables/images/sort_desc_disabled.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/fullcalendar-old.css b/airtime_mvc/public/css/fullcalendar-old.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/fullcalendar.css b/airtime_mvc/public/css/fullcalendar.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/history_styles.css b/airtime_mvc/public/css/history_styles.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/404.png b/airtime_mvc/public/css/images/404.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/accept.png b/airtime_mvc/public/css/images/accept.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/airtime_logo.png b/airtime_mvc/public/css/images/airtime_logo.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/airtime_logo_big.png b/airtime_mvc/public/css/images/airtime_logo_big.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/airtime_logo_jp.png b/airtime_mvc/public/css/images/airtime_logo_jp.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/arrow.gif b/airtime_mvc/public/css/images/arrow.gif old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/arrow.png b/airtime_mvc/public/css/images/arrow.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/arrow_over.gif b/airtime_mvc/public/css/images/arrow_over.gif old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/arrow_over.png b/airtime_mvc/public/css/images/arrow_over.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/arrows_collapse.png b/airtime_mvc/public/css/images/arrows_collapse.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/big_gray_logo.png b/airtime_mvc/public/css/images/big_gray_logo.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/big_play_arrow.png b/airtime_mvc/public/css/images/big_play_arrow.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/crossfade_bg.png b/airtime_mvc/public/css/images/crossfade_bg.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/crossfade_main.png b/airtime_mvc/public/css/images/crossfade_main.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/crossfade_playlist.png b/airtime_mvc/public/css/images/crossfade_playlist.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/cue-editor_bg.png b/airtime_mvc/public/css/images/cue-editor_bg.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/cue_playlist.png b/airtime_mvc/public/css/images/cue_playlist.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/delete.png b/airtime_mvc/public/css/images/delete.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/down_arrow.png b/airtime_mvc/public/css/images/down_arrow.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/drag.png b/airtime_mvc/public/css/images/drag.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/fade_in.png b/airtime_mvc/public/css/images/fade_in.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/fade_out.png b/airtime_mvc/public/css/images/fade_out.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/file_import_loader.gif b/airtime_mvc/public/css/images/file_import_loader.gif old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/filetype_icons.png b/airtime_mvc/public/css/images/filetype_icons.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_add_content_cm.png b/airtime_mvc/public/css/images/icon_add_content_cm.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_add_playlist_cm.png b/airtime_mvc/public/css/images/icon_add_playlist_cm.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_alert_cal.png b/airtime_mvc/public/css/images/icon_alert_cal.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_alert_cal_alt.png b/airtime_mvc/public/css/images/icon_alert_cal_alt.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_alert_cal_alt2.png b/airtime_mvc/public/css/images/icon_alert_cal_alt2.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_alert_ffffff.png b/airtime_mvc/public/css/images/icon_alert_ffffff.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_audioclip.png b/airtime_mvc/public/css/images/icon_audioclip.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_copy.png b/airtime_mvc/public/css/images/icon_copy.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_copy_cm.png b/airtime_mvc/public/css/images/icon_copy_cm.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_cut.png b/airtime_mvc/public/css/images/icon_cut.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_cut_cm.png b/airtime_mvc/public/css/images/icon_cut_cm.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_delete.png b/airtime_mvc/public/css/images/icon_delete.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_delete_cm.png b/airtime_mvc/public/css/images/icon_delete_cm.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_door.png b/airtime_mvc/public/css/images/icon_door.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_door_cm.png b/airtime_mvc/public/css/images/icon_door_cm.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_download_cm.png b/airtime_mvc/public/css/images/icon_download_cm.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_edit.png b/airtime_mvc/public/css/images/icon_edit.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_edit_cm.png b/airtime_mvc/public/css/images/icon_edit_cm.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_edit_l.png b/airtime_mvc/public/css/images/icon_edit_l.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_finishedplaying_m.png b/airtime_mvc/public/css/images/icon_finishedplaying_m.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_info.png b/airtime_mvc/public/css/images/icon_info.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_link.png b/airtime_mvc/public/css/images/icon_link.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_nowplaying_m.png b/airtime_mvc/public/css/images/icon_nowplaying_m.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_nowplaying_n.png b/airtime_mvc/public/css/images/icon_nowplaying_n.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_outdated.png b/airtime_mvc/public/css/images/icon_outdated.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_overlap.png b/airtime_mvc/public/css/images/icon_overlap.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_overview_cm.png b/airtime_mvc/public/css/images/icon_overview_cm.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_paste.png b/airtime_mvc/public/css/images/icon_paste.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_paste_cm.png b/airtime_mvc/public/css/images/icon_paste_cm.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_play_cal.png b/airtime_mvc/public/css/images/icon_play_cal.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_play_cm.png b/airtime_mvc/public/css/images/icon_play_cm.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_playlist.png b/airtime_mvc/public/css/images/icon_playlist.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_rebroadcast.png b/airtime_mvc/public/css/images/icon_rebroadcast.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_rebroadcast_m.png b/airtime_mvc/public/css/images/icon_rebroadcast_m.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_record.png b/airtime_mvc/public/css/images/icon_record.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_record_m.png b/airtime_mvc/public/css/images/icon_record_m.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_remove_all_content_cm.png b/airtime_mvc/public/css/images/icon_remove_all_content_cm.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_select-cursor_cm.png b/airtime_mvc/public/css/images/icon_select-cursor_cm.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_smart-block.png b/airtime_mvc/public/css/images/icon_smart-block.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_soundcloud.png b/airtime_mvc/public/css/images/icon_soundcloud.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_soundcloud_cm.png b/airtime_mvc/public/css/images/icon_soundcloud_cm.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_soundcloud_error2.png b/airtime_mvc/public/css/images/icon_soundcloud_error2.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_soundcloud_m.png b/airtime_mvc/public/css/images/icon_soundcloud_m.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_update.png b/airtime_mvc/public/css/images/icon_update.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_update2.png b/airtime_mvc/public/css/images/icon_update2.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_uptodate.png b/airtime_mvc/public/css/images/icon_uptodate.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/icon_webstream.png b/airtime_mvc/public/css/images/icon_webstream.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/input_bg.png b/airtime_mvc/public/css/images/input_bg.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/input_with_calendar_bg.png b/airtime_mvc/public/css/images/input_with_calendar_bg.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/input_with_time_bg.png b/airtime_mvc/public/css/images/input_with_time_bg.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/is_playlist.png b/airtime_mvc/public/css/images/is_playlist.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/is_scheduled.png b/airtime_mvc/public/css/images/is_scheduled.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/loader-small.gif b/airtime_mvc/public/css/images/loader-small.gif old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/loader.gif b/airtime_mvc/public/css/images/loader.gif old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/login_content_bg.png b/airtime_mvc/public/css/images/login_content_bg.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/login_page_bg.png b/airtime_mvc/public/css/images/login_page_bg.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/masterpanel_bg.png b/airtime_mvc/public/css/images/masterpanel_bg.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/masterpanel_spacer.png b/airtime_mvc/public/css/images/masterpanel_spacer.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/menuitem.gif b/airtime_mvc/public/css/images/menuitem.gif old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/more.gif b/airtime_mvc/public/css/images/more.gif old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/on-off-air.png b/airtime_mvc/public/css/images/on-off-air.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/playinfo_bg.png b/airtime_mvc/public/css/images/playinfo_bg.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/progressbar_bg.png b/airtime_mvc/public/css/images/progressbar_bg.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/progressbar_show.png b/airtime_mvc/public/css/images/progressbar_show.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/progressbar_show_error.png b/airtime_mvc/public/css/images/progressbar_show_error.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/progressbar_song.png b/airtime_mvc/public/css/images/progressbar_song.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/record_icon.png b/airtime_mvc/public/css/images/record_icon.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/round_delete.png b/airtime_mvc/public/css/images/round_delete.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/schedule-show_progressbar_bg.png b/airtime_mvc/public/css/images/schedule-show_progressbar_bg.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/search_auto_bg.png b/airtime_mvc/public/css/images/search_auto_bg.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/sf_arror.png b/airtime_mvc/public/css/images/sf_arror.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/source-info_lines.png b/airtime_mvc/public/css/images/source-info_lines.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/source_to_switch_lines.png b/airtime_mvc/public/css/images/source_to_switch_lines.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/stream_status.png b/airtime_mvc/public/css/images/stream_status.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/thin_delete.png b/airtime_mvc/public/css/images/thin_delete.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/three_0a.png b/airtime_mvc/public/css/images/three_0a.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/tl-arrow.png b/airtime_mvc/public/css/images/tl-arrow.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/tooltip_arrow.png b/airtime_mvc/public/css/images/tooltip_arrow.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/upload-icon.gif b/airtime_mvc/public/css/images/upload-icon.gif old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/images/warning-icon.png b/airtime_mvc/public/css/images/warning-icon.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/img/backgrounds.gif b/airtime_mvc/public/css/img/backgrounds.gif old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/img/buttons-disabled.png b/airtime_mvc/public/css/img/buttons-disabled.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/img/buttons.png b/airtime_mvc/public/css/img/buttons.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/img/delete.gif b/airtime_mvc/public/css/img/delete.gif old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/img/desktop.png b/airtime_mvc/public/css/img/desktop.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/img/documents.png b/airtime_mvc/public/css/img/documents.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/img/done.gif b/airtime_mvc/public/css/img/done.gif old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/img/error.gif b/airtime_mvc/public/css/img/error.gif old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/img/folder.png b/airtime_mvc/public/css/img/folder.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/img/glyphicons-halflings-white.png b/airtime_mvc/public/css/img/glyphicons-halflings-white.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/img/glyphicons-halflings.png b/airtime_mvc/public/css/img/glyphicons-halflings.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/img/icon_cut_white.png b/airtime_mvc/public/css/img/icon_cut_white.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/img/loading.gif b/airtime_mvc/public/css/img/loading.gif old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/img/throbber.gif b/airtime_mvc/public/css/img/throbber.gif old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/img/transp50.png b/airtime_mvc/public/css/img/transp50.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/img/unknown.png b/airtime_mvc/public/css/img/unknown.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/jquery-ui-timepicker-addon.css b/airtime_mvc/public/css/jquery-ui-timepicker-addon.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/jquery.contextMenu.css b/airtime_mvc/public/css/jquery.contextMenu.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/jquery.ui.timepicker.css b/airtime_mvc/public/css/jquery.ui.timepicker.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/library_search.css b/airtime_mvc/public/css/library_search.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/masterpanel.css b/airtime_mvc/public/css/masterpanel.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/media_library.css b/airtime_mvc/public/css/media_library.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/playlist_builder.css b/airtime_mvc/public/css/playlist_builder.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/playouthistory.css b/airtime_mvc/public/css/playouthistory.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/plupload.queue.css b/airtime_mvc/public/css/plupload.queue.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/pro_dropdown_3.css b/airtime_mvc/public/css/pro_dropdown_3.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/qtip/jquery.qtip.css b/airtime_mvc/public/css/qtip/jquery.qtip.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/qtip/jquery.qtip.min.css b/airtime_mvc/public/css/qtip/jquery.qtip.min.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_default_aaaaaa.png b/airtime_mvc/public/css/redmond/images/ui-bg_default_aaaaaa.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_flat_0_6c6c6c_40x100.png b/airtime_mvc/public/css/redmond/images/ui-bg_flat_0_6c6c6c_40x100.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_flat_0_9d9d9d_40x100.png b/airtime_mvc/public/css/redmond/images/ui-bg_flat_0_9d9d9d_40x100.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png b/airtime_mvc/public/css/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_flat_55_eff6eb_40x100.png b/airtime_mvc/public/css/redmond/images/ui-bg_flat_55_eff6eb_40x100.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_flat_55_fae5e5_40x100.png b/airtime_mvc/public/css/redmond/images/ui-bg_flat_55_fae5e5_40x100.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_flat_55_fbec88_40x100.png b/airtime_mvc/public/css/redmond/images/ui-bg_flat_55_fbec88_40x100.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_flat_65_ffffff_40x100.png b/airtime_mvc/public/css/redmond/images/ui-bg_flat_65_ffffff_40x100.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_flat_75_ffffff_40x100.png b/airtime_mvc/public/css/redmond/images/ui-bg_flat_75_ffffff_40x100.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png b/airtime_mvc/public/css/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_glass_85_dfeffc_1x400.png b/airtime_mvc/public/css/redmond/images/ui-bg_glass_85_dfeffc_1x400.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_glass_95_fef1ec_1x400.png b/airtime_mvc/public/css/redmond/images/ui-bg_glass_95_fef1ec_1x400.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png b/airtime_mvc/public/css/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_highlight-soft_100_f6f6f6_1x100.png b/airtime_mvc/public/css/redmond/images/ui-bg_highlight-soft_100_f6f6f6_1x100.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_highlight-soft_25_007fb3_1x100.png b/airtime_mvc/public/css/redmond/images/ui-bg_highlight-soft_25_007fb3_1x100.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_highlight-soft_50_ebebeb_1x100.png b/airtime_mvc/public/css/redmond/images/ui-bg_highlight-soft_50_ebebeb_1x100.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_highlight.png b/airtime_mvc/public/css/redmond/images/ui-bg_highlight.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png b/airtime_mvc/public/css/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png b/airtime_mvc/public/css/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-icons_007fb3_256x240.png b/airtime_mvc/public/css/redmond/images/ui-icons_007fb3_256x240.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-icons_217bc0_256x240.png b/airtime_mvc/public/css/redmond/images/ui-icons_217bc0_256x240.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-icons_2e83ff_256x240.png b/airtime_mvc/public/css/redmond/images/ui-icons_2e83ff_256x240.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-icons_454545_256x240.png b/airtime_mvc/public/css/redmond/images/ui-icons_454545_256x240.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-icons_469bdd_256x240.png b/airtime_mvc/public/css/redmond/images/ui-icons_469bdd_256x240.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-icons_65a539_256x240.png b/airtime_mvc/public/css/redmond/images/ui-icons_65a539_256x240.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-icons_666666_256x240.png b/airtime_mvc/public/css/redmond/images/ui-icons_666666_256x240.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-icons_6da8d5_256x240.png b/airtime_mvc/public/css/redmond/images/ui-icons_6da8d5_256x240.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-icons_cd0a0a_256x240.png b/airtime_mvc/public/css/redmond/images/ui-icons_cd0a0a_256x240.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-icons_d00000_256x240.png b/airtime_mvc/public/css/redmond/images/ui-icons_d00000_256x240.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-icons_d8e7f3_256x240.png b/airtime_mvc/public/css/redmond/images/ui-icons_d8e7f3_256x240.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-icons_f9bd01_256x240.png b/airtime_mvc/public/css/redmond/images/ui-icons_f9bd01_256x240.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-icons_ff0084_256x240.png b/airtime_mvc/public/css/redmond/images/ui-icons_ff0084_256x240.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-icons_ff5d1a_256x240.png b/airtime_mvc/public/css/redmond/images/ui-icons_ff5d1a_256x240.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/images/ui-icons_ffffff_256x240.png b/airtime_mvc/public/css/redmond/images/ui-icons_ffffff_256x240.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/jquery-ui-1.8.8.custom.css b/airtime_mvc/public/css/redmond/jquery-ui-1.8.8.custom.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/redmond/jquery-ui-1.8.8.custom/jquery-ui-1.8.8.custom.css b/airtime_mvc/public/css/redmond/jquery-ui-1.8.8.custom/jquery-ui-1.8.8.custom.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/setup/config-check.css b/airtime_mvc/public/css/setup/config-check.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/setup/setup-config.css b/airtime_mvc/public/css/setup/setup-config.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/showbuilder.css b/airtime_mvc/public/css/showbuilder.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/styles.css b/airtime_mvc/public/css/styles.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/tipsy/jquery.tipsy.css b/airtime_mvc/public/css/tipsy/jquery.tipsy.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/users.css b/airtime_mvc/public/css/users.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/css/waveform.css b/airtime_mvc/public/css/waveform.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/favicon.ico b/airtime_mvc/public/favicon.ico old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/fonts/glyphicons-halflings-regular.eot b/airtime_mvc/public/fonts/glyphicons-halflings-regular.eot old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/fonts/glyphicons-halflings-regular.svg b/airtime_mvc/public/fonts/glyphicons-halflings-regular.svg old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/fonts/glyphicons-halflings-regular.ttf b/airtime_mvc/public/fonts/glyphicons-halflings-regular.ttf old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/fonts/glyphicons-halflings-regular.woff b/airtime_mvc/public/fonts/glyphicons-halflings-regular.woff old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/images/datatables/Sorting icons.psd b/airtime_mvc/public/images/datatables/Sorting icons.psd old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/images/datatables/back_disabled.jpg b/airtime_mvc/public/images/datatables/back_disabled.jpg old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/images/datatables/back_enabled.jpg b/airtime_mvc/public/images/datatables/back_enabled.jpg old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/images/datatables/favicon.ico b/airtime_mvc/public/images/datatables/favicon.ico old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/images/datatables/forward_disabled.jpg b/airtime_mvc/public/images/datatables/forward_disabled.jpg old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/images/datatables/forward_enabled.jpg b/airtime_mvc/public/images/datatables/forward_enabled.jpg old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/images/datatables/sort_asc.png b/airtime_mvc/public/images/datatables/sort_asc.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/images/datatables/sort_asc_disabled.png b/airtime_mvc/public/images/datatables/sort_asc_disabled.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/images/datatables/sort_both.png b/airtime_mvc/public/images/datatables/sort_both.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/images/datatables/sort_desc.png b/airtime_mvc/public/images/datatables/sort_desc.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/images/datatables/sort_desc_disabled.png b/airtime_mvc/public/images/datatables/sort_desc_disabled.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/index.php b/airtime_mvc/public/index.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/install/clearstatcache.php b/airtime_mvc/public/install/clearstatcache.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/airtime_bootstrap.js b/airtime_mvc/public/js/airtime/airtime_bootstrap.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/audiopreview/preview_jplayer.js b/airtime_mvc/public/js/airtime/audiopreview/preview_jplayer.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/buttons/buttons.js b/airtime_mvc/public/js/airtime/buttons/buttons.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/common/audioplaytest.js b/airtime_mvc/public/js/airtime/common/audioplaytest.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/common/common.js b/airtime_mvc/public/js/airtime/common/common.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/dashboard/dashboard.js b/airtime_mvc/public/js/airtime/dashboard/dashboard.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/dashboard/helperfunctions.js b/airtime_mvc/public/js/airtime/dashboard/helperfunctions.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/dashboard/versiontooltip.js b/airtime_mvc/public/js/airtime/dashboard/versiontooltip.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/library/events/library_playlistbuilder.js b/airtime_mvc/public/js/airtime/library/events/library_playlistbuilder.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/library/events/library_showbuilder.js b/airtime_mvc/public/js/airtime/library/events/library_showbuilder.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/library/library.js b/airtime_mvc/public/js/airtime/library/library.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/library/plupload.js b/airtime_mvc/public/js/airtime/library/plupload.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/library/spl.js b/airtime_mvc/public/js/airtime/library/spl.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/listenerstat/listenerstat.js b/airtime_mvc/public/js/airtime/listenerstat/listenerstat.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/login/login.js b/airtime_mvc/public/js/airtime/login/login.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/login/password-restore.js b/airtime_mvc/public/js/airtime/login/password-restore.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/nowplaying/dayview.js b/airtime_mvc/public/js/airtime/nowplaying/dayview.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/nowplaying/nowview.js b/airtime_mvc/public/js/airtime/nowplaying/nowview.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/nowplaying/register.js b/airtime_mvc/public/js/airtime/nowplaying/register.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/playlist/smart_blockbuilder.js b/airtime_mvc/public/js/airtime/playlist/smart_blockbuilder.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/playouthistory/configuretemplate.js b/airtime_mvc/public/js/airtime/playouthistory/configuretemplate.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/playouthistory/historytable.js b/airtime_mvc/public/js/airtime/playouthistory/historytable.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/playouthistory/template.js b/airtime_mvc/public/js/airtime/playouthistory/template.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/preferences/musicdirs.js b/airtime_mvc/public/js/airtime/preferences/musicdirs.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/preferences/preferences.js b/airtime_mvc/public/js/airtime/preferences/preferences.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/preferences/streamsetting.js b/airtime_mvc/public/js/airtime/preferences/streamsetting.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/preferences/support-setting.js b/airtime_mvc/public/js/airtime/preferences/support-setting.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/schedule/add-show.js b/airtime_mvc/public/js/airtime/schedule/add-show.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/schedule/full-calendar-functions.js b/airtime_mvc/public/js/airtime/schedule/full-calendar-functions.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/schedule/schedule.js b/airtime_mvc/public/js/airtime/schedule/schedule.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/showbuilder/builder.js b/airtime_mvc/public/js/airtime/showbuilder/builder.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/showbuilder/main_builder.js b/airtime_mvc/public/js/airtime/showbuilder/main_builder.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/status/status.js b/airtime_mvc/public/js/airtime/status/status.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/user/user.js b/airtime_mvc/public/js/airtime/user/user.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/airtime/utilities/utilities.js b/airtime_mvc/public/js/airtime/utilities/utilities.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/blockui/jquery.blockUI.js b/airtime_mvc/public/js/blockui/jquery.blockUI.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/bootstrap-datetime/bootstrap-datetimepicker.js b/airtime_mvc/public/js/bootstrap-datetime/bootstrap-datetimepicker.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/bootstrap/bootstrap.js b/airtime_mvc/public/js/bootstrap/bootstrap.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/bootstrap/bootstrap.min.js b/airtime_mvc/public/js/bootstrap/bootstrap.min.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/colorpicker/js/colorpicker.js b/airtime_mvc/public/js/colorpicker/js/colorpicker.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/contextmenu/AIRTIME_DEV_README b/airtime_mvc/public/js/contextmenu/AIRTIME_DEV_README old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/contextmenu/jquery.contextMenu.js b/airtime_mvc/public/js/contextmenu/jquery.contextMenu.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/cookie/jquery.cookie.js b/airtime_mvc/public/js/cookie/jquery.cookie.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/i18n/cs_CZ.txt b/airtime_mvc/public/js/datatables/i18n/cs_CZ.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/i18n/de_AT.txt b/airtime_mvc/public/js/datatables/i18n/de_AT.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/i18n/de_DE.txt b/airtime_mvc/public/js/datatables/i18n/de_DE.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/i18n/el_GR.txt b/airtime_mvc/public/js/datatables/i18n/el_GR.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/i18n/en_CA.txt b/airtime_mvc/public/js/datatables/i18n/en_CA.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/i18n/en_GB.txt b/airtime_mvc/public/js/datatables/i18n/en_GB.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/i18n/en_US.txt b/airtime_mvc/public/js/datatables/i18n/en_US.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/i18n/es_ES.txt b/airtime_mvc/public/js/datatables/i18n/es_ES.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/i18n/fr_FR.txt b/airtime_mvc/public/js/datatables/i18n/fr_FR.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/i18n/hr_HR.txt b/airtime_mvc/public/js/datatables/i18n/hr_HR.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/i18n/hu_HU.txt b/airtime_mvc/public/js/datatables/i18n/hu_HU.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/i18n/it_IT.txt b/airtime_mvc/public/js/datatables/i18n/it_IT.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/i18n/ja.txt b/airtime_mvc/public/js/datatables/i18n/ja.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/i18n/ja_JP.txt b/airtime_mvc/public/js/datatables/i18n/ja_JP.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/i18n/ko_KR.txt b/airtime_mvc/public/js/datatables/i18n/ko_KR.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/i18n/pl_PL.txt b/airtime_mvc/public/js/datatables/i18n/pl_PL.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/i18n/pt_BR.txt b/airtime_mvc/public/js/datatables/i18n/pt_BR.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/i18n/ru_RU.txt b/airtime_mvc/public/js/datatables/i18n/ru_RU.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/i18n/sr_RS.txt b/airtime_mvc/public/js/datatables/i18n/sr_RS.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/i18n/sr_RS@latin.txt b/airtime_mvc/public/js/datatables/i18n/sr_RS@latin.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/i18n/zh_CN.txt b/airtime_mvc/public/js/datatables/i18n/zh_CN.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/js/jquery.dataTables.js b/airtime_mvc/public/js/datatables/js/jquery.dataTables.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/AIRTIME_DEV_README_COLUMN_FILTER b/airtime_mvc/public/js/datatables/plugin/AIRTIME_DEV_README_COLUMN_FILTER old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/AIRTIME_DEV_README_COL_VIS b/airtime_mvc/public/js/datatables/plugin/AIRTIME_DEV_README_COL_VIS old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/as3/ZeroClipboard.as b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/as3/ZeroClipboard.as old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/as3/ZeroClipboardPdf.as b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/as3/ZeroClipboardPdf.as old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/as3/lib/AlivePDF.swc b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/as3/lib/AlivePDF.swc old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/css/TableTools.css b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/css/TableTools.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/css/TableTools_JUI.css b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/css/TableTools_JUI.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/background.png b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/background.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/collection.png b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/collection.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/collection_hover.png b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/collection_hover.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/copy.png b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/copy.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/copy_hover.png b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/copy_hover.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/csv.png b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/csv.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/csv_hover.png b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/csv_hover.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/pdf.png b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/pdf.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/pdf_hover.png b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/pdf_hover.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/print.png b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/print.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/print_hover.png b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/print_hover.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/psd/collection.psd b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/psd/collection.psd old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/psd/copy document.psd b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/psd/copy document.psd old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/psd/file_types.psd b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/psd/file_types.psd old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/psd/printer.psd b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/psd/printer.psd old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/xls.png b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/xls.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/xls_hover.png b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/xls_hover.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/js/TableTools.js b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/js/TableTools.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/js/TableTools.min.js b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/js/TableTools.min.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/js/TableTools.min.js.gz b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/js/TableTools.min.js.gz old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/js/ZeroClipboard.js b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/js/ZeroClipboard.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/swf/copy_csv_xls.swf b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/swf/copy_csv_xls.swf old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/swf/copy_csv_xls_pdf.swf b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/swf/copy_csv_xls_pdf.swf old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/dataTables.ColReorder.js b/airtime_mvc/public/js/datatables/plugin/dataTables.ColReorder.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/dataTables.ColVis.js b/airtime_mvc/public/js/datatables/plugin/dataTables.ColVis.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/dataTables.ColVis_orig.js b/airtime_mvc/public/js/datatables/plugin/dataTables.ColVis_orig.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/dataTables.FixedColumns.js b/airtime_mvc/public/js/datatables/plugin/dataTables.FixedColumns.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/dataTables.FixedHeader.js b/airtime_mvc/public/js/datatables/plugin/dataTables.FixedHeader.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/dataTables.columnFilter.js b/airtime_mvc/public/js/datatables/plugin/dataTables.columnFilter.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/dataTables.columnFilter_orig.js b/airtime_mvc/public/js/datatables/plugin/dataTables.columnFilter_orig.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/dataTables.fnSetFilteringDelay.js b/airtime_mvc/public/js/datatables/plugin/dataTables.fnSetFilteringDelay.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/datatables/plugin/dataTables.pluginAPI.js b/airtime_mvc/public/js/datatables/plugin/dataTables.pluginAPI.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/flot/API.txt b/airtime_mvc/public/js/flot/API.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/flot/FAQ.txt b/airtime_mvc/public/js/flot/FAQ.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/flot/Makefile b/airtime_mvc/public/js/flot/Makefile old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/flot/NEWS.txt b/airtime_mvc/public/js/flot/NEWS.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/flot/PLUGINS.txt b/airtime_mvc/public/js/flot/PLUGINS.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/flot/README.txt b/airtime_mvc/public/js/flot/README.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/flot/excanvas.js b/airtime_mvc/public/js/flot/excanvas.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/flot/excanvas.min.js b/airtime_mvc/public/js/flot/excanvas.min.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/flot/jquery.colorhelpers.js b/airtime_mvc/public/js/flot/jquery.colorhelpers.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/flot/jquery.flot.crosshair.js b/airtime_mvc/public/js/flot/jquery.flot.crosshair.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/flot/jquery.flot.fillbetween.js b/airtime_mvc/public/js/flot/jquery.flot.fillbetween.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/flot/jquery.flot.image.js b/airtime_mvc/public/js/flot/jquery.flot.image.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/flot/jquery.flot.js b/airtime_mvc/public/js/flot/jquery.flot.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/flot/jquery.flot.navigate.js b/airtime_mvc/public/js/flot/jquery.flot.navigate.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/flot/jquery.flot.pie.js b/airtime_mvc/public/js/flot/jquery.flot.pie.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/flot/jquery.flot.resize.js b/airtime_mvc/public/js/flot/jquery.flot.resize.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/flot/jquery.flot.selection.js b/airtime_mvc/public/js/flot/jquery.flot.selection.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/flot/jquery.flot.stack.js b/airtime_mvc/public/js/flot/jquery.flot.stack.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/flot/jquery.flot.symbol.js b/airtime_mvc/public/js/flot/jquery.flot.symbol.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/flot/jquery.flot.threshold.js b/airtime_mvc/public/js/flot/jquery.flot.threshold.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/fullcalendar/AIRTIME_DEV_README b/airtime_mvc/public/js/fullcalendar/AIRTIME_DEV_README old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/fullcalendar/fullcalendar.js b/airtime_mvc/public/js/fullcalendar/fullcalendar.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/fullcalendar/fullcalendar.orig.js b/airtime_mvc/public/js/fullcalendar/fullcalendar.orig.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/i18n/jquery.i18n.js b/airtime_mvc/public/js/i18n/jquery.i18n.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/jplayer/Jplayer.swf b/airtime_mvc/public/js/jplayer/Jplayer.swf old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/jplayer/jplayer.playlist.min.js b/airtime_mvc/public/js/jplayer/jplayer.playlist.min.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/jplayer/jquery.jplayer.inspector.js b/airtime_mvc/public/js/jplayer/jquery.jplayer.inspector.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/jplayer/jquery.jplayer.min.js b/airtime_mvc/public/js/jplayer/jquery.jplayer.min.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/jplayer/popcorn/popcorn.jplayer.js b/airtime_mvc/public/js/jplayer/popcorn/popcorn.jplayer.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/jplayer/skin/jplayer-mute-unmute.png b/airtime_mvc/public/js/jplayer/skin/jplayer-mute-unmute.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/jplayer/skin/jplayer.airtime.audio.preview.css b/airtime_mvc/public/js/jplayer/skin/jplayer.airtime.audio.preview.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/jplayer/skin/jplayer.audio-preview.blue.monday.css b/airtime_mvc/public/js/jplayer/skin/jplayer.audio-preview.blue.monday.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/jplayer/skin/jplayer.blue.monday.css b/airtime_mvc/public/js/jplayer/skin/jplayer.blue.monday.css old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/jplayer/skin/jplayer.blue.monday.jpg b/airtime_mvc/public/js/jplayer/skin/jplayer.blue.monday.jpg old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/jplayer/skin/jplayer.blue.monday.seeking.gif b/airtime_mvc/public/js/jplayer/skin/jplayer.blue.monday.seeking.gif old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/jplayer/skin/jplayer.png b/airtime_mvc/public/js/jplayer/skin/jplayer.png old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/jplayer/skin/pbar-ani.gif b/airtime_mvc/public/js/jplayer/skin/pbar-ani.gif old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/libs/google-analytics.js b/airtime_mvc/public/js/libs/google-analytics.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/libs/jquery-1.10.2.js b/airtime_mvc/public/js/libs/jquery-1.10.2.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/libs/jquery-1.7.2.min.js b/airtime_mvc/public/js/libs/jquery-1.7.2.min.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/libs/jquery-1.8.3.min.js b/airtime_mvc/public/js/libs/jquery-1.8.3.min.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/libs/jquery-migrate-1.2.1.js b/airtime_mvc/public/js/libs/jquery-migrate-1.2.1.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/libs/jquery-ui-1.8.18.custom.min.js b/airtime_mvc/public/js/libs/jquery-ui-1.8.18.custom.min.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/libs/jquery-ui-1.8.24.min.js b/airtime_mvc/public/js/libs/jquery-ui-1.8.24.min.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/libs/jquery.stickyPanel.js b/airtime_mvc/public/js/libs/jquery.stickyPanel.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/libs/underscore-min.js b/airtime_mvc/public/js/libs/underscore-min.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/plupload/i18n/cs_CZ.js b/airtime_mvc/public/js/plupload/i18n/cs_CZ.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/plupload/i18n/de_AT.js b/airtime_mvc/public/js/plupload/i18n/de_AT.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/plupload/i18n/de_DE.js b/airtime_mvc/public/js/plupload/i18n/de_DE.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/plupload/i18n/el_GR.js b/airtime_mvc/public/js/plupload/i18n/el_GR.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/plupload/i18n/en_CA.js b/airtime_mvc/public/js/plupload/i18n/en_CA.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/plupload/i18n/en_GB.js b/airtime_mvc/public/js/plupload/i18n/en_GB.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/plupload/i18n/en_US.js b/airtime_mvc/public/js/plupload/i18n/en_US.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/plupload/i18n/es_ES.js b/airtime_mvc/public/js/plupload/i18n/es_ES.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/plupload/i18n/fr_FR.js b/airtime_mvc/public/js/plupload/i18n/fr_FR.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/plupload/i18n/hr_HR.js b/airtime_mvc/public/js/plupload/i18n/hr_HR.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/plupload/i18n/hu_HU.js b/airtime_mvc/public/js/plupload/i18n/hu_HU.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/plupload/i18n/it_IT.js b/airtime_mvc/public/js/plupload/i18n/it_IT.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/plupload/i18n/ja_JP.js b/airtime_mvc/public/js/plupload/i18n/ja_JP.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/plupload/i18n/ko_KR.js b/airtime_mvc/public/js/plupload/i18n/ko_KR.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/plupload/i18n/pl_PL.js b/airtime_mvc/public/js/plupload/i18n/pl_PL.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/plupload/i18n/pt_BR.js b/airtime_mvc/public/js/plupload/i18n/pt_BR.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/plupload/i18n/ru_RU.js b/airtime_mvc/public/js/plupload/i18n/ru_RU.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/plupload/i18n/sr_RS.js b/airtime_mvc/public/js/plupload/i18n/sr_RS.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/plupload/i18n/sr_RS@latin.js b/airtime_mvc/public/js/plupload/i18n/sr_RS@latin.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/plupload/i18n/zh_CN.js b/airtime_mvc/public/js/plupload/i18n/zh_CN.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/plupload/jquery.plupload.queue.min.js b/airtime_mvc/public/js/plupload/jquery.plupload.queue.min.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/plupload/plupload.full.min.js b/airtime_mvc/public/js/plupload/plupload.full.min.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/qtip/jquery.qtip.js b/airtime_mvc/public/js/qtip/jquery.qtip.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/qtip/jquery.qtip.min.js b/airtime_mvc/public/js/qtip/jquery.qtip.min.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/serverbrowse/AIRTIME_DEV_README b/airtime_mvc/public/js/serverbrowse/AIRTIME_DEV_README old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/serverbrowse/serverbrowser.js b/airtime_mvc/public/js/serverbrowse/serverbrowser.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/serverbrowse/serverbrowser_orig.js b/airtime_mvc/public/js/serverbrowse/serverbrowser_orig.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/setup/setup-config.js b/airtime_mvc/public/js/setup/setup-config.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/sprintf/sprintf-0.7-beta1.js b/airtime_mvc/public/js/sprintf/sprintf-0.7-beta1.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/timepicker/jquery-ui-timepicker-addon.js b/airtime_mvc/public/js/timepicker/jquery-ui-timepicker-addon.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/timepicker/jquery.ui.timepicker.js b/airtime_mvc/public/js/timepicker/jquery.ui.timepicker.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/tipsy/AIRTIME_DEV_README b/airtime_mvc/public/js/tipsy/AIRTIME_DEV_README old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/tipsy/jquery.tipsy.js b/airtime_mvc/public/js/tipsy/jquery.tipsy.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/tipsy/jquery.tipsy_orig.js b/airtime_mvc/public/js/tipsy/jquery.tipsy_orig.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/waveformplaylist/config.js b/airtime_mvc/public/js/waveformplaylist/config.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/waveformplaylist/controls.js b/airtime_mvc/public/js/waveformplaylist/controls.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/waveformplaylist/curves.js b/airtime_mvc/public/js/waveformplaylist/curves.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/waveformplaylist/fades.js b/airtime_mvc/public/js/waveformplaylist/fades.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/waveformplaylist/loader.js b/airtime_mvc/public/js/waveformplaylist/loader.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/waveformplaylist/local_storage.js b/airtime_mvc/public/js/waveformplaylist/local_storage.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/waveformplaylist/observer/observer.js b/airtime_mvc/public/js/waveformplaylist/observer/observer.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/waveformplaylist/observer/observer.js~ b/airtime_mvc/public/js/waveformplaylist/observer/observer.js~ old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/waveformplaylist/playlist.js b/airtime_mvc/public/js/waveformplaylist/playlist.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/waveformplaylist/playout.js b/airtime_mvc/public/js/waveformplaylist/playout.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/waveformplaylist/templates/bottombar.tpl b/airtime_mvc/public/js/waveformplaylist/templates/bottombar.tpl old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/waveformplaylist/templates/bottombar.tpl~ b/airtime_mvc/public/js/waveformplaylist/templates/bottombar.tpl~ old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/waveformplaylist/time_scale.js b/airtime_mvc/public/js/waveformplaylist/time_scale.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/waveformplaylist/track.js b/airtime_mvc/public/js/waveformplaylist/track.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/js/waveformplaylist/track_render.js b/airtime_mvc/public/js/waveformplaylist/track_render.js old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/robots.txt b/airtime_mvc/public/robots.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/setup/database-setup.php b/airtime_mvc/public/setup/database-setup.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/setup/finish-setup.php b/airtime_mvc/public/setup/finish-setup.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/setup/general-setup.php b/airtime_mvc/public/setup/general-setup.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/setup/media-setup.php b/airtime_mvc/public/setup/media-setup.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/setup/rabbitmq-setup.php b/airtime_mvc/public/setup/rabbitmq-setup.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/public/setup/setup-functions.php b/airtime_mvc/public/setup/setup-functions.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/README.txt b/airtime_mvc/tests/README.txt old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/airtime.conf b/airtime_mvc/tests/airtime.conf old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/bootstrap.php b/airtime_mvc/tests/application/bootstrap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/helpers/TestHelper.php b/airtime_mvc/tests/application/helpers/TestHelper.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/models/database/ScheduleDbTest.php b/airtime_mvc/tests/application/models/database/ScheduleDbTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/models/database/datasets/seed_schedule.xml b/airtime_mvc/tests/application/models/database/datasets/seed_schedule.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/models/database/datasets/test_checkOverlappingShows.xml b/airtime_mvc/tests/application/models/database/datasets/test_checkOverlappingShows.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/models/unit/PreferenceUnitTest.php b/airtime_mvc/tests/application/models/unit/PreferenceUnitTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/models/unit/ScheduleUnitTest.php b/airtime_mvc/tests/application/models/unit/ScheduleUnitTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/services/database/ShowServiceDbTest.php b/airtime_mvc/tests/application/services/database/ShowServiceDbTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/services/database/datasets/seed_show_service.xml b/airtime_mvc/tests/application/services/database/datasets/seed_show_service.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_ccShowInsertedIntoDatabase.xml b/airtime_mvc/tests/application/services/database/datasets/test_ccShowInsertedIntoDatabase.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_changeRepeatDayUpdatesScheduleCorrectly.xml b/airtime_mvc/tests/application/services/database/datasets/test_changeRepeatDayUpdatesScheduleCorrectly.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_createBiWeeklyRepeatNoEndNoRRShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_createBiWeeklyRepeatNoEndNoRRShow.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_createLinkedShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_createLinkedShow.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_createMonthlyMonthlyRepeatNoEndNoRRShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_createMonthlyMonthlyRepeatNoEndNoRRShow.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_createMonthlyWeeklyRepeatNoEndNoRRShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_createMonthlyWeeklyRepeatNoEndNoRRShow.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_createNoRepeatNoRRShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_createNoRepeatNoRRShow.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_createNoRepeatRRShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_createNoRepeatRRShow.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_createQuadWeeklyRepeatNoEndNoRRShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_createQuadWeeklyRepeatNoEndNoRRShow.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_createTriWeeklyRepeatNoEndNoRRShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_createTriWeeklyRepeatNoEndNoRRShow.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_createWeeklyRepeatNoEndNoRRShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_createWeeklyRepeatNoEndNoRRShow.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_createWeeklyRepeatRRShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_createWeeklyRepeatRRShow.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_deleteRepeatingShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_deleteRepeatingShow.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_deleteShowInstance.xml b/airtime_mvc/tests/application/services/database/datasets/test_deleteShowInstance.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_deleteShowInstanceAndAllFollowing.xml b/airtime_mvc/tests/application/services/database/datasets/test_deleteShowInstanceAndAllFollowing.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_editRepeatingShowChangeNoEndOption.xml b/airtime_mvc/tests/application/services/database/datasets/test_editRepeatingShowChangeNoEndOption.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_editRepeatingShowInstance.xml b/airtime_mvc/tests/application/services/database/datasets/test_editRepeatingShowInstance.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_removeFirstRepeatShowDayUpdatesScheduleCorrectly.xml b/airtime_mvc/tests/application/services/database/datasets/test_removeFirstRepeatShowDayUpdatesScheduleCorrectly.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_repeatShowCreationWhenUserMovesForwardInCalendar.xml b/airtime_mvc/tests/application/services/database/datasets/test_repeatShowCreationWhenUserMovesForwardInCalendar.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_unlinkLinkedShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_unlinkLinkedShow.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_weeklyToBiWeekly.xml b/airtime_mvc/tests/application/services/database/datasets/test_weeklyToBiWeekly.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_weeklyToNoRepeat.xml b/airtime_mvc/tests/application/services/database/datasets/test_weeklyToNoRepeat.xml old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/services/unit/ShowServiceUnitTest.php b/airtime_mvc/tests/application/services/unit/ShowServiceUnitTest.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/application/testdata/ShowServiceData.php b/airtime_mvc/tests/application/testdata/ShowServiceData.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/library/bootstrap.php b/airtime_mvc/tests/library/bootstrap.php old mode 100644 new mode 100755 diff --git a/airtime_mvc/tests/phpunit.xml b/airtime_mvc/tests/phpunit.xml old mode 100644 new mode 100755 diff --git a/changelog b/changelog old mode 100644 new mode 100755 diff --git a/debian/changelog b/debian/changelog old mode 100644 new mode 100755 diff --git a/debian/compat b/debian/compat old mode 100644 new mode 100755 diff --git a/debian/config b/debian/config old mode 100644 new mode 100755 diff --git a/debian/control b/debian/control old mode 100644 new mode 100755 diff --git a/debian/copyright b/debian/copyright old mode 100644 new mode 100755 diff --git a/debian/docs b/debian/docs old mode 100644 new mode 100755 diff --git a/debian/etc/airtime.ini b/debian/etc/airtime.ini old mode 100644 new mode 100755 diff --git a/debian/etc/apache.conf b/debian/etc/apache.conf old mode 100644 new mode 100755 diff --git a/debian/etc/apache.vhost.tpl b/debian/etc/apache.vhost.tpl old mode 100644 new mode 100755 diff --git a/debian/gbp.conf b/debian/gbp.conf old mode 100644 new mode 100755 diff --git a/debian/install b/debian/install old mode 100644 new mode 100755 diff --git a/debian/po/POTFILES.in b/debian/po/POTFILES.in old mode 100644 new mode 100755 diff --git a/debian/po/templates.pot b/debian/po/templates.pot old mode 100644 new mode 100755 diff --git a/debian/source/format b/debian/source/format old mode 100644 new mode 100755 diff --git a/debian/source/include-binaries b/debian/source/include-binaries old mode 100644 new mode 100755 diff --git a/debian/templates b/debian/templates old mode 100644 new mode 100755 diff --git a/debian/usr/share/applications/airtime.desktop b/debian/usr/share/applications/airtime.desktop old mode 100644 new mode 100755 diff --git a/debian/usr/share/man/man1/airtime-import.1.gz b/debian/usr/share/man/man1/airtime-import.1.gz old mode 100644 new mode 100755 diff --git a/debian/usr/share/man/man1/airtime-launch-browser.1.gz b/debian/usr/share/man/man1/airtime-launch-browser.1.gz old mode 100644 new mode 100755 diff --git a/debian/usr/share/man/man1/airtime-log.1.gz b/debian/usr/share/man/man1/airtime-log.1.gz old mode 100644 new mode 100755 diff --git a/debian/usr/share/man/man1/airtime-test-soundcard.1.gz b/debian/usr/share/man/man1/airtime-test-soundcard.1.gz old mode 100644 new mode 100755 diff --git a/debian/usr/share/man/man1/airtime-test-stream.1.gz b/debian/usr/share/man/man1/airtime-test-stream.1.gz old mode 100644 new mode 100755 diff --git a/debian/usr/share/menu/airtime b/debian/usr/share/menu/airtime old mode 100644 new mode 100755 diff --git a/debian/usr/share/pixmaps/airtime.xpm b/debian/usr/share/pixmaps/airtime.xpm old mode 100644 new mode 100755 diff --git a/debian/watch b/debian/watch old mode 100644 new mode 100755 diff --git a/dev_tools/auto_schedule_show.php b/dev_tools/auto_schedule_show.php old mode 100644 new mode 100755 diff --git a/dev_tools/compare_cc_files_to_fs.py b/dev_tools/compare_cc_files_to_fs.py old mode 100644 new mode 100755 diff --git a/dev_tools/fabric/airtime.vhost b/dev_tools/fabric/airtime.vhost old mode 100644 new mode 100755 diff --git a/dev_tools/fabric/fab_liquidsoap_compile.cfg b/dev_tools/fabric/fab_liquidsoap_compile.cfg old mode 100644 new mode 100755 diff --git a/dev_tools/fabric/fab_liquidsoap_compile.py b/dev_tools/fabric/fab_liquidsoap_compile.py old mode 100644 new mode 100755 diff --git a/dev_tools/fabric/fab_release_test.py b/dev_tools/fabric/fab_release_test.py old mode 100644 new mode 100755 diff --git a/dev_tools/gen_doctrine_migration.php b/dev_tools/gen_doctrine_migration.php old mode 100644 new mode 100755 diff --git a/dev_tools/populate-cc_files.php b/dev_tools/populate-cc_files.php old mode 100644 new mode 100755 diff --git a/dev_tools/release/jsmin/jsmin.c b/dev_tools/release/jsmin/jsmin.c old mode 100644 new mode 100755 diff --git a/dev_tools/scripts/git-attributes-git-merge-po b/dev_tools/scripts/git-attributes-git-merge-po old mode 100644 new mode 100755 diff --git a/dev_tools/scripts/git-config-git-merge-po b/dev_tools/scripts/git-config-git-merge-po old mode 100644 new mode 100755 diff --git a/dev_tools/scripts/git-merge-po b/dev_tools/scripts/git-merge-po old mode 100644 new mode 100755 diff --git a/docs/README.txt b/docs/README.txt old mode 100644 new mode 100755 diff --git a/installer/apache/airtime-vhost b/installer/apache/airtime-vhost old mode 100644 new mode 100755 diff --git a/installer/bin/requirements-ubuntu-saucy.apt b/installer/bin/requirements-ubuntu-saucy.apt old mode 100644 new mode 100755 diff --git a/installer/bin/requirements-ubuntu-trusty.apt b/installer/bin/requirements-ubuntu-trusty.apt old mode 100644 new mode 100755 diff --git a/installer/install b/installer/install index d9364e222..5aa74bc6a 100755 --- a/installer/install +++ b/installer/install @@ -359,6 +359,8 @@ elif [ "$in_place" = "t" ]; then else python /usr/share/airtime/python_apps/media-monitor/setup.py install fi +chown ${web_user}:${web_user} /usr/lib/airtime/airtime_virtualenv/bin/airtime-media-monitor +ln -sf /usr/lib/airtime/airtime_virtualenv/bin/airtime-media-monitor /usr/local/bin/airtime-media-monitor verbose "...Done" verbose "\n * Copying pypo files..." @@ -374,9 +376,13 @@ elif [ "$in_place" = "t" ]; then else python /usr/share/airtime/python_apps/pypo/setup.py install fi +chown ${web_user}:${web_user} /usr/lib/airtime/airtime_virtualenv/bin/airtime-playout +ln -sf /usr/lib/airtime/airtime_virtualenv/bin/airtime-playout /usr/local/bin/airtime-playout verbose "...Done" verbose "\n * Creating liquidsoap symlink..." +chown ${web_user}:${web_user} /usr/lib/airtime/airtime_virtualenv/bin/airtime-liquidsoap +ln -sf /usr/lib/airtime/airtime_virtualenv/bin/airtime-liquidsoap /usr/local/bin/airtime-liquidsoap ln -sf /usr/bin/liquidsoap /usr/bin/airtime-liquidsoap verbose "...Done" diff --git a/installer/php/airtime.ini b/installer/php/airtime.ini old mode 100644 new mode 100755 diff --git a/python_apps/api_clients/__init__.py b/python_apps/api_clients/__init__.py old mode 100644 new mode 100755 diff --git a/python_apps/api_clients/api_client.py b/python_apps/api_clients/api_client.py old mode 100644 new mode 100755 diff --git a/python_apps/api_clients/tests/__init__.py b/python_apps/api_clients/tests/__init__.py old mode 100644 new mode 100755 diff --git a/python_apps/api_clients/tests/test_apcurl.py b/python_apps/api_clients/tests/test_apcurl.py old mode 100644 new mode 100755 diff --git a/python_apps/api_clients/tests/test_apirequest.py b/python_apps/api_clients/tests/test_apirequest.py old mode 100644 new mode 100755 diff --git a/python_apps/api_clients/tests/test_requestprovider.py b/python_apps/api_clients/tests/test_requestprovider.py old mode 100644 new mode 100755 diff --git a/python_apps/icecast2/airtime-icecast-status.xsl b/python_apps/icecast2/airtime-icecast-status.xsl old mode 100644 new mode 100755 diff --git a/python_apps/icecast2/install/icecast2-install.py b/python_apps/icecast2/install/icecast2-install.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/install/airtime-media-monitor.conf b/python_apps/media-monitor/install/airtime-media-monitor.conf old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor/airtimefilemonitor/__init__.py b/python_apps/media-monitor/media-monitor/airtimefilemonitor/__init__.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimemediamonitorbootstrap.py b/python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimemediamonitorbootstrap.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimemetadata.py b/python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimemetadata.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimenotifier.py b/python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimenotifier.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimeprocessevent.py b/python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimeprocessevent.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor/airtimefilemonitor/mediaconfig.py b/python_apps/media-monitor/media-monitor/airtimefilemonitor/mediaconfig.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor/airtimefilemonitor/mediamonitorcommon.py b/python_apps/media-monitor/media-monitor/airtimefilemonitor/mediamonitorcommon.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor/airtimefilemonitor/replaygain.py b/python_apps/media-monitor/media-monitor/airtimefilemonitor/replaygain.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor/airtimefilemonitor/workerprocess.py b/python_apps/media-monitor/media-monitor/airtimefilemonitor/workerprocess.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor/logging.cfg b/python_apps/media-monitor/media-monitor/logging.cfg old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor/media_monitor.py b/python_apps/media-monitor/media-monitor/media_monitor.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor/mm1.py b/python_apps/media-monitor/media-monitor/mm1.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/__init__.py b/python_apps/media-monitor/media-monitor2/__init__.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/baby.py b/python_apps/media-monitor/media-monitor2/baby.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/configs/logging.cfg b/python_apps/media-monitor/media-monitor2/configs/logging.cfg old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/media/__init__.py b/python_apps/media-monitor/media-monitor2/media/__init__.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/media/metadata/__init__.py b/python_apps/media-monitor/media-monitor2/media/metadata/__init__.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/media/metadata/definitions.py b/python_apps/media-monitor/media-monitor2/media/metadata/definitions.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/media/metadata/process.py b/python_apps/media-monitor/media-monitor2/media/metadata/process.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/__init__.py b/python_apps/media-monitor/media-monitor2/media/monitor/__init__.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/airtime.py b/python_apps/media-monitor/media-monitor2/media/monitor/airtime.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/bootstrap.py b/python_apps/media-monitor/media-monitor2/media/monitor/bootstrap.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/config.py b/python_apps/media-monitor/media-monitor2/media/monitor/config.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/eventcontractor.py b/python_apps/media-monitor/media-monitor2/media/monitor/eventcontractor.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/eventdrainer.py b/python_apps/media-monitor/media-monitor2/media/monitor/eventdrainer.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/events.py b/python_apps/media-monitor/media-monitor2/media/monitor/events.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/exceptions.py b/python_apps/media-monitor/media-monitor2/media/monitor/exceptions.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/handler.py b/python_apps/media-monitor/media-monitor2/media/monitor/handler.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/listeners.py b/python_apps/media-monitor/media-monitor2/media/monitor/listeners.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/log.py b/python_apps/media-monitor/media-monitor2/media/monitor/log.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/manager.py b/python_apps/media-monitor/media-monitor2/media/monitor/manager.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/metadata.py b/python_apps/media-monitor/media-monitor2/media/monitor/metadata.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/organizer.py b/python_apps/media-monitor/media-monitor2/media/monitor/organizer.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/owners.py b/python_apps/media-monitor/media-monitor2/media/monitor/owners.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/pure.py b/python_apps/media-monitor/media-monitor2/media/monitor/pure.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/request.py b/python_apps/media-monitor/media-monitor2/media/monitor/request.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/syncdb.py b/python_apps/media-monitor/media-monitor2/media/monitor/syncdb.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/toucher.py b/python_apps/media-monitor/media-monitor2/media/monitor/toucher.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/watchersyncer.py b/python_apps/media-monitor/media-monitor2/media/monitor/watchersyncer.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/media/saas/__init__.py b/python_apps/media-monitor/media-monitor2/media/saas/__init__.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/media/saas/airtimeinstance.py b/python_apps/media-monitor/media-monitor2/media/saas/airtimeinstance.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/media/saas/launcher.py b/python_apps/media-monitor/media-monitor2/media/saas/launcher.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/media/saas/thread.py b/python_apps/media-monitor/media-monitor2/media/saas/thread.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/mm2.py b/python_apps/media-monitor/media-monitor2/mm2.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/tests/__init__.py b/python_apps/media-monitor/media-monitor2/tests/__init__.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/tests/api_client.cfg b/python_apps/media-monitor/media-monitor2/tests/api_client.cfg old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/tests/live_client.cfg b/python_apps/media-monitor/media-monitor2/tests/live_client.cfg old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/tests/prepare_tests.py b/python_apps/media-monitor/media-monitor2/tests/prepare_tests.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_api_client.py b/python_apps/media-monitor/media-monitor2/tests/test_api_client.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_config.cfg b/python_apps/media-monitor/media-monitor2/tests/test_config.cfg old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_config.py b/python_apps/media-monitor/media-monitor2/tests/test_config.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_emf.py b/python_apps/media-monitor/media-monitor2/tests/test_emf.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_eventcontractor.py b/python_apps/media-monitor/media-monitor2/tests/test_eventcontractor.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_instance.py b/python_apps/media-monitor/media-monitor2/tests/test_instance.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_listeners.py b/python_apps/media-monitor/media-monitor2/tests/test_listeners.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_manager.py b/python_apps/media-monitor/media-monitor2/tests/test_manager.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_metadata.py b/python_apps/media-monitor/media-monitor2/tests/test_metadata.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_metadata_def.py b/python_apps/media-monitor/media-monitor2/tests/test_metadata_def.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_notifier.py b/python_apps/media-monitor/media-monitor2/tests/test_notifier.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_owners.py b/python_apps/media-monitor/media-monitor2/tests/test_owners.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_pure.py b/python_apps/media-monitor/media-monitor2/tests/test_pure.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_requestsync.py b/python_apps/media-monitor/media-monitor2/tests/test_requestsync.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_syncdb.py b/python_apps/media-monitor/media-monitor2/tests/test_syncdb.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_thread.py b/python_apps/media-monitor/media-monitor2/tests/test_thread.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_toucher.py b/python_apps/media-monitor/media-monitor2/tests/test_toucher.py old mode 100644 new mode 100755 diff --git a/python_apps/media-monitor/setup.py b/python_apps/media-monitor/setup.py old mode 100644 new mode 100755 diff --git a/python_apps/pypo/bin/airtime-playout b/python_apps/pypo/bin/airtime-playout index d63c3d0e8..cb2d3ea94 100755 --- a/python_apps/pypo/bin/airtime-playout +++ b/python_apps/pypo/bin/airtime-playout @@ -3,13 +3,6 @@ virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/" . ${virtualenv_bin}activate -# Absolute path to this script -SCRIPT=`readlink -f $0` -# Absolute directory this script is in -pypo_path=`dirname $SCRIPT` - -cd ${pypo_path} - set +e cat /etc/default/locale | grep -i "LANG=.*UTF-\?8" > /dev/null set -e @@ -23,4 +16,4 @@ export PYTHONPATH=/usr/lib/airtime/:$PYTHONPATH export LC_ALL=`cat /etc/default/locale | grep "LANG=" | cut -d= -f2 | tr -d "\n\""` export TERM=xterm -exec python ${pypo_path}/pypocli.py > /var/log/airtime/pypo/py-interpreter.log 2>&1 +exec python /usr/lib/airtime/pypo/bin/pypocli.py > /var/log/airtime/pypo/py-interpreter.log 2>&1 diff --git a/python_apps/pypo/install/airtime-liquidsoap.conf b/python_apps/pypo/install/airtime-liquidsoap.conf old mode 100644 new mode 100755 diff --git a/python_apps/pypo/install/airtime-playout.conf b/python_apps/pypo/install/airtime-playout.conf old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/AUTHORS b/python_apps/pypo/pypo/AUTHORS old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/LICENSE b/python_apps/pypo/pypo/LICENSE old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/__init__.py b/python_apps/pypo/pypo/__init__.py old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/eventtypes.py b/python_apps/pypo/pypo/eventtypes.py old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/aac.liq b/python_apps/pypo/pypo/liquidsoap_scripts/aac.liq old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/aacplus.liq b/python_apps/pypo/pypo/liquidsoap_scripts/aacplus.liq old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/airtime-liquidsoap.logrotate b/python_apps/pypo/pypo/liquidsoap_scripts/airtime-liquidsoap.logrotate old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/fdkaac.liq b/python_apps/pypo/pypo/liquidsoap_scripts/fdkaac.liq old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/generate_liquidsoap_cfg.py b/python_apps/pypo/pypo/liquidsoap_scripts/generate_liquidsoap_cfg.py old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/library/externals.liq b/python_apps/pypo/pypo/liquidsoap_scripts/library/externals.liq old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/library/flows.liq b/python_apps/pypo/pypo/liquidsoap_scripts/library/flows.liq old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/library/gstreamer.liq b/python_apps/pypo/pypo/liquidsoap_scripts/library/gstreamer.liq old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/library/http.liq b/python_apps/pypo/pypo/liquidsoap_scripts/library/http.liq old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/library/http_codes.liq b/python_apps/pypo/pypo/liquidsoap_scripts/library/http_codes.liq old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/library/lastfm.liq b/python_apps/pypo/pypo/liquidsoap_scripts/library/lastfm.liq old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/library/pervasives.liq b/python_apps/pypo/pypo/liquidsoap_scripts/library/pervasives.liq old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/library/shoutcast.liq b/python_apps/pypo/pypo/liquidsoap_scripts/library/shoutcast.liq old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/library/utils.liq b/python_apps/pypo/pypo/liquidsoap_scripts/library/utils.liq old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/library/video_text.liq b/python_apps/pypo/pypo/liquidsoap_scripts/library/video_text.liq old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/liquidsoap.cfg b/python_apps/pypo/pypo/liquidsoap_scripts/liquidsoap.cfg old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/liquidsoap_auth.py b/python_apps/pypo/pypo/liquidsoap_scripts/liquidsoap_auth.py old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/liquidsoap_prepare_terminate.py b/python_apps/pypo/pypo/liquidsoap_scripts/liquidsoap_prepare_terminate.py old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/ls_lib.liq b/python_apps/pypo/pypo/liquidsoap_scripts/ls_lib.liq old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/ls_script.liq b/python_apps/pypo/pypo/liquidsoap_scripts/ls_script.liq old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/mp3.liq b/python_apps/pypo/pypo/liquidsoap_scripts/mp3.liq old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/ogg.liq b/python_apps/pypo/pypo/liquidsoap_scripts/ogg.liq old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/opus.liq b/python_apps/pypo/pypo/liquidsoap_scripts/opus.liq old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/listenerstat.py b/python_apps/pypo/pypo/listenerstat.py old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/logging.cfg b/python_apps/pypo/pypo/logging.cfg old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/media/__init__.py b/python_apps/pypo/pypo/media/__init__.py old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/media/update/__init__.py b/python_apps/pypo/pypo/media/update/__init__.py old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/media/update/replaygain.py b/python_apps/pypo/pypo/media/update/replaygain.py old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/media/update/replaygainupdater.py b/python_apps/pypo/pypo/media/update/replaygainupdater.py old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/media/update/silananalyzer.py b/python_apps/pypo/pypo/media/update/silananalyzer.py old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/notify_logging.cfg b/python_apps/pypo/pypo/notify_logging.cfg old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/pure.py b/python_apps/pypo/pypo/pure.py old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/pypocli.py b/python_apps/pypo/pypo/pypocli.py old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/pypofetch.py b/python_apps/pypo/pypo/pypofetch.py old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/pypofile.py b/python_apps/pypo/pypo/pypofile.py old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/pypoliqqueue.py b/python_apps/pypo/pypo/pypoliqqueue.py old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/pypoliquidsoap.py b/python_apps/pypo/pypo/pypoliquidsoap.py old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/pypomessagehandler.py b/python_apps/pypo/pypo/pypomessagehandler.py old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/pyponotify.py b/python_apps/pypo/pypo/pyponotify.py old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/pypopush.py b/python_apps/pypo/pypo/pypopush.py old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/recorder.py b/python_apps/pypo/pypo/recorder.py old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/telnetliquidsoap.py b/python_apps/pypo/pypo/telnetliquidsoap.py old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/testpypoliqqueue.py b/python_apps/pypo/pypo/testpypoliqqueue.py old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/tests/test_modify_cue_in.py b/python_apps/pypo/pypo/tests/test_modify_cue_in.py old mode 100644 new mode 100755 diff --git a/python_apps/pypo/pypo/timeout.py b/python_apps/pypo/pypo/timeout.py old mode 100644 new mode 100755 diff --git a/python_apps/pypo/setup.py b/python_apps/pypo/setup.py old mode 100644 new mode 100755 diff --git a/python_apps/python-virtualenv/3rd_party/distribute-0.6.10.tar.gz b/python_apps/python-virtualenv/3rd_party/distribute-0.6.10.tar.gz old mode 100644 new mode 100755 diff --git a/python_apps/python-virtualenv/3rd_party/pip-1.0.2.tar.gz b/python_apps/python-virtualenv/3rd_party/pip-1.0.2.tar.gz old mode 100644 new mode 100755 diff --git a/python_apps/python-virtualenv/airtime_virtual_env.pybundle b/python_apps/python-virtualenv/airtime_virtual_env.pybundle old mode 100644 new mode 100755 diff --git a/python_apps/python-virtualenv/patches/mutagen/mutagen_patch1.patch b/python_apps/python-virtualenv/patches/mutagen/mutagen_patch1.patch old mode 100644 new mode 100755 diff --git a/python_apps/python-virtualenv/patches/mutagen/mutagen_patch2.patch b/python_apps/python-virtualenv/patches/mutagen/mutagen_patch2.patch old mode 100644 new mode 100755 diff --git a/python_apps/python-virtualenv/requirements b/python_apps/python-virtualenv/requirements old mode 100644 new mode 100755 diff --git a/python_apps/std_err_override/LogWriter.py b/python_apps/std_err_override/LogWriter.py old mode 100644 new mode 100755 diff --git a/python_apps/std_err_override/__init__.py b/python_apps/std_err_override/__init__.py old mode 100644 new mode 100755 diff --git a/tests/README b/tests/README old mode 100644 new mode 100755 diff --git a/tests/selenium/Add Media Skeleton Present.html b/tests/selenium/Add Media Skeleton Present.html old mode 100644 new mode 100755 diff --git a/tests/selenium/Airtime.html b/tests/selenium/Airtime.html old mode 100644 new mode 100755 diff --git a/tests/selenium/Calendar Add Show Skeleton.html b/tests/selenium/Calendar Add Show Skeleton.html old mode 100644 new mode 100755 diff --git a/tests/selenium/Calendar Day Week Month Views.html b/tests/selenium/Calendar Day Week Month Views.html old mode 100644 new mode 100755 diff --git a/tests/selenium/Calendar Skeleton Present.html b/tests/selenium/Calendar Skeleton Present.html old mode 100644 new mode 100755 diff --git a/tests/selenium/Library Skeleton Present.html b/tests/selenium/Library Skeleton Present.html old mode 100644 new mode 100755 diff --git a/tests/selenium/Listen Button Skeleton.html b/tests/selenium/Listen Button Skeleton.html old mode 100644 new mode 100755 diff --git a/tests/selenium/Login and Logout.html b/tests/selenium/Login and Logout.html old mode 100644 new mode 100755 diff --git a/tests/selenium/Login.html b/tests/selenium/Login.html old mode 100644 new mode 100755 diff --git a/tests/selenium/Preferences Skeletons.html b/tests/selenium/Preferences Skeletons.html old mode 100644 new mode 100755 diff --git a/tests/selenium/System Menu Contents.html b/tests/selenium/System Menu Contents.html old mode 100644 new mode 100755 diff --git a/utils/airtime-backup.py b/utils/airtime-backup.py old mode 100644 new mode 100755 diff --git a/utils/airtime-check-system.php b/utils/airtime-check-system.php old mode 100644 new mode 100755 diff --git a/utils/airtime-import/airtime-import.py b/utils/airtime-import/airtime-import.py old mode 100644 new mode 100755 diff --git a/utils/airtime-log.php b/utils/airtime-log.php old mode 100644 new mode 100755 diff --git a/utils/airtime-silan.py b/utils/airtime-silan.py old mode 100644 new mode 100755 diff --git a/utils/airtime-test-soundcard.py b/utils/airtime-test-soundcard.py old mode 100644 new mode 100755 diff --git a/utils/airtime-test-stream.py b/utils/airtime-test-stream.py old mode 100644 new mode 100755 diff --git a/utils/airtime-update-db-settings.py b/utils/airtime-update-db-settings.py old mode 100644 new mode 100755 diff --git a/utils/phone_home_stat.php b/utils/phone_home_stat.php old mode 100644 new mode 100755 diff --git a/utils/soundcloud-uploader.php b/utils/soundcloud-uploader.php old mode 100644 new mode 100755 diff --git a/widgets/css/airtime-widgets.css b/widgets/css/airtime-widgets.css old mode 100644 new mode 100755 diff --git a/widgets/css/widget-img/schedule-tabs-list-bgr.png b/widgets/css/widget-img/schedule-tabs-list-bgr.png old mode 100644 new mode 100755 diff --git a/widgets/js/jquery-1.6.1.min.js b/widgets/js/jquery-1.6.1.min.js old mode 100644 new mode 100755 diff --git a/widgets/js/jquery-ui-1.8.10.custom.min.js b/widgets/js/jquery-ui-1.8.10.custom.min.js old mode 100644 new mode 100755 diff --git a/widgets/js/jquery.showinfo.js b/widgets/js/jquery.showinfo.js old mode 100644 new mode 100755 diff --git a/widgets/sample_page.html b/widgets/sample_page.html old mode 100644 new mode 100755 diff --git a/widgets/widget_schedule.html b/widgets/widget_schedule.html old mode 100644 new mode 100755 diff --git a/widgets/widgets.html b/widgets/widgets.html old mode 100644 new mode 100755 From c66e6aa8497d7467dedbb231120e89564864b699 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Wed, 7 Jan 2015 10:01:32 -0500 Subject: [PATCH 078/168] More work on getting services working with new installer --- installer/install | 18 +----------------- .../media-monitor/bin/airtime-media-monitor | 5 ++--- python_apps/pypo/bin/airtime-liquidsoap | 5 +---- python_apps/pypo/bin/airtime-playout | 5 +---- 4 files changed, 5 insertions(+), 28 deletions(-) diff --git a/installer/install b/installer/install index 5aa74bc6a..0168d5348 100755 --- a/installer/install +++ b/installer/install @@ -318,16 +318,10 @@ loud " * Installing Airtime Services * " loud "-----------------------------------------------------" verbose "\n * Installing liquidsoap and python..." -loudCmd "apt-get -y --force-yes install liquidsoap python python-pip python-virtualenv" +loudCmd "apt-get -y --force-yes install liquidsoap python python-pip" loudCmd "pip install setuptools" verbose "...Done" -verbose "\n * Activating virtualenv..." -${AIRTIMEROOT}/python_apps/python-virtualenv/virtualenv-install.sh -virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/" -. ${virtualenv_bin}activate -verbose "...Done" - verbose "\n * Creating /usr/lib/airtime..." mkdir -p /usr/lib/airtime verbose "...Done" @@ -359,8 +353,6 @@ elif [ "$in_place" = "t" ]; then else python /usr/share/airtime/python_apps/media-monitor/setup.py install fi -chown ${web_user}:${web_user} /usr/lib/airtime/airtime_virtualenv/bin/airtime-media-monitor -ln -sf /usr/lib/airtime/airtime_virtualenv/bin/airtime-media-monitor /usr/local/bin/airtime-media-monitor verbose "...Done" verbose "\n * Copying pypo files..." @@ -376,22 +368,14 @@ elif [ "$in_place" = "t" ]; then else python /usr/share/airtime/python_apps/pypo/setup.py install fi -chown ${web_user}:${web_user} /usr/lib/airtime/airtime_virtualenv/bin/airtime-playout -ln -sf /usr/lib/airtime/airtime_virtualenv/bin/airtime-playout /usr/local/bin/airtime-playout verbose "...Done" verbose "\n * Creating liquidsoap symlink..." -chown ${web_user}:${web_user} /usr/lib/airtime/airtime_virtualenv/bin/airtime-liquidsoap -ln -sf /usr/lib/airtime/airtime_virtualenv/bin/airtime-liquidsoap /usr/local/bin/airtime-liquidsoap ln -sf /usr/bin/liquidsoap /usr/bin/airtime-liquidsoap verbose "...Done" initctl reload-configuration -verbose "\n * Deactivating virtualenv..." -deactivate -verbose "...Done" - if [ ! -d /var/log/airtime ]; then loud "\n-----------------------------------------------------" loud " * Installing Log Files * " diff --git a/python_apps/media-monitor/bin/airtime-media-monitor b/python_apps/media-monitor/bin/airtime-media-monitor index a5e3e4c6d..efe75c4a6 100755 --- a/python_apps/media-monitor/bin/airtime-media-monitor +++ b/python_apps/media-monitor/bin/airtime-media-monitor @@ -1,8 +1,5 @@ #!/bin/bash -virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/" -. ${virtualenv_bin}activate - exec 2>&1 cd /usr/lib/airtime/media-monitor/ @@ -15,6 +12,8 @@ if [ "$?" != "0" ]; then exit 1 fi +export PYTHONPATH=/usr/lib/airtime/:/usr/lib/airtime/media-monitor/airtimefilemonitor/:/usr/lib/airtime/media-monitor/media-monitor/airtimefilemonitor:\ +/usr/lib/airtime/media-monitor/mm2/:/usr/lib/airtime/std_err_override/:/usr/lib/airtime/api_clients:$PYTHONPATH export PYTHONPATH="/usr/lib/airtime/:/usr/lib/airtime/media-monitor/mm2/" export LC_ALL=`cat /etc/default/locale | grep "LANG=" | cut -d= -f2 | tr -d "\n\""` diff --git a/python_apps/pypo/bin/airtime-liquidsoap b/python_apps/pypo/bin/airtime-liquidsoap index 04d39fbbe..e4723960f 100755 --- a/python_apps/pypo/bin/airtime-liquidsoap +++ b/python_apps/pypo/bin/airtime-liquidsoap @@ -22,9 +22,6 @@ do shift done -virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/" -. ${virtualenv_bin}activate - export HOME="/var/tmp/airtime/pypo/" if [ "$debug" = "t" ]; then ls_path="/usr/bin/airtime-liquidsoap --verbose -f" @@ -32,7 +29,7 @@ else ls_path="/usr/bin/airtime-liquidsoap --verbose -f -d" fi -export PYTHONPATH=/usr/lib/airtime +export PYTHONPATH=/usr/lib/airtime/:/usr/lib/airtime/pypo/bin/:/usr/lib/airtime/std_err_override/:/usr/lib/airtime/api_clients:$PYTHONPATH ls_param="/usr/lib/airtime/pypo/bin/liquidsoap_scripts/ls_script.liq" cd /usr/lib/airtime/pypo/bin/liquidsoap_scripts diff --git a/python_apps/pypo/bin/airtime-playout b/python_apps/pypo/bin/airtime-playout index cb2d3ea94..1358f033f 100755 --- a/python_apps/pypo/bin/airtime-playout +++ b/python_apps/pypo/bin/airtime-playout @@ -1,8 +1,5 @@ #!/bin/bash -virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/" -. ${virtualenv_bin}activate - set +e cat /etc/default/locale | grep -i "LANG=.*UTF-\?8" > /dev/null set -e @@ -12,7 +9,7 @@ if [ "$?" != "0" ]; then fi export HOME="/var/tmp/airtime/pypo/" -export PYTHONPATH=/usr/lib/airtime/:$PYTHONPATH +export PYTHONPATH=/usr/lib/airtime/:/usr/lib/airtime/pypo/bin/:/usr/lib/airtime/pypo/bin/pypo:/usr/lib/airtime/std_err_override/:/usr/lib/airtime/api_clients:$PYTHONPATH export LC_ALL=`cat /etc/default/locale | grep "LANG=" | cut -d= -f2 | tr -d "\n\""` export TERM=xterm From 8e6e72a501368883b51729d0a4ce5fe9a960e2f2 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Wed, 7 Jan 2015 10:31:00 -0500 Subject: [PATCH 079/168] More work on getting services working with new installer --- python_apps/media-monitor/bin/airtime-media-monitor | 2 +- python_apps/pypo/bin/airtime-playout | 2 +- python_apps/pypo/pypo/pypofile.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/python_apps/media-monitor/bin/airtime-media-monitor b/python_apps/media-monitor/bin/airtime-media-monitor index efe75c4a6..2f51e3d2c 100755 --- a/python_apps/media-monitor/bin/airtime-media-monitor +++ b/python_apps/media-monitor/bin/airtime-media-monitor @@ -12,7 +12,7 @@ if [ "$?" != "0" ]; then exit 1 fi -export PYTHONPATH=/usr/lib/airtime/:/usr/lib/airtime/media-monitor/airtimefilemonitor/:/usr/lib/airtime/media-monitor/media-monitor/airtimefilemonitor:\ +export PYTHONPATH=/usr/lib/airtime/:/usr/lib/airtime/media-monitor/airtimefilemonitor/:\ /usr/lib/airtime/media-monitor/mm2/:/usr/lib/airtime/std_err_override/:/usr/lib/airtime/api_clients:$PYTHONPATH export PYTHONPATH="/usr/lib/airtime/:/usr/lib/airtime/media-monitor/mm2/" export LC_ALL=`cat /etc/default/locale | grep "LANG=" | cut -d= -f2 | tr -d "\n\""` diff --git a/python_apps/pypo/bin/airtime-playout b/python_apps/pypo/bin/airtime-playout index 1358f033f..4326e45dc 100755 --- a/python_apps/pypo/bin/airtime-playout +++ b/python_apps/pypo/bin/airtime-playout @@ -9,7 +9,7 @@ if [ "$?" != "0" ]; then fi export HOME="/var/tmp/airtime/pypo/" -export PYTHONPATH=/usr/lib/airtime/:/usr/lib/airtime/pypo/bin/:/usr/lib/airtime/pypo/bin/pypo:/usr/lib/airtime/std_err_override/:/usr/lib/airtime/api_clients:$PYTHONPATH +export PYTHONPATH=/usr/lib/airtime/:/usr/lib/airtime/pypo/bin/:/usr/lib/airtime/std_err_override/:/usr/lib/airtime/api_clients:$PYTHONPATH export LC_ALL=`cat /etc/default/locale | grep "LANG=" | cut -d= -f2 | tr -d "\n\""` export TERM=xterm diff --git a/python_apps/pypo/pypo/pypofile.py b/python_apps/pypo/pypo/pypofile.py index c636e374c..14c1b65b3 100755 --- a/python_apps/pypo/pypo/pypofile.py +++ b/python_apps/pypo/pypo/pypofile.py @@ -12,7 +12,7 @@ import stat from std_err_override import LogWriter # configure logging -logging.config.fileConfig("logging.cfg") +logging.config.fileConfig("%/logging.cfg" % os.path.dirname(os.path.realpath(__file__))) logger = logging.getLogger() LogWriter.override_std_err(logger) From 5e8c4b112f0d51301d0660023db8ad12a2bfa0c4 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Wed, 7 Jan 2015 10:54:17 -0500 Subject: [PATCH 080/168] More work on getting services working with new installer --- python_apps/pypo/pypo/pypofile.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python_apps/pypo/pypo/pypofile.py b/python_apps/pypo/pypo/pypofile.py index 14c1b65b3..7540a25b5 100755 --- a/python_apps/pypo/pypo/pypofile.py +++ b/python_apps/pypo/pypo/pypofile.py @@ -12,7 +12,7 @@ import stat from std_err_override import LogWriter # configure logging -logging.config.fileConfig("%/logging.cfg" % os.path.dirname(os.path.realpath(__file__))) +logging.config.fileConfig("%s/logging.cfg" % os.path.dirname(os.path.realpath(__file__))) logger = logging.getLogger() LogWriter.override_std_err(logger) From 05c2ecdb898adb4e6a6ac4033152a0a44fed0d2e Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Wed, 7 Jan 2015 11:46:06 -0500 Subject: [PATCH 081/168] Changed logger init to use paths relative to current file --- python_apps/media-monitor/media-monitor/mm1.py | 2 +- python_apps/pypo/pypo/pypomessagehandler.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/python_apps/media-monitor/media-monitor/mm1.py b/python_apps/media-monitor/media-monitor/mm1.py index de286994a..615b1c7d1 100755 --- a/python_apps/media-monitor/media-monitor/mm1.py +++ b/python_apps/media-monitor/media-monitor/mm1.py @@ -61,7 +61,7 @@ def configure_locale(): # configure logging try: - logging.config.fileConfig("logging.cfg") + logging.config.fileConfig("%s/logging.cfg" % os.path.dirname(os.path.realpath(__file__))) #need to wait for Python 2.7 for this.. #logging.captureWarnings(True) diff --git a/python_apps/pypo/pypo/pypomessagehandler.py b/python_apps/pypo/pypo/pypomessagehandler.py index c9f9110f5..62551b7d3 100755 --- a/python_apps/pypo/pypo/pypomessagehandler.py +++ b/python_apps/pypo/pypo/pypomessagehandler.py @@ -2,6 +2,7 @@ import logging import traceback +import os import sys from threading import Thread import time @@ -15,7 +16,7 @@ import json from std_err_override import LogWriter # configure logging -logging.config.fileConfig("logging.cfg") +logging.config.fileConfig("%s/logging.cfg" % os.path.dirname(os.path.realpath(__file__))) logger = logging.getLogger('message_h') LogWriter.override_std_err(logger) From ab96a48559bc445f317b6703b27d9f4183eb03f9 Mon Sep 17 00:00:00 2001 From: Albert Santoni Date: Wed, 7 Jan 2015 14:11:42 -0500 Subject: [PATCH 082/168] Use LXC distro templates instead of "download" template --- installer/lxc-bootstrap | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installer/lxc-bootstrap b/installer/lxc-bootstrap index aebefaba3..f0c72a698 100755 --- a/installer/lxc-bootstrap +++ b/installer/lxc-bootstrap @@ -22,7 +22,7 @@ echo "...Done" set -e echo -e "\n * Creating ${name} with dist ${dist} and release ${release}..." -lxc-create -t download -n ${name} -- --dist ${dist} --release ${release} --arch amd64 +lxc-create -t ${dist} -n ${name} -- --release ${release} --arch amd64 echo "...Done" echo -e "\n * Starting ${name}..." From 0fef350e9dbc12c175beecbcd3d6160d9a09bfbf Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Wed, 7 Jan 2015 14:25:24 -0500 Subject: [PATCH 083/168] Fixed issue with liquidsoap service starting as daemon, fixed logging issue in pypocli --- python_apps/pypo/bin/airtime-liquidsoap | 4 ++-- python_apps/pypo/pypo/pypocli.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/python_apps/pypo/bin/airtime-liquidsoap b/python_apps/pypo/bin/airtime-liquidsoap index e4723960f..18e59d896 100755 --- a/python_apps/pypo/bin/airtime-liquidsoap +++ b/python_apps/pypo/bin/airtime-liquidsoap @@ -24,9 +24,9 @@ done export HOME="/var/tmp/airtime/pypo/" if [ "$debug" = "t" ]; then - ls_path="/usr/bin/airtime-liquidsoap --verbose -f" + ls_path="/usr/bin/airtime-liquidsoap --verbose -f --debug" else - ls_path="/usr/bin/airtime-liquidsoap --verbose -f -d" + ls_path="/usr/bin/airtime-liquidsoap --verbose -f" fi export PYTHONPATH=/usr/lib/airtime/:/usr/lib/airtime/pypo/bin/:/usr/lib/airtime/std_err_override/:/usr/lib/airtime/api_clients:$PYTHONPATH diff --git a/python_apps/pypo/pypo/pypocli.py b/python_apps/pypo/pypo/pypocli.py index 9dac72105..e7dbdaad9 100755 --- a/python_apps/pypo/pypo/pypocli.py +++ b/python_apps/pypo/pypo/pypocli.py @@ -82,7 +82,7 @@ LIQUIDSOAP_MIN_VERSION = "1.1.1" # configure logging try: - logging.config.fileConfig("logging.cfg") + logging.config.fileConfig("%s/logging.cfg" % os.path.dirname(os.path.realpath(__file__))) logger = logging.getLogger() LogWriter.override_std_err(logger) except Exception, e: From e6d8a6f25ebc9adbe8a3b525b913e92f6e183b53 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Wed, 7 Jan 2015 16:04:48 -0500 Subject: [PATCH 084/168] Move upstart .conf files to directory accessible by non-privileged users --- installer/lxc-bootstrap | 2 +- python_apps/media-monitor/bin/airtime-media-monitor | 1 - python_apps/media-monitor/setup.py | 2 +- python_apps/pypo/setup.py | 2 +- 4 files changed, 3 insertions(+), 4 deletions(-) diff --git a/installer/lxc-bootstrap b/installer/lxc-bootstrap index f0c72a698..aebefaba3 100755 --- a/installer/lxc-bootstrap +++ b/installer/lxc-bootstrap @@ -22,7 +22,7 @@ echo "...Done" set -e echo -e "\n * Creating ${name} with dist ${dist} and release ${release}..." -lxc-create -t ${dist} -n ${name} -- --release ${release} --arch amd64 +lxc-create -t download -n ${name} -- --dist ${dist} --release ${release} --arch amd64 echo "...Done" echo -e "\n * Starting ${name}..." diff --git a/python_apps/media-monitor/bin/airtime-media-monitor b/python_apps/media-monitor/bin/airtime-media-monitor index 2f51e3d2c..a76b10d52 100755 --- a/python_apps/media-monitor/bin/airtime-media-monitor +++ b/python_apps/media-monitor/bin/airtime-media-monitor @@ -14,7 +14,6 @@ fi export PYTHONPATH=/usr/lib/airtime/:/usr/lib/airtime/media-monitor/airtimefilemonitor/:\ /usr/lib/airtime/media-monitor/mm2/:/usr/lib/airtime/std_err_override/:/usr/lib/airtime/api_clients:$PYTHONPATH -export PYTHONPATH="/usr/lib/airtime/:/usr/lib/airtime/media-monitor/mm2/" export LC_ALL=`cat /etc/default/locale | grep "LANG=" | cut -d= -f2 | tr -d "\n\""` exec python /usr/lib/airtime/media-monitor/media_monitor.py > /var/log/airtime/media-monitor/py-interpreter.log 2>&1 diff --git a/python_apps/media-monitor/setup.py b/python_apps/media-monitor/setup.py index c35c36131..6b4e37bdf 100755 --- a/python_apps/media-monitor/setup.py +++ b/python_apps/media-monitor/setup.py @@ -12,7 +12,7 @@ if '--no-init-script' in sys.argv: data_files = [] sys.argv.remove('--no-init-script') # super hax else: - data_files = [('/etc/init', ['install/airtime-media-monitor.conf'])] + data_files = [('/usr/share/upstart/sessions', ['install/airtime-media-monitor.conf'])] print data_files setup(name='airtime-media-monitor', diff --git a/python_apps/pypo/setup.py b/python_apps/pypo/setup.py index 955e75cce..7992d9383 100755 --- a/python_apps/pypo/setup.py +++ b/python_apps/pypo/setup.py @@ -12,7 +12,7 @@ if '--no-init-script' in sys.argv: data_files = [] sys.argv.remove('--no-init-script') # super hax else: - data_files = [('/etc/init', ['install/airtime-playout.conf', 'install/airtime-liquidsoap.conf'])] + data_files = [('/usr/share/upstart/sessions', ['install/airtime-playout.conf', 'install/airtime-liquidsoap.conf'])] print data_files setup(name='airtime-playout', From a9a59337b8647ed8d7e0031b6f3d381be0e13cee Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Wed, 7 Jan 2015 16:31:30 -0500 Subject: [PATCH 085/168] More work on running upstart services as non-privileged user --- python_apps/media-monitor/install/airtime-media-monitor.conf | 2 +- python_apps/pypo/install/airtime-liquidsoap.conf | 2 +- python_apps/pypo/install/airtime-playout.conf | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/python_apps/media-monitor/install/airtime-media-monitor.conf b/python_apps/media-monitor/install/airtime-media-monitor.conf index 20b611aa5..d4d070c98 100755 --- a/python_apps/media-monitor/install/airtime-media-monitor.conf +++ b/python_apps/media-monitor/install/airtime-media-monitor.conf @@ -12,4 +12,4 @@ setgid www-data env LANG='en_US.UTF-8' env LC_ALL='en_US.UTF-8' -exec airtime-media-monitor \ No newline at end of file +exec su -s /bin/sh -c 'exec airtime-media-monitor' www-data -- init --user \ No newline at end of file diff --git a/python_apps/pypo/install/airtime-liquidsoap.conf b/python_apps/pypo/install/airtime-liquidsoap.conf index e60835dea..fed89f275 100755 --- a/python_apps/pypo/install/airtime-liquidsoap.conf +++ b/python_apps/pypo/install/airtime-liquidsoap.conf @@ -12,4 +12,4 @@ setgid www-data env LANG='en_US.UTF-8' env LC_ALL='en_US.UTF-8' -exec airtime-liquidsoap +exec su -s /bin/sh -c 'exec airtime-liquidsoap' www-data -- init --user diff --git a/python_apps/pypo/install/airtime-playout.conf b/python_apps/pypo/install/airtime-playout.conf index 7d13a436e..2b5b8c1e1 100755 --- a/python_apps/pypo/install/airtime-playout.conf +++ b/python_apps/pypo/install/airtime-playout.conf @@ -12,4 +12,4 @@ setgid www-data env LANG='en_US.UTF-8' env LC_ALL='en_US.UTF-8' -exec airtime-playout \ No newline at end of file +exec su -s /bin/sh -c 'exec airtime-playout' www-data -- init --user \ No newline at end of file From a790527e675967fd899ce22e1bfd3701f48ae0de Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Thu, 8 Jan 2015 10:06:37 -0500 Subject: [PATCH 086/168] More work on running upstart services as non-privileged user --- installer/install | 3 +++ installer/{bin => lib}/requirements-ubuntu-saucy.apt | 0 installer/{bin => lib}/requirements-ubuntu-trusty.apt | 0 python_apps/media-monitor/install/airtime-media-monitor.conf | 2 +- python_apps/media-monitor/setup.py | 2 +- python_apps/pypo/install/airtime-liquidsoap.conf | 2 +- python_apps/pypo/install/airtime-playout.conf | 2 +- python_apps/pypo/setup.py | 2 +- 8 files changed, 8 insertions(+), 5 deletions(-) rename installer/{bin => lib}/requirements-ubuntu-saucy.apt (100%) rename installer/{bin => lib}/requirements-ubuntu-trusty.apt (100%) diff --git a/installer/install b/installer/install index 0168d5348..9873ff0d3 100755 --- a/installer/install +++ b/installer/install @@ -374,6 +374,9 @@ verbose "\n * Creating liquidsoap symlink..." ln -sf /usr/bin/liquidsoap /usr/bin/airtime-liquidsoap verbose "...Done" +sed "s@WEB_USER@${web_user}@g" ${SCRIPT_DIR}/lib/Upstart.conf > /etc/dbus-1/system.d/Upstart.conf + +service dbus restart initctl reload-configuration if [ ! -d /var/log/airtime ]; then diff --git a/installer/bin/requirements-ubuntu-saucy.apt b/installer/lib/requirements-ubuntu-saucy.apt similarity index 100% rename from installer/bin/requirements-ubuntu-saucy.apt rename to installer/lib/requirements-ubuntu-saucy.apt diff --git a/installer/bin/requirements-ubuntu-trusty.apt b/installer/lib/requirements-ubuntu-trusty.apt similarity index 100% rename from installer/bin/requirements-ubuntu-trusty.apt rename to installer/lib/requirements-ubuntu-trusty.apt diff --git a/python_apps/media-monitor/install/airtime-media-monitor.conf b/python_apps/media-monitor/install/airtime-media-monitor.conf index d4d070c98..20b611aa5 100755 --- a/python_apps/media-monitor/install/airtime-media-monitor.conf +++ b/python_apps/media-monitor/install/airtime-media-monitor.conf @@ -12,4 +12,4 @@ setgid www-data env LANG='en_US.UTF-8' env LC_ALL='en_US.UTF-8' -exec su -s /bin/sh -c 'exec airtime-media-monitor' www-data -- init --user \ No newline at end of file +exec airtime-media-monitor \ No newline at end of file diff --git a/python_apps/media-monitor/setup.py b/python_apps/media-monitor/setup.py index 6b4e37bdf..c35c36131 100755 --- a/python_apps/media-monitor/setup.py +++ b/python_apps/media-monitor/setup.py @@ -12,7 +12,7 @@ if '--no-init-script' in sys.argv: data_files = [] sys.argv.remove('--no-init-script') # super hax else: - data_files = [('/usr/share/upstart/sessions', ['install/airtime-media-monitor.conf'])] + data_files = [('/etc/init', ['install/airtime-media-monitor.conf'])] print data_files setup(name='airtime-media-monitor', diff --git a/python_apps/pypo/install/airtime-liquidsoap.conf b/python_apps/pypo/install/airtime-liquidsoap.conf index fed89f275..e60835dea 100755 --- a/python_apps/pypo/install/airtime-liquidsoap.conf +++ b/python_apps/pypo/install/airtime-liquidsoap.conf @@ -12,4 +12,4 @@ setgid www-data env LANG='en_US.UTF-8' env LC_ALL='en_US.UTF-8' -exec su -s /bin/sh -c 'exec airtime-liquidsoap' www-data -- init --user +exec airtime-liquidsoap diff --git a/python_apps/pypo/install/airtime-playout.conf b/python_apps/pypo/install/airtime-playout.conf index 2b5b8c1e1..7d13a436e 100755 --- a/python_apps/pypo/install/airtime-playout.conf +++ b/python_apps/pypo/install/airtime-playout.conf @@ -12,4 +12,4 @@ setgid www-data env LANG='en_US.UTF-8' env LC_ALL='en_US.UTF-8' -exec su -s /bin/sh -c 'exec airtime-playout' www-data -- init --user \ No newline at end of file +exec airtime-playout \ No newline at end of file diff --git a/python_apps/pypo/setup.py b/python_apps/pypo/setup.py index 7992d9383..955e75cce 100755 --- a/python_apps/pypo/setup.py +++ b/python_apps/pypo/setup.py @@ -12,7 +12,7 @@ if '--no-init-script' in sys.argv: data_files = [] sys.argv.remove('--no-init-script') # super hax else: - data_files = [('/usr/share/upstart/sessions', ['install/airtime-playout.conf', 'install/airtime-liquidsoap.conf'])] + data_files = [('/etc/init', ['install/airtime-playout.conf', 'install/airtime-liquidsoap.conf'])] print data_files setup(name='airtime-playout', From d7dd381ec35761ffe25e239f9baa8c6b7b679d10 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Thu, 8 Jan 2015 10:07:22 -0500 Subject: [PATCH 087/168] Added Upstart.conf file to give web user permission to run services --- installer/lib/Upstart.conf | 71 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 installer/lib/Upstart.conf diff --git a/installer/lib/Upstart.conf b/installer/lib/Upstart.conf new file mode 100644 index 000000000..408eaf369 --- /dev/null +++ b/installer/lib/Upstart.conf @@ -0,0 +1,71 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From 4559e3e27d0a38141a83ffc70eb04628dc150b47 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Thu, 8 Jan 2015 10:48:54 -0500 Subject: [PATCH 088/168] More work on running upstart services as non-privileged user --- installer/install | 5 +++-- installer/lib/Upstart.conf | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/installer/install b/installer/install index 9873ff0d3..0281fa058 100755 --- a/installer/install +++ b/installer/install @@ -317,8 +317,8 @@ loud "\n-----------------------------------------------------" loud " * Installing Airtime Services * " loud "-----------------------------------------------------" -verbose "\n * Installing liquidsoap and python..." -loudCmd "apt-get -y --force-yes install liquidsoap python python-pip" +verbose "\n * Installing necessary service binaries..." +loudCmd "apt-get -y --force-yes install liquidsoap python python-pip dbus" loudCmd "pip install setuptools" verbose "...Done" @@ -375,6 +375,7 @@ ln -sf /usr/bin/liquidsoap /usr/bin/airtime-liquidsoap verbose "...Done" sed "s@WEB_USER@${web_user}@g" ${SCRIPT_DIR}/lib/Upstart.conf > /etc/dbus-1/system.d/Upstart.conf +chmod 644 /etc/init/airtime* service dbus restart initctl reload-configuration diff --git a/installer/lib/Upstart.conf b/installer/lib/Upstart.conf index 408eaf369..2c59dc380 100644 --- a/installer/lib/Upstart.conf +++ b/installer/lib/Upstart.conf @@ -55,7 +55,7 @@ send_type="method_call" send_member="GetAllInstances" /> - Date: Thu, 8 Jan 2015 11:45:43 -0500 Subject: [PATCH 089/168] Updated config check to check whether background services are actually running --- airtime_mvc/build/airtime-setup/load.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/airtime_mvc/build/airtime-setup/load.php b/airtime_mvc/build/airtime-setup/load.php index d3a4a6c6c..7e3d9ff53 100755 --- a/airtime_mvc/build/airtime-setup/load.php +++ b/airtime_mvc/build/airtime-setup/load.php @@ -124,7 +124,7 @@ function checkRMQConnection() { * @return boolean true if airtime-media-monitor is running */ function checkMediaMonitorService() { - exec("initctl list | grep airtime-media-monitor", $out, $status); + exec("service airtime-media-monitor status | grep start", $out, $status); return $status == 0; } @@ -134,8 +134,8 @@ function checkMediaMonitorService() { * @return boolean true if airtime-playout is running */ function checkPlayoutService() { - exec("initctl list | grep airtime-playout", $out, $status); - return $status == 0; + exec("service airtime-playout status | grep start", $out, $status); + return $status == 0; } /** @@ -144,6 +144,6 @@ function checkPlayoutService() { * @return boolean true if airtime-liquidsoap is running */ function checkLiquidsoapService() { - exec("initctl list | grep airtime-liquidsoap", $out, $status); - return $status == 0; + exec("service airtime-liquidsoap status | grep start", $out, $status); + return $status == 0; } \ No newline at end of file From ab358274393cd7dfa9b0211049153a3c38bd909e Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Thu, 8 Jan 2015 12:56:09 -0500 Subject: [PATCH 090/168] Different approach for running airtime services as unprivileged user --- installer/install | 6 ++- installer/lib/Upstart.conf | 71 ------------------------- installer/lib/airtime-session-init.conf | 13 +++++ python_apps/media-monitor/setup.py | 2 +- python_apps/pypo/setup.py | 2 +- 5 files changed, 19 insertions(+), 75 deletions(-) delete mode 100644 installer/lib/Upstart.conf create mode 100644 installer/lib/airtime-session-init.conf diff --git a/installer/install b/installer/install index 0281fa058..2e83bd98d 100755 --- a/installer/install +++ b/installer/install @@ -374,12 +374,14 @@ verbose "\n * Creating liquidsoap symlink..." ln -sf /usr/bin/liquidsoap /usr/bin/airtime-liquidsoap verbose "...Done" -sed "s@WEB_USER@${web_user}@g" ${SCRIPT_DIR}/lib/Upstart.conf > /etc/dbus-1/system.d/Upstart.conf -chmod 644 /etc/init/airtime* +sed "s@WEB_USER@${web_user}@g;s@WEB_ROOT@${web_root}@g" ${SCRIPT_DIR}/lib/airtime-session-init.conf > /etc/init/airtime-session-init.conf +chmod 644 /etc/init/airtime/* service dbus restart initctl reload-configuration +service airtime-session-init start + if [ ! -d /var/log/airtime ]; then loud "\n-----------------------------------------------------" loud " * Installing Log Files * " diff --git a/installer/lib/Upstart.conf b/installer/lib/Upstart.conf deleted file mode 100644 index 2c59dc380..000000000 --- a/installer/lib/Upstart.conf +++ /dev/null @@ -1,71 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/installer/lib/airtime-session-init.conf b/installer/lib/airtime-session-init.conf new file mode 100644 index 000000000..7b0af74c7 --- /dev/null +++ b/installer/lib/airtime-session-init.conf @@ -0,0 +1,13 @@ +instance WEB_USER + +stop on runlevel [016] + +script + uid=WEB_USER + HOME=WEB_ROOT + + export XDG_RUNTIME_DIR="/run/airtime" + export HOME + + exec su -s /bin/sh -c 'exec "$0" "$@"' $USER -- init --user --confdir /etc/init/airtime +end script \ No newline at end of file diff --git a/python_apps/media-monitor/setup.py b/python_apps/media-monitor/setup.py index c35c36131..3f8c04444 100755 --- a/python_apps/media-monitor/setup.py +++ b/python_apps/media-monitor/setup.py @@ -12,7 +12,7 @@ if '--no-init-script' in sys.argv: data_files = [] sys.argv.remove('--no-init-script') # super hax else: - data_files = [('/etc/init', ['install/airtime-media-monitor.conf'])] + data_files = [('/etc/init/airtime', ['install/airtime-media-monitor.conf'])] print data_files setup(name='airtime-media-monitor', diff --git a/python_apps/pypo/setup.py b/python_apps/pypo/setup.py index 955e75cce..542332324 100755 --- a/python_apps/pypo/setup.py +++ b/python_apps/pypo/setup.py @@ -12,7 +12,7 @@ if '--no-init-script' in sys.argv: data_files = [] sys.argv.remove('--no-init-script') # super hax else: - data_files = [('/etc/init', ['install/airtime-playout.conf', 'install/airtime-liquidsoap.conf'])] + data_files = [('/etc/init/airtime', ['install/airtime-playout.conf', 'install/airtime-liquidsoap.conf'])] print data_files setup(name='airtime-playout', From e568013db605e3e12f0062eebd95258dd922473d Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Thu, 8 Jan 2015 13:21:08 -0500 Subject: [PATCH 091/168] More work on running services as web user --- installer/install | 8 ++------ installer/lib/airtime-session-init.conf | 2 +- installer/lxc-bootstrap | 2 +- python_apps/media-monitor/setup.py | 2 +- python_apps/pypo/setup.py | 2 +- 5 files changed, 6 insertions(+), 10 deletions(-) diff --git a/installer/install b/installer/install index 2e83bd98d..3e5d2b156 100755 --- a/installer/install +++ b/installer/install @@ -311,14 +311,12 @@ if [ "$icecast" = "t" ]; then set -e fi -# Do we want to prompt the user here? - loud "\n-----------------------------------------------------" loud " * Installing Airtime Services * " loud "-----------------------------------------------------" -verbose "\n * Installing necessary service binaries..." -loudCmd "apt-get -y --force-yes install liquidsoap python python-pip dbus" +verbose "\n * Installing necessary binaries..." +loudCmd "apt-get -y --force-yes install liquidsoap python python-pip" loudCmd "pip install setuptools" verbose "...Done" @@ -377,9 +375,7 @@ verbose "...Done" sed "s@WEB_USER@${web_user}@g;s@WEB_ROOT@${web_root}@g" ${SCRIPT_DIR}/lib/airtime-session-init.conf > /etc/init/airtime-session-init.conf chmod 644 /etc/init/airtime/* -service dbus restart initctl reload-configuration - service airtime-session-init start if [ ! -d /var/log/airtime ]; then diff --git a/installer/lib/airtime-session-init.conf b/installer/lib/airtime-session-init.conf index 7b0af74c7..d36218523 100644 --- a/installer/lib/airtime-session-init.conf +++ b/installer/lib/airtime-session-init.conf @@ -9,5 +9,5 @@ script export XDG_RUNTIME_DIR="/run/airtime" export HOME - exec su -s /bin/sh -c 'exec "$0" "$@"' $USER -- init --user --confdir /etc/init/airtime + exec su -s /bin/sh -c 'exec "$0" "$@"' WEB_USER -- init --user end script \ No newline at end of file diff --git a/installer/lxc-bootstrap b/installer/lxc-bootstrap index aebefaba3..b5e18796c 100755 --- a/installer/lxc-bootstrap +++ b/installer/lxc-bootstrap @@ -22,7 +22,7 @@ echo "...Done" set -e echo -e "\n * Creating ${name} with dist ${dist} and release ${release}..." -lxc-create -t download -n ${name} -- --dist ${dist} --release ${release} --arch amd64 +lxc-create -t ${dist} -n ${name} -- --release ${release} echo "...Done" echo -e "\n * Starting ${name}..." diff --git a/python_apps/media-monitor/setup.py b/python_apps/media-monitor/setup.py index 3f8c04444..6b4e37bdf 100755 --- a/python_apps/media-monitor/setup.py +++ b/python_apps/media-monitor/setup.py @@ -12,7 +12,7 @@ if '--no-init-script' in sys.argv: data_files = [] sys.argv.remove('--no-init-script') # super hax else: - data_files = [('/etc/init/airtime', ['install/airtime-media-monitor.conf'])] + data_files = [('/usr/share/upstart/sessions', ['install/airtime-media-monitor.conf'])] print data_files setup(name='airtime-media-monitor', diff --git a/python_apps/pypo/setup.py b/python_apps/pypo/setup.py index 542332324..7992d9383 100755 --- a/python_apps/pypo/setup.py +++ b/python_apps/pypo/setup.py @@ -12,7 +12,7 @@ if '--no-init-script' in sys.argv: data_files = [] sys.argv.remove('--no-init-script') # super hax else: - data_files = [('/etc/init/airtime', ['install/airtime-playout.conf', 'install/airtime-liquidsoap.conf'])] + data_files = [('/usr/share/upstart/sessions', ['install/airtime-playout.conf', 'install/airtime-liquidsoap.conf'])] print data_files setup(name='airtime-playout', From d81934e44c3f1b15b1382baa04f307d3b8853322 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Thu, 8 Jan 2015 14:06:28 -0500 Subject: [PATCH 092/168] Fixed bad reference path and added a note to lxc-bootstrap about weird lxc caching issue --- installer/install | 2 +- installer/lxc-bootstrap | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/installer/install b/installer/install index 3e5d2b156..f5d77db34 100755 --- a/installer/install +++ b/installer/install @@ -373,7 +373,7 @@ ln -sf /usr/bin/liquidsoap /usr/bin/airtime-liquidsoap verbose "...Done" sed "s@WEB_USER@${web_user}@g;s@WEB_ROOT@${web_root}@g" ${SCRIPT_DIR}/lib/airtime-session-init.conf > /etc/init/airtime-session-init.conf -chmod 644 /etc/init/airtime/* +chmod 644 /usr/share/upstart/sessions/airtime* initctl reload-configuration service airtime-session-init start diff --git a/installer/lxc-bootstrap b/installer/lxc-bootstrap index b5e18796c..ffe092945 100755 --- a/installer/lxc-bootstrap +++ b/installer/lxc-bootstrap @@ -21,6 +21,11 @@ lxc-destroy -n airtime-install echo "...Done" set -e +### +# ! NOTE: If you run into errors resolving the archives when running apt-get update, +# clear your /var/cache/lxc directory and retry. +### + echo -e "\n * Creating ${name} with dist ${dist} and release ${release}..." lxc-create -t ${dist} -n ${name} -- --release ${release} echo "...Done" From a9d3a8aefdb269e3299232d6e59d061a505d0988 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Thu, 8 Jan 2015 14:18:12 -0500 Subject: [PATCH 093/168] Fixed bad reference path --- installer/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/installer/install b/installer/install index f5d77db34..e55ed4640 100755 --- a/installer/install +++ b/installer/install @@ -523,7 +523,7 @@ if [ "$install_dependencies" = "t" ]; then loud "-----------------------------------------------------" verbose "\n * Reading requirements-${dist,,}-${code,,}.apt..." - loudCmd "apt-get -y -m --force-yes install $(grep -vE '^\s*#' ${SCRIPT_DIR}/bin/requirements-${dist,,}-${code,,}.apt | tr '\n' ' ')" + loudCmd "apt-get -y -m --force-yes install $(grep -vE '^\s*#' ${SCRIPT_DIR}/lib/requirements-${dist,,}-${code,,}.apt | tr '\n' ' ')" fi verbose "\n * Restarting apache..." From 1ddda846d6df72fd12b3f0cf566d978f31458c5a Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Thu, 8 Jan 2015 18:52:58 -0500 Subject: [PATCH 094/168] Updates to running background services as web user --- airtime_mvc/application/configs/config-check.php | 7 +++---- installer/install | 5 +++-- installer/lib/airtime-session-init.conf | 12 +++++++----- 3 files changed, 13 insertions(+), 11 deletions(-) mode change 100644 => 100755 installer/lib/airtime-session-init.conf diff --git a/airtime_mvc/application/configs/config-check.php b/airtime_mvc/application/configs/config-check.php index 41ed1bf17..90f0f47f8 100755 --- a/airtime_mvc/application/configs/config-check.php +++ b/airtime_mvc/application/configs/config-check.php @@ -150,10 +150,9 @@ $result = $r1 && $r2; "> - Check that the airtime-media-monitor service is installed correctly in /etc/init - and /etc/init.d, and ensure that it's running with -
sudo initctl list | grep airtime-media-monitor. If not, try -
sudo -u www-data service airtime-media-monitor restart. + Check that the airtime-media-monitor service is installed correctly in /etc/init, + and ensure that it's running in
initctl list | grep airtime-media-monitor
. + If not, try
sudo service airtime-media-monitor start
. (Replace www-data with your web user if necessary) /etc/init/airtime-session-init.conf +sed "s@WEB_USER@${web_user}@g" ${SCRIPT_DIR}/lib/airtime-session-init-setup.conf > /etc/init/airtime-session-init-setup.conf +cp ${SCRIPT_DIR}/lib/airtime-session-init.conf /etc/init/airtime-session-init.conf chmod 644 /usr/share/upstart/sessions/airtime* initctl reload-configuration -service airtime-session-init start +service airtime-session-init-setup start if [ ! -d /var/log/airtime ]; then loud "\n-----------------------------------------------------" diff --git a/installer/lib/airtime-session-init.conf b/installer/lib/airtime-session-init.conf old mode 100644 new mode 100755 index d36218523..2cbfe73b0 --- a/installer/lib/airtime-session-init.conf +++ b/installer/lib/airtime-session-init.conf @@ -1,13 +1,15 @@ -instance WEB_USER +instance $user stop on runlevel [016] script - uid=WEB_USER - HOME=WEB_ROOT + uid=$(getent passwd "$user"|cut -d: -f3) + HOME=$(getent passwd "$user"|cut -d: -f6) - export XDG_RUNTIME_DIR="/run/airtime" + export XDG_RUNTIME_DIR="/run/user/$uid" export HOME + + echo $HOME - exec su -s /bin/sh -c 'exec "$0" "$@"' WEB_USER -- init --user + exec su -s /bin/sh -c 'exec "$0" "$@"' $user -- init --user --confdir /usr/share/upstart/sessions/ end script \ No newline at end of file From 24123ef45d89c1256472ac5ec1b0249fd5732f85 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Fri, 9 Jan 2015 11:21:44 -0500 Subject: [PATCH 095/168] Added setup config file for upstart session init --- installer/lib/airtime-session-init-setup.conf | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100755 installer/lib/airtime-session-init-setup.conf diff --git a/installer/lib/airtime-session-init-setup.conf b/installer/lib/airtime-session-init-setup.conf new file mode 100755 index 000000000..a8305b182 --- /dev/null +++ b/installer/lib/airtime-session-init-setup.conf @@ -0,0 +1,22 @@ +start on runlevel [2345] +stop on runlevel [!2345] + +task + +env user=WEB_USER + +export user + +script + uid=$(getent passwd "$user"|cut -d: -f3) + gid=$(getent passwd "$user"|cut -d: -f4) + + # Create directory that would normally be + # created by PAM when a user logs in. + export XDG_RUNTIME_DIR="/run/user/$uid" + mkdir -p "$XDG_RUNTIME_DIR" + chmod 0700 "$XDG_RUNTIME_DIR" + chown "$uid:$gid" "$XDG_RUNTIME_DIR" + + start airtime-session-init user="$user" +end script From bf1355a203051bc04acb2c1482b5e10d1f914746 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 12 Jan 2015 09:48:08 -0500 Subject: [PATCH 096/168] Yet another attempt to run upstart jobs as unprivileged user --- installer/install | 8 +++---- installer/lib/airtime-session-init-setup.conf | 22 ------------------- installer/lib/airtime-session-init.conf | 15 ------------- .../install/airtime-media-monitor.conf | 5 +++-- python_apps/media-monitor/setup.py | 2 +- .../pypo/install/airtime-liquidsoap.conf | 5 +++-- python_apps/pypo/install/airtime-playout.conf | 5 +++-- python_apps/pypo/setup.py | 2 +- 8 files changed, 15 insertions(+), 49 deletions(-) delete mode 100755 installer/lib/airtime-session-init-setup.conf delete mode 100755 installer/lib/airtime-session-init.conf diff --git a/installer/install b/installer/install index a4226dbdf..7e3e89cf7 100755 --- a/installer/install +++ b/installer/install @@ -322,6 +322,7 @@ verbose "...Done" verbose "\n * Creating /usr/lib/airtime..." mkdir -p /usr/lib/airtime +mkdir -p /var/www/.init verbose "...Done" verbose "\n * Creating /run/airtime..." @@ -372,12 +373,11 @@ verbose "\n * Creating liquidsoap symlink..." ln -sf /usr/bin/liquidsoap /usr/bin/airtime-liquidsoap verbose "...Done" -sed "s@WEB_USER@${web_user}@g" ${SCRIPT_DIR}/lib/airtime-session-init-setup.conf > /etc/init/airtime-session-init-setup.conf -cp ${SCRIPT_DIR}/lib/airtime-session-init.conf /etc/init/airtime-session-init.conf -chmod 644 /usr/share/upstart/sessions/airtime* +for i in /var/www/.init/airtime*; do + sed -i 's/WEB_USER/${web_user}/g' $i +done initctl reload-configuration -service airtime-session-init-setup start if [ ! -d /var/log/airtime ]; then loud "\n-----------------------------------------------------" diff --git a/installer/lib/airtime-session-init-setup.conf b/installer/lib/airtime-session-init-setup.conf deleted file mode 100755 index a8305b182..000000000 --- a/installer/lib/airtime-session-init-setup.conf +++ /dev/null @@ -1,22 +0,0 @@ -start on runlevel [2345] -stop on runlevel [!2345] - -task - -env user=WEB_USER - -export user - -script - uid=$(getent passwd "$user"|cut -d: -f3) - gid=$(getent passwd "$user"|cut -d: -f4) - - # Create directory that would normally be - # created by PAM when a user logs in. - export XDG_RUNTIME_DIR="/run/user/$uid" - mkdir -p "$XDG_RUNTIME_DIR" - chmod 0700 "$XDG_RUNTIME_DIR" - chown "$uid:$gid" "$XDG_RUNTIME_DIR" - - start airtime-session-init user="$user" -end script diff --git a/installer/lib/airtime-session-init.conf b/installer/lib/airtime-session-init.conf deleted file mode 100755 index 2cbfe73b0..000000000 --- a/installer/lib/airtime-session-init.conf +++ /dev/null @@ -1,15 +0,0 @@ -instance $user - -stop on runlevel [016] - -script - uid=$(getent passwd "$user"|cut -d: -f3) - HOME=$(getent passwd "$user"|cut -d: -f6) - - export XDG_RUNTIME_DIR="/run/user/$uid" - export HOME - - echo $HOME - - exec su -s /bin/sh -c 'exec "$0" "$@"' $user -- init --user --confdir /usr/share/upstart/sessions/ -end script \ No newline at end of file diff --git a/python_apps/media-monitor/install/airtime-media-monitor.conf b/python_apps/media-monitor/install/airtime-media-monitor.conf index 20b611aa5..321f0270a 100755 --- a/python_apps/media-monitor/install/airtime-media-monitor.conf +++ b/python_apps/media-monitor/install/airtime-media-monitor.conf @@ -6,10 +6,11 @@ stop on runlevel [!2345] respawn -setuid www-data -setgid www-data +setuid WEB_USER +setgid WEB_USER env LANG='en_US.UTF-8' env LC_ALL='en_US.UTF-8' +env HOME='/var/www/.init' exec airtime-media-monitor \ No newline at end of file diff --git a/python_apps/media-monitor/setup.py b/python_apps/media-monitor/setup.py index 6b4e37bdf..0fe17ecc5 100755 --- a/python_apps/media-monitor/setup.py +++ b/python_apps/media-monitor/setup.py @@ -12,7 +12,7 @@ if '--no-init-script' in sys.argv: data_files = [] sys.argv.remove('--no-init-script') # super hax else: - data_files = [('/usr/share/upstart/sessions', ['install/airtime-media-monitor.conf'])] + data_files = [('/var/www/.init', ['install/airtime-media-monitor.conf'])] print data_files setup(name='airtime-media-monitor', diff --git a/python_apps/pypo/install/airtime-liquidsoap.conf b/python_apps/pypo/install/airtime-liquidsoap.conf index e60835dea..6c95ade7b 100755 --- a/python_apps/pypo/install/airtime-liquidsoap.conf +++ b/python_apps/pypo/install/airtime-liquidsoap.conf @@ -6,10 +6,11 @@ stop on runlevel [!2345] respawn -setuid www-data -setgid www-data +setuid WEB_USER +setgid WEB_USER env LANG='en_US.UTF-8' env LC_ALL='en_US.UTF-8' +env HOME='/var/www/.init' exec airtime-liquidsoap diff --git a/python_apps/pypo/install/airtime-playout.conf b/python_apps/pypo/install/airtime-playout.conf index 7d13a436e..79197443c 100755 --- a/python_apps/pypo/install/airtime-playout.conf +++ b/python_apps/pypo/install/airtime-playout.conf @@ -6,10 +6,11 @@ stop on runlevel [!2345] respawn -setuid www-data -setgid www-data +setuid WEB_USER +setgid WEB_USER env LANG='en_US.UTF-8' env LC_ALL='en_US.UTF-8' +env HOME='/var/www/.init' exec airtime-playout \ No newline at end of file diff --git a/python_apps/pypo/setup.py b/python_apps/pypo/setup.py index 7992d9383..fc5335f36 100755 --- a/python_apps/pypo/setup.py +++ b/python_apps/pypo/setup.py @@ -12,7 +12,7 @@ if '--no-init-script' in sys.argv: data_files = [] sys.argv.remove('--no-init-script') # super hax else: - data_files = [('/usr/share/upstart/sessions', ['install/airtime-playout.conf', 'install/airtime-liquidsoap.conf'])] + data_files = [('/var/www/.init', ['install/airtime-playout.conf', 'install/airtime-liquidsoap.conf'])] print data_files setup(name='airtime-playout', From 0fcac545e60a835776e9507ab2899aeb757403cc Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 12 Jan 2015 10:53:31 -0500 Subject: [PATCH 097/168] For now, just prompt users to start background services at the end of the install process --- .../build/airtime-setup/forms/finish-settings.php | 9 +++++++-- airtime_mvc/public/setup/finish-setup.php | 11 ----------- installer/install | 6 +++--- .../media-monitor/install/airtime-media-monitor.conf | 1 - python_apps/media-monitor/setup.py | 2 +- python_apps/pypo/install/airtime-liquidsoap.conf | 1 - python_apps/pypo/install/airtime-playout.conf | 1 - python_apps/pypo/setup.py | 2 +- 8 files changed, 12 insertions(+), 21 deletions(-) diff --git a/airtime_mvc/build/airtime-setup/forms/finish-settings.php b/airtime_mvc/build/airtime-setup/forms/finish-settings.php index 549cb9472..a4157bc24 100755 --- a/airtime_mvc/build/airtime-setup/forms/finish-settings.php +++ b/airtime_mvc/build/airtime-setup/forms/finish-settings.php @@ -5,8 +5,13 @@

Setup Complete!

- Looks like you're almost done! Click "Done!" to bring up the Airtime configuration checklist; if - your configuration is all green, you're ready to get started with your personal Airtime station! + Looks like you're almost done! As a final step, run the following commands from the terminal:
+ sudo service airtime-playout start, sudo service airtime-liquidsoap start, + sudo service airtime-media-monitor start. +

+

+ Click "Done!" to bring up the Airtime configuration checklist; if your configuration is all green, + you're ready to get started with your personal Airtime station!

diff --git a/airtime_mvc/public/setup/finish-setup.php b/airtime_mvc/public/setup/finish-setup.php index bcbd9e087..a6fc158c2 100755 --- a/airtime_mvc/public/setup/finish-setup.php +++ b/airtime_mvc/public/setup/finish-setup.php @@ -29,11 +29,6 @@ class FinishSetup extends Setup { $errors[] = "ERR"; } - if (empty($errors)) { - // Write service configurations for pypo and media-monitor - $this->startServices(); - } - return array( "message" => $message, "errors" => $errors, @@ -49,10 +44,4 @@ class FinishSetup extends Setup { && unlink(AIRTIME_CONF_TEMP_PATH); } - function startServices() { - exec("service airtime-media-monitor start"); - exec("service airtime-playout start"); - exec("service airtime-liquidsoap start"); - } - } \ No newline at end of file diff --git a/installer/install b/installer/install index 7e3e89cf7..a17ed2efd 100755 --- a/installer/install +++ b/installer/install @@ -322,7 +322,6 @@ verbose "...Done" verbose "\n * Creating /usr/lib/airtime..." mkdir -p /usr/lib/airtime -mkdir -p /var/www/.init verbose "...Done" verbose "\n * Creating /run/airtime..." @@ -373,8 +372,9 @@ verbose "\n * Creating liquidsoap symlink..." ln -sf /usr/bin/liquidsoap /usr/bin/airtime-liquidsoap verbose "...Done" -for i in /var/www/.init/airtime*; do - sed -i 's/WEB_USER/${web_user}/g' $i +for i in /etc/init/airtime*; do + chmod 644 $i + sed -i "s/WEB_USER/${web_user}/g" $i done initctl reload-configuration diff --git a/python_apps/media-monitor/install/airtime-media-monitor.conf b/python_apps/media-monitor/install/airtime-media-monitor.conf index 321f0270a..0afe7ebc8 100755 --- a/python_apps/media-monitor/install/airtime-media-monitor.conf +++ b/python_apps/media-monitor/install/airtime-media-monitor.conf @@ -11,6 +11,5 @@ setgid WEB_USER env LANG='en_US.UTF-8' env LC_ALL='en_US.UTF-8' -env HOME='/var/www/.init' exec airtime-media-monitor \ No newline at end of file diff --git a/python_apps/media-monitor/setup.py b/python_apps/media-monitor/setup.py index 0fe17ecc5..c35c36131 100755 --- a/python_apps/media-monitor/setup.py +++ b/python_apps/media-monitor/setup.py @@ -12,7 +12,7 @@ if '--no-init-script' in sys.argv: data_files = [] sys.argv.remove('--no-init-script') # super hax else: - data_files = [('/var/www/.init', ['install/airtime-media-monitor.conf'])] + data_files = [('/etc/init', ['install/airtime-media-monitor.conf'])] print data_files setup(name='airtime-media-monitor', diff --git a/python_apps/pypo/install/airtime-liquidsoap.conf b/python_apps/pypo/install/airtime-liquidsoap.conf index 6c95ade7b..7a975e632 100755 --- a/python_apps/pypo/install/airtime-liquidsoap.conf +++ b/python_apps/pypo/install/airtime-liquidsoap.conf @@ -11,6 +11,5 @@ setgid WEB_USER env LANG='en_US.UTF-8' env LC_ALL='en_US.UTF-8' -env HOME='/var/www/.init' exec airtime-liquidsoap diff --git a/python_apps/pypo/install/airtime-playout.conf b/python_apps/pypo/install/airtime-playout.conf index 79197443c..fe2d3c8dc 100755 --- a/python_apps/pypo/install/airtime-playout.conf +++ b/python_apps/pypo/install/airtime-playout.conf @@ -11,6 +11,5 @@ setgid WEB_USER env LANG='en_US.UTF-8' env LC_ALL='en_US.UTF-8' -env HOME='/var/www/.init' exec airtime-playout \ No newline at end of file diff --git a/python_apps/pypo/setup.py b/python_apps/pypo/setup.py index fc5335f36..955e75cce 100755 --- a/python_apps/pypo/setup.py +++ b/python_apps/pypo/setup.py @@ -12,7 +12,7 @@ if '--no-init-script' in sys.argv: data_files = [] sys.argv.remove('--no-init-script') # super hax else: - data_files = [('/var/www/.init', ['install/airtime-playout.conf', 'install/airtime-liquidsoap.conf'])] + data_files = [('/etc/init', ['install/airtime-playout.conf', 'install/airtime-liquidsoap.conf'])] print data_files setup(name='airtime-playout', From 2b882cc3130c76e723e838112649f7e3154efebd Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 12 Jan 2015 12:45:52 -0500 Subject: [PATCH 098/168] Reorder final setup steps --- .../build/airtime-setup/forms/finish-settings.php | 15 +++++++++++---- airtime_mvc/public/js/setup/setup-config.js | 8 ++------ 2 files changed, 13 insertions(+), 10 deletions(-) diff --git a/airtime_mvc/build/airtime-setup/forms/finish-settings.php b/airtime_mvc/build/airtime-setup/forms/finish-settings.php index a4157bc24..7a9338a11 100755 --- a/airtime_mvc/build/airtime-setup/forms/finish-settings.php +++ b/airtime_mvc/build/airtime-setup/forms/finish-settings.php @@ -6,21 +6,28 @@

Looks like you're almost done! As a final step, run the following commands from the terminal:
- sudo service airtime-playout start, sudo service airtime-liquidsoap start, - sudo service airtime-media-monitor start. + sudo service airtime-playout start
+ sudo service airtime-liquidsoap start
+ sudo service airtime-media-monitor start

Click "Done!" to bring up the Airtime configuration checklist; if your configuration is all green, you're ready to get started with your personal Airtime station!

+

+ If you need to re-run the web installer, just remove /etc/airtime/airtime.conf. +

-
\ No newline at end of file diff --git a/airtime_mvc/public/js/setup/setup-config.js b/airtime_mvc/public/js/setup/setup-config.js index 5ffae047c..f5926c844 100755 --- a/airtime_mvc/public/js/setup/setup-config.js +++ b/airtime_mvc/public/js/setup/setup-config.js @@ -9,12 +9,8 @@ function cleanupStep(data, e) { // If there are no errors, we can continue with // the installation process if (data.errors.length == 0) { - if ($(e.target).attr("id") == "finishSettingsForm") { - window.location.replace("/?config"); - } else { - // Call nextSlide from the submit button's context - nextSlide.call($(e.target)); - } + // Call nextSlide from the submit button's context + nextSlide.call($(e.target)); } removeOverlay(); } From 23f33cd8da7e32c0c20709df87e10e6c77fda588 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 12 Jan 2015 13:41:39 -0500 Subject: [PATCH 099/168] Reorder final setup steps --- .../airtime-setup/forms/finish-settings.php | 13 ++--- airtime_mvc/public/setup/finish-setup.php | 47 ------------------- airtime_mvc/public/setup/media-setup.php | 25 +++++++++- airtime_mvc/public/setup/setup-functions.php | 1 - 4 files changed, 28 insertions(+), 58 deletions(-) delete mode 100755 airtime_mvc/public/setup/finish-setup.php diff --git a/airtime_mvc/build/airtime-setup/forms/finish-settings.php b/airtime_mvc/build/airtime-setup/forms/finish-settings.php index 7a9338a11..9ce5358d3 100755 --- a/airtime_mvc/build/airtime-setup/forms/finish-settings.php +++ b/airtime_mvc/build/airtime-setup/forms/finish-settings.php @@ -5,10 +5,10 @@

Setup Complete!

- Looks like you're almost done! As a final step, run the following commands from the terminal:
- sudo service airtime-playout start
- sudo service airtime-liquidsoap start
- sudo service airtime-media-monitor start + Looks like you're almost done! As a final step, run the following commands from the terminal: +
sudo service airtime-playout start +
sudo service airtime-liquidsoap start +
sudo service airtime-media-monitor start

Click "Done!" to bring up the Airtime configuration checklist; if your configuration is all green, @@ -23,11 +23,8 @@ \ No newline at end of file diff --git a/airtime_mvc/public/setup/finish-setup.php b/airtime_mvc/public/setup/finish-setup.php deleted file mode 100755 index a6fc158c2..000000000 --- a/airtime_mvc/public/setup/finish-setup.php +++ /dev/null @@ -1,47 +0,0 @@ -moveAirtimeConfig()) { - $message = "Error moving airtime.conf or deleting /tmp/airtime.conf.temp!"; - $errors[] = "ERR"; - } - } else { - $message = "Failed to move airtime.conf; /etc/airtime doesn't exist!"; - $errors[] = "ERR"; - } - - return array( - "message" => $message, - "errors" => $errors, - ); - } - - /** - * Moves /tmp/airtime.conf.temp to /etc/airtime.conf and then removes it to complete setup - * @return boolean false if either of the copy or removal operations fail - */ - function moveAirtimeConfig() { - return copy(AIRTIME_CONF_TEMP_PATH, self::AIRTIME_CONF_PATH) - && unlink(AIRTIME_CONF_TEMP_PATH); - } - -} \ No newline at end of file diff --git a/airtime_mvc/public/setup/media-setup.php b/airtime_mvc/public/setup/media-setup.php index 3e9fdb450..7d5eb2dae 100755 --- a/airtime_mvc/public/setup/media-setup.php +++ b/airtime_mvc/public/setup/media-setup.php @@ -25,7 +25,8 @@ require_once(dirname(dirname( __DIR__)) . "/application/models/airtime/CcMusicDi class MediaSetup extends Setup { const MEDIA_FOLDER = "mediaFolder"; - + const AIRTIME_CONF_PATH = "/etc/airtime/airtime.conf"; + static $path; static $message = null; static $errors = array(); @@ -57,12 +58,32 @@ class MediaSetup extends Setup { self::$message = "Invalid path!"; self::$errors[] = self::MEDIA_FOLDER; } - + + // Finalize and move airtime.conf.temp + if (file_exists("/etc/airtime/")) { + if (!$this->moveAirtimeConfig()) { + $message = "Error moving airtime.conf or deleting /tmp/airtime.conf.temp!"; + $errors[] = "ERR"; + } + } else { + $message = "Failed to move airtime.conf; /etc/airtime doesn't exist!"; + $errors[] = "ERR"; + } + return array( "message" => self::$message, "errors" => self::$errors ); } + + /** + * Moves /tmp/airtime.conf.temp to /etc/airtime.conf and then removes it to complete setup + * @return boolean false if either of the copy or removal operations fail + */ + function moveAirtimeConfig() { + return copy(AIRTIME_CONF_TEMP_PATH, self::AIRTIME_CONF_PATH) + && unlink(AIRTIME_CONF_TEMP_PATH); + } /** * Add the given directory to cc_music_dirs diff --git a/airtime_mvc/public/setup/setup-functions.php b/airtime_mvc/public/setup/setup-functions.php index 80144305d..3aee279ab 100755 --- a/airtime_mvc/public/setup/setup-functions.php +++ b/airtime_mvc/public/setup/setup-functions.php @@ -83,7 +83,6 @@ require_once('database-setup.php'); require_once('rabbitmq-setup.php'); require_once('general-setup.php'); require_once('media-setup.php'); -require_once('finish-setup.php'); // If airtime.conf exists, we shouldn't be here if (!file_exists("/etc/airtime/airtime.conf")) { From d07195f0483111de09ccd7c5b5056a38551353b1 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 12 Jan 2015 14:40:22 -0500 Subject: [PATCH 100/168] Rework redirect to config page at the end of the web install --- .../airtime-setup/forms/finish-settings.php | 3 +- airtime_mvc/public/setup/setup-functions.php | 66 ++++++++++++------- 2 files changed, 42 insertions(+), 27 deletions(-) diff --git a/airtime_mvc/build/airtime-setup/forms/finish-settings.php b/airtime_mvc/build/airtime-setup/forms/finish-settings.php index 9ce5358d3..d70b5a861 100755 --- a/airtime_mvc/build/airtime-setup/forms/finish-settings.php +++ b/airtime_mvc/build/airtime-setup/forms/finish-settings.php @@ -24,7 +24,6 @@ \ No newline at end of file diff --git a/airtime_mvc/public/setup/setup-functions.php b/airtime_mvc/public/setup/setup-functions.php index 3aee279ab..115245b84 100755 --- a/airtime_mvc/public/setup/setup-functions.php +++ b/airtime_mvc/public/setup/setup-functions.php @@ -1,11 +1,12 @@ runSetup(); - } catch(AirtimeDatabaseException $e) { + } catch (AirtimeDatabaseException $e) { $response = array( - "message" => $e->getMessage(), - "errors" => $e->getErrorFields(), + "message" => $e->getMessage(), + "errors" => $e->getErrorFields() ); } - + echo json_encode($response); } } From ec601f916cc991e7ee934880d62c95e9138a6e4a Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 12 Jan 2015 14:58:15 -0500 Subject: [PATCH 101/168] Add preventDefault call to final setup page --- airtime_mvc/build/airtime-setup/forms/finish-settings.php | 1 + 1 file changed, 1 insertion(+) diff --git a/airtime_mvc/build/airtime-setup/forms/finish-settings.php b/airtime_mvc/build/airtime-setup/forms/finish-settings.php index d70b5a861..3bd33d795 100755 --- a/airtime_mvc/build/airtime-setup/forms/finish-settings.php +++ b/airtime_mvc/build/airtime-setup/forms/finish-settings.php @@ -24,6 +24,7 @@ \ No newline at end of file From 674b8c69e4317d0ff4d0bca7897cbce074d56dfd Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 12 Jan 2015 16:13:39 -0500 Subject: [PATCH 102/168] Add very basic uninstall script, move install script to root directory --- README | 4 +- installer/install => install | 24 ++--- installer/lxc-bootstrap | 2 +- .../pypo/pypo/airtime-liquidsoap-init-d | 94 ------------------- python_apps/pypo/pypo/airtime-playout-init-d | 61 ------------ uninstall | 51 ++++++++++ 6 files changed, 59 insertions(+), 177 deletions(-) rename installer/install => install (95%) delete mode 100755 python_apps/pypo/pypo/airtime-liquidsoap-init-d delete mode 100755 python_apps/pypo/pypo/airtime-playout-init-d create mode 100755 uninstall diff --git a/README b/README index 483367e88..887cc5d37 100755 --- a/README +++ b/README @@ -32,9 +32,7 @@ http://wiki.sourcefabric.org/display/CC/Airtime+Dev+Site Basic installation has two steps: -1) Run the install script, located in the Airtime/installer directory. - - cd installer +1) Run the install script, located in the Airtime root directory. For an interactive installation, run: diff --git a/installer/install b/install similarity index 95% rename from installer/install rename to install index a17ed2efd..1cdd88b3b 100755 --- a/installer/install +++ b/install @@ -8,7 +8,7 @@ if [[ $EUID -ne 0 ]]; then fi SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )" -AIRTIMEROOT="$( cd "$( dirname ${SCRIPT_DIR} )" && pwd )" +AIRTIMEROOT=${SCRIPT_DIR} showhelp () { echo "Usage: sudo bash install [options] @@ -281,7 +281,7 @@ if [ "$apache" = "t" ]; then if [ ! -f /etc/apache2/sites-available/${airtimeconfigfile} ]; then verbose "\n * Creating Apache config for Airtime..." - sed -e "s@WEB_ROOT@${web_root}@g" ${SCRIPT_DIR}/apache/airtime-vhost > /etc/apache2/sites-available/${airtimeconfigfile} + sed -e "s@WEB_ROOT@${web_root}@g" ${SCRIPT_DIR}/installer/apache/airtime-vhost > /etc/apache2/sites-available/${airtimeconfigfile} loudCmd "a2dissite 000-default" loudCmd "a2ensite airtime" else @@ -344,13 +344,7 @@ cp -R ${AIRTIMEROOT}/python_apps/media-monitor/media-monitor2 /usr/lib/airtime/m verbose "...Done" verbose "\n * Installing media-monitor..." -if [ -z web_root ]; then - python ${web_root}/python_apps/media-monitor/setup.py install -elif [ "$in_place" = "t" ]; then - python ${AIRTIMEROOT}/python_apps/media-monitor/setup.py install -else - python /usr/share/airtime/python_apps/media-monitor/setup.py install -fi +python ${AIRTIMEROOT}/python_apps/media-monitor/setup.py install verbose "...Done" verbose "\n * Copying pypo files..." @@ -359,13 +353,7 @@ cp -R ${AIRTIMEROOT}/python_apps/pypo/pypo /usr/lib/airtime/pypo/bin/ verbose "...Done" verbose "\n * Installing pypo..." -if [ -z web_root ]; then - python ${web_root}/python_apps/pypo/setup.py install -elif [ "$in_place" = "t" ]; then - python ${AIRTIMEROOT}/python_apps/pypo/setup.py install -else - python /usr/share/airtime/python_apps/pypo/setup.py install -fi +python ${AIRTIMEROOT}/python_apps/pypo/setup.py install verbose "...Done" verbose "\n * Creating liquidsoap symlink..." @@ -431,7 +419,7 @@ fi # PHP Config File for Apache if [ ! -f "/etc/php5/apache2/conf.d/airtime.ini" ]; then verbose "\n * Creating Airtime PHP config for Apache..." - cp ${SCRIPT_DIR}/php/airtime.ini /etc/php5/apache2/conf.d/airtime.ini + cp ${SCRIPT_DIR}/installer/php/airtime.ini /etc/php5/apache2/conf.d/airtime.ini else verbose "\nAirtime PHP config for Apache already exists, skipping" fi @@ -524,7 +512,7 @@ if [ "$install_dependencies" = "t" ]; then loud "-----------------------------------------------------" verbose "\n * Reading requirements-${dist,,}-${code,,}.apt..." - loudCmd "apt-get -y -m --force-yes install $(grep -vE '^\s*#' ${SCRIPT_DIR}/lib/requirements-${dist,,}-${code,,}.apt | tr '\n' ' ')" + loudCmd "apt-get -y -m --force-yes install $(grep -vE '^\s*#' ${SCRIPT_DIR}/installer/lib/requirements-${dist,,}-${code,,}.apt | tr '\n' ' ')" fi verbose "\n * Restarting apache..." diff --git a/installer/lxc-bootstrap b/installer/lxc-bootstrap index ffe092945..cdddffce6 100755 --- a/installer/lxc-bootstrap +++ b/installer/lxc-bootstrap @@ -51,7 +51,7 @@ lxc-attach -n ${name} -- git -C /usr/share/Airtime checkout 2.5.x-installer-moni echo "...Done" echo -e "\n * Running installer..." -lxc-attach -n ${name} -e -- /usr/share/Airtime/installer/install -ifapdIv +lxc-attach -n ${name} -e -- /usr/share/Airtime/install -ifapdIv echo "...Done" IP=$(lxc-info -i -n ${name} -H) diff --git a/python_apps/pypo/pypo/airtime-liquidsoap-init-d b/python_apps/pypo/pypo/airtime-liquidsoap-init-d deleted file mode 100755 index 8cfafb4eb..000000000 --- a/python_apps/pypo/pypo/airtime-liquidsoap-init-d +++ /dev/null @@ -1,94 +0,0 @@ -#!/bin/bash - -### BEGIN INIT INFO -# Provides: airtime-liquidsoap -# Required-Start: $local_fs $remote_fs $network $syslog $all -# Required-Stop: $local_fs $remote_fs $network $syslog -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Liquidsoap daemon -### END INIT INFO - -USERID=WEB_USER -GROUPID=WEB_USER -NAME="Liquidsoap Playout Engine" - -DAEMON=/usr/lib/airtime/pypo/bin/airtime-liquidsoap -PIDFILE=/var/run/airtime/airtime-liquidsoap.pid -EXEC='/usr/bin/airtime-liquidsoap' - -start () { - mkdir -p /var/log/airtime/pypo-liquidsoap - chown $USERID:$GROUPID /var/log/airtime/pypo-liquidsoap - - chown $USERID:$GROUPID /etc/airtime - touch /etc/airtime/liquidsoap.cfg - chown $USERID:$GROUPID /etc/airtime/liquidsoap.cfg - - touch $PIDFILE - chown $USERID:$GROUPID $PIDFILE - - #start-stop-daemon --start --quiet --chuid $USERID:$GROUPID \ - #--pidfile $PIDFILE --nicelevel -15 --startas $DAEMON - start-stop-daemon --start --quiet --chuid $USERID:$GROUPID \ - --startas $DAEMON --exec $EXEC -} - -stop () { - timeout --version >/dev/null 2>&1 - RESULT="$?" - - #send term signal after 10 seconds - if [ "$RESULT" = "0" ]; then - timeout -s9 10s /usr/lib/airtime/airtime_virtualenv/bin/python \ - /usr/lib/airtime/pypo/bin/liquidsoap_scripts/liquidsoap_prepare_terminate.py - else - #some earlier versions of Ubuntu (Lucid) had a different timeout - #command that takes different input parameters. - timeout 10 /usr/lib/airtime/airtime_virtualenv/bin/python \ - /usr/lib/airtime/pypo/bin/liquidsoap_scripts/liquidsoap_prepare_terminate.py - fi - # Send TERM after 5 seconds, wait at most 30 seconds. - #start-stop-daemon --stop --oknodo --retry=TERM/10/KILL/5 --quiet --pidfile $PIDFILE - start-stop-daemon --stop --oknodo --retry=TERM/10/KILL/5 --quiet --exec $EXEC - - rm -f $PIDFILE - sleep 2 -} - -case "${1:-''}" in - 'stop') - echo -n "Stopping $NAME: " - stop - echo "Done." - ;; - 'start') - echo -n "Starting $NAME: " - start - echo "Done." - ;; - 'restart') - echo -n "Restarting $NAME: " - stop - start - echo "Done." - ;; - - 'status') - if [ -f "$PIDFILE" ]; then - pid=`cat $PIDFILE` - if [ -d "/proc/$pid" ]; then - echo "$NAME is running" - exit 0 - fi - fi - echo "$NAME is not running" - exit 1 - ;; - - *) # no parameter specified - echo "Usage: $SELF start|stop|restart|status" - exit 1 - ;; - -esac diff --git a/python_apps/pypo/pypo/airtime-playout-init-d b/python_apps/pypo/pypo/airtime-playout-init-d deleted file mode 100755 index adb223626..000000000 --- a/python_apps/pypo/pypo/airtime-playout-init-d +++ /dev/null @@ -1,61 +0,0 @@ -#!/bin/bash - -### BEGIN INIT INFO -# Provides: airtime-playout -# Required-Start: $local_fs $remote_fs $network $syslog $all -# Required-Stop: $local_fs $remote_fs $network $syslog -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Manage airtime-playout daemon -### END INIT INFO - -USERID=WEB_USER -NAME="Airtime Scheduler" - -DAEMON=/usr/lib/airtime/pypo/bin/airtime-playout -PIDFILE=/var/run/airtime/airtime-playout.pid - -start () { - mkdir -p /var/log/airtime/pypo - - start-stop-daemon --start --background --quiet --chuid $USERID:$USERID \ - --make-pidfile --pidfile $PIDFILE --startas $DAEMON -} - -stop () { - # Send TERM after 5 seconds, wait at most 30 seconds. - start-stop-daemon --stop --oknodo --retry TERM/5/0/30 --quiet --pidfile $PIDFILE - rm -f $PIDFILE -} - -case "${1:-''}" in - 'start') - # start commands here - echo -n "Starting $NAME: " - start - echo "Done." - ;; - 'stop') - # stop commands here - echo -n "Stopping $NAME: " - stop - echo "Done." - ;; - 'restart') - # restart commands here - echo -n "Restarting $NAME: " - stop - start - echo "Done." - ;; - - 'status') - # status commands here - /usr/bin/airtime-check-system - ;; - *) # no parameter specified - echo "Usage: $SELF start|stop|restart|status" - exit 1 - ;; - -esac diff --git a/uninstall b/uninstall new file mode 100755 index 000000000..f72e0ff6f --- /dev/null +++ b/uninstall @@ -0,0 +1,51 @@ +#!/bin/bash -e +#-e Causes bash script to exit if any of the installers +#return with a non-zero return value. + +if [[ $EUID -ne 0 ]]; then + echo "Please run as root user." + exit 1 +fi + +SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )" +AIRTIMEROOT=${SCRIPT_DIR} + +FILES=( + "/etc/airtime" + "/var/log/airtime" + "/usr/lib/airtime" + "/usr/share/airtime" + "/etc/init/airtime*" + "/usr/bin/airtime*" + "/etc/apache2/sites-available/airtime*" + "pip airtime-playout" + "pip airtime-media-monitor" + ) + +echo -e "The following files, directories, and services will be removed:\n" +for i in ${FILES[*]}; do + echo $i +done + +echo -e "\nThis will permanently remove Airtime and all related files from your computer. \ +Any files in Airtime directories will be deleted. Are you sure you want to proceed? (Y/n): \c" +read IN +if [[ ! ( "$IN" = "y" || "$IN" = "Y" ) ]]; then + exit 0 +fi + +echo "Uninstalling Airtime..." +rm -rf /etc/airtime +rm -rf /var/log/airtime/ +rm -rf /usr/lib/airtime/ + +rm -rf /usr/share/airtime + +rm -f /etc/init/airtime* +rm -f /usr/bin/airtime* + +rm -f /etc/apache2/sites-enabled/airtime* +rm -f /etc/apache2/sites-available/airtime* + +pip uninstall -y airtime-playout airtime-media-monitor +echo "...Done" \ No newline at end of file From e7490d6b2d8b1f3d4c69c9d0fa30cdd2fcc9e42a Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Tue, 13 Jan 2015 12:28:36 -0500 Subject: [PATCH 103/168] Fixed lxc-bootstrap to make a shallow clone, updated uninstall script, added initial debian wheezy requirements file --- install | 3 +- installer/lib/requirements-debian-wheezy.apt | 46 ++++++++++++++++++++ installer/lxc-bootstrap | 6 +-- uninstall | 40 +++++++++++++++-- 4 files changed, 85 insertions(+), 10 deletions(-) create mode 100644 installer/lib/requirements-debian-wheezy.apt diff --git a/install b/install index 1cdd88b3b..41261158e 100755 --- a/install +++ b/install @@ -25,7 +25,8 @@ showhelp () { -d, --install-dependencies Install binary dependencies -w, --web-user=WEB_USER - Set the default apache web user + Set the apache web user. Defaults to www-data. Only change + this setting if you've changed the default apache web user -r, --web-root=WEB_ROOT Set the web root for Airtime files This will copy the Airtime application files and make them diff --git a/installer/lib/requirements-debian-wheezy.apt b/installer/lib/requirements-debian-wheezy.apt new file mode 100644 index 000000000..b4fd8562f --- /dev/null +++ b/installer/lib/requirements-debian-wheezy.apt @@ -0,0 +1,46 @@ +php-pear +php5-gd + +odbc-postgresql + +python +python-virtualenv + +libsoundtouch-ocaml +libtaglib-ocaml +libao-ocaml +libmad-ocaml +ecasound +libesd0 +libportaudio2 +libsamplerate0 +libvo-aacenc0 + +patch + +php5-curl +mpg123 + +libcamomile-ocaml-data +libpulse0 +vorbis-tools +lsb-release +lsof +mp3gain +vorbisgain +flac +vorbis-tools +pwgen +libfaad2 +php-apc + +libmp3lame-dev +lame + +libzend-framework-php + +coreutils + +sourcefabric-keyring +silan +libopus0 \ No newline at end of file diff --git a/installer/lxc-bootstrap b/installer/lxc-bootstrap index cdddffce6..e5add84c7 100755 --- a/installer/lxc-bootstrap +++ b/installer/lxc-bootstrap @@ -43,11 +43,7 @@ lxc-attach -n ${name} -e -- apt-get -y --force-yes install git echo "...Done" echo -e "\n * Cloning Airtime..." -lxc-attach -n ${name} -- git clone https://github.com/sourcefabric/Airtime.git /usr/share/Airtime -echo "...Done" - -echo -e "\n * Checking out installer branch..." -lxc-attach -n ${name} -- git -C /usr/share/Airtime checkout 2.5.x-installer-monitless +lxc-attach -n ${name} -- git clone https://github.com/sourcefabric/Airtime.git /usr/share/Airtime --branch 2.5.x-installer-monitless --depth 1 echo "...Done" echo -e "\n * Running installer..." diff --git a/uninstall b/uninstall index f72e0ff6f..e889c6568 100755 --- a/uninstall +++ b/uninstall @@ -1,16 +1,40 @@ #!/bin/bash -e -#-e Causes bash script to exit if any of the installers -#return with a non-zero return value. +# -e Causes bash script to exit if any of the steps +# return with a non-zero return value. if [[ $EUID -ne 0 ]]; then echo "Please run as root user." exit 1 fi +getStorDirFromDatabase() { + # here-doc to execute this block as postgres user + su postgres <<'EOF' + set +e + result=$(psql -d airtime -tAc "SELECT directory FROM cc_music_dirs WHERE type='stor'") + set -e +# don't indent this! +EOF + echo $result +} + +dropAirtimeDatabase() { + # here-doc to execute this block as postgres user + su postgres <<'EOF' + set +e + psql -d postgres -tAc "DROP DATABASE IF EXISTS airtime; DROP USER IF EXISTS airtime;" + set -e +# don't indent this! +EOF +} + SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )" AIRTIMEROOT=${SCRIPT_DIR} +STOR_DIR=$(getStorDirFromDatabase) + FILES=( + "${STOR_DIR}" "/etc/airtime" "/var/log/airtime" "/usr/lib/airtime" @@ -27,13 +51,19 @@ for i in ${FILES[*]}; do echo $i done -echo -e "\nThis will permanently remove Airtime and all related files from your computer. \ -Any files in Airtime directories will be deleted. Are you sure you want to proceed? (Y/n): \c" +echo -e "\nThis will *permanently* remove Airtime and all related files from your computer. \ +Any files in Airtime directories and subdirectories will be deleted. Are you sure you want to proceed? (Y/n): \c" read IN if [[ ! ( "$IN" = "y" || "$IN" = "Y" ) ]]; then exit 0 fi +echo -e "\nAre you sure you want to remove your music storage directory ${STOR_DIR} and all of its subdirectories? (Y/n): \c" +read IN +if [[ "$IN" = "y" || "$IN" = "Y" ]]; then + rm -rf ${STOR_DIR} +fi + echo "Uninstalling Airtime..." rm -rf /etc/airtime rm -rf /var/log/airtime/ @@ -47,5 +77,7 @@ rm -f /usr/bin/airtime* rm -f /etc/apache2/sites-enabled/airtime* rm -f /etc/apache2/sites-available/airtime* +dropAirtimeDatabase + pip uninstall -y airtime-playout airtime-media-monitor echo "...Done" \ No newline at end of file From b82391b931363a8465fd06a54fd5843120459be0 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Tue, 13 Jan 2015 12:48:27 -0500 Subject: [PATCH 104/168] Fixed spacing in README --- README | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/README b/README index 887cc5d37..199acbb42 100755 --- a/README +++ b/README @@ -38,10 +38,11 @@ For an interactive installation, run: sudo ./install -The installer will then prompt you about how you want to set up your Airtime installation. +The installer will then prompt you about how you want to set up your Airtime +installation. -For a simple full installation (do this if you're installing Airtime from scratch and don't have any of your own -configuration set up), run +For a simple full installation (do this if you're installing Airtime from +scratch and don't have any of your own configuration set up), run sudo ./install -fiapd @@ -53,21 +54,24 @@ What this means: -p - create a default Airtime postgres user -d - install binary dependencies needed for Airtime -This will install all components necessary for Airtime, and set up /usr/share/airtime as your -web root (where apache looks for your Airtime files). +This will install all components necessary for Airtime, and set up +/usr/share/airtime as your web root (where apache looks for your Airtime files) There are several options for installation - to see them all, run sudo ./install --help -2) Once you've run the installer, navigate to localhost/ (if you have a custom apache configuration, navigate to -your Airtime web host) to run an interactive setup. +2) Once you've run the installer, navigate to localhost/ (if you have a custom +apache configuration, navigate to your Airtime web host) to run an interactive +setup. -If you just want to run Airtime with default settings, you won't need to change anything, but if you have any custom -configuration settings you'll be able to specify them. +If you just want to run Airtime with default settings, you won't need to change +anything, but if you have any custom configuration settings you'll be able to +specify them. -Once you finish the setup process, you'll be presented with a configuration checklist so you can ensure that -your Airtime installation is working correctly. If anything was mis-configured, the checklist will provide some +Once you finish the setup process, you'll be presented with a configuration +checklist so you can ensure that your Airtime installation is working +correctly. If anything was mis-configured, the checklist will provide some . helpful tips to resolve the issue. If your checklist is all green, you're ready to get started with Airtime! From 3908e82667571a85c54e934c93dfebf0db0f72a4 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Tue, 13 Jan 2015 15:14:56 -0500 Subject: [PATCH 105/168] Add apt.sourcefabric.org to apt sources.list, remove incorrect packages from debian requirements.apt --- install | 16 +++++++++++++--- installer/lib/requirements-debian-wheezy.apt | 2 -- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/install b/install index 41261158e..15c03dd6f 100755 --- a/install +++ b/install @@ -229,9 +229,6 @@ if [ -z web_root -a ! -d web_root ]; then exit 1 fi -dist=`lsb_release -is` -code=`lsb_release -cs` - echo -e "\n _____ .________________________.___ _____ ___________ " echo " / _ \ | \______ \__ ___/| | / \ \_ _____/ " echo " / /_\ \| || _/ | | | |/ \ / \ | __)_ " @@ -247,6 +244,19 @@ if [ "$apache" = "f" -a ${_i} -eq 1 ]; then fi fi +loudCmd "apt-get install -y --force-yes lsb-release" + +dist=`lsb_release -is` +code=`lsb_release -cs` +set +e +grep -E "deb +http://apt.sourcefabric.org/? +$code +main" /etc/apt/sources.list +returncode=$? +set -e +if [ "$returncode" != "0" ]; then + echo "deb http://apt.sourcefabric.org/ $code main" >> /etc/apt/sources.list + apt-get update +fi + if [ "$in_place" = "t" ]; then verbose "\n * Setting current Airtime directory as web root..." web_root=${AIRTIMEROOT}/airtime_mvc/public diff --git a/installer/lib/requirements-debian-wheezy.apt b/installer/lib/requirements-debian-wheezy.apt index b4fd8562f..30df184f1 100644 --- a/installer/lib/requirements-debian-wheezy.apt +++ b/installer/lib/requirements-debian-wheezy.apt @@ -37,8 +37,6 @@ php-apc libmp3lame-dev lame -libzend-framework-php - coreutils sourcefabric-keyring From 9f6bd33076f8b2d19dda9c0cc01e374a59d9b5be Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Tue, 13 Jan 2015 15:50:01 -0500 Subject: [PATCH 106/168] Fix returning stor directory from database in uninstall, work on getting lxc-bootstrap working with debian --- installer/lxc-bootstrap | 4 ++-- uninstall | 10 ++++++---- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/installer/lxc-bootstrap b/installer/lxc-bootstrap index e5add84c7..c361d46b5 100755 --- a/installer/lxc-bootstrap +++ b/installer/lxc-bootstrap @@ -35,11 +35,11 @@ lxc-start -n ${name} -d echo "...Done" echo -e "\n * Running apt update..." -lxc-attach -n ${name} -e -- apt-get update +lxc-attach -n ${name} -- apt-get update echo "...Done" echo -e "\n * Installing git..." -lxc-attach -n ${name} -e -- apt-get -y --force-yes install git +lxc-attach -n ${name} -- apt-get -y --force-yes install git echo "...Done" echo -e "\n * Cloning Airtime..." diff --git a/uninstall b/uninstall index e889c6568..ab0f667fa 100755 --- a/uninstall +++ b/uninstall @@ -9,12 +9,12 @@ fi getStorDirFromDatabase() { # here-doc to execute this block as postgres user - su postgres <<'EOF' + result=`su postgres <<'EOF' set +e - result=$(psql -d airtime -tAc "SELECT directory FROM cc_music_dirs WHERE type='stor'") + echo $(psql -d airtime -tAc "SELECT directory FROM cc_music_dirs WHERE type='stor'") set -e # don't indent this! -EOF +EOF` echo $result } @@ -22,7 +22,9 @@ dropAirtimeDatabase() { # here-doc to execute this block as postgres user su postgres <<'EOF' set +e - psql -d postgres -tAc "DROP DATABASE IF EXISTS airtime; DROP USER IF EXISTS airtime;" + # DROP DATABASE cannot be executed from a function or multi-command string + psql -d postgres -tAc "DROP DATABASE IF EXISTS airtime" + psql -d postgres -tAc "DROP USER IF EXISTS airtime" set -e # don't indent this! EOF From 8535c82b7f7690cfc8b20041eb2e89d7292aa2e6 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Tue, 13 Jan 2015 17:40:31 -0500 Subject: [PATCH 107/168] Move changing ownership for cases when installing overtop of existing Airtime install --- install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install b/install index 15c03dd6f..e1143f45d 100755 --- a/install +++ b/install @@ -501,8 +501,8 @@ if [ ! -d "/etc/airtime" ]; then verbose "\n * Creating /etc/airtime/ directory..." mkdir /etc/airtime - chown -R ${web_user}:${web_user} /etc/airtime fi +chown -R ${web_user}:${web_user} /etc/airtime if [ ! -d "/srv/airtime" ]; then mkdir -p /srv/airtime From df2576e5a0a1400091d95fb4277ce64ec828ed13 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Wed, 14 Jan 2015 16:11:49 -0500 Subject: [PATCH 108/168] Updated installer to better accommodate running over existing installs --- .../application/configs/config-check.php | 24 ++++++------- install | 34 ++++++++++++------- installer/lib/requirements-debian-wheezy.apt | 0 python_apps/api_clients/api_client.py | 2 +- 4 files changed, 33 insertions(+), 27 deletions(-) mode change 100644 => 100755 installer/lib/requirements-debian-wheezy.apt diff --git a/airtime_mvc/application/configs/config-check.php b/airtime_mvc/application/configs/config-check.php index 90f0f47f8..8b083ba48 100755 --- a/airtime_mvc/application/configs/config-check.php +++ b/airtime_mvc/application/configs/config-check.php @@ -151,9 +151,9 @@ $result = $r1 && $r2; } else { ?>"> Check that the airtime-media-monitor service is installed correctly in /etc/init, - and ensure that it's running in
initctl list | grep airtime-media-monitor
. - If not, try
sudo service airtime-media-monitor start
. - (Replace www-data with your web user if necessary) + and ensure that it's running with +
initctl list | grep airtime-media-monitor
+ If not, try
sudo service airtime-media-monitor start @@ -170,11 +170,10 @@ $result = $r1 && $r2; "> - Check that the airtime-playout service is installed correctly in /etc/init - and /etc/init.d, and ensure that it's running with -
sudo initctl list | grep airtime-playout. If not, try -
sudo -u www-data service airtime-playout restart. - (Replace www-data with your web user if necessary) + Check that the airtime-playout service is installed correctly in /etc/init, + and ensure that it's running with +
sudo initctl list | grep airtime-playout
+ If not, try
sudo service airtime-playout restart @@ -191,11 +190,10 @@ $result = $r1 && $r2; "> - Check that the airtime-liquidsoap service is installed correctly in /etc/init - and /etc/init.d, and ensure that it's running with -
sudo initctl list | grep airtime-liquidsoap. If not, try -
sudo -u www-data service airtime-liquidsoap restart. - (Replace www-data with your web user if necessary) + Check that the airtime-liquidsoap service is installed correctly in /etc/init, + and ensure that it's running with +
sudo initctl list | grep airtime-liquidsoap
+ If not, try
sudo service airtime-liquidsoap restart diff --git a/install b/install index e1143f45d..64f5ddcfe 100755 --- a/install +++ b/install @@ -236,6 +236,14 @@ echo "/ | \ || | \ | | | / Y \| \ " echo "\____|__ /___||____|_ / |____| |___\____|__ /_______ / " echo -e " \/ \/ \/ \/ \n" +if [ -f /etc/airtime/airtime.conf ]; then + # If we don't remove the existing python files in /usr/lib, services won't work properly + rm -rf /usr/lib/airtime/ + echo -e "Existing Airtime installation detected. Your current /etc/airtime/airtime.conf\ +will be moved to /etc/airtime/airtime.conf.bak" + mv /etc/airtime/airtime.conf /etc/airtime/airtime.conf.bak +fi + if [ "$apache" = "f" -a ${_i} -eq 1 ]; then echo -e "Install default Airtime apache configuration? (Y/n): \c" read IN @@ -342,15 +350,15 @@ chown -R ${web_user}:${web_user} /run/airtime verbose "...Done" verbose "\n * Copying logging files..." -cp -R ${AIRTIMEROOT}/python_apps/std_err_override /usr/lib/airtime/std_err_override +cp -R ${AIRTIMEROOT}/python_apps/std_err_override /usr/lib/airtime/ verbose "...Done" verbose "\n * Copying API client files..." -cp -R ${AIRTIMEROOT}/python_apps/api_clients /usr/lib/airtime/api_clients +cp -R ${AIRTIMEROOT}/python_apps/api_clients /usr/lib/airtime/ verbose "...Done" verbose "\n * Copying media-monitor files..." -cp -R ${AIRTIMEROOT}/python_apps/media-monitor/media-monitor /usr/lib/airtime/media-monitor +cp -R ${AIRTIMEROOT}/python_apps/media-monitor/media-monitor /usr/lib/airtime/ cp -R ${AIRTIMEROOT}/python_apps/media-monitor/media-monitor2 /usr/lib/airtime/media-monitor/mm2 verbose "...Done" @@ -396,21 +404,21 @@ if [ ! -d /var/log/airtime ]; then mkdir -p /var/tmp/airtime/pypo/tmp/ mkdir -p /var/tmp/airtime/show-recorder/ - verbose "\n * Setting permissions on /var/log/airtime..." - chmod -R a+x /var/log/airtime - chown -R ${web_user}:${web_user} /var/log/airtime/ - - verbose "\n * Setting permissions on /var/tmp/airtime..." - chmod -R a+x /var/tmp/airtime - chmod 755 /usr/lib/airtime/pypo/bin/liquidsoap_scripts/notify.sh - chown -R ${web_user}:${web_user} /var/tmp/airtime/ - chown -R ${web_user}:${web_user} /usr/lib/airtime/ - verbose "\n * Copying logrotate files..." cp ${AIRTIMEROOT}/airtime_mvc/build/airtime-php.logrotate /etc/logrotate.d/airtime-php cp /usr/lib/airtime/pypo/bin/liquidsoap_scripts/airtime-liquidsoap.logrotate /etc/logrotate.d/airtime-liquidsoap fi +verbose "\n * Setting permissions on /var/log/airtime..." +chmod -R a+x /var/log/airtime +chown -R ${web_user}:${web_user} /var/log/airtime/ + +verbose "\n * Setting permissions on /var/tmp/airtime..." +chmod -R a+x /var/tmp/airtime +chmod 755 /usr/lib/airtime/pypo/bin/liquidsoap_scripts/notify.sh +chown -R ${web_user}:${web_user} /var/tmp/airtime/ +chown -R ${web_user}:${web_user} /usr/lib/airtime/ + loud "\n-----------------------------------------------------" loud " * Installing PHP * " loud "-----------------------------------------------------" diff --git a/installer/lib/requirements-debian-wheezy.apt b/installer/lib/requirements-debian-wheezy.apt old mode 100644 new mode 100755 diff --git a/python_apps/api_clients/api_client.py b/python_apps/api_clients/api_client.py index c3b1431d0..6710c959b 100755 --- a/python_apps/api_clients/api_client.py +++ b/python_apps/api_clients/api_client.py @@ -84,7 +84,7 @@ api_config['update_stream_setting_table'] = 'update-stream-setting-table/api_key api_config['get_files_without_silan_value'] = 'get-files-without-silan-value/api_key/%%api_key%%' api_config['update_cue_values_by_silan'] = 'update-cue-values-by-silan/api_key/%%api_key%%' api_config['api_base'] = 'api' -api_config['bin_dir'] = '/usr/lib/airtime/api_clients' +api_config['bin_dir'] = '/usr/lib/airtime/api_clients/' From f7c1b6f755a573d62de82ffec93925c3730860d0 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Wed, 14 Jan 2015 16:27:45 -0500 Subject: [PATCH 109/168] Updated override process for existing airtime installs --- install | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/install b/install index 64f5ddcfe..2be6ce3b1 100755 --- a/install +++ b/install @@ -237,11 +237,22 @@ echo "\____|__ /___||____|_ / |____| |___\____|__ /_______ / " echo -e " \/ \/ \/ \/ \n" if [ -f /etc/airtime/airtime.conf ]; then - # If we don't remove the existing python files in /usr/lib, services won't work properly - rm -rf /usr/lib/airtime/ - echo -e "Existing Airtime installation detected. Your current /etc/airtime/airtime.conf\ + set +e + verbose "Stopping airtime services..." + service airtime-playout stop-with-monit + service airtime-media-monitor stop-with-monit + service airtime-liquidsoap stop-with-monit + verbose "...Done" + + echo "Existing Airtime installation detected. Your current /etc/airtime/airtime.conf\ will be moved to /etc/airtime/airtime.conf.bak" + # If we don't remove the existing python files in /usr/lib and the + # /etc/init.d startup scripts, services won't work properly + rm -rf /usr/lib/airtime/ + rm /etc/init.d/airtime-* + mv /etc/airtime/airtime.conf /etc/airtime/airtime.conf.bak + set -e fi if [ "$apache" = "f" -a ${_i} -eq 1 ]; then @@ -328,6 +339,7 @@ if [ "$icecast" = "t" ]; then set +e service icecast2 start set -e + verbose "...Done" fi loud "\n-----------------------------------------------------" From f40d88b192fef11bfb63072bd55f522108d9272b Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Wed, 14 Jan 2015 16:53:19 -0500 Subject: [PATCH 110/168] Updated installer to better accommodate running over existing installs --- install | 9 ++++++++- uninstall | 1 + 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/install b/install index 2be6ce3b1..803ad5f9e 100755 --- a/install +++ b/install @@ -250,6 +250,13 @@ will be moved to /etc/airtime/airtime.conf.bak" # /etc/init.d startup scripts, services won't work properly rm -rf /usr/lib/airtime/ rm /etc/init.d/airtime-* + # If the user selects an "in-place" install or passes in a web root, + # we need to replace the old apache airtime.conf + rm /etc/apache2/sites-available/airtime.conf + + if [ -d /usr/share/airtime -a web_root = /usr/share/airtime ]; then + rm -rf /usr/share/airtime + fi mv /etc/airtime/airtime.conf /etc/airtime/airtime.conf.bak set -e @@ -526,8 +533,8 @@ chown -R ${web_user}:${web_user} /etc/airtime if [ ! -d "/srv/airtime" ]; then mkdir -p /srv/airtime - chown -R ${web_user}:${web_user} /srv/airtime fi +chown -R ${web_user}:${web_user} /srv/airtime if [ "$install_dependencies" = "f" -a ${_i} -eq 1 ]; then echo -e "Install external binary dependencies? (Y/n): \c" diff --git a/uninstall b/uninstall index ab0f667fa..ccc21aa04 100755 --- a/uninstall +++ b/uninstall @@ -52,6 +52,7 @@ echo -e "The following files, directories, and services will be removed:\n" for i in ${FILES[*]}; do echo $i done +echo -e "\nIf your web root is not listed, you will need to manually remove it." echo -e "\nThis will *permanently* remove Airtime and all related files from your computer. \ Any files in Airtime directories and subdirectories will be deleted. Are you sure you want to proceed? (Y/n): \c" From 380ec412019043a8a00434b9c40e50ea18d216b1 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Wed, 14 Jan 2015 18:07:33 -0500 Subject: [PATCH 111/168] Removed Skip this step buttons in web installer, removed opus plugins from requirements.apt files --- .../airtime-setup/forms/database-settings.php | 5 ++++- .../airtime-setup/forms/general-settings.php | 1 - .../build/airtime-setup/forms/media-settings.php | 1 - .../airtime-setup/forms/rabbitmq-settings.php | 1 - installer/lib/requirements-ubuntu-saucy.apt | 1 - installer/lib/requirements-ubuntu-trusty.apt | 15 +++++++++++++++ 6 files changed, 19 insertions(+), 5 deletions(-) diff --git a/airtime_mvc/build/airtime-setup/forms/database-settings.php b/airtime_mvc/build/airtime-setup/forms/database-settings.php index 4bc93ff8b..a97bc672d 100755 --- a/airtime_mvc/build/airtime-setup/forms/database-settings.php +++ b/airtime_mvc/build/airtime-setup/forms/database-settings.php @@ -4,6 +4,10 @@

Database Settings

+

+ Enter your Airtime database settings here. Empty or non-existent database names will be created and populated + if the given user has administrative permissions in postgres. +

@@ -27,7 +31,6 @@
-
diff --git a/airtime_mvc/build/airtime-setup/forms/general-settings.php b/airtime_mvc/build/airtime-setup/forms/general-settings.php index dbfbb570a..f15e06d5a 100755 --- a/airtime_mvc/build/airtime-setup/forms/general-settings.php +++ b/airtime_mvc/build/airtime-setup/forms/general-settings.php @@ -23,7 +23,6 @@
-
diff --git a/airtime_mvc/build/airtime-setup/forms/media-settings.php b/airtime_mvc/build/airtime-setup/forms/media-settings.php index fb74542ea..bc3b02761 100755 --- a/airtime_mvc/build/airtime-setup/forms/media-settings.php +++ b/airtime_mvc/build/airtime-setup/forms/media-settings.php @@ -20,7 +20,6 @@
-
diff --git a/airtime_mvc/build/airtime-setup/forms/rabbitmq-settings.php b/airtime_mvc/build/airtime-setup/forms/rabbitmq-settings.php index f82eb4bbe..f287c6bb5 100755 --- a/airtime_mvc/build/airtime-setup/forms/rabbitmq-settings.php +++ b/airtime_mvc/build/airtime-setup/forms/rabbitmq-settings.php @@ -50,7 +50,6 @@
-
diff --git a/installer/lib/requirements-ubuntu-saucy.apt b/installer/lib/requirements-ubuntu-saucy.apt index e7c7442d9..2bec0a3c0 100755 --- a/installer/lib/requirements-ubuntu-saucy.apt +++ b/installer/lib/requirements-ubuntu-saucy.apt @@ -50,7 +50,6 @@ liquidsoap-plugin-icecast liquidsoap-plugin-lame liquidsoap-plugin-mad liquidsoap-plugin-ogg -liquidsoap-plugin-opus liquidsoap-plugin-portaudio liquidsoap-plugin-pulseaudio liquidsoap-plugin-taglib diff --git a/installer/lib/requirements-ubuntu-trusty.apt b/installer/lib/requirements-ubuntu-trusty.apt index e02f588a7..f5be8df10 100755 --- a/installer/lib/requirements-ubuntu-trusty.apt +++ b/installer/lib/requirements-ubuntu-trusty.apt @@ -40,5 +40,20 @@ libzend-framework-php coreutils +liquidsoap-plugin-alsa +liquidsoap-plugin-ao +liquidsoap-plugin-faad +liquidsoap-plugin-flac +liquidsoap-plugin-icecast +liquidsoap-plugin-lame +liquidsoap-plugin-mad +liquidsoap-plugin-ogg +liquidsoap-plugin-portaudio +liquidsoap-plugin-pulseaudio +liquidsoap-plugin-taglib +liquidsoap-plugin-voaacenc +liquidsoap-plugin-vorbis + +sourcefabric-keyring silan libopus0 \ No newline at end of file From 3452e13f5e81c7fc30c9d874d07b38a61110fb79 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Wed, 14 Jan 2015 19:37:22 -0500 Subject: [PATCH 112/168] Added locale generation to the installer --- install | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/install b/install index 803ad5f9e..4f7ee7ec1 100755 --- a/install +++ b/install @@ -244,7 +244,7 @@ if [ -f /etc/airtime/airtime.conf ]; then service airtime-liquidsoap stop-with-monit verbose "...Done" - echo "Existing Airtime installation detected. Your current /etc/airtime/airtime.conf\ + echo "Existing Airtime installation detected. Your current /etc/airtime/airtime.conf \ will be moved to /etc/airtime/airtime.conf.bak" # If we don't remove the existing python files in /usr/lib and the # /etc/init.d startup scripts, services won't work properly @@ -544,6 +544,28 @@ if [ "$install_dependencies" = "f" -a ${_i} -eq 1 ]; then fi fi +loud "\n-----------------------------------------------------" +loud " * Installing Locales * " +loud "-----------------------------------------------------" + +set +e +verbose "Generating locales" +for i in `ls /usr/share/airtime/locale | grep ".._.."`; do + if [ "$dist" = "Debian" ]; then + grep -qi "^$i" /etc/locale.gen + if [ $? -ne 0 ]; then + verbose "$i.UTF-8 UTF-8" >> /etc/locale.gen + fi + else + locale-gen "$i.utf8" + fi +done +set -e + +if [ "$dist" = "Debian" ]; then + /usr/sbin/locale-gen +fi + if [ "$install_dependencies" = "t" ]; then loud "\n-----------------------------------------------------" loud " * Installing External Dependencies * " From b338c5cf0ddd28a67c72b3a2da675e60b35f131b Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Wed, 14 Jan 2015 20:15:47 -0500 Subject: [PATCH 113/168] Fixed code for setting up user's web root --- install | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/install b/install index 4f7ee7ec1..37c930f66 100755 --- a/install +++ b/install @@ -29,16 +29,13 @@ showhelp () { this setting if you've changed the default apache web user -r, --web-root=WEB_ROOT Set the web root for Airtime files - This will copy the Airtime application files and make them - accessible to the web user - If no directory or an empty string is given, this defaults to - an in-place installation, and will give the web user - permissions on the current Airtime root + This will copy the Airtime application files, but you will need + to give your web user access to the given directory if it is + not accessible -I, --in-place - Set the current Airtime root as the working directory for - Airtime - Note that you will need to give your web user permissions on - these directories + Set the current Airtime directory as the web root + Note that you will need to give your web user permission to + access this directory if it is not accessible -p, --postgres Create a default postgres user named 'airtime' with password 'airtime' @@ -274,6 +271,8 @@ loudCmd "apt-get install -y --force-yes lsb-release" dist=`lsb_release -is` code=`lsb_release -cs` + +verbose "\n * Adding apt.sourcefabric to sources.list..." set +e grep -E "deb +http://apt.sourcefabric.org/? +$code +main" /etc/apt/sources.list returncode=$? @@ -282,22 +281,23 @@ if [ "$returncode" != "0" ]; then echo "deb http://apt.sourcefabric.org/ $code main" >> /etc/apt/sources.list apt-get update fi +verbose "...Done" if [ "$in_place" = "t" ]; then verbose "\n * Setting current Airtime directory as web root..." web_root=${AIRTIMEROOT}/airtime_mvc/public - chmod -R 755 ${AIRTIMEROOT} elif [ -n "$web_root" ]; then verbose "\n * Creating Apache web root directory..." - mkdir -p ${web_root}/airtime/public/ - cp -R ${AIRTIMEROOT}/airtime_mvc/* ${web_root}/airtime/ - chmod -R 755 ${web_root} + cp -R ${AIRTIMEROOT}/airtime_mvc/* ${web_root} + web_root=${web_root}/public/ else verbose "\n * Creating default Apache web root directory /usr/share/airtime/..." - web_root="/usr/share" - mkdir -p ${web_root}/airtime/public/ - cp -R ${AIRTIMEROOT}/airtime_mvc/* ${web_root}/airtime/ + web_root="/usr/share/airtime" + mkdir -p ${web_root} + cp -R ${AIRTIMEROOT}/airtime_mvc/* ${web_root} + web_root=${web_root}/public/ fi +verbose "...Done" if [ "$apache" = "t" ]; then loud "\n-----------------------------------------------------" @@ -549,7 +549,7 @@ loud " * Installing Locales * " loud "-----------------------------------------------------" set +e -verbose "Generating locales" +verbose "\n * Generating locales" for i in `ls /usr/share/airtime/locale | grep ".._.."`; do if [ "$dist" = "Debian" ]; then grep -qi "^$i" /etc/locale.gen From 5e22f929c7833a354f5d40b8d7cc2c6ac52604ec Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Wed, 14 Jan 2015 20:45:03 -0500 Subject: [PATCH 114/168] Reverted commit mistakenly changing file modifiers to 755 --- .gitignore | 0 .zfproject.xml | 0 CREDITS | 0 LICENSE | 0 LICENSE_3RD_PARTY | 0 README | 0 VERSION | 0 airtime_mvc/application/Bootstrap.php | 0 airtime_mvc/application/airtime-boot.php | 0 airtime_mvc/application/common/Database.php | 0 airtime_mvc/application/common/DateHelper.php | 0 airtime_mvc/application/common/OsPath.php | 0 airtime_mvc/application/common/Timezone.php | 0 airtime_mvc/application/configs/ACL.php | 0 .../application/configs/airtime-conf-production.php | 0 airtime_mvc/application/configs/airtime-conf.php | 0 airtime_mvc/application/configs/application.ini | 0 .../application/configs/classmap-airtime-conf.php | 0 airtime_mvc/application/configs/conf.php | 0 airtime_mvc/application/configs/config-check.php | 0 airtime_mvc/application/configs/constants.php | 0 airtime_mvc/application/configs/db-conf.php | 0 airtime_mvc/application/configs/navigation.php | 0 .../application/controllers/ApiController.php | 0 .../controllers/AudiopreviewController.php | 0 .../application/controllers/DashboardController.php | 0 .../application/controllers/ErrorController.php | 0 .../application/controllers/IndexController.php | 0 .../application/controllers/LibraryController.php | 0 .../controllers/ListenerstatController.php | 0 .../application/controllers/LocaleController.php | 0 .../application/controllers/LoginController.php | 0 .../application/controllers/PlaylistController.php | 0 .../controllers/PlayouthistoryController.php | 0 .../PlayouthistorytemplateController.php | 0 .../application/controllers/PluploadController.php | 0 .../controllers/PreferenceController.php | 0 .../application/controllers/ScheduleController.php | 0 .../controllers/ShowbuilderController.php | 0 .../controllers/SystemstatusController.php | 0 .../application/controllers/UserController.php | 0 .../controllers/UsersettingsController.php | 0 .../application/controllers/WebstreamController.php | 0 .../application/controllers/plugins/Acl_plugin.php | 0 .../controllers/plugins/RabbitMqPlugin.php | 0 .../forms/AddShowAbsoluteRebroadcastDates.php | 0 airtime_mvc/application/forms/AddShowLiveStream.php | 0 airtime_mvc/application/forms/AddShowRR.php | 0 .../application/forms/AddShowRebroadcastDates.php | 0 airtime_mvc/application/forms/AddShowRepeats.php | 0 airtime_mvc/application/forms/AddShowStyle.php | 0 airtime_mvc/application/forms/AddShowWhat.php | 0 airtime_mvc/application/forms/AddShowWhen.php | 0 airtime_mvc/application/forms/AddShowWho.php | 0 airtime_mvc/application/forms/AddUser.php | 0 airtime_mvc/application/forms/DateRange.php | 0 airtime_mvc/application/forms/EditAudioMD.php | 0 airtime_mvc/application/forms/EditHistory.php | 0 airtime_mvc/application/forms/EditHistoryFile.php | 0 airtime_mvc/application/forms/EditHistoryItem.php | 0 airtime_mvc/application/forms/EditUser.php | 0 .../application/forms/EmailServerPreferences.php | 0 .../application/forms/GeneralPreferences.php | 0 .../application/forms/LiveStreamingPreferences.php | 0 airtime_mvc/application/forms/Login.php | 0 airtime_mvc/application/forms/PasswordChange.php | 0 airtime_mvc/application/forms/PasswordRestore.php | 0 airtime_mvc/application/forms/Preferences.php | 0 airtime_mvc/application/forms/RegisterAirtime.php | 0 airtime_mvc/application/forms/ScheduleShow.php | 0 airtime_mvc/application/forms/ShowBuilder.php | 0 .../application/forms/SmartBlockCriteria.php | 0 .../application/forms/SoundcloudPreferences.php | 0 airtime_mvc/application/forms/StreamSetting.php | 0 .../application/forms/StreamSettingSubForm.php | 0 airtime_mvc/application/forms/SupportSettings.php | 0 .../application/forms/WatchedDirPreferences.php | 0 .../application/forms/customfilters/ImageSize.php | 0 .../forms/customvalidators/ConditionalNotEmpty.php | 0 .../forms/customvalidators/PasswordNotEmpty.php | 0 .../application/forms/helpers/ValidationTypes.php | 0 .../application/layouts/scripts/audio-player.phtml | 0 airtime_mvc/application/layouts/scripts/bare.phtml | 0 .../application/layouts/scripts/layout.phtml | 0 .../application/layouts/scripts/livestream.phtml | 0 airtime_mvc/application/layouts/scripts/login.phtml | 0 airtime_mvc/application/logging/AirtimeLog.php | 0 airtime_mvc/application/logging/Logging.php | 0 airtime_mvc/application/models/Auth.php | 0 airtime_mvc/application/models/Block.php | 0 airtime_mvc/application/models/Cache.php | 0 airtime_mvc/application/models/Dashboard.php | 0 airtime_mvc/application/models/Datatables.php | 0 airtime_mvc/application/models/Email.php | 0 airtime_mvc/application/models/Library.php | 0 airtime_mvc/application/models/LibraryEditable.php | 0 airtime_mvc/application/models/ListenerStat.php | 0 airtime_mvc/application/models/LiveLog.php | 0 airtime_mvc/application/models/Locale.php | 0 airtime_mvc/application/models/LoginAttempts.php | 0 airtime_mvc/application/models/MusicDir.php | 0 airtime_mvc/application/models/Playlist.php | 0 airtime_mvc/application/models/Preference.php | 0 airtime_mvc/application/models/RabbitMq.php | 0 airtime_mvc/application/models/Schedule.php | 0 airtime_mvc/application/models/Scheduler.php | 0 airtime_mvc/application/models/ServiceRegister.php | 0 airtime_mvc/application/models/Show.php | 0 airtime_mvc/application/models/ShowBuilder.php | 0 airtime_mvc/application/models/ShowInstance.php | 0 airtime_mvc/application/models/Soundcloud.php | 0 airtime_mvc/application/models/StoredFile.php | 0 airtime_mvc/application/models/StreamSetting.php | 0 airtime_mvc/application/models/Subjects.php | 0 airtime_mvc/application/models/Systemstatus.php | 0 airtime_mvc/application/models/User.php | 0 airtime_mvc/application/models/Webstream.php | 0 airtime_mvc/application/models/airtime/CcAccess.php | 0 .../application/models/airtime/CcAccessPeer.php | 0 .../application/models/airtime/CcAccessQuery.php | 0 airtime_mvc/application/models/airtime/CcBackup.php | 0 .../application/models/airtime/CcBackupPeer.php | 0 .../application/models/airtime/CcBackupQuery.php | 0 airtime_mvc/application/models/airtime/CcBlock.php | 0 .../application/models/airtime/CcBlockPeer.php | 0 .../application/models/airtime/CcBlockQuery.php | 0 .../application/models/airtime/CcBlockcontents.php | 0 .../models/airtime/CcBlockcontentsPeer.php | 0 .../models/airtime/CcBlockcontentsQuery.php | 0 .../application/models/airtime/CcBlockcriteria.php | 0 .../models/airtime/CcBlockcriteriaPeer.php | 0 .../models/airtime/CcBlockcriteriaQuery.php | 0 .../application/models/airtime/CcCountry.php | 0 .../application/models/airtime/CcCountryPeer.php | 0 .../application/models/airtime/CcCountryQuery.php | 0 .../application/models/airtime/CcFileTag.php | 0 .../application/models/airtime/CcFileTagPeer.php | 0 .../application/models/airtime/CcFileTagQuery.php | 0 airtime_mvc/application/models/airtime/CcFiles.php | 0 .../application/models/airtime/CcFilesPeer.php | 0 .../application/models/airtime/CcFilesQuery.php | 0 .../application/models/airtime/CcListenerCount.php | 0 .../models/airtime/CcListenerCountPeer.php | 0 .../models/airtime/CcListenerCountQuery.php | 0 .../application/models/airtime/CcLiveLog.php | 0 .../application/models/airtime/CcLiveLogPeer.php | 0 .../application/models/airtime/CcLiveLogQuery.php | 0 airtime_mvc/application/models/airtime/CcLocale.php | 0 .../application/models/airtime/CcLocalePeer.php | 0 .../application/models/airtime/CcLocaleQuery.php | 0 .../application/models/airtime/CcLoginAttempts.php | 0 .../models/airtime/CcLoginAttemptsPeer.php | 0 .../models/airtime/CcLoginAttemptsQuery.php | 0 .../application/models/airtime/CcMountName.php | 0 .../application/models/airtime/CcMountNamePeer.php | 0 .../application/models/airtime/CcMountNameQuery.php | 0 .../application/models/airtime/CcMusicDirs.php | 0 .../application/models/airtime/CcMusicDirsPeer.php | 0 .../application/models/airtime/CcMusicDirsQuery.php | 0 airtime_mvc/application/models/airtime/CcPerms.php | 0 .../application/models/airtime/CcPermsPeer.php | 0 .../application/models/airtime/CcPermsQuery.php | 0 .../application/models/airtime/CcPlaylist.php | 0 .../application/models/airtime/CcPlaylistPeer.php | 0 .../application/models/airtime/CcPlaylistQuery.php | 0 .../models/airtime/CcPlaylistcontents.php | 0 .../models/airtime/CcPlaylistcontentsPeer.php | 0 .../models/airtime/CcPlaylistcontentsQuery.php | 0 .../models/airtime/CcPlaylistcriteria.php | 0 .../models/airtime/CcPlaylistcriteriaPeer.php | 0 .../models/airtime/CcPlaylistcriteriaQuery.php | 0 .../application/models/airtime/CcPlayoutHistory.php | 0 .../models/airtime/CcPlayoutHistoryMetaData.php | 0 .../models/airtime/CcPlayoutHistoryMetaDataPeer.php | 0 .../airtime/CcPlayoutHistoryMetaDataQuery.php | 0 .../models/airtime/CcPlayoutHistoryPeer.php | 0 .../models/airtime/CcPlayoutHistoryQuery.php | 0 .../models/airtime/CcPlayoutHistoryTemplate.php | 0 .../airtime/CcPlayoutHistoryTemplateField.php | 0 .../airtime/CcPlayoutHistoryTemplateFieldPeer.php | 0 .../airtime/CcPlayoutHistoryTemplateFieldQuery.php | 0 .../models/airtime/CcPlayoutHistoryTemplatePeer.php | 0 .../airtime/CcPlayoutHistoryTemplateQuery.php | 0 airtime_mvc/application/models/airtime/CcPref.php | 0 .../application/models/airtime/CcPrefPeer.php | 0 .../application/models/airtime/CcPrefQuery.php | 0 .../application/models/airtime/CcSchedule.php | 0 .../application/models/airtime/CcSchedulePeer.php | 0 .../application/models/airtime/CcScheduleQuery.php | 0 .../models/airtime/CcServiceRegister.php | 0 .../models/airtime/CcServiceRegisterPeer.php | 0 .../models/airtime/CcServiceRegisterQuery.php | 0 airtime_mvc/application/models/airtime/CcSess.php | 0 .../application/models/airtime/CcSessPeer.php | 0 .../application/models/airtime/CcSessQuery.php | 0 airtime_mvc/application/models/airtime/CcShow.php | 0 .../application/models/airtime/CcShowDays.php | 0 .../application/models/airtime/CcShowDaysPeer.php | 0 .../application/models/airtime/CcShowDaysQuery.php | 0 .../application/models/airtime/CcShowHosts.php | 0 .../application/models/airtime/CcShowHostsPeer.php | 0 .../application/models/airtime/CcShowHostsQuery.php | 0 .../application/models/airtime/CcShowInstances.php | 0 .../models/airtime/CcShowInstancesPeer.php | 0 .../models/airtime/CcShowInstancesQuery.php | 0 .../application/models/airtime/CcShowPeer.php | 0 .../application/models/airtime/CcShowQuery.php | 0 .../models/airtime/CcShowRebroadcast.php | 0 .../models/airtime/CcShowRebroadcastPeer.php | 0 .../models/airtime/CcShowRebroadcastQuery.php | 0 .../application/models/airtime/CcShowSchedule.php | 0 .../models/airtime/CcShowSchedulePeer.php | 0 .../models/airtime/CcShowScheduleQuery.php | 0 airtime_mvc/application/models/airtime/CcSmemb.php | 0 .../application/models/airtime/CcSmembPeer.php | 0 .../application/models/airtime/CcSmembQuery.php | 0 .../application/models/airtime/CcStreamSetting.php | 0 .../models/airtime/CcStreamSettingPeer.php | 0 .../models/airtime/CcStreamSettingQuery.php | 0 airtime_mvc/application/models/airtime/CcSubjs.php | 0 .../application/models/airtime/CcSubjsPeer.php | 0 .../application/models/airtime/CcSubjsQuery.php | 0 .../application/models/airtime/CcSubjsToken.php | 0 .../application/models/airtime/CcSubjsTokenPeer.php | 0 .../models/airtime/CcSubjsTokenQuery.php | 0 airtime_mvc/application/models/airtime/CcTag.php | 0 .../application/models/airtime/CcTagPeer.php | 0 .../application/models/airtime/CcTagQuery.php | 0 .../application/models/airtime/CcTimestamp.php | 0 .../application/models/airtime/CcTimestampPeer.php | 0 .../application/models/airtime/CcTimestampQuery.php | 0 airtime_mvc/application/models/airtime/CcTrans.php | 0 .../application/models/airtime/CcTransPeer.php | 0 .../application/models/airtime/CcTransQuery.php | 0 .../application/models/airtime/CcWebstream.php | 0 .../models/airtime/CcWebstreamMetadata.php | 0 .../models/airtime/CcWebstreamMetadataPeer.php | 0 .../models/airtime/CcWebstreamMetadataQuery.php | 0 .../application/models/airtime/CcWebstreamPeer.php | 0 .../application/models/airtime/CcWebstreamQuery.php | 0 .../models/airtime/map/CcAccessTableMap.php | 0 .../models/airtime/map/CcBackupTableMap.php | 0 .../models/airtime/map/CcBlockTableMap.php | 0 .../models/airtime/map/CcBlockcontentsTableMap.php | 0 .../models/airtime/map/CcBlockcriteriaTableMap.php | 0 .../models/airtime/map/CcCountryTableMap.php | 0 .../models/airtime/map/CcFileTagTableMap.php | 0 .../models/airtime/map/CcFilesTableMap.php | 0 .../models/airtime/map/CcListenerCountTableMap.php | 0 .../models/airtime/map/CcLiveLogTableMap.php | 0 .../models/airtime/map/CcLocaleTableMap.php | 0 .../models/airtime/map/CcLoginAttemptsTableMap.php | 0 .../models/airtime/map/CcMountNameTableMap.php | 0 .../models/airtime/map/CcMusicDirsTableMap.php | 0 .../models/airtime/map/CcPermsTableMap.php | 0 .../models/airtime/map/CcPlaylistTableMap.php | 0 .../airtime/map/CcPlaylistcontentsTableMap.php | 0 .../airtime/map/CcPlaylistcriteriaTableMap.php | 0 .../map/CcPlayoutHistoryMetaDataTableMap.php | 0 .../models/airtime/map/CcPlayoutHistoryTableMap.php | 0 .../map/CcPlayoutHistoryTemplateFieldTableMap.php | 0 .../map/CcPlayoutHistoryTemplateTableMap.php | 0 .../map/CcPlayoutHistoryTemplateTagTableMap.php | 0 .../models/airtime/map/CcPrefTableMap.php | 0 .../models/airtime/map/CcScheduleTableMap.php | 0 .../models/airtime/map/CcSectionTableMap.php | 0 .../airtime/map/CcSectioncontentsTableMap.php | 0 .../airtime/map/CcSectioncriteriaTableMap.php | 0 .../airtime/map/CcServiceRegisterTableMap.php | 0 .../models/airtime/map/CcSessTableMap.php | 0 .../models/airtime/map/CcShowDaysTableMap.php | 0 .../models/airtime/map/CcShowHostsTableMap.php | 0 .../models/airtime/map/CcShowInstancesTableMap.php | 0 .../airtime/map/CcShowRebroadcastTableMap.php | 0 .../models/airtime/map/CcShowScheduleTableMap.php | 0 .../models/airtime/map/CcShowStampTableMap.php | 0 .../models/airtime/map/CcShowTableMap.php | 0 .../models/airtime/map/CcSmembTableMap.php | 0 .../models/airtime/map/CcStampContentsTableMap.php | 0 .../models/airtime/map/CcStampTableMap.php | 0 .../models/airtime/map/CcStreamSettingTableMap.php | 0 .../models/airtime/map/CcSubjsTableMap.php | 0 .../models/airtime/map/CcSubjsTokenTableMap.php | 0 .../models/airtime/map/CcTagTableMap.php | 0 .../models/airtime/map/CcTimestampTableMap.php | 0 .../models/airtime/map/CcTransTableMap.php | 0 .../airtime/map/CcWebstreamMetadataTableMap.php | 0 .../models/airtime/map/CcWebstreamTableMap.php | 0 .../application/models/airtime/om/BaseCcAccess.php | 0 .../models/airtime/om/BaseCcAccessPeer.php | 0 .../models/airtime/om/BaseCcAccessQuery.php | 0 .../application/models/airtime/om/BaseCcBackup.php | 0 .../models/airtime/om/BaseCcBackupPeer.php | 0 .../models/airtime/om/BaseCcBackupQuery.php | 0 .../application/models/airtime/om/BaseCcBlock.php | 0 .../models/airtime/om/BaseCcBlockPeer.php | 0 .../models/airtime/om/BaseCcBlockQuery.php | 0 .../models/airtime/om/BaseCcBlockcontents.php | 0 .../models/airtime/om/BaseCcBlockcontentsPeer.php | 0 .../models/airtime/om/BaseCcBlockcontentsQuery.php | 0 .../models/airtime/om/BaseCcBlockcriteria.php | 0 .../models/airtime/om/BaseCcBlockcriteriaPeer.php | 0 .../models/airtime/om/BaseCcBlockcriteriaQuery.php | 0 .../application/models/airtime/om/BaseCcCountry.php | 0 .../models/airtime/om/BaseCcCountryPeer.php | 0 .../models/airtime/om/BaseCcCountryQuery.php | 0 .../application/models/airtime/om/BaseCcFileTag.php | 0 .../models/airtime/om/BaseCcFileTagPeer.php | 0 .../models/airtime/om/BaseCcFileTagQuery.php | 0 .../application/models/airtime/om/BaseCcFiles.php | 0 .../models/airtime/om/BaseCcFilesPeer.php | 0 .../models/airtime/om/BaseCcFilesQuery.php | 0 .../models/airtime/om/BaseCcListenerCount.php | 0 .../models/airtime/om/BaseCcListenerCountPeer.php | 0 .../models/airtime/om/BaseCcListenerCountQuery.php | 0 .../application/models/airtime/om/BaseCcLiveLog.php | 0 .../models/airtime/om/BaseCcLiveLogPeer.php | 0 .../models/airtime/om/BaseCcLiveLogQuery.php | 0 .../application/models/airtime/om/BaseCcLocale.php | 0 .../models/airtime/om/BaseCcLocalePeer.php | 0 .../models/airtime/om/BaseCcLocaleQuery.php | 0 .../models/airtime/om/BaseCcLoginAttempts.php | 0 .../models/airtime/om/BaseCcLoginAttemptsPeer.php | 0 .../models/airtime/om/BaseCcLoginAttemptsQuery.php | 0 .../models/airtime/om/BaseCcMountName.php | 0 .../models/airtime/om/BaseCcMountNamePeer.php | 0 .../models/airtime/om/BaseCcMountNameQuery.php | 0 .../models/airtime/om/BaseCcMusicDirs.php | 0 .../models/airtime/om/BaseCcMusicDirsPeer.php | 0 .../models/airtime/om/BaseCcMusicDirsQuery.php | 0 .../application/models/airtime/om/BaseCcPerms.php | 0 .../models/airtime/om/BaseCcPermsPeer.php | 0 .../models/airtime/om/BaseCcPermsQuery.php | 0 .../models/airtime/om/BaseCcPlaylist.php | 0 .../models/airtime/om/BaseCcPlaylistPeer.php | 0 .../models/airtime/om/BaseCcPlaylistQuery.php | 0 .../models/airtime/om/BaseCcPlaylistcontents.php | 0 .../airtime/om/BaseCcPlaylistcontentsPeer.php | 0 .../airtime/om/BaseCcPlaylistcontentsQuery.php | 0 .../models/airtime/om/BaseCcPlaylistcriteria.php | 0 .../airtime/om/BaseCcPlaylistcriteriaPeer.php | 0 .../airtime/om/BaseCcPlaylistcriteriaQuery.php | 0 .../models/airtime/om/BaseCcPlayoutHistory.php | 0 .../airtime/om/BaseCcPlayoutHistoryMetaData.php | 0 .../airtime/om/BaseCcPlayoutHistoryMetaDataPeer.php | 0 .../om/BaseCcPlayoutHistoryMetaDataQuery.php | 0 .../models/airtime/om/BaseCcPlayoutHistoryPeer.php | 0 .../models/airtime/om/BaseCcPlayoutHistoryQuery.php | 0 .../airtime/om/BaseCcPlayoutHistoryTemplate.php | 0 .../om/BaseCcPlayoutHistoryTemplateField.php | 0 .../om/BaseCcPlayoutHistoryTemplateFieldPeer.php | 0 .../om/BaseCcPlayoutHistoryTemplateFieldQuery.php | 0 .../airtime/om/BaseCcPlayoutHistoryTemplatePeer.php | 0 .../om/BaseCcPlayoutHistoryTemplateQuery.php | 0 .../airtime/om/BaseCcPlayoutHistoryTemplateTag.php | 0 .../om/BaseCcPlayoutHistoryTemplateTagPeer.php | 0 .../om/BaseCcPlayoutHistoryTemplateTagQuery.php | 0 .../application/models/airtime/om/BaseCcPref.php | 0 .../models/airtime/om/BaseCcPrefPeer.php | 0 .../models/airtime/om/BaseCcPrefQuery.php | 0 .../models/airtime/om/BaseCcSchedule.php | 0 .../models/airtime/om/BaseCcSchedulePeer.php | 0 .../models/airtime/om/BaseCcScheduleQuery.php | 0 .../models/airtime/om/BaseCcServiceRegister.php | 0 .../models/airtime/om/BaseCcServiceRegisterPeer.php | 0 .../airtime/om/BaseCcServiceRegisterQuery.php | 0 .../application/models/airtime/om/BaseCcSess.php | 0 .../models/airtime/om/BaseCcSessPeer.php | 0 .../models/airtime/om/BaseCcSessQuery.php | 0 .../application/models/airtime/om/BaseCcShow.php | 0 .../models/airtime/om/BaseCcShowDays.php | 0 .../models/airtime/om/BaseCcShowDaysPeer.php | 0 .../models/airtime/om/BaseCcShowDaysQuery.php | 0 .../models/airtime/om/BaseCcShowHosts.php | 0 .../models/airtime/om/BaseCcShowHostsPeer.php | 0 .../models/airtime/om/BaseCcShowHostsQuery.php | 0 .../models/airtime/om/BaseCcShowInstances.php | 0 .../models/airtime/om/BaseCcShowInstancesPeer.php | 0 .../models/airtime/om/BaseCcShowInstancesQuery.php | 0 .../models/airtime/om/BaseCcShowPeer.php | 0 .../models/airtime/om/BaseCcShowQuery.php | 0 .../models/airtime/om/BaseCcShowRebroadcast.php | 0 .../models/airtime/om/BaseCcShowRebroadcastPeer.php | 0 .../airtime/om/BaseCcShowRebroadcastQuery.php | 0 .../models/airtime/om/BaseCcShowSchedule.php | 0 .../models/airtime/om/BaseCcShowSchedulePeer.php | 0 .../models/airtime/om/BaseCcShowScheduleQuery.php | 0 .../application/models/airtime/om/BaseCcSmemb.php | 0 .../models/airtime/om/BaseCcSmembPeer.php | 0 .../models/airtime/om/BaseCcSmembQuery.php | 0 .../models/airtime/om/BaseCcStreamSetting.php | 0 .../models/airtime/om/BaseCcStreamSettingPeer.php | 0 .../models/airtime/om/BaseCcStreamSettingQuery.php | 0 .../application/models/airtime/om/BaseCcSubjs.php | 0 .../models/airtime/om/BaseCcSubjsPeer.php | 0 .../models/airtime/om/BaseCcSubjsQuery.php | 0 .../models/airtime/om/BaseCcSubjsToken.php | 0 .../models/airtime/om/BaseCcSubjsTokenPeer.php | 0 .../models/airtime/om/BaseCcSubjsTokenQuery.php | 0 .../application/models/airtime/om/BaseCcTag.php | 0 .../application/models/airtime/om/BaseCcTagPeer.php | 0 .../models/airtime/om/BaseCcTagQuery.php | 0 .../models/airtime/om/BaseCcTimestamp.php | 0 .../models/airtime/om/BaseCcTimestampPeer.php | 0 .../models/airtime/om/BaseCcTimestampQuery.php | 0 .../application/models/airtime/om/BaseCcTrans.php | 0 .../models/airtime/om/BaseCcTransPeer.php | 0 .../models/airtime/om/BaseCcTransQuery.php | 0 .../models/airtime/om/BaseCcWebstream.php | 0 .../models/airtime/om/BaseCcWebstreamMetadata.php | 0 .../airtime/om/BaseCcWebstreamMetadataPeer.php | 0 .../airtime/om/BaseCcWebstreamMetadataQuery.php | 0 .../models/airtime/om/BaseCcWebstreamPeer.php | 0 .../models/airtime/om/BaseCcWebstreamQuery.php | 0 .../models/formatters/BitrateFormatter.php | 0 .../models/formatters/LengthFormatter.php | 0 .../models/formatters/SamplerateFormatter.php | 0 .../models/formatters/TimeFilledFormatter.php | 0 .../application/models/tests/0000000000010001 | Bin .../application/models/tests/0000000000010002 | Bin airtime_mvc/application/models/tests/AllTests.php | 0 .../models/tests/SchedulerExportTests.php | 0 .../application/models/tests/SchedulerTests.php | 0 .../application/models/tests/StoredFileTests.php | 0 airtime_mvc/application/models/tests/ex1.mp3 | Bin airtime_mvc/application/models/tests/ex2.ogg | Bin airtime_mvc/application/models/tests/ex2.wav | Bin airtime_mvc/application/models/tests/ex3.wav | Bin .../application/models/tests/exportedPl_lspl.tar | Bin airtime_mvc/application/models/tests/index.php | 0 airtime_mvc/application/models/tests/pdoTest.php | 0 .../application/models/tests/plistEmbedded.xml | 0 airtime_mvc/application/models/tests/populator.php | 0 airtime_mvc/application/models/tests/question.wav | Bin airtime_mvc/application/models/tests/silence.wav | Bin airtime_mvc/application/models/tests/test10001.mp3 | Bin airtime_mvc/application/models/tests/test10002.mp3 | Bin airtime_mvc/application/models/tests/test10003.mp3 | Bin airtime_mvc/application/models/tests/wstream1.xml | 0 .../application/services/CalendarService.php | 0 airtime_mvc/application/services/HistoryService.php | 0 .../application/services/SchedulerService.php | 0 .../application/services/ShowFormService.php | 0 airtime_mvc/application/services/ShowService.php | 0 airtime_mvc/application/services/UserService.php | 0 .../application/validate/NotDemoValidate.php | 0 .../application/validate/UserNameValidate.php | 0 airtime_mvc/application/views/helpers/IsTrial.php | 0 .../application/views/helpers/LoggedInAs.php | 0 .../views/helpers/SourceConnectionStatus.php | 0 .../views/helpers/SourceSwitchStatus.php | 0 .../application/views/helpers/TrialRemaining.php | 0 .../application/views/helpers/VersionNotify.php | 0 .../views/scripts/airtime-recorder/index.phtml | 0 .../views/scripts/api/list-all-files.phtml | 0 .../application/views/scripts/api/status.phtml | 0 .../views/scripts/audiopreview/audio-preview.phtml | 0 .../application/views/scripts/dashboard/about.phtml | 0 .../application/views/scripts/dashboard/help.phtml | 0 .../application/views/scripts/dashboard/index.phtml | 0 .../views/scripts/dashboard/stream-player.phtml | 0 .../application/views/scripts/error/denied.phtml | 0 .../application/views/scripts/error/error.phtml | 0 .../views/scripts/form/add-show-block.phtml | 0 .../views/scripts/form/add-show-live-stream.phtml | 0 .../form/add-show-rebroadcast-absolute.phtml | 0 .../views/scripts/form/add-show-rebroadcast.phtml | 0 .../views/scripts/form/add-show-style.phtml | 0 .../views/scripts/form/add-show-what.phtml | 0 .../views/scripts/form/add-show-when.phtml | 0 .../application/views/scripts/form/daterange.phtml | 0 .../views/scripts/form/edit-history-file.phtml | 0 .../views/scripts/form/edit-history-item.phtml | 0 .../application/views/scripts/form/edit-user.phtml | 0 .../application/views/scripts/form/login.phtml | 0 .../views/scripts/form/password-change.phtml | 0 .../views/scripts/form/password-restore.phtml | 0 .../views/scripts/form/preferences.phtml | 0 .../scripts/form/preferences_email_server.phtml | 0 .../views/scripts/form/preferences_general.phtml | 0 .../views/scripts/form/preferences_livestream.phtml | 0 .../views/scripts/form/preferences_soundcloud.phtml | 0 .../scripts/form/preferences_watched_dirs.phtml | 0 .../views/scripts/form/register-dialog.phtml | 0 .../views/scripts/form/showbuilder.phtml | 0 .../views/scripts/form/smart-block-criteria.phtml | 0 .../views/scripts/form/stream-setting-form.phtml | 0 .../views/scripts/form/support-setting.phtml | 0 .../application/views/scripts/index/display.phtml | 0 .../application/views/scripts/index/index.phtml | 0 .../application/views/scripts/index/main.phtml | 0 .../application/views/scripts/index/newfield.phtml | 0 .../views/scripts/library/edit-file-md.phtml | 0 .../scripts/library/get-file-metadata.ajax.phtml | 0 .../application/views/scripts/library/index.phtml | 0 .../application/views/scripts/library/library.phtml | 0 .../views/scripts/listenerstat/index.phtml | 0 .../application/views/scripts/login/index.phtml | 0 .../application/views/scripts/login/logout.phtml | 0 .../views/scripts/login/password-change.phtml | 0 .../scripts/login/password-restore-after.phtml | 0 .../views/scripts/login/password-restore.phtml | 0 airtime_mvc/application/views/scripts/menu.phtml | 0 .../views/scripts/partialviews/header.phtml | 0 .../views/scripts/partialviews/trialBox.phtml | 0 .../views/scripts/playlist/playlist.phtml | 0 .../views/scripts/playlist/set-cue.phtml | 0 .../views/scripts/playlist/set-fade.phtml | 0 .../views/scripts/playlist/smart-block.phtml | 0 .../application/views/scripts/playlist/update.phtml | 0 .../views/scripts/playouthistory/dialog.phtml | 0 .../views/scripts/playouthistory/index.phtml | 0 .../playouthistorytemplate/configure-template.phtml | 0 .../scripts/playouthistorytemplate/index.phtml | 0 .../playouthistorytemplate/template-contents.phtml | 0 .../application/views/scripts/plupload/index.phtml | 0 .../application/views/scripts/plupload/upload.phtml | 0 .../views/scripts/preference/directory-config.phtml | 0 .../views/scripts/preference/index.phtml | 0 .../views/scripts/preference/stream-setting.phtml | 0 .../views/scripts/preference/support-setting.phtml | 0 .../views/scripts/recorder/get-show-schedule.phtml | 0 .../application/views/scripts/recorder/index.phtml | 0 .../views/scripts/schedule/add-show-form.phtml | 0 .../views/scripts/schedule/add-show.phtml | 0 .../scripts/schedule/cancel-current-show.phtml | 0 .../views/scripts/schedule/cancel-show.phtml | 0 .../views/scripts/schedule/clear-show.phtml | 0 .../views/scripts/schedule/delete-show.phtml | 0 .../views/scripts/schedule/edit-show.phtml | 0 .../views/scripts/schedule/event-feed.phtml | 0 .../scripts/schedule/get-current-playlist.phtml | 0 .../views/scripts/schedule/get-form.phtml | 0 .../views/scripts/schedule/get-show-data.phtml | 0 .../application/views/scripts/schedule/index.phtml | 0 .../views/scripts/schedule/make-context-menu.phtml | 0 .../views/scripts/schedule/move-show.phtml | 0 .../views/scripts/schedule/remove-group.phtml | 0 .../views/scripts/schedule/resize-show.phtml | 0 .../views/scripts/schedule/schedule-show.phtml | 0 .../scripts/schedule/show-content-dialog.phtml | 0 .../views/scripts/schedule/show-list.phtml | 0 .../views/scripts/showbuilder/builderDialog.phtml | 0 .../views/scripts/showbuilder/index.phtml | 0 .../views/scripts/systemstatus/get-log-file.phtml | 0 .../views/scripts/systemstatus/index.phtml | 0 .../application/views/scripts/user/add-user.phtml | 0 .../application/views/scripts/user/edit-user.phtml | 0 .../application/views/scripts/user/get-hosts.phtml | 0 .../scripts/user/get-user-data-table-info.phtml | 0 .../views/scripts/user/get-user-data.phtml | 0 .../application/views/scripts/user/index.phtml | 0 .../views/scripts/user/remove-user.phtml | 0 .../views/scripts/webstream/webstream.phtml | 0 airtime_mvc/build/airtime-php.logrotate | 0 .../build/airtime-setup/forms/database-settings.php | 0 .../build/airtime-setup/forms/finish-settings.php | 0 .../build/airtime-setup/forms/general-settings.php | 0 .../build/airtime-setup/forms/media-settings.php | 0 .../build/airtime-setup/forms/rabbitmq-settings.php | 0 airtime_mvc/build/airtime-setup/load.php | 0 airtime_mvc/build/airtime-setup/setup-config.php | 0 airtime_mvc/build/airtime.example.conf | 0 airtime_mvc/build/build.properties | 0 airtime_mvc/build/runtime-conf.xml | 0 airtime_mvc/build/schema.xml | 0 airtime_mvc/build/sql/defaultdata.sql | 0 airtime_mvc/build/sql/schema.sql | 0 airtime_mvc/build/sql/sequences.sql | 0 airtime_mvc/build/sql/sqldb.map | 0 airtime_mvc/build/sql/triggers.sql | 0 airtime_mvc/build/sql/views.sql | 0 .../library/ZFDebug/Controller/Plugin/Debug.php | 0 .../ZFDebug/Controller/Plugin/Debug/Plugin.php | 0 .../ZFDebug/Controller/Plugin/Debug/Plugin/Auth.php | 0 .../Controller/Plugin/Debug/Plugin/Cache.php | 0 .../Controller/Plugin/Debug/Plugin/Database.php | 0 .../Controller/Plugin/Debug/Plugin/Exception.php | 0 .../ZFDebug/Controller/Plugin/Debug/Plugin/File.php | 0 .../ZFDebug/Controller/Plugin/Debug/Plugin/Html.php | 0 .../Controller/Plugin/Debug/Plugin/Interface.php | 0 .../Controller/Plugin/Debug/Plugin/Memory.php | 0 .../Controller/Plugin/Debug/Plugin/Registry.php | 0 .../ZFDebug/Controller/Plugin/Debug/Plugin/Text.php | 0 .../ZFDebug/Controller/Plugin/Debug/Plugin/Time.php | 0 .../Controller/Plugin/Debug/Plugin/Variables.php | 0 .../doctrine/migrations/doctrine-migrations.phar | Bin .../library/doctrine/migrations/migrations-db.php | 0 airtime_mvc/library/phing/BuildEvent.php | 0 airtime_mvc/library/phing/BuildException.php | 0 airtime_mvc/library/phing/BuildListener.php | 0 airtime_mvc/library/phing/BuildLogger.php | 0 .../library/phing/ConfigurationException.php | 0 airtime_mvc/library/phing/IntrospectionHelper.php | 0 airtime_mvc/library/phing/LICENSE | 0 airtime_mvc/library/phing/Phing.php | 0 airtime_mvc/library/phing/Project.php | 0 airtime_mvc/library/phing/ProjectComponent.php | 0 airtime_mvc/library/phing/RuntimeConfigurable.php | 0 airtime_mvc/library/phing/Target.php | 0 airtime_mvc/library/phing/Task.php | 0 airtime_mvc/library/phing/TaskAdapter.php | 0 airtime_mvc/library/phing/TaskContainer.php | 0 airtime_mvc/library/phing/UnknownElement.php | 0 .../library/phing/filters/BaseFilterReader.php | 0 .../library/phing/filters/BaseParamFilterReader.php | 0 .../library/phing/filters/ChainableReader.php | 0 .../library/phing/filters/ExpandProperties.php | 0 airtime_mvc/library/phing/filters/HeadFilter.php | 0 airtime_mvc/library/phing/filters/LineContains.php | 0 .../library/phing/filters/LineContainsRegexp.php | 0 airtime_mvc/library/phing/filters/PrefixLines.php | 0 airtime_mvc/library/phing/filters/ReplaceRegexp.php | 0 airtime_mvc/library/phing/filters/ReplaceTokens.php | 0 .../library/phing/filters/ReplaceTokensWithFile.php | 0 .../library/phing/filters/StripLineBreaks.php | 0 .../library/phing/filters/StripLineComments.php | 0 .../library/phing/filters/StripPhpComments.php | 0 .../library/phing/filters/StripWhitespace.php | 0 airtime_mvc/library/phing/filters/TabToSpaces.php | 0 airtime_mvc/library/phing/filters/TailFilter.php | 0 airtime_mvc/library/phing/filters/TidyFilter.php | 0 .../library/phing/filters/TranslateGettext.php | 0 .../library/phing/filters/XincludeFilter.php | 0 airtime_mvc/library/phing/filters/XsltFilter.php | 0 .../phing/filters/util/ChainReaderHelper.php | 0 .../phing/filters/util/IniFileTokenReader.php | 0 .../library/phing/input/DefaultInputHandler.php | 0 airtime_mvc/library/phing/input/InputHandler.php | 0 airtime_mvc/library/phing/input/InputRequest.php | 0 .../phing/input/MultipleChoiceInputRequest.php | 0 .../library/phing/input/YesNoInputRequest.php | 0 airtime_mvc/library/phing/lib/Capsule.php | 0 .../library/phing/listener/AnsiColorLogger.php | 0 .../library/phing/listener/DefaultLogger.php | 0 .../library/phing/listener/NoBannerLogger.php | 0 .../library/phing/listener/PearLogListener.php | 0 .../phing/listener/StreamRequiredBuildLogger.php | 0 airtime_mvc/library/phing/listener/XmlLogger.php | 0 .../library/phing/mappers/FileNameMapper.php | 0 airtime_mvc/library/phing/mappers/FlattenMapper.php | 0 airtime_mvc/library/phing/mappers/GlobMapper.php | 0 .../library/phing/mappers/IdentityMapper.php | 0 airtime_mvc/library/phing/mappers/MergeMapper.php | 0 airtime_mvc/library/phing/mappers/RegexpMapper.php | 0 .../library/phing/parser/AbstractHandler.php | 0 .../library/phing/parser/AbstractSAXParser.php | 0 .../library/phing/parser/DataTypeHandler.php | 0 .../library/phing/parser/ExpatParseException.php | 0 airtime_mvc/library/phing/parser/ExpatParser.php | 0 airtime_mvc/library/phing/parser/Location.php | 0 .../library/phing/parser/NestedElementHandler.php | 0 .../library/phing/parser/PhingXMLContext.php | 0 .../library/phing/parser/ProjectConfigurator.php | 0 airtime_mvc/library/phing/parser/ProjectHandler.php | 0 airtime_mvc/library/phing/parser/RootHandler.php | 0 airtime_mvc/library/phing/parser/TargetHandler.php | 0 airtime_mvc/library/phing/parser/TaskHandler.php | 0 .../library/phing/system/io/BufferedReader.php | 0 .../library/phing/system/io/BufferedWriter.php | 0 .../library/phing/system/io/ConsoleReader.php | 0 .../library/phing/system/io/FileInputStream.php | 0 .../library/phing/system/io/FileOutputStream.php | 0 airtime_mvc/library/phing/system/io/FileReader.php | 0 airtime_mvc/library/phing/system/io/FileSystem.php | 0 airtime_mvc/library/phing/system/io/FileWriter.php | 0 .../library/phing/system/io/FilterReader.php | 0 airtime_mvc/library/phing/system/io/IOException.php | 0 airtime_mvc/library/phing/system/io/InputStream.php | 0 .../library/phing/system/io/InputStreamReader.php | 0 .../library/phing/system/io/OutputStream.php | 0 .../library/phing/system/io/OutputStreamWriter.php | 0 airtime_mvc/library/phing/system/io/PhingFile.php | 0 airtime_mvc/library/phing/system/io/Reader.php | 0 .../library/phing/system/io/StringReader.php | 0 .../library/phing/system/io/UnixFileSystem.php | 0 .../library/phing/system/io/Win32FileSystem.php | 0 .../library/phing/system/io/WinNTFileSystem.php | 0 airtime_mvc/library/phing/system/io/Writer.php | 0 airtime_mvc/library/phing/system/lang/Character.php | 0 .../library/phing/system/lang/EventObject.php | 0 .../phing/system/lang/FileNotFoundException.php | 0 .../phing/system/lang/NullPointerException.php | 0 .../library/phing/system/lang/SecurityException.php | 0 .../library/phing/system/util/Properties.php | 0 airtime_mvc/library/phing/system/util/Register.php | 0 airtime_mvc/library/phing/system/util/Timer.php | 0 airtime_mvc/library/phing/tasks/ext/CapsuleTask.php | 0 .../phing/tasks/ext/ExportPropertiesTask.php | 0 .../library/phing/tasks/ext/ExtractBaseTask.php | 0 .../library/phing/tasks/ext/FileHashTask.php | 0 .../library/phing/tasks/ext/FileSizeTask.php | 0 .../library/phing/tasks/ext/FtpDeployTask.php | 0 .../library/phing/tasks/ext/HttpRequestTask.php | 0 airtime_mvc/library/phing/tasks/ext/JslLintTask.php | 0 airtime_mvc/library/phing/tasks/ext/MailTask.php | 0 .../library/phing/tasks/ext/ManifestTask.php | 0 .../library/phing/tasks/ext/PackageAsPathTask.php | 0 airtime_mvc/library/phing/tasks/ext/PatchTask.php | 0 .../library/phing/tasks/ext/PearPackage2Task.php | 0 .../library/phing/tasks/ext/PearPackageTask.php | 0 .../library/phing/tasks/ext/PhpCodeSnifferTask.php | 0 airtime_mvc/library/phing/tasks/ext/PhpLintTask.php | 0 .../library/phing/tasks/ext/ReplaceRegexpTask.php | 0 airtime_mvc/library/phing/tasks/ext/ScpTask.php | 0 airtime_mvc/library/phing/tasks/ext/SmartyTask.php | 0 airtime_mvc/library/phing/tasks/ext/SshTask.php | 0 airtime_mvc/library/phing/tasks/ext/TarTask.php | 0 airtime_mvc/library/phing/tasks/ext/UntarTask.php | 0 airtime_mvc/library/phing/tasks/ext/UnzipTask.php | 0 airtime_mvc/library/phing/tasks/ext/VersionTask.php | 0 airtime_mvc/library/phing/tasks/ext/XmlLintTask.php | 0 .../library/phing/tasks/ext/XmlPropertyTask.php | 0 .../phing/tasks/ext/ZendCodeAnalyzerTask.php | 0 airtime_mvc/library/phing/tasks/ext/ZipTask.php | 0 .../phing/tasks/ext/coverage/CoverageMerger.php | 0 .../phing/tasks/ext/coverage/CoverageMergerTask.php | 0 .../phing/tasks/ext/coverage/CoverageReportTask.php | 0 .../ext/coverage/CoverageReportTransformer.php | 0 .../phing/tasks/ext/coverage/CoverageSetupTask.php | 0 .../tasks/ext/coverage/CoverageThresholdTask.php | 0 .../phing/tasks/ext/creole/CreoleSQLExecTask.php | 0 .../library/phing/tasks/ext/creole/CreoleTask.php | 0 .../phing/tasks/ext/dbdeploy/DbDeployTask.php | 0 .../library/phing/tasks/ext/dbdeploy/DbmsSyntax.php | 0 .../phing/tasks/ext/dbdeploy/DbmsSyntaxFactory.php | 0 .../phing/tasks/ext/dbdeploy/DbmsSyntaxMsSql.php | 0 .../phing/tasks/ext/dbdeploy/DbmsSyntaxMysql.php | 0 .../phing/tasks/ext/dbdeploy/DbmsSyntaxSQLite.php | 0 .../phing/tasks/ext/ioncube/IoncubeComment.php | 0 .../phing/tasks/ext/ioncube/IoncubeEncoderTask.php | 0 .../phing/tasks/ext/ioncube/IoncubeLicenseTask.php | 0 airtime_mvc/library/phing/tasks/ext/jsmin/JsMin.php | 0 .../library/phing/tasks/ext/jsmin/JsMinTask.php | 0 .../tasks/ext/pdepend/PhpDependAnalyzerElement.php | 0 .../tasks/ext/pdepend/PhpDependLoggerElement.php | 0 .../phing/tasks/ext/pdepend/PhpDependTask.php | 0 .../phing/tasks/ext/pdo/PDOResultFormatter.php | 0 .../tasks/ext/pdo/PDOSQLExecFormatterElement.php | 0 .../library/phing/tasks/ext/pdo/PDOSQLExecTask.php | 0 airtime_mvc/library/phing/tasks/ext/pdo/PDOTask.php | 0 .../phing/tasks/ext/pdo/PlainPDOResultFormatter.php | 0 .../phing/tasks/ext/pdo/XMLPDOResultFormatter.php | 0 .../library/phing/tasks/ext/pearpackage/Fileset.php | 0 .../phing/tasks/ext/phar/IterableFileSet.php | 0 .../library/phing/tasks/ext/phar/PharMetadata.php | 0 .../phing/tasks/ext/phar/PharMetadataElement.php | 0 .../phing/tasks/ext/phar/PharPackageTask.php | 0 .../library/phing/tasks/ext/phk/PhkPackageTask.php | 0 .../phing/tasks/ext/phk/PhkPackageWebAccess.php | 0 .../phing/tasks/ext/phk/PhkPackageWebAccessPath.php | 0 .../tasks/ext/phpcpd/PHPCPDFormatterElement.php | 0 .../library/phing/tasks/ext/phpcpd/PHPCPDTask.php | 0 .../formatter/DefaultPHPCPDResultFormatter.php | 0 .../ext/phpcpd/formatter/PHPCPDResultFormatter.php | 0 .../phpcpd/formatter/PMDPHPCPDResultFormatter.php | 0 .../tasks/ext/phpdoc/PhingPhpDocumentorSetup.php | 0 .../tasks/ext/phpdoc/PhpDocumentorExternalTask.php | 0 .../phing/tasks/ext/phpdoc/PhpDocumentorTask.php | 0 .../phing/tasks/ext/phpmd/PHPMDFormatterElement.php | 0 .../library/phing/tasks/ext/phpmd/PHPMDTask.php | 0 .../library/phing/tasks/ext/phpunit/BatchTest.php | 0 .../phing/tasks/ext/phpunit/FormatterElement.php | 0 .../phing/tasks/ext/phpunit/PHPUnitReportTask.php | 0 .../library/phing/tasks/ext/phpunit/PHPUnitTask.php | 0 .../phing/tasks/ext/phpunit/PHPUnitTestRunner.php | 0 .../library/phing/tasks/ext/phpunit/PHPUnitUtil.php | 0 .../formatter/CloverPHPUnitResultFormatter.php | 0 .../phpunit/formatter/PHPUnitResultFormatter.php | 0 .../formatter/PlainPHPUnitResultFormatter.php | 0 .../formatter/SummaryPHPUnitResultFormatter.php | 0 .../phpunit/formatter/XMLPHPUnitResultFormatter.php | 0 .../simpletest/SimpleTestCountResultFormatter.php | 0 .../simpletest/SimpleTestDebugResultFormatter.php | 0 .../ext/simpletest/SimpleTestFormatterElement.php | 0 .../simpletest/SimpleTestPlainResultFormatter.php | 0 .../ext/simpletest/SimpleTestResultFormatter.php | 0 .../simpletest/SimpleTestSummaryResultFormatter.php | 0 .../phing/tasks/ext/simpletest/SimpleTestTask.php | 0 .../ext/simpletest/SimpleTestXmlResultFormatter.php | 0 .../library/phing/tasks/ext/svn/SvnBaseTask.php | 0 .../library/phing/tasks/ext/svn/SvnCheckoutTask.php | 0 .../library/phing/tasks/ext/svn/SvnCommitTask.php | 0 .../library/phing/tasks/ext/svn/SvnCopyTask.php | 0 .../library/phing/tasks/ext/svn/SvnExportTask.php | 0 .../phing/tasks/ext/svn/SvnLastRevisionTask.php | 0 .../library/phing/tasks/ext/svn/SvnUpdateTask.php | 0 .../library/phing/tasks/system/AdhocTask.php | 0 .../library/phing/tasks/system/AdhocTaskdefTask.php | 0 .../library/phing/tasks/system/AdhocTypedefTask.php | 0 .../library/phing/tasks/system/AppendTask.php | 0 .../library/phing/tasks/system/AvailableTask.php | 0 .../library/phing/tasks/system/ChmodTask.php | 0 .../library/phing/tasks/system/ChownTask.php | 0 .../library/phing/tasks/system/ConditionTask.php | 0 airtime_mvc/library/phing/tasks/system/CopyTask.php | 0 .../library/phing/tasks/system/CvsPassTask.php | 0 airtime_mvc/library/phing/tasks/system/CvsTask.php | 0 .../library/phing/tasks/system/DeleteTask.php | 0 airtime_mvc/library/phing/tasks/system/EchoTask.php | 0 airtime_mvc/library/phing/tasks/system/ExecTask.php | 0 airtime_mvc/library/phing/tasks/system/ExitTask.php | 0 .../library/phing/tasks/system/ForeachTask.php | 0 airtime_mvc/library/phing/tasks/system/IfTask.php | 0 .../library/phing/tasks/system/ImportTask.php | 0 .../library/phing/tasks/system/IncludePathTask.php | 0 .../library/phing/tasks/system/InputTask.php | 0 .../library/phing/tasks/system/MatchingTask.php | 0 .../library/phing/tasks/system/MkdirTask.php | 0 airtime_mvc/library/phing/tasks/system/MoveTask.php | 0 .../library/phing/tasks/system/PhingCallTask.php | 0 .../library/phing/tasks/system/PhingTask.php | 0 .../library/phing/tasks/system/PhpEvalTask.php | 0 .../phing/tasks/system/PropertyPromptTask.php | 0 .../library/phing/tasks/system/PropertyTask.php | 0 .../library/phing/tasks/system/ReflexiveTask.php | 0 .../library/phing/tasks/system/ResolvePathTask.php | 0 .../library/phing/tasks/system/SequentialTask.php | 0 .../library/phing/tasks/system/TaskdefTask.php | 0 .../library/phing/tasks/system/TouchTask.php | 0 .../library/phing/tasks/system/TstampTask.php | 0 .../library/phing/tasks/system/TypedefTask.php | 0 .../library/phing/tasks/system/UpToDateTask.php | 0 airtime_mvc/library/phing/tasks/system/WarnTask.php | 0 airtime_mvc/library/phing/tasks/system/XsltTask.php | 0 .../phing/tasks/system/condition/AndCondition.php | 0 .../phing/tasks/system/condition/Condition.php | 0 .../phing/tasks/system/condition/ConditionBase.php | 0 .../tasks/system/condition/ContainsCondition.php | 0 .../tasks/system/condition/EqualsCondition.php | 0 .../tasks/system/condition/IsFalseCondition.php | 0 .../phing/tasks/system/condition/IsSetCondition.php | 0 .../tasks/system/condition/IsTrueCondition.php | 0 .../phing/tasks/system/condition/NotCondition.php | 0 .../phing/tasks/system/condition/OrCondition.php | 0 .../phing/tasks/system/condition/OsCondition.php | 0 .../system/condition/ReferenceExistsCondition.php | 0 airtime_mvc/library/phing/types/AbstractFileSet.php | 0 airtime_mvc/library/phing/types/Commandline.php | 0 airtime_mvc/library/phing/types/DataType.php | 0 airtime_mvc/library/phing/types/Description.php | 0 airtime_mvc/library/phing/types/DirSet.php | 0 airtime_mvc/library/phing/types/FileList.php | 0 airtime_mvc/library/phing/types/FileSet.php | 0 airtime_mvc/library/phing/types/FilterChain.php | 0 airtime_mvc/library/phing/types/Mapper.php | 0 airtime_mvc/library/phing/types/Parameter.php | 0 airtime_mvc/library/phing/types/Parameterizable.php | 0 airtime_mvc/library/phing/types/Path.php | 0 airtime_mvc/library/phing/types/PatternSet.php | 0 .../library/phing/types/PhingFilterReader.php | 0 airtime_mvc/library/phing/types/Reference.php | 0 .../library/phing/types/RegularExpression.php | 0 airtime_mvc/library/phing/types/TokenReader.php | 0 airtime_mvc/library/phing/types/TokenSource.php | 0 .../library/phing/types/selectors/AndSelector.php | 0 .../phing/types/selectors/BaseExtendSelector.php | 0 .../library/phing/types/selectors/BaseSelector.php | 0 .../phing/types/selectors/BaseSelectorContainer.php | 0 .../types/selectors/ContainsRegexpSelector.php | 0 .../phing/types/selectors/ContainsSelector.php | 0 .../library/phing/types/selectors/DateSelector.php | 0 .../phing/types/selectors/DependSelector.php | 0 .../library/phing/types/selectors/DepthSelector.php | 0 .../phing/types/selectors/ExtendFileSelector.php | 0 .../phing/types/selectors/ExtendSelector.php | 0 .../library/phing/types/selectors/FileSelector.php | 0 .../phing/types/selectors/FilenameSelector.php | 0 .../phing/types/selectors/MajoritySelector.php | 0 .../library/phing/types/selectors/NoneSelector.php | 0 .../library/phing/types/selectors/NotSelector.php | 0 .../library/phing/types/selectors/OrSelector.php | 0 .../phing/types/selectors/PresentSelector.php | 0 .../phing/types/selectors/SelectSelector.php | 0 .../phing/types/selectors/SelectorContainer.php | 0 .../phing/types/selectors/SelectorScanner.php | 0 .../library/phing/types/selectors/SelectorUtils.php | 0 .../library/phing/types/selectors/SizeSelector.php | 0 .../library/phing/types/selectors/TypeSelector.php | 0 airtime_mvc/library/phing/util/DataStore.php | 0 airtime_mvc/library/phing/util/DirectoryScanner.php | 0 .../library/phing/util/ExtendedFileStream.php | 0 airtime_mvc/library/phing/util/FileUtils.php | 0 airtime_mvc/library/phing/util/LogWriter.php | 0 airtime_mvc/library/phing/util/PathTokenizer.php | 0 .../library/phing/util/SourceFileScanner.php | 0 airtime_mvc/library/phing/util/StringHelper.php | 0 .../library/phing/util/regexp/PregEngine.php | 0 airtime_mvc/library/phing/util/regexp/Regexp.php | 0 .../library/phing/util/regexp/RegexpEngine.php | 0 airtime_mvc/library/php-amqplib/CREDITS | 0 airtime_mvc/library/php-amqplib/LICENSE | 0 airtime_mvc/library/php-amqplib/README.md | 0 airtime_mvc/library/php-amqplib/amqp.inc | 0 airtime_mvc/library/php-amqplib/amqp_receive.php | 0 airtime_mvc/library/php-amqplib/amqp_test.php | 0 airtime_mvc/library/php-amqplib/amqp_wire.inc | 0 airtime_mvc/library/php-amqplib/hexdump.inc | 0 airtime_mvc/library/propel/CHANGELOG | 0 airtime_mvc/library/propel/INSTALL | 0 airtime_mvc/library/propel/LICENSE | 0 airtime_mvc/library/propel/WHATS_NEW | 0 .../propel/contrib/dbd2propel/dbd2propel.xsl | 0 .../library/propel/contrib/dbd2propel/transform.php | 0 airtime_mvc/library/propel/contrib/pat/patForms.php | 0 .../contrib/pat/patForms/Creator/Definition.php | 0 .../propel/contrib/pat/patForms/Creator/Propel.php | 0 .../pat/patForms/Creator/_propel_creator_test.php | 0 .../contrib/pat/patForms/Datasource/Propel.php | 0 .../propel/contrib/pat/patForms/Definition.php | 0 .../contrib/pat/patForms/Definition/Propel.php | 0 .../library/propel/contrib/pat/patForms/Element.php | 0 .../library/propel/contrib/pat/patForms/Rule.php | 0 .../propel/contrib/pat/patForms/Rule/Match.php | 0 .../propel/contrib/pat/patForms/Rule/MaxLength.php | 0 .../propel/contrib/pat/patForms/Rule/MaxValue.php | 0 .../propel/contrib/pat/patForms/Rule/MinLength.php | 0 .../propel/contrib/pat/patForms/Rule/MinValue.php | 0 .../propel/contrib/pat/patForms/Rule/NotMatch.php | 0 .../contrib/pat/patForms/Rule/ValidValues.php | 0 .../propel/contrib/pat/patForms/Storage/Propel.php | 0 .../contrib/pat/patForms/res/form.dynamic.tpl | 0 .../pat/patForms/res/mysql-dump.bookstore.sql | 0 .../contrib/pat/patForms_Storage_Propel_test.php | 0 .../library/propel/contrib/pat/patTemplate.php | 0 .../contrib/pear/HTML_QuickForm_Propel/Propel.php | 0 .../pear/Structures_DataGrid_Propel/Propel.php | 0 .../propel/docs/behavior/aggregate_column.txt | 0 .../docs/behavior/alternative_coding_standards.txt | 0 .../library/propel/docs/behavior/auto_add_pk.txt | 0 .../library/propel/docs/behavior/nested_set.txt | 0 .../library/propel/docs/behavior/query_cache.txt | 0 .../library/propel/docs/behavior/sluggable.txt | 0 .../library/propel/docs/behavior/soft_delete.txt | 0 .../library/propel/docs/behavior/sortable.txt | 0 .../library/propel/docs/behavior/timestampable.txt | 0 airtime_mvc/library/propel/docs/build.xml | 0 .../library/propel/docs/cookbook/Add-Custom-SQL.txt | 0 .../propel/docs/cookbook/Copying-Objects.txt | 0 .../propel/docs/cookbook/Customizing-Build.txt | 0 .../propel/docs/cookbook/Existing-Database.txt | 0 .../library/propel/docs/cookbook/LOB-Columns.txt | 0 .../library/propel/docs/cookbook/Master-Slave.txt | 0 .../propel/docs/cookbook/Multi-Component.txt | 0 .../library/propel/docs/cookbook/Namespaces.txt | 0 .../library/propel/docs/cookbook/Nested-Set.txt | 0 .../propel/docs/cookbook/Runtime-Introspection.txt | 0 .../propel/docs/cookbook/Writing-Behavior.txt | 0 .../library/propel/docs/guide/01-Installation.txt | 0 .../library/propel/docs/guide/02-BuildTime.txt | 0 .../library/propel/docs/guide/03-Basic-CRUD.txt | 0 .../library/propel/docs/guide/04-Relationships.txt | 0 .../library/propel/docs/guide/05-Validators.txt | 0 .../library/propel/docs/guide/06-Transactions.txt | 0 .../library/propel/docs/guide/07-Behaviors.txt | 0 .../library/propel/docs/guide/08-Logging.txt | 0 .../library/propel/docs/guide/09-Inheritance.txt | 0 .../docs/reference/Buildtime-Configuration.txt | 0 .../library/propel/docs/reference/ModelCriteria.txt | 0 .../propel/docs/reference/Runtime-Configuration.txt | 0 .../library/propel/docs/reference/Schema.txt | 0 .../library/propel/generator/build-propel.xml | 0 .../propel/generator/build.properties-sample | 0 airtime_mvc/library/propel/generator/build.xml | 0 .../library/propel/generator/build.xml-local | 0 .../library/propel/generator/default.properties | 0 .../behavior/AlternativeCodingStandardsBehavior.php | 0 .../generator/lib/behavior/AutoAddPkBehavior.php | 0 .../generator/lib/behavior/SoftDeleteBehavior.php | 0 .../lib/behavior/TimestampableBehavior.php | 0 .../aggregate_column/AggregateColumnBehavior.php | 0 .../AggregateColumnRelationBehavior.php | 0 .../aggregate_column/templates/objectCompute.php | 0 .../aggregate_column/templates/objectUpdate.php | 0 .../templates/objectUpdateRelated.php | 0 .../aggregate_column/templates/queryFindRelated.php | 0 .../templates/queryUpdateRelated.php | 0 .../ConcreteInheritanceBehavior.php | 0 .../ConcreteInheritanceParentBehavior.php | 0 .../lib/behavior/nestedset/NestedSetBehavior.php | 0 .../NestedSetBehaviorObjectBuilderModifier.php | 0 .../NestedSetBehaviorPeerBuilderModifier.php | 0 .../NestedSetBehaviorQueryBuilderModifier.php | 0 .../lib/behavior/query_cache/QueryCacheBehavior.php | 0 .../lib/behavior/sluggable/SluggableBehavior.php | 0 .../lib/behavior/sortable/SortableBehavior.php | 0 .../SortableBehaviorObjectBuilderModifier.php | 0 .../SortableBehaviorPeerBuilderModifier.php | 0 .../SortableBehaviorQueryBuilderModifier.php | 0 .../generator/lib/builder/DataModelBuilder.php | 0 .../propel/generator/lib/builder/om/ClassTools.php | 0 .../lib/builder/om/ExtensionQueryBuilder.php | 0 .../builder/om/ExtensionQueryInheritanceBuilder.php | 0 .../propel/generator/lib/builder/om/OMBuilder.php | 0 .../generator/lib/builder/om/ObjectBuilder.php | 0 .../lib/builder/om/PHP5ExtensionNodeBuilder.php | 0 .../lib/builder/om/PHP5ExtensionNodePeerBuilder.php | 0 .../lib/builder/om/PHP5ExtensionObjectBuilder.php | 0 .../lib/builder/om/PHP5ExtensionPeerBuilder.php | 0 .../lib/builder/om/PHP5InterfaceBuilder.php | 0 .../lib/builder/om/PHP5MultiExtendObjectBuilder.php | 0 .../lib/builder/om/PHP5NestedSetBuilder.php | 0 .../lib/builder/om/PHP5NestedSetPeerBuilder.php | 0 .../generator/lib/builder/om/PHP5NodeBuilder.php | 0 .../lib/builder/om/PHP5NodePeerBuilder.php | 0 .../generator/lib/builder/om/PHP5ObjectBuilder.php | 0 .../builder/om/PHP5ObjectNoCollectionBuilder.php | 0 .../generator/lib/builder/om/PHP5PeerBuilder.php | 0 .../lib/builder/om/PHP5TableMapBuilder.php | 0 .../propel/generator/lib/builder/om/PeerBuilder.php | 0 .../generator/lib/builder/om/QueryBuilder.php | 0 .../lib/builder/om/QueryInheritanceBuilder.php | 0 .../propel/generator/lib/builder/sql/DDLBuilder.php | 0 .../generator/lib/builder/sql/DataSQLBuilder.php | 0 .../lib/builder/sql/mssql/MssqlDDLBuilder.php | 0 .../lib/builder/sql/mssql/MssqlDataSQLBuilder.php | 0 .../lib/builder/sql/mysql/MysqlDDLBuilder.php | 0 .../lib/builder/sql/mysql/MysqlDataSQLBuilder.php | 0 .../lib/builder/sql/oracle/OracleDDLBuilder.php | 0 .../lib/builder/sql/oracle/OracleDataSQLBuilder.php | 0 .../lib/builder/sql/pgsql/PgsqlDDLBuilder.php | 0 .../lib/builder/sql/pgsql/PgsqlDataSQLBuilder.php | 0 .../lib/builder/sql/sqlite/SqliteDDLBuilder.php | 0 .../lib/builder/sql/sqlite/SqliteDataSQLBuilder.php | 0 .../lib/builder/util/DefaultEnglishPluralizer.php | 0 .../generator/lib/builder/util/Pluralizer.php | 0 .../lib/builder/util/PropelStringReader.php | 0 .../generator/lib/builder/util/PropelTemplate.php | 0 .../generator/lib/builder/util/XmlToAppData.php | 0 .../generator/lib/builder/util/XmlToDataSQL.php | 0 .../propel/generator/lib/config/GeneratorConfig.php | 0 .../generator/lib/exception/EngineException.php | 0 .../library/propel/generator/lib/model/AppData.php | 0 .../library/propel/generator/lib/model/Behavior.php | 0 .../library/propel/generator/lib/model/Column.php | 0 .../generator/lib/model/ColumnDefaultValue.php | 0 .../generator/lib/model/ConstraintNameGenerator.php | 0 .../library/propel/generator/lib/model/Database.php | 0 .../library/propel/generator/lib/model/Domain.php | 0 .../propel/generator/lib/model/ForeignKey.php | 0 .../library/propel/generator/lib/model/IDMethod.php | 0 .../generator/lib/model/IdMethodParameter.php | 0 .../library/propel/generator/lib/model/Index.php | 0 .../propel/generator/lib/model/Inheritance.php | 0 .../propel/generator/lib/model/NameFactory.php | 0 .../propel/generator/lib/model/NameGenerator.php | 0 .../propel/generator/lib/model/PhpNameGenerator.php | 0 .../propel/generator/lib/model/PropelTypes.php | 0 .../library/propel/generator/lib/model/Rule.php | 0 .../library/propel/generator/lib/model/Table.php | 0 .../library/propel/generator/lib/model/Unique.php | 0 .../propel/generator/lib/model/Validator.php | 0 .../propel/generator/lib/model/VendorInfo.php | 0 .../propel/generator/lib/model/XMLElement.php | 0 .../generator/lib/platform/DefaultPlatform.php | 0 .../propel/generator/lib/platform/MssqlPlatform.php | 0 .../propel/generator/lib/platform/MysqlPlatform.php | 0 .../generator/lib/platform/OraclePlatform.php | 0 .../propel/generator/lib/platform/PgsqlPlatform.php | 0 .../propel/generator/lib/platform/Platform.php | 0 .../generator/lib/platform/SqlitePlatform.php | 0 .../generator/lib/reverse/BaseSchemaParser.php | 0 .../propel/generator/lib/reverse/SchemaParser.php | 0 .../lib/reverse/mssql/MssqlSchemaParser.php | 0 .../lib/reverse/mysql/MysqlSchemaParser.php | 0 .../lib/reverse/oracle/OracleSchemaParser.php | 0 .../lib/reverse/pgsql/PgsqlSchemaParser.php | 0 .../lib/reverse/sqlite/SqliteSchemaParser.php | 0 .../lib/task/AbstractPropelDataModelTask.php | 0 .../generator/lib/task/PropelConvertConfTask.php | 0 .../propel/generator/lib/task/PropelDataDTDTask.php | 0 .../generator/lib/task/PropelDataDumpTask.php | 0 .../lib/task/PropelDataModelTemplateTask.php | 0 .../propel/generator/lib/task/PropelDataSQLTask.php | 0 .../generator/lib/task/PropelGraphvizTask.php | 0 .../propel/generator/lib/task/PropelOMTask.php | 0 .../propel/generator/lib/task/PropelSQLExec.php | 0 .../propel/generator/lib/task/PropelSQLTask.php | 0 .../generator/lib/task/PropelSchemaReverseTask.php | 0 .../pear/BuildPropelGenPEARPackageTask.php | 0 .../propel/generator/pear/build-pear-package.xml | 0 .../library/propel/generator/pear/build.properties | 0 .../library/propel/generator/pear/pear-build.xml | 0 .../propel/generator/pear/pear-propel-gen.bat | 0 .../propel/generator/resources/dtd/database.dtd | 0 .../generator/resources/xsd/custom_datatypes.xsd | 0 .../propel/generator/resources/xsd/database.xsd | 0 .../propel/generator/resources/xsl/database.xsl | 0 airtime_mvc/library/propel/runtime/lib/Propel.php | 0 .../propel/runtime/lib/adapter/DBAdapter.php | 0 .../library/propel/runtime/lib/adapter/DBMSSQL.php | 0 .../library/propel/runtime/lib/adapter/DBMySQL.php | 0 .../library/propel/runtime/lib/adapter/DBNone.php | 0 .../library/propel/runtime/lib/adapter/DBOracle.php | 0 .../propel/runtime/lib/adapter/DBPostgres.php | 0 .../library/propel/runtime/lib/adapter/DBSQLite.php | 0 .../lib/adapter/MSSQL/MssqlDateTime.class.php | 0 .../runtime/lib/adapter/MSSQL/MssqlDebugPDO.php | 0 .../runtime/lib/adapter/MSSQL/MssqlPropelPDO.php | 0 .../lib/collection/PropelArrayCollection.php | 0 .../runtime/lib/collection/PropelCollection.php | 0 .../lib/collection/PropelObjectCollection.php | 0 .../lib/collection/PropelOnDemandCollection.php | 0 .../lib/collection/PropelOnDemandIterator.php | 0 .../runtime/lib/config/PropelConfiguration.php | 0 .../lib/config/PropelConfigurationIterator.php | 0 .../propel/runtime/lib/connection/DebugPDO.php | 0 .../runtime/lib/connection/DebugPDOStatement.php | 0 .../propel/runtime/lib/connection/PropelPDO.php | 0 .../runtime/lib/exception/PropelException.php | 0 .../propel/runtime/lib/formatter/ModelWith.php | 0 .../runtime/lib/formatter/PropelArrayFormatter.php | 0 .../runtime/lib/formatter/PropelFormatter.php | 0 .../runtime/lib/formatter/PropelObjectFormatter.php | 0 .../lib/formatter/PropelOnDemandFormatter.php | 0 .../lib/formatter/PropelStatementFormatter.php | 0 .../propel/runtime/lib/logger/BasicLogger.php | 0 .../propel/runtime/lib/logger/MojaviLogAdapter.php | 0 .../library/propel/runtime/lib/map/ColumnMap.php | 0 .../library/propel/runtime/lib/map/DatabaseMap.php | 0 .../library/propel/runtime/lib/map/RelationMap.php | 0 .../library/propel/runtime/lib/map/TableMap.php | 0 .../library/propel/runtime/lib/map/ValidatorMap.php | 0 .../library/propel/runtime/lib/om/BaseObject.php | 0 .../runtime/lib/om/NestedSetRecursiveIterator.php | 0 .../library/propel/runtime/lib/om/NodeObject.php | 0 .../library/propel/runtime/lib/om/Persistent.php | 0 .../propel/runtime/lib/om/PreOrderNodeIterator.php | 0 .../library/propel/runtime/lib/query/Criteria.php | 0 .../library/propel/runtime/lib/query/Criterion.php | 0 .../propel/runtime/lib/query/CriterionIterator.php | 0 .../library/propel/runtime/lib/query/Join.php | 0 .../propel/runtime/lib/query/ModelCriteria.php | 0 .../propel/runtime/lib/query/ModelCriterion.php | 0 .../library/propel/runtime/lib/query/ModelJoin.php | 0 .../propel/runtime/lib/query/PropelQuery.php | 0 .../library/propel/runtime/lib/util/BasePeer.php | 0 .../library/propel/runtime/lib/util/NodePeer.php | 0 .../propel/runtime/lib/util/PropelAutoloader.php | 0 .../propel/runtime/lib/util/PropelColumnTypes.php | 0 .../runtime/lib/util/PropelConditionalProxy.php | 0 .../propel/runtime/lib/util/PropelDateTime.php | 0 .../propel/runtime/lib/util/PropelModelPager.php | 0 .../library/propel/runtime/lib/util/PropelPager.php | 0 .../propel/runtime/lib/validator/BasicValidator.php | 0 .../propel/runtime/lib/validator/MatchValidator.php | 0 .../runtime/lib/validator/MaxLengthValidator.php | 0 .../runtime/lib/validator/MaxValueValidator.php | 0 .../runtime/lib/validator/MinLengthValidator.php | 0 .../runtime/lib/validator/MinValueValidator.php | 0 .../runtime/lib/validator/NotMatchValidator.php | 0 .../runtime/lib/validator/RequiredValidator.php | 0 .../propel/runtime/lib/validator/TypeValidator.php | 0 .../runtime/lib/validator/UniqueValidator.php | 0 .../runtime/lib/validator/ValidValuesValidator.php | 0 .../runtime/lib/validator/ValidationFailed.php | 0 .../runtime/pear/BuildPropelPEARPackageTask.php | 0 .../propel/runtime/pear/build-pear-package.xml | 0 airtime_mvc/library/propel/test/README | 0 .../library/propel/test/bookstore-packaged-test.php | 0 airtime_mvc/library/propel/test/etc/lob/propel.gif | Bin .../library/propel/test/etc/lob/tin_drum.gif | Bin .../library/propel/test/etc/lob/tin_drum.txt | 0 .../propel/test/etc/schema/tabletest-schema.xml | 0 .../library/propel/test/etc/xsl/coverage-frames.xsl | 0 airtime_mvc/library/propel/test/etc/xsl/log.xsl | 0 .../propel/test/etc/xsl/phpunit2-noframes.xsl | 0 .../propel/test/etc/xsl/str.replace.function.xsl | 0 .../fixtures/bookstore-packaged/book.schema.xml | 0 .../bookstore-packaged/book_club_list.schema.xml | 0 .../fixtures/bookstore-packaged/build.properties | 0 .../bookstore-packaged/external/author.schema.xml | 0 .../test/fixtures/bookstore-packaged/log.schema.xml | 0 .../fixtures/bookstore-packaged/media.schema.xml | 0 .../bookstore-packaged/publisher.schema.xml | 0 .../fixtures/bookstore-packaged/review.schema.xml | 0 .../fixtures/bookstore-packaged/runtime-conf.xml | 0 .../bookstore/behavior-aggregate-schema.xml | 0 .../bookstore/behavior-auto-add-pk-schema.xml | 0 .../behavior-concrete-inheritance-schema.xml | 0 .../bookstore/behavior-nested-set-schema.xml | 0 .../test/fixtures/bookstore/behavior-schema.xml | 0 .../bookstore/behavior-sluggable-schema.xml | 0 .../bookstore/behavior-soft-delete-schema.xml | 0 .../fixtures/bookstore/behavior-sortable-schema.xml | 0 .../bookstore/behavior-timestampable-schema.xml | 0 .../propel/test/fixtures/bookstore/build.properties | 0 .../propel/test/fixtures/bookstore/cms-schema.xml | 0 .../propel/test/fixtures/bookstore/runtime-conf.xml | 0 .../propel/test/fixtures/bookstore/schema.xml | 0 .../test/fixtures/namespaced/build.properties | 0 .../test/fixtures/namespaced/runtime-conf.xml | 0 .../propel/test/fixtures/namespaced/schema.xml | 0 .../propel/test/fixtures/nestedset/build.properties | 0 .../test/fixtures/nestedset/nestedset-schema.xml | 0 .../propel/test/fixtures/nestedset/runtime-conf.xml | 0 .../propel/test/fixtures/treetest/build.properties | 0 .../propel/test/fixtures/treetest/runtime-conf.xml | 0 .../test/fixtures/treetest/treetest-schema.xml | 0 .../test/fixtures/unique-column/column-schema.xml | 0 .../test/fixtures/unique-column/table-schema.xml | 0 airtime_mvc/library/propel/test/speed.php | 0 airtime_mvc/library/propel/test/test.xml | 0 .../generator/behavior/AutoAddPkBehaviorTest.php | 0 .../generator/behavior/ObjectBehaviorTest.php | 0 .../generator/behavior/PeerBehaviorTest.php | 0 .../generator/behavior/SoftDeleteBehaviorTest.php | 0 .../generator/behavior/TableBehaviorTest.php | 0 .../behavior/TimestampableBehaviorTest.php | 0 .../AggregateColumnBehaviorTest.php | 0 .../ConcreteInheritanceBehaviorTest.php | 0 .../ConcreteInheritanceParentBehaviorTest.php | 0 .../NestedSetBehaviorObjectBuilderModifierTest.php | 0 ...etBehaviorObjectBuilderModifierWithScopeTest.php | 0 .../NestedSetBehaviorPeerBuilderModifierTest.php | 0 ...dSetBehaviorPeerBuilderModifierWithScopeTest.php | 0 .../NestedSetBehaviorQueryBuilderModifierTest.php | 0 ...SetBehaviorQueryBuilderModifierWithScopeTest.php | 0 .../behavior/nestedset/NestedSetBehaviorTest.php | 0 .../behavior/sluggable/SluggableBehaviorTest.php | 0 .../SortableBehaviorObjectBuilderModifierTest.php | 0 ...leBehaviorObjectBuilderModifierWithScopeTest.php | 0 .../SortableBehaviorPeerBuilderModifierTest.php | 0 ...ableBehaviorPeerBuilderModifierWithScopeTest.php | 0 .../SortableBehaviorQueryBuilderModifierTest.php | 0 ...bleBehaviorQueryBuilderModifierWithScopeTest.php | 0 .../behavior/sortable/SortableBehaviorTest.php | 0 .../testsuite/generator/builder/NamespaceTest.php | 0 .../builder/om/GeneratedNestedSetObjectTest.php | 0 .../builder/om/GeneratedNestedSetPeerTest.php | 0 .../generator/builder/om/GeneratedNestedSetTest.php | 0 .../generator/builder/om/GeneratedObjectLobTest.php | 0 .../generator/builder/om/GeneratedObjectRelTest.php | 0 .../generator/builder/om/GeneratedObjectTest.php | 0 .../builder/om/GeneratedPeerDoDeleteTest.php | 0 .../builder/om/GeneratedPeerDoSelectTest.php | 0 .../generator/builder/om/GeneratedPeerTest.php | 0 .../generator/builder/om/OMBuilderNamespaceTest.php | 0 .../generator/builder/om/OMBuilderTest.php | 0 .../builder/om/PHP5TableMapBuilderTest.php | 0 .../builder/om/QueryBuilderInheritanceTest.php | 0 .../generator/builder/om/QueryBuilderTest.php | 0 .../generator/builder/util/PropelTemplateTest.php | 0 .../testsuite/generator/builder/util/template.php | 0 .../test/testsuite/generator/model/BehaviorTest.php | 0 .../test/testsuite/generator/model/ColumnTest.php | 0 .../testsuite/generator/model/NameFactoryTest.php | 0 .../generator/model/PhpNameGeneratorTest.php | 0 .../test/testsuite/generator/model/TableTest.php | 0 .../generator/platform/DefaultPlatformTest.php | 0 .../generator/platform/PlatformTestBase.php | 0 .../generator/platform/SqlitePlatformTest.php | 0 .../propel/test/testsuite/misc/BookstoreTest.php | 0 .../test/testsuite/misc/CharacterEncodingTest.php | 0 .../test/testsuite/misc/FieldnameRelatedTest.php | 0 .../propel/test/testsuite/misc/Ticket520Test.php | 0 .../test/testsuite/runtime/adapter/DBOracleTest.php | 0 .../collection/PropelArrayCollectionTest.php | 0 .../runtime/collection/PropelCollectionTest.php | 0 .../collection/PropelObjectCollectionTest.php | 0 .../collection/PropelOnDemandCollectionTest.php | 0 .../collection/PropelOnDemandIteratorTest.php | 0 .../testsuite/runtime/connection/PropelPDOTest.php | 0 .../runtime/formatter/PropelArrayFormatterTest.php | 0 .../formatter/PropelArrayFormatterWithTest.php | 0 .../PropelObjectFormatterInheritanceTest.php | 0 .../runtime/formatter/PropelObjectFormatterTest.php | 0 .../formatter/PropelObjectFormatterWithTest.php | 0 .../formatter/PropelOnDemandFormatterTest.php | 0 .../formatter/PropelOnDemandFormatterWithTest.php | 0 .../formatter/PropelStatementFormatterTest.php | 0 .../test/testsuite/runtime/map/ColumnMapTest.php | 0 .../test/testsuite/runtime/map/DatabaseMapTest.php | 0 .../runtime/map/GeneratedRelationMapTest.php | 0 .../runtime/map/RelatedMapSymmetricalTest.php | 0 .../test/testsuite/runtime/map/RelationMapTest.php | 0 .../test/testsuite/runtime/map/TableMapTest.php | 0 .../runtime/om/BaseObjectSerializeTest.php | 0 .../test/testsuite/runtime/om/BaseObjectTest.php | 0 .../testsuite/runtime/query/CriteriaCombineTest.php | 0 .../runtime/query/CriteriaFluidConditionTest.php | 0 .../testsuite/runtime/query/CriteriaMergeTest.php | 0 .../test/testsuite/runtime/query/CriteriaTest.php | 0 .../test/testsuite/runtime/query/JoinTest.php | 0 .../runtime/query/ModelCriteriaHooksTest.php | 0 .../testsuite/runtime/query/ModelCriteriaTest.php | 0 .../test/testsuite/runtime/query/ModelJoinTest.php | 0 .../test/testsuite/runtime/query/ModelWithTest.php | 0 .../testsuite/runtime/query/PropelQueryTest.php | 0 .../runtime/util/BasePeerExceptionsTest.php | 0 .../test/testsuite/runtime/util/BasePeerTest.php | 0 .../runtime/util/PropelConfigurationTest.php | 0 .../testsuite/runtime/util/PropelDateTimeTest.php | 0 .../testsuite/runtime/util/PropelModelPagerTest.php | 0 .../test/testsuite/runtime/util/PropelPagerTest.php | 0 .../testsuite/runtime/validator/ValidatorTest.php | 0 .../propel/test/tools/helpers/BaseTestCase.php | 0 .../helpers/bookstore/BookstoreDataPopulator.php | 0 .../helpers/bookstore/BookstoreEmptyTestBase.php | 0 .../tools/helpers/bookstore/BookstoreTestBase.php | 0 .../behavior/BookstoreNestedSetTestBase.php | 0 .../behavior/BookstoreSortableTestBase.php | 0 .../bookstore/behavior/DonothingBehavior.php | 0 .../tools/helpers/bookstore/behavior/TestAuthor.php | 0 .../bookstore/behavior/Testallhooksbehavior.php | 0 .../helpers/bookstore/validator/ISBNValidator.php | 0 .../test/tools/helpers/cms/CmsDataPopulator.php | 0 .../propel/test/tools/helpers/cms/CmsTestBase.php | 0 .../library/propel/test/tools/phing/DefineTask.php | 0 airtime_mvc/library/propel/test/tree-test.php | 0 airtime_mvc/library/soundcloud-api/README.md | 0 .../library/soundcloud-api/Services/Soundcloud.php | 0 .../Services/Soundcloud/Exception.php | 0 .../soundcloud-api/Services/Soundcloud/Version.php | 0 .../soundcloud-api/tests/Soundcloud_Test.php | 0 .../soundcloud-api/tests/Soundcloud_Test_Helper.php | 0 airtime_mvc/locale/az/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/az/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/cs_CZ/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/cs_CZ/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/de_AT/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/de_AT/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/de_DE/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/de_DE/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/el_GR/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/el_GR/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/en_CA/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/en_CA/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/en_GB/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/en_GB/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/en_US/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/en_US/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/es_ES/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/es_ES/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/fr_FR/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/fr_FR/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/hr_HR/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/hr_HR/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/hu_HU/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/hu_HU/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/hy/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/hy/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/hy_AM/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/hy_AM/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/it_IT/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/it_IT/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/ja/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/ja/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/ja_JP/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/ja_JP/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/ka/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/ka/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/ko_KR/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/ko_KR/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/nl_NL/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/nl_NL/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/pl_PL/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/pl_PL/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/pt_BR/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/pt_BR/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/ru_RU/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/ru_RU/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/si/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/si/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/sr_RS/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/sr_RS/LC_MESSAGES/airtime.po | 0 .../locale/sr_RS@latin/LC_MESSAGES/airtime.mo | Bin .../locale/sr_RS@latin/LC_MESSAGES/airtime.po | 0 airtime_mvc/locale/template/airtime.po | 0 airtime_mvc/locale/zh_CN/LC_MESSAGES/airtime.mo | Bin airtime_mvc/locale/zh_CN/LC_MESSAGES/airtime.po | 0 airtime_mvc/public/.htaccess | 0 airtime_mvc/public/css/TableTools.css | 0 airtime_mvc/public/css/TableTools_JUI.css | 0 airtime_mvc/public/css/add-show.css | 0 airtime_mvc/public/css/bootstrap-3.3.1.min.css | 0 .../public/css/bootstrap-datetimepicker.min.css | 0 airtime_mvc/public/css/bootstrap.css | 0 .../public/css/colorpicker/css/colorpicker.css | 0 airtime_mvc/public/css/colorpicker/images/blank.gif | Bin .../colorpicker/images/colorpicker_background.png | Bin .../css/colorpicker/images/colorpicker_hex.png | Bin .../css/colorpicker/images/colorpicker_hsb_b.png | Bin .../css/colorpicker/images/colorpicker_hsb_h.png | Bin .../css/colorpicker/images/colorpicker_hsb_s.png | Bin .../css/colorpicker/images/colorpicker_indic.gif | Bin .../css/colorpicker/images/colorpicker_overlay.png | Bin .../css/colorpicker/images/colorpicker_rgb_b.png | Bin .../css/colorpicker/images/colorpicker_rgb_g.png | Bin .../css/colorpicker/images/colorpicker_rgb_r.png | Bin .../css/colorpicker/images/colorpicker_select.gif | Bin .../css/colorpicker/images/colorpicker_submit.png | Bin .../css/colorpicker/images/custom_background.png | Bin .../public/css/colorpicker/images/custom_hex.png | Bin .../public/css/colorpicker/images/custom_hsb_b.png | Bin .../public/css/colorpicker/images/custom_hsb_h.png | Bin .../public/css/colorpicker/images/custom_hsb_s.png | Bin .../public/css/colorpicker/images/custom_indic.gif | Bin .../public/css/colorpicker/images/custom_rgb_b.png | Bin .../public/css/colorpicker/images/custom_rgb_g.png | Bin .../public/css/colorpicker/images/custom_rgb_r.png | Bin .../public/css/colorpicker/images/custom_submit.png | Bin .../public/css/colorpicker/images/select.png | Bin .../public/css/colorpicker/images/select2.png | Bin .../public/css/colorpicker/images/slider.png | Bin .../public/css/datatables/css/ColReorder.css | 0 airtime_mvc/public/css/datatables/css/ColVis.css | 0 .../public/css/datatables/css/TableTools.css | 0 .../public/css/datatables/css/jquery.dataTables.css | 0 .../css/jquery.dataTables_themeroller.css | 0 .../public/css/datatables/images/Sorting icons.psd | Bin .../public/css/datatables/images/back_disabled.png | Bin .../public/css/datatables/images/back_enabled.png | Bin .../css/datatables/images/back_enabled_hover.png | Bin .../public/css/datatables/images/favicon.ico | Bin .../css/datatables/images/forward_disabled.png | Bin .../css/datatables/images/forward_enabled.png | Bin .../css/datatables/images/forward_enabled_hover.png | Bin .../public/css/datatables/images/sort_asc.png | Bin .../css/datatables/images/sort_asc_disabled.png | Bin .../public/css/datatables/images/sort_both.png | Bin .../public/css/datatables/images/sort_desc.png | Bin .../css/datatables/images/sort_desc_disabled.png | Bin airtime_mvc/public/css/fullcalendar-old.css | 0 airtime_mvc/public/css/fullcalendar.css | 0 airtime_mvc/public/css/history_styles.css | 0 airtime_mvc/public/css/images/404.png | Bin airtime_mvc/public/css/images/accept.png | Bin airtime_mvc/public/css/images/airtime_logo.png | Bin airtime_mvc/public/css/images/airtime_logo_big.png | Bin airtime_mvc/public/css/images/airtime_logo_jp.png | Bin airtime_mvc/public/css/images/arrow.gif | Bin airtime_mvc/public/css/images/arrow.png | Bin airtime_mvc/public/css/images/arrow_over.gif | Bin airtime_mvc/public/css/images/arrow_over.png | Bin airtime_mvc/public/css/images/arrows_collapse.png | Bin airtime_mvc/public/css/images/big_gray_logo.png | Bin airtime_mvc/public/css/images/big_play_arrow.png | Bin airtime_mvc/public/css/images/crossfade_bg.png | Bin airtime_mvc/public/css/images/crossfade_main.png | Bin .../public/css/images/crossfade_playlist.png | Bin airtime_mvc/public/css/images/cue-editor_bg.png | Bin airtime_mvc/public/css/images/cue_playlist.png | Bin airtime_mvc/public/css/images/delete.png | Bin airtime_mvc/public/css/images/down_arrow.png | Bin airtime_mvc/public/css/images/drag.png | Bin airtime_mvc/public/css/images/fade_in.png | Bin airtime_mvc/public/css/images/fade_out.png | Bin .../public/css/images/file_import_loader.gif | Bin airtime_mvc/public/css/images/filetype_icons.png | Bin .../public/css/images/icon_add_content_cm.png | Bin .../public/css/images/icon_add_playlist_cm.png | Bin airtime_mvc/public/css/images/icon_alert_cal.png | Bin .../public/css/images/icon_alert_cal_alt.png | Bin .../public/css/images/icon_alert_cal_alt2.png | Bin airtime_mvc/public/css/images/icon_alert_ffffff.png | Bin airtime_mvc/public/css/images/icon_audioclip.png | Bin airtime_mvc/public/css/images/icon_copy.png | Bin airtime_mvc/public/css/images/icon_copy_cm.png | Bin airtime_mvc/public/css/images/icon_cut.png | Bin airtime_mvc/public/css/images/icon_cut_cm.png | Bin airtime_mvc/public/css/images/icon_delete.png | Bin airtime_mvc/public/css/images/icon_delete_cm.png | Bin airtime_mvc/public/css/images/icon_door.png | Bin airtime_mvc/public/css/images/icon_door_cm.png | Bin airtime_mvc/public/css/images/icon_download_cm.png | Bin airtime_mvc/public/css/images/icon_edit.png | Bin airtime_mvc/public/css/images/icon_edit_cm.png | Bin airtime_mvc/public/css/images/icon_edit_l.png | Bin .../public/css/images/icon_finishedplaying_m.png | Bin airtime_mvc/public/css/images/icon_info.png | Bin airtime_mvc/public/css/images/icon_link.png | Bin airtime_mvc/public/css/images/icon_nowplaying_m.png | Bin airtime_mvc/public/css/images/icon_nowplaying_n.png | Bin airtime_mvc/public/css/images/icon_outdated.png | Bin airtime_mvc/public/css/images/icon_overlap.png | Bin airtime_mvc/public/css/images/icon_overview_cm.png | Bin airtime_mvc/public/css/images/icon_paste.png | Bin airtime_mvc/public/css/images/icon_paste_cm.png | Bin airtime_mvc/public/css/images/icon_play_cal.png | Bin airtime_mvc/public/css/images/icon_play_cm.png | Bin airtime_mvc/public/css/images/icon_playlist.png | Bin airtime_mvc/public/css/images/icon_rebroadcast.png | Bin .../public/css/images/icon_rebroadcast_m.png | Bin airtime_mvc/public/css/images/icon_record.png | Bin airtime_mvc/public/css/images/icon_record_m.png | Bin .../css/images/icon_remove_all_content_cm.png | Bin .../public/css/images/icon_select-cursor_cm.png | Bin airtime_mvc/public/css/images/icon_smart-block.png | Bin airtime_mvc/public/css/images/icon_soundcloud.png | Bin .../public/css/images/icon_soundcloud_cm.png | Bin .../public/css/images/icon_soundcloud_error2.png | Bin airtime_mvc/public/css/images/icon_soundcloud_m.png | Bin airtime_mvc/public/css/images/icon_update.png | Bin airtime_mvc/public/css/images/icon_update2.png | Bin airtime_mvc/public/css/images/icon_uptodate.png | Bin airtime_mvc/public/css/images/icon_webstream.png | Bin airtime_mvc/public/css/images/input_bg.png | Bin .../public/css/images/input_with_calendar_bg.png | Bin .../public/css/images/input_with_time_bg.png | Bin airtime_mvc/public/css/images/is_playlist.png | Bin airtime_mvc/public/css/images/is_scheduled.png | Bin airtime_mvc/public/css/images/loader-small.gif | Bin airtime_mvc/public/css/images/loader.gif | Bin airtime_mvc/public/css/images/login_content_bg.png | Bin airtime_mvc/public/css/images/login_page_bg.png | Bin airtime_mvc/public/css/images/masterpanel_bg.png | Bin .../public/css/images/masterpanel_spacer.png | Bin airtime_mvc/public/css/images/menuitem.gif | Bin airtime_mvc/public/css/images/more.gif | Bin airtime_mvc/public/css/images/on-off-air.png | Bin airtime_mvc/public/css/images/playinfo_bg.png | Bin airtime_mvc/public/css/images/progressbar_bg.png | Bin airtime_mvc/public/css/images/progressbar_show.png | Bin .../public/css/images/progressbar_show_error.png | Bin airtime_mvc/public/css/images/progressbar_song.png | Bin airtime_mvc/public/css/images/record_icon.png | Bin airtime_mvc/public/css/images/round_delete.png | Bin .../css/images/schedule-show_progressbar_bg.png | Bin airtime_mvc/public/css/images/search_auto_bg.png | Bin airtime_mvc/public/css/images/sf_arror.png | Bin airtime_mvc/public/css/images/source-info_lines.png | Bin .../public/css/images/source_to_switch_lines.png | Bin airtime_mvc/public/css/images/stream_status.png | Bin airtime_mvc/public/css/images/thin_delete.png | Bin airtime_mvc/public/css/images/three_0a.png | Bin airtime_mvc/public/css/images/tl-arrow.png | Bin airtime_mvc/public/css/images/tooltip_arrow.png | Bin airtime_mvc/public/css/images/upload-icon.gif | Bin airtime_mvc/public/css/images/warning-icon.png | Bin airtime_mvc/public/css/img/backgrounds.gif | Bin airtime_mvc/public/css/img/buttons-disabled.png | Bin airtime_mvc/public/css/img/buttons.png | Bin airtime_mvc/public/css/img/delete.gif | Bin airtime_mvc/public/css/img/desktop.png | Bin airtime_mvc/public/css/img/documents.png | Bin airtime_mvc/public/css/img/done.gif | Bin airtime_mvc/public/css/img/error.gif | Bin airtime_mvc/public/css/img/folder.png | Bin .../public/css/img/glyphicons-halflings-white.png | Bin airtime_mvc/public/css/img/glyphicons-halflings.png | Bin airtime_mvc/public/css/img/icon_cut_white.png | Bin airtime_mvc/public/css/img/loading.gif | Bin airtime_mvc/public/css/img/throbber.gif | Bin airtime_mvc/public/css/img/transp50.png | Bin airtime_mvc/public/css/img/unknown.png | Bin .../public/css/jquery-ui-timepicker-addon.css | 0 airtime_mvc/public/css/jquery.contextMenu.css | 0 airtime_mvc/public/css/jquery.ui.timepicker.css | 0 airtime_mvc/public/css/library_search.css | 0 airtime_mvc/public/css/masterpanel.css | 0 airtime_mvc/public/css/media_library.css | 0 airtime_mvc/public/css/playlist_builder.css | 0 airtime_mvc/public/css/playouthistory.css | 0 airtime_mvc/public/css/plupload.queue.css | 0 airtime_mvc/public/css/pro_dropdown_3.css | 0 airtime_mvc/public/css/qtip/jquery.qtip.css | 0 airtime_mvc/public/css/qtip/jquery.qtip.min.css | 0 .../css/redmond/images/ui-bg_default_aaaaaa.png | Bin .../redmond/images/ui-bg_flat_0_6c6c6c_40x100.png | Bin .../redmond/images/ui-bg_flat_0_9d9d9d_40x100.png | Bin .../redmond/images/ui-bg_flat_0_aaaaaa_40x100.png | Bin .../redmond/images/ui-bg_flat_55_eff6eb_40x100.png | Bin .../redmond/images/ui-bg_flat_55_fae5e5_40x100.png | Bin .../redmond/images/ui-bg_flat_55_fbec88_40x100.png | Bin .../redmond/images/ui-bg_flat_65_ffffff_40x100.png | Bin .../redmond/images/ui-bg_flat_75_ffffff_40x100.png | Bin .../redmond/images/ui-bg_glass_75_d0e5f5_1x400.png | Bin .../redmond/images/ui-bg_glass_85_dfeffc_1x400.png | Bin .../redmond/images/ui-bg_glass_95_fef1ec_1x400.png | Bin .../images/ui-bg_gloss-wave_55_5c9ccc_500x100.png | Bin .../ui-bg_highlight-soft_100_f6f6f6_1x100.png | Bin .../images/ui-bg_highlight-soft_25_007fb3_1x100.png | Bin .../images/ui-bg_highlight-soft_50_ebebeb_1x100.png | Bin .../public/css/redmond/images/ui-bg_highlight.png | Bin .../images/ui-bg_inset-hard_100_f5f8f9_1x100.png | Bin .../images/ui-bg_inset-hard_100_fcfdfd_1x100.png | Bin .../css/redmond/images/ui-icons_007fb3_256x240.png | Bin .../css/redmond/images/ui-icons_217bc0_256x240.png | Bin .../css/redmond/images/ui-icons_2e83ff_256x240.png | Bin .../css/redmond/images/ui-icons_454545_256x240.png | Bin .../css/redmond/images/ui-icons_469bdd_256x240.png | Bin .../css/redmond/images/ui-icons_65a539_256x240.png | Bin .../css/redmond/images/ui-icons_666666_256x240.png | Bin .../css/redmond/images/ui-icons_6da8d5_256x240.png | Bin .../css/redmond/images/ui-icons_cd0a0a_256x240.png | Bin .../css/redmond/images/ui-icons_d00000_256x240.png | Bin .../css/redmond/images/ui-icons_d8e7f3_256x240.png | Bin .../css/redmond/images/ui-icons_f9bd01_256x240.png | Bin .../css/redmond/images/ui-icons_ff0084_256x240.png | Bin .../css/redmond/images/ui-icons_ff5d1a_256x240.png | Bin .../css/redmond/images/ui-icons_ffffff_256x240.png | Bin .../public/css/redmond/jquery-ui-1.8.8.custom.css | 0 .../jquery-ui-1.8.8.custom.css | 0 airtime_mvc/public/css/setup/config-check.css | 0 airtime_mvc/public/css/setup/setup-config.css | 0 airtime_mvc/public/css/showbuilder.css | 0 airtime_mvc/public/css/styles.css | 0 airtime_mvc/public/css/tipsy/jquery.tipsy.css | 0 airtime_mvc/public/css/users.css | 0 airtime_mvc/public/css/waveform.css | 0 airtime_mvc/public/favicon.ico | Bin .../public/fonts/glyphicons-halflings-regular.eot | Bin .../public/fonts/glyphicons-halflings-regular.svg | 0 .../public/fonts/glyphicons-halflings-regular.ttf | Bin .../public/fonts/glyphicons-halflings-regular.woff | Bin .../public/images/datatables/Sorting icons.psd | Bin .../public/images/datatables/back_disabled.jpg | Bin .../public/images/datatables/back_enabled.jpg | Bin airtime_mvc/public/images/datatables/favicon.ico | Bin .../public/images/datatables/forward_disabled.jpg | Bin .../public/images/datatables/forward_enabled.jpg | Bin airtime_mvc/public/images/datatables/sort_asc.png | Bin .../public/images/datatables/sort_asc_disabled.png | Bin airtime_mvc/public/images/datatables/sort_both.png | Bin airtime_mvc/public/images/datatables/sort_desc.png | Bin .../public/images/datatables/sort_desc_disabled.png | Bin airtime_mvc/public/index.php | 0 airtime_mvc/public/install/clearstatcache.php | 0 airtime_mvc/public/js/airtime/airtime_bootstrap.js | 0 .../js/airtime/audiopreview/preview_jplayer.js | 0 airtime_mvc/public/js/airtime/buttons/buttons.js | 0 .../public/js/airtime/common/audioplaytest.js | 0 airtime_mvc/public/js/airtime/common/common.js | 0 .../public/js/airtime/dashboard/dashboard.js | 0 .../public/js/airtime/dashboard/helperfunctions.js | 0 .../public/js/airtime/dashboard/versiontooltip.js | 0 .../library/events/library_playlistbuilder.js | 0 .../airtime/library/events/library_showbuilder.js | 0 airtime_mvc/public/js/airtime/library/library.js | 0 airtime_mvc/public/js/airtime/library/plupload.js | 0 airtime_mvc/public/js/airtime/library/spl.js | 0 .../public/js/airtime/listenerstat/listenerstat.js | 0 airtime_mvc/public/js/airtime/login/login.js | 0 .../public/js/airtime/login/password-restore.js | 0 airtime_mvc/public/js/airtime/nowplaying/dayview.js | 0 airtime_mvc/public/js/airtime/nowplaying/nowview.js | 0 .../public/js/airtime/nowplaying/register.js | 0 .../js/airtime/playlist/smart_blockbuilder.js | 0 .../js/airtime/playouthistory/configuretemplate.js | 0 .../js/airtime/playouthistory/historytable.js | 0 .../public/js/airtime/playouthistory/template.js | 0 .../public/js/airtime/preferences/musicdirs.js | 0 .../public/js/airtime/preferences/preferences.js | 0 .../public/js/airtime/preferences/streamsetting.js | 0 .../js/airtime/preferences/support-setting.js | 0 airtime_mvc/public/js/airtime/schedule/add-show.js | 0 .../js/airtime/schedule/full-calendar-functions.js | 0 airtime_mvc/public/js/airtime/schedule/schedule.js | 0 .../public/js/airtime/showbuilder/builder.js | 0 .../public/js/airtime/showbuilder/main_builder.js | 0 airtime_mvc/public/js/airtime/status/status.js | 0 airtime_mvc/public/js/airtime/user/user.js | 0 .../public/js/airtime/utilities/utilities.js | 0 airtime_mvc/public/js/blockui/jquery.blockUI.js | 0 .../bootstrap-datetime/bootstrap-datetimepicker.js | 0 airtime_mvc/public/js/bootstrap/bootstrap.js | 0 airtime_mvc/public/js/bootstrap/bootstrap.min.js | 0 airtime_mvc/public/js/colorpicker/js/colorpicker.js | 0 .../public/js/contextmenu/AIRTIME_DEV_README | 0 .../public/js/contextmenu/jquery.contextMenu.js | 0 airtime_mvc/public/js/cookie/jquery.cookie.js | 0 airtime_mvc/public/js/datatables/i18n/cs_CZ.txt | 0 airtime_mvc/public/js/datatables/i18n/de_AT.txt | 0 airtime_mvc/public/js/datatables/i18n/de_DE.txt | 0 airtime_mvc/public/js/datatables/i18n/el_GR.txt | 0 airtime_mvc/public/js/datatables/i18n/en_CA.txt | 0 airtime_mvc/public/js/datatables/i18n/en_GB.txt | 0 airtime_mvc/public/js/datatables/i18n/en_US.txt | 0 airtime_mvc/public/js/datatables/i18n/es_ES.txt | 0 airtime_mvc/public/js/datatables/i18n/fr_FR.txt | 0 airtime_mvc/public/js/datatables/i18n/hr_HR.txt | 0 airtime_mvc/public/js/datatables/i18n/hu_HU.txt | 0 airtime_mvc/public/js/datatables/i18n/it_IT.txt | 0 airtime_mvc/public/js/datatables/i18n/ja.txt | 0 airtime_mvc/public/js/datatables/i18n/ja_JP.txt | 0 airtime_mvc/public/js/datatables/i18n/ko_KR.txt | 0 airtime_mvc/public/js/datatables/i18n/pl_PL.txt | 0 airtime_mvc/public/js/datatables/i18n/pt_BR.txt | 0 airtime_mvc/public/js/datatables/i18n/ru_RU.txt | 0 airtime_mvc/public/js/datatables/i18n/sr_RS.txt | 0 .../public/js/datatables/i18n/sr_RS@latin.txt | 0 airtime_mvc/public/js/datatables/i18n/zh_CN.txt | 0 .../public/js/datatables/js/jquery.dataTables.js | 0 .../plugin/AIRTIME_DEV_README_COLUMN_FILTER | 0 .../js/datatables/plugin/AIRTIME_DEV_README_COL_VIS | 0 .../plugin/TableTools-2.1.5/as3/ZeroClipboard.as | 0 .../plugin/TableTools-2.1.5/as3/ZeroClipboardPdf.as | 0 .../plugin/TableTools-2.1.5/as3/lib/AlivePDF.swc | Bin .../plugin/TableTools-2.1.5/css/TableTools.css | 0 .../plugin/TableTools-2.1.5/css/TableTools_JUI.css | 0 .../plugin/TableTools-2.1.5/images/background.png | Bin .../plugin/TableTools-2.1.5/images/collection.png | Bin .../TableTools-2.1.5/images/collection_hover.png | Bin .../plugin/TableTools-2.1.5/images/copy.png | Bin .../plugin/TableTools-2.1.5/images/copy_hover.png | Bin .../plugin/TableTools-2.1.5/images/csv.png | Bin .../plugin/TableTools-2.1.5/images/csv_hover.png | Bin .../plugin/TableTools-2.1.5/images/pdf.png | Bin .../plugin/TableTools-2.1.5/images/pdf_hover.png | Bin .../plugin/TableTools-2.1.5/images/print.png | Bin .../plugin/TableTools-2.1.5/images/print_hover.png | Bin .../TableTools-2.1.5/images/psd/collection.psd | Bin .../TableTools-2.1.5/images/psd/copy document.psd | Bin .../TableTools-2.1.5/images/psd/file_types.psd | Bin .../plugin/TableTools-2.1.5/images/psd/printer.psd | Bin .../plugin/TableTools-2.1.5/images/xls.png | Bin .../plugin/TableTools-2.1.5/images/xls_hover.png | Bin .../plugin/TableTools-2.1.5/js/TableTools.js | 0 .../plugin/TableTools-2.1.5/js/TableTools.min.js | 0 .../plugin/TableTools-2.1.5/js/TableTools.min.js.gz | Bin .../plugin/TableTools-2.1.5/js/ZeroClipboard.js | 0 .../plugin/TableTools-2.1.5/swf/copy_csv_xls.swf | Bin .../TableTools-2.1.5/swf/copy_csv_xls_pdf.swf | Bin .../js/datatables/plugin/dataTables.ColReorder.js | 0 .../js/datatables/plugin/dataTables.ColVis.js | 0 .../js/datatables/plugin/dataTables.ColVis_orig.js | 0 .../js/datatables/plugin/dataTables.FixedColumns.js | 0 .../js/datatables/plugin/dataTables.FixedHeader.js | 0 .../js/datatables/plugin/dataTables.columnFilter.js | 0 .../plugin/dataTables.columnFilter_orig.js | 0 .../plugin/dataTables.fnSetFilteringDelay.js | 0 .../js/datatables/plugin/dataTables.pluginAPI.js | 0 airtime_mvc/public/js/flot/API.txt | 0 airtime_mvc/public/js/flot/FAQ.txt | 0 airtime_mvc/public/js/flot/Makefile | 0 airtime_mvc/public/js/flot/NEWS.txt | 0 airtime_mvc/public/js/flot/PLUGINS.txt | 0 airtime_mvc/public/js/flot/README.txt | 0 airtime_mvc/public/js/flot/excanvas.js | 0 airtime_mvc/public/js/flot/excanvas.min.js | 0 airtime_mvc/public/js/flot/jquery.colorhelpers.js | 0 airtime_mvc/public/js/flot/jquery.flot.crosshair.js | 0 .../public/js/flot/jquery.flot.fillbetween.js | 0 airtime_mvc/public/js/flot/jquery.flot.image.js | 0 airtime_mvc/public/js/flot/jquery.flot.js | 0 airtime_mvc/public/js/flot/jquery.flot.navigate.js | 0 airtime_mvc/public/js/flot/jquery.flot.pie.js | 0 airtime_mvc/public/js/flot/jquery.flot.resize.js | 0 airtime_mvc/public/js/flot/jquery.flot.selection.js | 0 airtime_mvc/public/js/flot/jquery.flot.stack.js | 0 airtime_mvc/public/js/flot/jquery.flot.symbol.js | 0 airtime_mvc/public/js/flot/jquery.flot.threshold.js | 0 .../public/js/fullcalendar/AIRTIME_DEV_README | 0 airtime_mvc/public/js/fullcalendar/fullcalendar.js | 0 .../public/js/fullcalendar/fullcalendar.orig.js | 0 airtime_mvc/public/js/i18n/jquery.i18n.js | 0 airtime_mvc/public/js/jplayer/Jplayer.swf | Bin .../public/js/jplayer/jplayer.playlist.min.js | 0 .../public/js/jplayer/jquery.jplayer.inspector.js | 0 airtime_mvc/public/js/jplayer/jquery.jplayer.min.js | 0 .../public/js/jplayer/popcorn/popcorn.jplayer.js | 0 .../public/js/jplayer/skin/jplayer-mute-unmute.png | Bin .../jplayer/skin/jplayer.airtime.audio.preview.css | 0 .../skin/jplayer.audio-preview.blue.monday.css | 0 .../public/js/jplayer/skin/jplayer.blue.monday.css | 0 .../public/js/jplayer/skin/jplayer.blue.monday.jpg | Bin .../js/jplayer/skin/jplayer.blue.monday.seeking.gif | Bin airtime_mvc/public/js/jplayer/skin/jplayer.png | Bin airtime_mvc/public/js/jplayer/skin/pbar-ani.gif | Bin airtime_mvc/public/js/libs/google-analytics.js | 0 airtime_mvc/public/js/libs/jquery-1.10.2.js | 0 airtime_mvc/public/js/libs/jquery-1.7.2.min.js | 0 airtime_mvc/public/js/libs/jquery-1.8.3.min.js | 0 airtime_mvc/public/js/libs/jquery-migrate-1.2.1.js | 0 .../public/js/libs/jquery-ui-1.8.18.custom.min.js | 0 airtime_mvc/public/js/libs/jquery-ui-1.8.24.min.js | 0 airtime_mvc/public/js/libs/jquery.stickyPanel.js | 0 airtime_mvc/public/js/libs/underscore-min.js | 0 airtime_mvc/public/js/plupload/i18n/cs_CZ.js | 0 airtime_mvc/public/js/plupload/i18n/de_AT.js | 0 airtime_mvc/public/js/plupload/i18n/de_DE.js | 0 airtime_mvc/public/js/plupload/i18n/el_GR.js | 0 airtime_mvc/public/js/plupload/i18n/en_CA.js | 0 airtime_mvc/public/js/plupload/i18n/en_GB.js | 0 airtime_mvc/public/js/plupload/i18n/en_US.js | 0 airtime_mvc/public/js/plupload/i18n/es_ES.js | 0 airtime_mvc/public/js/plupload/i18n/fr_FR.js | 0 airtime_mvc/public/js/plupload/i18n/hr_HR.js | 0 airtime_mvc/public/js/plupload/i18n/hu_HU.js | 0 airtime_mvc/public/js/plupload/i18n/it_IT.js | 0 airtime_mvc/public/js/plupload/i18n/ja_JP.js | 0 airtime_mvc/public/js/plupload/i18n/ko_KR.js | 0 airtime_mvc/public/js/plupload/i18n/pl_PL.js | 0 airtime_mvc/public/js/plupload/i18n/pt_BR.js | 0 airtime_mvc/public/js/plupload/i18n/ru_RU.js | 0 airtime_mvc/public/js/plupload/i18n/sr_RS.js | 0 airtime_mvc/public/js/plupload/i18n/sr_RS@latin.js | 0 airtime_mvc/public/js/plupload/i18n/zh_CN.js | 0 .../public/js/plupload/jquery.plupload.queue.min.js | 0 airtime_mvc/public/js/plupload/plupload.full.min.js | 0 airtime_mvc/public/js/qtip/jquery.qtip.js | 0 airtime_mvc/public/js/qtip/jquery.qtip.min.js | 0 .../public/js/serverbrowse/AIRTIME_DEV_README | 0 airtime_mvc/public/js/serverbrowse/serverbrowser.js | 0 .../public/js/serverbrowse/serverbrowser_orig.js | 0 airtime_mvc/public/js/setup/setup-config.js | 0 airtime_mvc/public/js/sprintf/sprintf-0.7-beta1.js | 0 .../js/timepicker/jquery-ui-timepicker-addon.js | 0 .../public/js/timepicker/jquery.ui.timepicker.js | 0 airtime_mvc/public/js/tipsy/AIRTIME_DEV_README | 0 airtime_mvc/public/js/tipsy/jquery.tipsy.js | 0 airtime_mvc/public/js/tipsy/jquery.tipsy_orig.js | 0 airtime_mvc/public/js/waveformplaylist/config.js | 0 airtime_mvc/public/js/waveformplaylist/controls.js | 0 airtime_mvc/public/js/waveformplaylist/curves.js | 0 airtime_mvc/public/js/waveformplaylist/fades.js | 0 airtime_mvc/public/js/waveformplaylist/loader.js | 0 .../public/js/waveformplaylist/local_storage.js | 0 .../public/js/waveformplaylist/observer/observer.js | 0 .../js/waveformplaylist/observer/observer.js~ | 0 airtime_mvc/public/js/waveformplaylist/playlist.js | 0 airtime_mvc/public/js/waveformplaylist/playout.js | 0 .../js/waveformplaylist/templates/bottombar.tpl | 0 .../js/waveformplaylist/templates/bottombar.tpl~ | 0 .../public/js/waveformplaylist/time_scale.js | 0 airtime_mvc/public/js/waveformplaylist/track.js | 0 .../public/js/waveformplaylist/track_render.js | 0 airtime_mvc/public/robots.txt | 0 airtime_mvc/public/setup/database-setup.php | 0 airtime_mvc/public/setup/general-setup.php | 0 airtime_mvc/public/setup/media-setup.php | 0 airtime_mvc/public/setup/rabbitmq-setup.php | 0 airtime_mvc/public/setup/setup-functions.php | 0 airtime_mvc/tests/README.txt | 0 airtime_mvc/tests/airtime.conf | 0 airtime_mvc/tests/application/bootstrap.php | 0 .../tests/application/helpers/TestHelper.php | 0 .../application/models/database/ScheduleDbTest.php | 0 .../models/database/datasets/seed_schedule.xml | 0 .../datasets/test_checkOverlappingShows.xml | 0 .../application/models/unit/PreferenceUnitTest.php | 0 .../application/models/unit/ScheduleUnitTest.php | 0 .../services/database/ShowServiceDbTest.php | 0 .../database/datasets/seed_show_service.xml | 0 .../datasets/test_ccShowInsertedIntoDatabase.xml | 0 ...test_changeRepeatDayUpdatesScheduleCorrectly.xml | 0 .../test_createBiWeeklyRepeatNoEndNoRRShow.xml | 0 .../database/datasets/test_createLinkedShow.xml | 0 ...test_createMonthlyMonthlyRepeatNoEndNoRRShow.xml | 0 .../test_createMonthlyWeeklyRepeatNoEndNoRRShow.xml | 0 .../datasets/test_createNoRepeatNoRRShow.xml | 0 .../database/datasets/test_createNoRepeatRRShow.xml | 0 .../test_createQuadWeeklyRepeatNoEndNoRRShow.xml | 0 .../test_createTriWeeklyRepeatNoEndNoRRShow.xml | 0 .../test_createWeeklyRepeatNoEndNoRRShow.xml | 0 .../datasets/test_createWeeklyRepeatRRShow.xml | 0 .../database/datasets/test_deleteRepeatingShow.xml | 0 .../database/datasets/test_deleteShowInstance.xml | 0 .../test_deleteShowInstanceAndAllFollowing.xml | 0 .../test_editRepeatingShowChangeNoEndOption.xml | 0 .../datasets/test_editRepeatingShowInstance.xml | 0 ...veFirstRepeatShowDayUpdatesScheduleCorrectly.xml | 0 ...atShowCreationWhenUserMovesForwardInCalendar.xml | 0 .../database/datasets/test_unlinkLinkedShow.xml | 0 .../database/datasets/test_weeklyToBiWeekly.xml | 0 .../database/datasets/test_weeklyToNoRepeat.xml | 0 .../services/unit/ShowServiceUnitTest.php | 0 .../tests/application/testdata/ShowServiceData.php | 0 airtime_mvc/tests/library/bootstrap.php | 0 airtime_mvc/tests/phpunit.xml | 0 changelog | 0 debian/changelog | 0 debian/compat | 0 debian/config | 0 debian/control | 0 debian/copyright | 0 debian/docs | 0 debian/etc/airtime.ini | 0 debian/etc/apache.conf | 0 debian/etc/apache.vhost.tpl | 0 debian/gbp.conf | 0 debian/install | 0 debian/po/POTFILES.in | 0 debian/po/templates.pot | 0 debian/source/format | 0 debian/source/include-binaries | 0 debian/templates | 0 debian/usr/share/applications/airtime.desktop | 0 debian/usr/share/man/man1/airtime-import.1.gz | Bin .../usr/share/man/man1/airtime-launch-browser.1.gz | Bin debian/usr/share/man/man1/airtime-log.1.gz | Bin .../usr/share/man/man1/airtime-test-soundcard.1.gz | Bin debian/usr/share/man/man1/airtime-test-stream.1.gz | Bin debian/usr/share/menu/airtime | 0 debian/usr/share/pixmaps/airtime.xpm | 0 debian/watch | 0 dev_tools/auto_schedule_show.php | 0 dev_tools/compare_cc_files_to_fs.py | 0 dev_tools/fabric/airtime.vhost | 0 dev_tools/fabric/fab_liquidsoap_compile.cfg | 0 dev_tools/fabric/fab_liquidsoap_compile.py | 0 dev_tools/fabric/fab_release_test.py | 0 dev_tools/gen_doctrine_migration.php | 0 dev_tools/populate-cc_files.php | 0 dev_tools/release/jsmin/jsmin.c | 0 dev_tools/scripts/git-attributes-git-merge-po | 0 dev_tools/scripts/git-config-git-merge-po | 0 dev_tools/scripts/git-merge-po | 0 docs/README.txt | 0 installer/apache/airtime-vhost | 0 installer/lib/requirements-debian-wheezy.apt | 0 installer/lib/requirements-ubuntu-saucy.apt | 0 installer/php/airtime.ini | 0 python_apps/api_clients/__init__.py | 0 python_apps/api_clients/api_client.py | 0 python_apps/api_clients/tests/__init__.py | 0 python_apps/api_clients/tests/test_apcurl.py | 0 python_apps/api_clients/tests/test_apirequest.py | 0 .../api_clients/tests/test_requestprovider.py | 0 python_apps/icecast2/airtime-icecast-status.xsl | 0 python_apps/icecast2/install/icecast2-install.py | 0 .../install/airtime-media-monitor.conf | 0 .../media-monitor/airtimefilemonitor/__init__.py | 0 .../airtimemediamonitorbootstrap.py | 0 .../airtimefilemonitor/airtimemetadata.py | 0 .../airtimefilemonitor/airtimenotifier.py | 0 .../airtimefilemonitor/airtimeprocessevent.py | 0 .../media-monitor/airtimefilemonitor/mediaconfig.py | 0 .../airtimefilemonitor/mediamonitorcommon.py | 0 .../media-monitor/airtimefilemonitor/replaygain.py | 0 .../airtimefilemonitor/workerprocess.py | 0 python_apps/media-monitor/media-monitor/logging.cfg | 0 .../media-monitor/media-monitor/media_monitor.py | 0 python_apps/media-monitor/media-monitor/mm1.py | 0 .../media-monitor/media-monitor2/__init__.py | 0 python_apps/media-monitor/media-monitor2/baby.py | 0 .../media-monitor2/configs/logging.cfg | 0 .../media-monitor/media-monitor2/media/__init__.py | 0 .../media-monitor2/media/metadata/__init__.py | 0 .../media-monitor2/media/metadata/definitions.py | 0 .../media-monitor2/media/metadata/process.py | 0 .../media-monitor2/media/monitor/__init__.py | 0 .../media-monitor2/media/monitor/airtime.py | 0 .../media-monitor2/media/monitor/bootstrap.py | 0 .../media-monitor2/media/monitor/config.py | 0 .../media-monitor2/media/monitor/eventcontractor.py | 0 .../media-monitor2/media/monitor/eventdrainer.py | 0 .../media-monitor2/media/monitor/events.py | 0 .../media-monitor2/media/monitor/exceptions.py | 0 .../media-monitor2/media/monitor/handler.py | 0 .../media-monitor2/media/monitor/listeners.py | 0 .../media-monitor2/media/monitor/log.py | 0 .../media-monitor2/media/monitor/manager.py | 0 .../media-monitor2/media/monitor/metadata.py | 0 .../media-monitor2/media/monitor/organizer.py | 0 .../media-monitor2/media/monitor/owners.py | 0 .../media-monitor2/media/monitor/pure.py | 0 .../media-monitor2/media/monitor/request.py | 0 .../media-monitor2/media/monitor/syncdb.py | 0 .../media-monitor2/media/monitor/toucher.py | 0 .../media-monitor2/media/monitor/watchersyncer.py | 0 .../media-monitor2/media/saas/__init__.py | 0 .../media-monitor2/media/saas/airtimeinstance.py | 0 .../media-monitor2/media/saas/launcher.py | 0 .../media-monitor2/media/saas/thread.py | 0 python_apps/media-monitor/media-monitor2/mm2.py | 0 .../media-monitor/media-monitor2/tests/__init__.py | 0 .../media-monitor2/tests/api_client.cfg | 0 .../media-monitor2/tests/live_client.cfg | 0 .../media-monitor2/tests/prepare_tests.py | 0 .../media-monitor2/tests/test_api_client.py | 0 .../media-monitor2/tests/test_config.cfg | 0 .../media-monitor2/tests/test_config.py | 0 .../media-monitor/media-monitor2/tests/test_emf.py | 0 .../media-monitor2/tests/test_eventcontractor.py | 0 .../media-monitor2/tests/test_instance.py | 0 .../media-monitor2/tests/test_listeners.py | 0 .../media-monitor2/tests/test_manager.py | 0 .../media-monitor2/tests/test_metadata.py | 0 .../media-monitor2/tests/test_metadata_def.py | 0 .../media-monitor2/tests/test_notifier.py | 0 .../media-monitor2/tests/test_owners.py | 0 .../media-monitor/media-monitor2/tests/test_pure.py | 0 .../media-monitor2/tests/test_requestsync.py | 0 .../media-monitor2/tests/test_syncdb.py | 0 .../media-monitor2/tests/test_thread.py | 0 .../media-monitor2/tests/test_toucher.py | 0 python_apps/media-monitor/setup.py | 0 python_apps/pypo/bin/airtime-playout | 2 +- python_apps/pypo/install/airtime-liquidsoap.conf | 0 python_apps/pypo/install/airtime-playout.conf | 0 python_apps/pypo/pypo/AUTHORS | 0 python_apps/pypo/pypo/LICENSE | 0 python_apps/pypo/pypo/__init__.py | 0 python_apps/pypo/pypo/eventtypes.py | 0 python_apps/pypo/pypo/liquidsoap_scripts/aac.liq | 0 .../pypo/pypo/liquidsoap_scripts/aacplus.liq | 0 .../liquidsoap_scripts/airtime-liquidsoap.logrotate | 0 python_apps/pypo/pypo/liquidsoap_scripts/fdkaac.liq | 0 .../liquidsoap_scripts/generate_liquidsoap_cfg.py | 0 .../pypo/liquidsoap_scripts/library/externals.liq | 0 .../pypo/pypo/liquidsoap_scripts/library/flows.liq | 0 .../pypo/liquidsoap_scripts/library/gstreamer.liq | 0 .../pypo/pypo/liquidsoap_scripts/library/http.liq | 0 .../pypo/liquidsoap_scripts/library/http_codes.liq | 0 .../pypo/pypo/liquidsoap_scripts/library/lastfm.liq | 0 .../pypo/liquidsoap_scripts/library/pervasives.liq | 0 .../pypo/liquidsoap_scripts/library/shoutcast.liq | 0 .../pypo/pypo/liquidsoap_scripts/library/utils.liq | 0 .../pypo/liquidsoap_scripts/library/video_text.liq | 0 .../pypo/pypo/liquidsoap_scripts/liquidsoap.cfg | 0 .../pypo/pypo/liquidsoap_scripts/liquidsoap_auth.py | 0 .../liquidsoap_prepare_terminate.py | 0 python_apps/pypo/pypo/liquidsoap_scripts/ls_lib.liq | 0 .../pypo/pypo/liquidsoap_scripts/ls_script.liq | 0 python_apps/pypo/pypo/liquidsoap_scripts/mp3.liq | 0 python_apps/pypo/pypo/liquidsoap_scripts/ogg.liq | 0 python_apps/pypo/pypo/liquidsoap_scripts/opus.liq | 0 python_apps/pypo/pypo/listenerstat.py | 0 python_apps/pypo/pypo/logging.cfg | 0 python_apps/pypo/pypo/media/__init__.py | 0 python_apps/pypo/pypo/media/update/__init__.py | 0 python_apps/pypo/pypo/media/update/replaygain.py | 0 .../pypo/pypo/media/update/replaygainupdater.py | 0 python_apps/pypo/pypo/media/update/silananalyzer.py | 0 python_apps/pypo/pypo/notify_logging.cfg | 0 python_apps/pypo/pypo/pure.py | 0 python_apps/pypo/pypo/pypocli.py | 0 python_apps/pypo/pypo/pypofetch.py | 0 python_apps/pypo/pypo/pypofile.py | 0 python_apps/pypo/pypo/pypoliqqueue.py | 0 python_apps/pypo/pypo/pypoliquidsoap.py | 0 python_apps/pypo/pypo/pypomessagehandler.py | 0 python_apps/pypo/pypo/pyponotify.py | 0 python_apps/pypo/pypo/pypopush.py | 0 python_apps/pypo/pypo/recorder.py | 0 python_apps/pypo/pypo/telnetliquidsoap.py | 0 python_apps/pypo/pypo/testpypoliqqueue.py | 0 python_apps/pypo/pypo/tests/test_modify_cue_in.py | 0 python_apps/pypo/pypo/timeout.py | 0 python_apps/pypo/setup.py | 0 .../3rd_party/distribute-0.6.10.tar.gz | Bin .../python-virtualenv/3rd_party/pip-1.0.2.tar.gz | Bin .../python-virtualenv/airtime_virtual_env.pybundle | Bin .../patches/mutagen/mutagen_patch1.patch | 0 .../patches/mutagen/mutagen_patch2.patch | 0 python_apps/python-virtualenv/requirements | 0 python_apps/std_err_override/LogWriter.py | 0 python_apps/std_err_override/__init__.py | 0 tests/README | 0 tests/selenium/Add Media Skeleton Present.html | 0 tests/selenium/Airtime.html | 0 tests/selenium/Calendar Add Show Skeleton.html | 0 tests/selenium/Calendar Day Week Month Views.html | 0 tests/selenium/Calendar Skeleton Present.html | 0 tests/selenium/Library Skeleton Present.html | 0 tests/selenium/Listen Button Skeleton.html | 0 tests/selenium/Login and Logout.html | 0 tests/selenium/Login.html | 0 tests/selenium/Preferences Skeletons.html | 0 tests/selenium/System Menu Contents.html | 0 utils/airtime-backup.py | 0 utils/airtime-check-system.php | 0 utils/airtime-import/airtime-import.py | 0 utils/airtime-log.php | 0 utils/airtime-silan.py | 0 utils/airtime-test-soundcard.py | 0 utils/airtime-test-stream.py | 0 utils/airtime-update-db-settings.py | 0 utils/phone_home_stat.php | 0 utils/soundcloud-uploader.php | 0 widgets/css/airtime-widgets.css | 0 widgets/css/widget-img/schedule-tabs-list-bgr.png | Bin widgets/js/jquery-1.6.1.min.js | 0 widgets/js/jquery-ui-1.8.10.custom.min.js | 0 widgets/js/jquery.showinfo.js | 0 widgets/sample_page.html | 0 widgets/widget_schedule.html | 0 widgets/widgets.html | 0 2070 files changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 .gitignore mode change 100755 => 100644 .zfproject.xml mode change 100755 => 100644 CREDITS mode change 100755 => 100644 LICENSE mode change 100755 => 100644 LICENSE_3RD_PARTY mode change 100755 => 100644 README mode change 100755 => 100644 VERSION mode change 100755 => 100644 airtime_mvc/application/Bootstrap.php mode change 100755 => 100644 airtime_mvc/application/airtime-boot.php mode change 100755 => 100644 airtime_mvc/application/common/Database.php mode change 100755 => 100644 airtime_mvc/application/common/DateHelper.php mode change 100755 => 100644 airtime_mvc/application/common/OsPath.php mode change 100755 => 100644 airtime_mvc/application/common/Timezone.php mode change 100755 => 100644 airtime_mvc/application/configs/ACL.php mode change 100755 => 100644 airtime_mvc/application/configs/airtime-conf-production.php mode change 100755 => 100644 airtime_mvc/application/configs/airtime-conf.php mode change 100755 => 100644 airtime_mvc/application/configs/application.ini mode change 100755 => 100644 airtime_mvc/application/configs/classmap-airtime-conf.php mode change 100755 => 100644 airtime_mvc/application/configs/conf.php mode change 100755 => 100644 airtime_mvc/application/configs/config-check.php mode change 100755 => 100644 airtime_mvc/application/configs/constants.php mode change 100755 => 100644 airtime_mvc/application/configs/db-conf.php mode change 100755 => 100644 airtime_mvc/application/configs/navigation.php mode change 100755 => 100644 airtime_mvc/application/controllers/ApiController.php mode change 100755 => 100644 airtime_mvc/application/controllers/AudiopreviewController.php mode change 100755 => 100644 airtime_mvc/application/controllers/DashboardController.php mode change 100755 => 100644 airtime_mvc/application/controllers/ErrorController.php mode change 100755 => 100644 airtime_mvc/application/controllers/IndexController.php mode change 100755 => 100644 airtime_mvc/application/controllers/LibraryController.php mode change 100755 => 100644 airtime_mvc/application/controllers/ListenerstatController.php mode change 100755 => 100644 airtime_mvc/application/controllers/LocaleController.php mode change 100755 => 100644 airtime_mvc/application/controllers/LoginController.php mode change 100755 => 100644 airtime_mvc/application/controllers/PlaylistController.php mode change 100755 => 100644 airtime_mvc/application/controllers/PlayouthistoryController.php mode change 100755 => 100644 airtime_mvc/application/controllers/PlayouthistorytemplateController.php mode change 100755 => 100644 airtime_mvc/application/controllers/PluploadController.php mode change 100755 => 100644 airtime_mvc/application/controllers/PreferenceController.php mode change 100755 => 100644 airtime_mvc/application/controllers/ScheduleController.php mode change 100755 => 100644 airtime_mvc/application/controllers/ShowbuilderController.php mode change 100755 => 100644 airtime_mvc/application/controllers/SystemstatusController.php mode change 100755 => 100644 airtime_mvc/application/controllers/UserController.php mode change 100755 => 100644 airtime_mvc/application/controllers/UsersettingsController.php mode change 100755 => 100644 airtime_mvc/application/controllers/WebstreamController.php mode change 100755 => 100644 airtime_mvc/application/controllers/plugins/Acl_plugin.php mode change 100755 => 100644 airtime_mvc/application/controllers/plugins/RabbitMqPlugin.php mode change 100755 => 100644 airtime_mvc/application/forms/AddShowAbsoluteRebroadcastDates.php mode change 100755 => 100644 airtime_mvc/application/forms/AddShowLiveStream.php mode change 100755 => 100644 airtime_mvc/application/forms/AddShowRR.php mode change 100755 => 100644 airtime_mvc/application/forms/AddShowRebroadcastDates.php mode change 100755 => 100644 airtime_mvc/application/forms/AddShowRepeats.php mode change 100755 => 100644 airtime_mvc/application/forms/AddShowStyle.php mode change 100755 => 100644 airtime_mvc/application/forms/AddShowWhat.php mode change 100755 => 100644 airtime_mvc/application/forms/AddShowWhen.php mode change 100755 => 100644 airtime_mvc/application/forms/AddShowWho.php mode change 100755 => 100644 airtime_mvc/application/forms/AddUser.php mode change 100755 => 100644 airtime_mvc/application/forms/DateRange.php mode change 100755 => 100644 airtime_mvc/application/forms/EditAudioMD.php mode change 100755 => 100644 airtime_mvc/application/forms/EditHistory.php mode change 100755 => 100644 airtime_mvc/application/forms/EditHistoryFile.php mode change 100755 => 100644 airtime_mvc/application/forms/EditHistoryItem.php mode change 100755 => 100644 airtime_mvc/application/forms/EditUser.php mode change 100755 => 100644 airtime_mvc/application/forms/EmailServerPreferences.php mode change 100755 => 100644 airtime_mvc/application/forms/GeneralPreferences.php mode change 100755 => 100644 airtime_mvc/application/forms/LiveStreamingPreferences.php mode change 100755 => 100644 airtime_mvc/application/forms/Login.php mode change 100755 => 100644 airtime_mvc/application/forms/PasswordChange.php mode change 100755 => 100644 airtime_mvc/application/forms/PasswordRestore.php mode change 100755 => 100644 airtime_mvc/application/forms/Preferences.php mode change 100755 => 100644 airtime_mvc/application/forms/RegisterAirtime.php mode change 100755 => 100644 airtime_mvc/application/forms/ScheduleShow.php mode change 100755 => 100644 airtime_mvc/application/forms/ShowBuilder.php mode change 100755 => 100644 airtime_mvc/application/forms/SmartBlockCriteria.php mode change 100755 => 100644 airtime_mvc/application/forms/SoundcloudPreferences.php mode change 100755 => 100644 airtime_mvc/application/forms/StreamSetting.php mode change 100755 => 100644 airtime_mvc/application/forms/StreamSettingSubForm.php mode change 100755 => 100644 airtime_mvc/application/forms/SupportSettings.php mode change 100755 => 100644 airtime_mvc/application/forms/WatchedDirPreferences.php mode change 100755 => 100644 airtime_mvc/application/forms/customfilters/ImageSize.php mode change 100755 => 100644 airtime_mvc/application/forms/customvalidators/ConditionalNotEmpty.php mode change 100755 => 100644 airtime_mvc/application/forms/customvalidators/PasswordNotEmpty.php mode change 100755 => 100644 airtime_mvc/application/forms/helpers/ValidationTypes.php mode change 100755 => 100644 airtime_mvc/application/layouts/scripts/audio-player.phtml mode change 100755 => 100644 airtime_mvc/application/layouts/scripts/bare.phtml mode change 100755 => 100644 airtime_mvc/application/layouts/scripts/layout.phtml mode change 100755 => 100644 airtime_mvc/application/layouts/scripts/livestream.phtml mode change 100755 => 100644 airtime_mvc/application/layouts/scripts/login.phtml mode change 100755 => 100644 airtime_mvc/application/logging/AirtimeLog.php mode change 100755 => 100644 airtime_mvc/application/logging/Logging.php mode change 100755 => 100644 airtime_mvc/application/models/Auth.php mode change 100755 => 100644 airtime_mvc/application/models/Block.php mode change 100755 => 100644 airtime_mvc/application/models/Cache.php mode change 100755 => 100644 airtime_mvc/application/models/Dashboard.php mode change 100755 => 100644 airtime_mvc/application/models/Datatables.php mode change 100755 => 100644 airtime_mvc/application/models/Email.php mode change 100755 => 100644 airtime_mvc/application/models/Library.php mode change 100755 => 100644 airtime_mvc/application/models/LibraryEditable.php mode change 100755 => 100644 airtime_mvc/application/models/ListenerStat.php mode change 100755 => 100644 airtime_mvc/application/models/LiveLog.php mode change 100755 => 100644 airtime_mvc/application/models/Locale.php mode change 100755 => 100644 airtime_mvc/application/models/LoginAttempts.php mode change 100755 => 100644 airtime_mvc/application/models/MusicDir.php mode change 100755 => 100644 airtime_mvc/application/models/Playlist.php mode change 100755 => 100644 airtime_mvc/application/models/Preference.php mode change 100755 => 100644 airtime_mvc/application/models/RabbitMq.php mode change 100755 => 100644 airtime_mvc/application/models/Schedule.php mode change 100755 => 100644 airtime_mvc/application/models/Scheduler.php mode change 100755 => 100644 airtime_mvc/application/models/ServiceRegister.php mode change 100755 => 100644 airtime_mvc/application/models/Show.php mode change 100755 => 100644 airtime_mvc/application/models/ShowBuilder.php mode change 100755 => 100644 airtime_mvc/application/models/ShowInstance.php mode change 100755 => 100644 airtime_mvc/application/models/Soundcloud.php mode change 100755 => 100644 airtime_mvc/application/models/StoredFile.php mode change 100755 => 100644 airtime_mvc/application/models/StreamSetting.php mode change 100755 => 100644 airtime_mvc/application/models/Subjects.php mode change 100755 => 100644 airtime_mvc/application/models/Systemstatus.php mode change 100755 => 100644 airtime_mvc/application/models/User.php mode change 100755 => 100644 airtime_mvc/application/models/Webstream.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcAccess.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcAccessPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcAccessQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcBackup.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcBackupPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcBackupQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcBlock.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcBlockPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcBlockQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcBlockcontents.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcBlockcontentsPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcBlockcontentsQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcBlockcriteria.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcBlockcriteriaPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcBlockcriteriaQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcCountry.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcCountryPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcCountryQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcFileTag.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcFileTagPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcFileTagQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcFiles.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcFilesPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcFilesQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcListenerCount.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcListenerCountPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcListenerCountQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcLiveLog.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcLiveLogPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcLiveLogQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcLocale.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcLocalePeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcLocaleQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcLoginAttempts.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcLoginAttemptsPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcLoginAttemptsQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcMountName.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcMountNamePeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcMountNameQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcMusicDirs.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcMusicDirsPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcMusicDirsQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcPerms.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcPermsPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcPermsQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcPlaylist.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcPlaylistPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcPlaylistQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcPlaylistcontents.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcPlaylistcontentsPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcPlaylistcontentsQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcPlaylistcriteria.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcPlaylistcriteriaPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcPlaylistcriteriaQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcPlayoutHistory.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcPlayoutHistoryMetaData.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcPlayoutHistoryMetaDataPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcPlayoutHistoryMetaDataQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcPlayoutHistoryPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcPlayoutHistoryQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplate.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplateField.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplateFieldPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplateFieldQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplatePeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplateQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcPref.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcPrefPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcPrefQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcSchedule.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcSchedulePeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcScheduleQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcServiceRegister.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcServiceRegisterPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcServiceRegisterQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcSess.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcSessPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcSessQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcShow.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcShowDays.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcShowDaysPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcShowDaysQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcShowHosts.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcShowHostsPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcShowHostsQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcShowInstances.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcShowInstancesPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcShowInstancesQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcShowPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcShowQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcShowRebroadcast.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcShowRebroadcastPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcShowRebroadcastQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcShowSchedule.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcShowSchedulePeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcShowScheduleQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcSmemb.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcSmembPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcSmembQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcStreamSetting.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcStreamSettingPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcStreamSettingQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcSubjs.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcSubjsPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcSubjsQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcSubjsToken.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcSubjsTokenPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcSubjsTokenQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcTag.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcTagPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcTagQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcTimestamp.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcTimestampPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcTimestampQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcTrans.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcTransPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcTransQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcWebstream.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcWebstreamMetadata.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcWebstreamMetadataPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcWebstreamMetadataQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcWebstreamPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/CcWebstreamQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcAccessTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcBackupTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcBlockTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcBlockcontentsTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcBlockcriteriaTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcCountryTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcFileTagTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcFilesTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcListenerCountTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcLiveLogTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcLocaleTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcLoginAttemptsTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcMountNameTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcMusicDirsTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcPermsTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcPlaylistTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcPlaylistcontentsTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcPlaylistcriteriaTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcPlayoutHistoryMetaDataTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcPlayoutHistoryTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcPlayoutHistoryTemplateFieldTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcPlayoutHistoryTemplateTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcPlayoutHistoryTemplateTagTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcPrefTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcScheduleTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcSectionTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcSectioncontentsTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcSectioncriteriaTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcServiceRegisterTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcSessTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcShowDaysTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcShowHostsTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcShowInstancesTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcShowRebroadcastTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcShowScheduleTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcShowStampTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcShowTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcSmembTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcStampContentsTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcStampTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcStreamSettingTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcSubjsTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcSubjsTokenTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcTagTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcTimestampTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcTransTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcWebstreamMetadataTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/map/CcWebstreamTableMap.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcAccess.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcAccessPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcAccessQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcBackup.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcBackupPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcBackupQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcBlock.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcBlockPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcBlockQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcBlockcontents.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcBlockcontentsPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcBlockcontentsQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcBlockcriteria.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcBlockcriteriaPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcBlockcriteriaQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcCountry.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcCountryPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcCountryQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcFileTag.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcFileTagPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcFileTagQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcFiles.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcFilesPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcFilesQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcListenerCount.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcListenerCountPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcListenerCountQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcLiveLog.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcLiveLogPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcLiveLogQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcLocale.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcLocalePeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcLocaleQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcLoginAttempts.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcLoginAttemptsPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcLoginAttemptsQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcMountName.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcMountNamePeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcMountNameQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcMusicDirs.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcMusicDirsPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcMusicDirsQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcPerms.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcPermsPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcPermsQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcPlaylist.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcPlaylistPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcPlaylistQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcPlaylistcontents.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcPlaylistcontentsPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcPlaylistcontentsQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcPlaylistcriteria.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcPlaylistcriteriaPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcPlaylistcriteriaQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistory.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryMetaData.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryMetaDataPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryMetaDataQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplate.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateField.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateFieldPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateFieldQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplatePeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateTag.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateTagPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateTagQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcPref.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcPrefPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcPrefQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcSchedule.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcSchedulePeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcScheduleQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcServiceRegister.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcServiceRegisterPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcServiceRegisterQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcSess.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcSessPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcSessQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcShow.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcShowDays.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcShowDaysPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcShowDaysQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcShowHosts.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcShowHostsPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcShowHostsQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcShowInstances.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcShowInstancesPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcShowInstancesQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcShowPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcShowQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcShowRebroadcast.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcShowRebroadcastPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcShowRebroadcastQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcShowSchedule.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcShowSchedulePeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcShowScheduleQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcSmemb.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcSmembPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcSmembQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcStreamSetting.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcStreamSettingPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcStreamSettingQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcSubjs.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcSubjsPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcSubjsQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcSubjsToken.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcSubjsTokenPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcSubjsTokenQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcTag.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcTagPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcTagQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcTimestamp.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcTimestampPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcTimestampQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcTrans.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcTransPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcTransQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcWebstream.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcWebstreamMetadata.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcWebstreamMetadataPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcWebstreamMetadataQuery.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcWebstreamPeer.php mode change 100755 => 100644 airtime_mvc/application/models/airtime/om/BaseCcWebstreamQuery.php mode change 100755 => 100644 airtime_mvc/application/models/formatters/BitrateFormatter.php mode change 100755 => 100644 airtime_mvc/application/models/formatters/LengthFormatter.php mode change 100755 => 100644 airtime_mvc/application/models/formatters/SamplerateFormatter.php mode change 100755 => 100644 airtime_mvc/application/models/formatters/TimeFilledFormatter.php mode change 100755 => 100644 airtime_mvc/application/models/tests/0000000000010001 mode change 100755 => 100644 airtime_mvc/application/models/tests/0000000000010002 mode change 100755 => 100644 airtime_mvc/application/models/tests/AllTests.php mode change 100755 => 100644 airtime_mvc/application/models/tests/SchedulerExportTests.php mode change 100755 => 100644 airtime_mvc/application/models/tests/SchedulerTests.php mode change 100755 => 100644 airtime_mvc/application/models/tests/StoredFileTests.php mode change 100755 => 100644 airtime_mvc/application/models/tests/ex1.mp3 mode change 100755 => 100644 airtime_mvc/application/models/tests/ex2.ogg mode change 100755 => 100644 airtime_mvc/application/models/tests/ex2.wav mode change 100755 => 100644 airtime_mvc/application/models/tests/ex3.wav mode change 100755 => 100644 airtime_mvc/application/models/tests/exportedPl_lspl.tar mode change 100755 => 100644 airtime_mvc/application/models/tests/index.php mode change 100755 => 100644 airtime_mvc/application/models/tests/pdoTest.php mode change 100755 => 100644 airtime_mvc/application/models/tests/plistEmbedded.xml mode change 100755 => 100644 airtime_mvc/application/models/tests/populator.php mode change 100755 => 100644 airtime_mvc/application/models/tests/question.wav mode change 100755 => 100644 airtime_mvc/application/models/tests/silence.wav mode change 100755 => 100644 airtime_mvc/application/models/tests/test10001.mp3 mode change 100755 => 100644 airtime_mvc/application/models/tests/test10002.mp3 mode change 100755 => 100644 airtime_mvc/application/models/tests/test10003.mp3 mode change 100755 => 100644 airtime_mvc/application/models/tests/wstream1.xml mode change 100755 => 100644 airtime_mvc/application/services/CalendarService.php mode change 100755 => 100644 airtime_mvc/application/services/HistoryService.php mode change 100755 => 100644 airtime_mvc/application/services/SchedulerService.php mode change 100755 => 100644 airtime_mvc/application/services/ShowFormService.php mode change 100755 => 100644 airtime_mvc/application/services/ShowService.php mode change 100755 => 100644 airtime_mvc/application/services/UserService.php mode change 100755 => 100644 airtime_mvc/application/validate/NotDemoValidate.php mode change 100755 => 100644 airtime_mvc/application/validate/UserNameValidate.php mode change 100755 => 100644 airtime_mvc/application/views/helpers/IsTrial.php mode change 100755 => 100644 airtime_mvc/application/views/helpers/LoggedInAs.php mode change 100755 => 100644 airtime_mvc/application/views/helpers/SourceConnectionStatus.php mode change 100755 => 100644 airtime_mvc/application/views/helpers/SourceSwitchStatus.php mode change 100755 => 100644 airtime_mvc/application/views/helpers/TrialRemaining.php mode change 100755 => 100644 airtime_mvc/application/views/helpers/VersionNotify.php mode change 100755 => 100644 airtime_mvc/application/views/scripts/airtime-recorder/index.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/api/list-all-files.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/api/status.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/dashboard/about.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/dashboard/help.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/dashboard/index.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/dashboard/stream-player.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/error/denied.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/error/error.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/form/add-show-block.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/form/add-show-live-stream.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/form/add-show-rebroadcast-absolute.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/form/add-show-rebroadcast.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/form/add-show-style.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/form/add-show-what.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/form/add-show-when.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/form/daterange.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/form/edit-history-file.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/form/edit-history-item.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/form/edit-user.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/form/login.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/form/password-change.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/form/password-restore.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/form/preferences.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/form/preferences_email_server.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/form/preferences_general.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/form/preferences_livestream.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/form/preferences_soundcloud.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/form/register-dialog.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/form/showbuilder.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/form/smart-block-criteria.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/form/stream-setting-form.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/form/support-setting.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/index/display.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/index/index.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/index/main.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/index/newfield.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/library/edit-file-md.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/library/index.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/library/library.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/listenerstat/index.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/login/index.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/login/logout.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/login/password-change.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/login/password-restore-after.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/login/password-restore.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/menu.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/partialviews/header.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/partialviews/trialBox.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/playlist/playlist.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/playlist/set-cue.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/playlist/set-fade.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/playlist/smart-block.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/playlist/update.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/playouthistory/dialog.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/playouthistory/index.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/playouthistorytemplate/configure-template.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/plupload/index.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/plupload/upload.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/preference/directory-config.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/preference/index.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/preference/stream-setting.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/preference/support-setting.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/recorder/get-show-schedule.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/recorder/index.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/schedule/add-show-form.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/schedule/add-show.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/schedule/cancel-current-show.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/schedule/cancel-show.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/schedule/clear-show.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/schedule/delete-show.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/schedule/edit-show.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/schedule/event-feed.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/schedule/get-current-playlist.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/schedule/get-form.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/schedule/get-show-data.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/schedule/index.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/schedule/make-context-menu.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/schedule/move-show.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/schedule/remove-group.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/schedule/resize-show.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/schedule/schedule-show.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/schedule/show-content-dialog.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/schedule/show-list.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/showbuilder/builderDialog.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/showbuilder/index.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/systemstatus/get-log-file.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/systemstatus/index.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/user/add-user.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/user/edit-user.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/user/get-hosts.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/user/get-user-data-table-info.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/user/get-user-data.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/user/index.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/user/remove-user.phtml mode change 100755 => 100644 airtime_mvc/application/views/scripts/webstream/webstream.phtml mode change 100755 => 100644 airtime_mvc/build/airtime-php.logrotate mode change 100755 => 100644 airtime_mvc/build/airtime-setup/forms/database-settings.php mode change 100755 => 100644 airtime_mvc/build/airtime-setup/forms/finish-settings.php mode change 100755 => 100644 airtime_mvc/build/airtime-setup/forms/general-settings.php mode change 100755 => 100644 airtime_mvc/build/airtime-setup/forms/media-settings.php mode change 100755 => 100644 airtime_mvc/build/airtime-setup/forms/rabbitmq-settings.php mode change 100755 => 100644 airtime_mvc/build/airtime-setup/load.php mode change 100755 => 100644 airtime_mvc/build/airtime-setup/setup-config.php mode change 100755 => 100644 airtime_mvc/build/airtime.example.conf mode change 100755 => 100644 airtime_mvc/build/build.properties mode change 100755 => 100644 airtime_mvc/build/runtime-conf.xml mode change 100755 => 100644 airtime_mvc/build/schema.xml mode change 100755 => 100644 airtime_mvc/build/sql/defaultdata.sql mode change 100755 => 100644 airtime_mvc/build/sql/schema.sql mode change 100755 => 100644 airtime_mvc/build/sql/sequences.sql mode change 100755 => 100644 airtime_mvc/build/sql/sqldb.map mode change 100755 => 100644 airtime_mvc/build/sql/triggers.sql mode change 100755 => 100644 airtime_mvc/build/sql/views.sql mode change 100755 => 100644 airtime_mvc/library/ZFDebug/Controller/Plugin/Debug.php mode change 100755 => 100644 airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin.php mode change 100755 => 100644 airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Auth.php mode change 100755 => 100644 airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Cache.php mode change 100755 => 100644 airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Database.php mode change 100755 => 100644 airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Exception.php mode change 100755 => 100644 airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/File.php mode change 100755 => 100644 airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Html.php mode change 100755 => 100644 airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Interface.php mode change 100755 => 100644 airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Memory.php mode change 100755 => 100644 airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Registry.php mode change 100755 => 100644 airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Text.php mode change 100755 => 100644 airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Time.php mode change 100755 => 100644 airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Variables.php mode change 100755 => 100644 airtime_mvc/library/doctrine/migrations/doctrine-migrations.phar mode change 100755 => 100644 airtime_mvc/library/doctrine/migrations/migrations-db.php mode change 100755 => 100644 airtime_mvc/library/phing/BuildEvent.php mode change 100755 => 100644 airtime_mvc/library/phing/BuildException.php mode change 100755 => 100644 airtime_mvc/library/phing/BuildListener.php mode change 100755 => 100644 airtime_mvc/library/phing/BuildLogger.php mode change 100755 => 100644 airtime_mvc/library/phing/ConfigurationException.php mode change 100755 => 100644 airtime_mvc/library/phing/IntrospectionHelper.php mode change 100755 => 100644 airtime_mvc/library/phing/LICENSE mode change 100755 => 100644 airtime_mvc/library/phing/Phing.php mode change 100755 => 100644 airtime_mvc/library/phing/Project.php mode change 100755 => 100644 airtime_mvc/library/phing/ProjectComponent.php mode change 100755 => 100644 airtime_mvc/library/phing/RuntimeConfigurable.php mode change 100755 => 100644 airtime_mvc/library/phing/Target.php mode change 100755 => 100644 airtime_mvc/library/phing/Task.php mode change 100755 => 100644 airtime_mvc/library/phing/TaskAdapter.php mode change 100755 => 100644 airtime_mvc/library/phing/TaskContainer.php mode change 100755 => 100644 airtime_mvc/library/phing/UnknownElement.php mode change 100755 => 100644 airtime_mvc/library/phing/filters/BaseFilterReader.php mode change 100755 => 100644 airtime_mvc/library/phing/filters/BaseParamFilterReader.php mode change 100755 => 100644 airtime_mvc/library/phing/filters/ChainableReader.php mode change 100755 => 100644 airtime_mvc/library/phing/filters/ExpandProperties.php mode change 100755 => 100644 airtime_mvc/library/phing/filters/HeadFilter.php mode change 100755 => 100644 airtime_mvc/library/phing/filters/LineContains.php mode change 100755 => 100644 airtime_mvc/library/phing/filters/LineContainsRegexp.php mode change 100755 => 100644 airtime_mvc/library/phing/filters/PrefixLines.php mode change 100755 => 100644 airtime_mvc/library/phing/filters/ReplaceRegexp.php mode change 100755 => 100644 airtime_mvc/library/phing/filters/ReplaceTokens.php mode change 100755 => 100644 airtime_mvc/library/phing/filters/ReplaceTokensWithFile.php mode change 100755 => 100644 airtime_mvc/library/phing/filters/StripLineBreaks.php mode change 100755 => 100644 airtime_mvc/library/phing/filters/StripLineComments.php mode change 100755 => 100644 airtime_mvc/library/phing/filters/StripPhpComments.php mode change 100755 => 100644 airtime_mvc/library/phing/filters/StripWhitespace.php mode change 100755 => 100644 airtime_mvc/library/phing/filters/TabToSpaces.php mode change 100755 => 100644 airtime_mvc/library/phing/filters/TailFilter.php mode change 100755 => 100644 airtime_mvc/library/phing/filters/TidyFilter.php mode change 100755 => 100644 airtime_mvc/library/phing/filters/TranslateGettext.php mode change 100755 => 100644 airtime_mvc/library/phing/filters/XincludeFilter.php mode change 100755 => 100644 airtime_mvc/library/phing/filters/XsltFilter.php mode change 100755 => 100644 airtime_mvc/library/phing/filters/util/ChainReaderHelper.php mode change 100755 => 100644 airtime_mvc/library/phing/filters/util/IniFileTokenReader.php mode change 100755 => 100644 airtime_mvc/library/phing/input/DefaultInputHandler.php mode change 100755 => 100644 airtime_mvc/library/phing/input/InputHandler.php mode change 100755 => 100644 airtime_mvc/library/phing/input/InputRequest.php mode change 100755 => 100644 airtime_mvc/library/phing/input/MultipleChoiceInputRequest.php mode change 100755 => 100644 airtime_mvc/library/phing/input/YesNoInputRequest.php mode change 100755 => 100644 airtime_mvc/library/phing/lib/Capsule.php mode change 100755 => 100644 airtime_mvc/library/phing/listener/AnsiColorLogger.php mode change 100755 => 100644 airtime_mvc/library/phing/listener/DefaultLogger.php mode change 100755 => 100644 airtime_mvc/library/phing/listener/NoBannerLogger.php mode change 100755 => 100644 airtime_mvc/library/phing/listener/PearLogListener.php mode change 100755 => 100644 airtime_mvc/library/phing/listener/StreamRequiredBuildLogger.php mode change 100755 => 100644 airtime_mvc/library/phing/listener/XmlLogger.php mode change 100755 => 100644 airtime_mvc/library/phing/mappers/FileNameMapper.php mode change 100755 => 100644 airtime_mvc/library/phing/mappers/FlattenMapper.php mode change 100755 => 100644 airtime_mvc/library/phing/mappers/GlobMapper.php mode change 100755 => 100644 airtime_mvc/library/phing/mappers/IdentityMapper.php mode change 100755 => 100644 airtime_mvc/library/phing/mappers/MergeMapper.php mode change 100755 => 100644 airtime_mvc/library/phing/mappers/RegexpMapper.php mode change 100755 => 100644 airtime_mvc/library/phing/parser/AbstractHandler.php mode change 100755 => 100644 airtime_mvc/library/phing/parser/AbstractSAXParser.php mode change 100755 => 100644 airtime_mvc/library/phing/parser/DataTypeHandler.php mode change 100755 => 100644 airtime_mvc/library/phing/parser/ExpatParseException.php mode change 100755 => 100644 airtime_mvc/library/phing/parser/ExpatParser.php mode change 100755 => 100644 airtime_mvc/library/phing/parser/Location.php mode change 100755 => 100644 airtime_mvc/library/phing/parser/NestedElementHandler.php mode change 100755 => 100644 airtime_mvc/library/phing/parser/PhingXMLContext.php mode change 100755 => 100644 airtime_mvc/library/phing/parser/ProjectConfigurator.php mode change 100755 => 100644 airtime_mvc/library/phing/parser/ProjectHandler.php mode change 100755 => 100644 airtime_mvc/library/phing/parser/RootHandler.php mode change 100755 => 100644 airtime_mvc/library/phing/parser/TargetHandler.php mode change 100755 => 100644 airtime_mvc/library/phing/parser/TaskHandler.php mode change 100755 => 100644 airtime_mvc/library/phing/system/io/BufferedReader.php mode change 100755 => 100644 airtime_mvc/library/phing/system/io/BufferedWriter.php mode change 100755 => 100644 airtime_mvc/library/phing/system/io/ConsoleReader.php mode change 100755 => 100644 airtime_mvc/library/phing/system/io/FileInputStream.php mode change 100755 => 100644 airtime_mvc/library/phing/system/io/FileOutputStream.php mode change 100755 => 100644 airtime_mvc/library/phing/system/io/FileReader.php mode change 100755 => 100644 airtime_mvc/library/phing/system/io/FileSystem.php mode change 100755 => 100644 airtime_mvc/library/phing/system/io/FileWriter.php mode change 100755 => 100644 airtime_mvc/library/phing/system/io/FilterReader.php mode change 100755 => 100644 airtime_mvc/library/phing/system/io/IOException.php mode change 100755 => 100644 airtime_mvc/library/phing/system/io/InputStream.php mode change 100755 => 100644 airtime_mvc/library/phing/system/io/InputStreamReader.php mode change 100755 => 100644 airtime_mvc/library/phing/system/io/OutputStream.php mode change 100755 => 100644 airtime_mvc/library/phing/system/io/OutputStreamWriter.php mode change 100755 => 100644 airtime_mvc/library/phing/system/io/PhingFile.php mode change 100755 => 100644 airtime_mvc/library/phing/system/io/Reader.php mode change 100755 => 100644 airtime_mvc/library/phing/system/io/StringReader.php mode change 100755 => 100644 airtime_mvc/library/phing/system/io/UnixFileSystem.php mode change 100755 => 100644 airtime_mvc/library/phing/system/io/Win32FileSystem.php mode change 100755 => 100644 airtime_mvc/library/phing/system/io/WinNTFileSystem.php mode change 100755 => 100644 airtime_mvc/library/phing/system/io/Writer.php mode change 100755 => 100644 airtime_mvc/library/phing/system/lang/Character.php mode change 100755 => 100644 airtime_mvc/library/phing/system/lang/EventObject.php mode change 100755 => 100644 airtime_mvc/library/phing/system/lang/FileNotFoundException.php mode change 100755 => 100644 airtime_mvc/library/phing/system/lang/NullPointerException.php mode change 100755 => 100644 airtime_mvc/library/phing/system/lang/SecurityException.php mode change 100755 => 100644 airtime_mvc/library/phing/system/util/Properties.php mode change 100755 => 100644 airtime_mvc/library/phing/system/util/Register.php mode change 100755 => 100644 airtime_mvc/library/phing/system/util/Timer.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/CapsuleTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/ExportPropertiesTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/ExtractBaseTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/FileHashTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/FileSizeTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/FtpDeployTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/HttpRequestTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/JslLintTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/MailTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/ManifestTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/PackageAsPathTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/PatchTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/PearPackage2Task.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/PearPackageTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/PhpCodeSnifferTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/PhpLintTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/ReplaceRegexpTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/ScpTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/SmartyTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/SshTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/TarTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/UntarTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/UnzipTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/VersionTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/XmlLintTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/XmlPropertyTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/ZendCodeAnalyzerTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/ZipTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/coverage/CoverageMerger.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/coverage/CoverageMergerTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/coverage/CoverageReportTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/coverage/CoverageReportTransformer.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/coverage/CoverageSetupTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/coverage/CoverageThresholdTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/creole/CreoleSQLExecTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/creole/CreoleTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/dbdeploy/DbDeployTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/dbdeploy/DbmsSyntax.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/dbdeploy/DbmsSyntaxFactory.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/dbdeploy/DbmsSyntaxMsSql.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/dbdeploy/DbmsSyntaxMysql.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/dbdeploy/DbmsSyntaxSQLite.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/ioncube/IoncubeComment.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/ioncube/IoncubeEncoderTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/ioncube/IoncubeLicenseTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/jsmin/JsMin.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/jsmin/JsMinTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/pdepend/PhpDependAnalyzerElement.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/pdepend/PhpDependLoggerElement.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/pdepend/PhpDependTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/pdo/PDOResultFormatter.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/pdo/PDOSQLExecFormatterElement.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/pdo/PDOSQLExecTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/pdo/PDOTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/pdo/PlainPDOResultFormatter.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/pdo/XMLPDOResultFormatter.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/pearpackage/Fileset.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/phar/IterableFileSet.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/phar/PharMetadata.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/phar/PharMetadataElement.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/phar/PharPackageTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/phk/PhkPackageTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/phk/PhkPackageWebAccess.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/phk/PhkPackageWebAccessPath.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/phpcpd/PHPCPDFormatterElement.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/phpcpd/PHPCPDTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/phpcpd/formatter/DefaultPHPCPDResultFormatter.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/phpcpd/formatter/PHPCPDResultFormatter.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/phpcpd/formatter/PMDPHPCPDResultFormatter.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/phpdoc/PhingPhpDocumentorSetup.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/phpdoc/PhpDocumentorExternalTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/phpdoc/PhpDocumentorTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/phpmd/PHPMDFormatterElement.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/phpmd/PHPMDTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/phpunit/BatchTest.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/phpunit/FormatterElement.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/phpunit/PHPUnitReportTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/phpunit/PHPUnitTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/phpunit/PHPUnitTestRunner.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/phpunit/PHPUnitUtil.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/phpunit/formatter/CloverPHPUnitResultFormatter.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/phpunit/formatter/PHPUnitResultFormatter.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/phpunit/formatter/PlainPHPUnitResultFormatter.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/phpunit/formatter/SummaryPHPUnitResultFormatter.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/phpunit/formatter/XMLPHPUnitResultFormatter.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestCountResultFormatter.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestDebugResultFormatter.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestFormatterElement.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestPlainResultFormatter.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestResultFormatter.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestSummaryResultFormatter.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestXmlResultFormatter.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/svn/SvnBaseTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/svn/SvnCheckoutTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/svn/SvnCommitTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/svn/SvnCopyTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/svn/SvnExportTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/svn/SvnLastRevisionTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/ext/svn/SvnUpdateTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/AdhocTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/AdhocTaskdefTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/AdhocTypedefTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/AppendTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/AvailableTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/ChmodTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/ChownTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/ConditionTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/CopyTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/CvsPassTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/CvsTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/DeleteTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/EchoTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/ExecTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/ExitTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/ForeachTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/IfTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/ImportTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/IncludePathTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/InputTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/MatchingTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/MkdirTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/MoveTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/PhingCallTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/PhingTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/PhpEvalTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/PropertyPromptTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/PropertyTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/ReflexiveTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/ResolvePathTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/SequentialTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/TaskdefTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/TouchTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/TstampTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/TypedefTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/UpToDateTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/WarnTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/XsltTask.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/condition/AndCondition.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/condition/Condition.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/condition/ConditionBase.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/condition/ContainsCondition.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/condition/EqualsCondition.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/condition/IsFalseCondition.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/condition/IsSetCondition.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/condition/IsTrueCondition.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/condition/NotCondition.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/condition/OrCondition.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/condition/OsCondition.php mode change 100755 => 100644 airtime_mvc/library/phing/tasks/system/condition/ReferenceExistsCondition.php mode change 100755 => 100644 airtime_mvc/library/phing/types/AbstractFileSet.php mode change 100755 => 100644 airtime_mvc/library/phing/types/Commandline.php mode change 100755 => 100644 airtime_mvc/library/phing/types/DataType.php mode change 100755 => 100644 airtime_mvc/library/phing/types/Description.php mode change 100755 => 100644 airtime_mvc/library/phing/types/DirSet.php mode change 100755 => 100644 airtime_mvc/library/phing/types/FileList.php mode change 100755 => 100644 airtime_mvc/library/phing/types/FileSet.php mode change 100755 => 100644 airtime_mvc/library/phing/types/FilterChain.php mode change 100755 => 100644 airtime_mvc/library/phing/types/Mapper.php mode change 100755 => 100644 airtime_mvc/library/phing/types/Parameter.php mode change 100755 => 100644 airtime_mvc/library/phing/types/Parameterizable.php mode change 100755 => 100644 airtime_mvc/library/phing/types/Path.php mode change 100755 => 100644 airtime_mvc/library/phing/types/PatternSet.php mode change 100755 => 100644 airtime_mvc/library/phing/types/PhingFilterReader.php mode change 100755 => 100644 airtime_mvc/library/phing/types/Reference.php mode change 100755 => 100644 airtime_mvc/library/phing/types/RegularExpression.php mode change 100755 => 100644 airtime_mvc/library/phing/types/TokenReader.php mode change 100755 => 100644 airtime_mvc/library/phing/types/TokenSource.php mode change 100755 => 100644 airtime_mvc/library/phing/types/selectors/AndSelector.php mode change 100755 => 100644 airtime_mvc/library/phing/types/selectors/BaseExtendSelector.php mode change 100755 => 100644 airtime_mvc/library/phing/types/selectors/BaseSelector.php mode change 100755 => 100644 airtime_mvc/library/phing/types/selectors/BaseSelectorContainer.php mode change 100755 => 100644 airtime_mvc/library/phing/types/selectors/ContainsRegexpSelector.php mode change 100755 => 100644 airtime_mvc/library/phing/types/selectors/ContainsSelector.php mode change 100755 => 100644 airtime_mvc/library/phing/types/selectors/DateSelector.php mode change 100755 => 100644 airtime_mvc/library/phing/types/selectors/DependSelector.php mode change 100755 => 100644 airtime_mvc/library/phing/types/selectors/DepthSelector.php mode change 100755 => 100644 airtime_mvc/library/phing/types/selectors/ExtendFileSelector.php mode change 100755 => 100644 airtime_mvc/library/phing/types/selectors/ExtendSelector.php mode change 100755 => 100644 airtime_mvc/library/phing/types/selectors/FileSelector.php mode change 100755 => 100644 airtime_mvc/library/phing/types/selectors/FilenameSelector.php mode change 100755 => 100644 airtime_mvc/library/phing/types/selectors/MajoritySelector.php mode change 100755 => 100644 airtime_mvc/library/phing/types/selectors/NoneSelector.php mode change 100755 => 100644 airtime_mvc/library/phing/types/selectors/NotSelector.php mode change 100755 => 100644 airtime_mvc/library/phing/types/selectors/OrSelector.php mode change 100755 => 100644 airtime_mvc/library/phing/types/selectors/PresentSelector.php mode change 100755 => 100644 airtime_mvc/library/phing/types/selectors/SelectSelector.php mode change 100755 => 100644 airtime_mvc/library/phing/types/selectors/SelectorContainer.php mode change 100755 => 100644 airtime_mvc/library/phing/types/selectors/SelectorScanner.php mode change 100755 => 100644 airtime_mvc/library/phing/types/selectors/SelectorUtils.php mode change 100755 => 100644 airtime_mvc/library/phing/types/selectors/SizeSelector.php mode change 100755 => 100644 airtime_mvc/library/phing/types/selectors/TypeSelector.php mode change 100755 => 100644 airtime_mvc/library/phing/util/DataStore.php mode change 100755 => 100644 airtime_mvc/library/phing/util/DirectoryScanner.php mode change 100755 => 100644 airtime_mvc/library/phing/util/ExtendedFileStream.php mode change 100755 => 100644 airtime_mvc/library/phing/util/FileUtils.php mode change 100755 => 100644 airtime_mvc/library/phing/util/LogWriter.php mode change 100755 => 100644 airtime_mvc/library/phing/util/PathTokenizer.php mode change 100755 => 100644 airtime_mvc/library/phing/util/SourceFileScanner.php mode change 100755 => 100644 airtime_mvc/library/phing/util/StringHelper.php mode change 100755 => 100644 airtime_mvc/library/phing/util/regexp/PregEngine.php mode change 100755 => 100644 airtime_mvc/library/phing/util/regexp/Regexp.php mode change 100755 => 100644 airtime_mvc/library/phing/util/regexp/RegexpEngine.php mode change 100755 => 100644 airtime_mvc/library/php-amqplib/CREDITS mode change 100755 => 100644 airtime_mvc/library/php-amqplib/LICENSE mode change 100755 => 100644 airtime_mvc/library/php-amqplib/README.md mode change 100755 => 100644 airtime_mvc/library/php-amqplib/amqp.inc mode change 100755 => 100644 airtime_mvc/library/php-amqplib/amqp_receive.php mode change 100755 => 100644 airtime_mvc/library/php-amqplib/amqp_test.php mode change 100755 => 100644 airtime_mvc/library/php-amqplib/amqp_wire.inc mode change 100755 => 100644 airtime_mvc/library/php-amqplib/hexdump.inc mode change 100755 => 100644 airtime_mvc/library/propel/CHANGELOG mode change 100755 => 100644 airtime_mvc/library/propel/INSTALL mode change 100755 => 100644 airtime_mvc/library/propel/LICENSE mode change 100755 => 100644 airtime_mvc/library/propel/WHATS_NEW mode change 100755 => 100644 airtime_mvc/library/propel/contrib/dbd2propel/dbd2propel.xsl mode change 100755 => 100644 airtime_mvc/library/propel/contrib/dbd2propel/transform.php mode change 100755 => 100644 airtime_mvc/library/propel/contrib/pat/patForms.php mode change 100755 => 100644 airtime_mvc/library/propel/contrib/pat/patForms/Creator/Definition.php mode change 100755 => 100644 airtime_mvc/library/propel/contrib/pat/patForms/Creator/Propel.php mode change 100755 => 100644 airtime_mvc/library/propel/contrib/pat/patForms/Creator/_propel_creator_test.php mode change 100755 => 100644 airtime_mvc/library/propel/contrib/pat/patForms/Datasource/Propel.php mode change 100755 => 100644 airtime_mvc/library/propel/contrib/pat/patForms/Definition.php mode change 100755 => 100644 airtime_mvc/library/propel/contrib/pat/patForms/Definition/Propel.php mode change 100755 => 100644 airtime_mvc/library/propel/contrib/pat/patForms/Element.php mode change 100755 => 100644 airtime_mvc/library/propel/contrib/pat/patForms/Rule.php mode change 100755 => 100644 airtime_mvc/library/propel/contrib/pat/patForms/Rule/Match.php mode change 100755 => 100644 airtime_mvc/library/propel/contrib/pat/patForms/Rule/MaxLength.php mode change 100755 => 100644 airtime_mvc/library/propel/contrib/pat/patForms/Rule/MaxValue.php mode change 100755 => 100644 airtime_mvc/library/propel/contrib/pat/patForms/Rule/MinLength.php mode change 100755 => 100644 airtime_mvc/library/propel/contrib/pat/patForms/Rule/MinValue.php mode change 100755 => 100644 airtime_mvc/library/propel/contrib/pat/patForms/Rule/NotMatch.php mode change 100755 => 100644 airtime_mvc/library/propel/contrib/pat/patForms/Rule/ValidValues.php mode change 100755 => 100644 airtime_mvc/library/propel/contrib/pat/patForms/Storage/Propel.php mode change 100755 => 100644 airtime_mvc/library/propel/contrib/pat/patForms/res/form.dynamic.tpl mode change 100755 => 100644 airtime_mvc/library/propel/contrib/pat/patForms/res/mysql-dump.bookstore.sql mode change 100755 => 100644 airtime_mvc/library/propel/contrib/pat/patForms_Storage_Propel_test.php mode change 100755 => 100644 airtime_mvc/library/propel/contrib/pat/patTemplate.php mode change 100755 => 100644 airtime_mvc/library/propel/contrib/pear/HTML_QuickForm_Propel/Propel.php mode change 100755 => 100644 airtime_mvc/library/propel/contrib/pear/Structures_DataGrid_Propel/Propel.php mode change 100755 => 100644 airtime_mvc/library/propel/docs/behavior/aggregate_column.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/behavior/alternative_coding_standards.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/behavior/auto_add_pk.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/behavior/nested_set.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/behavior/query_cache.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/behavior/sluggable.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/behavior/soft_delete.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/behavior/sortable.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/behavior/timestampable.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/build.xml mode change 100755 => 100644 airtime_mvc/library/propel/docs/cookbook/Add-Custom-SQL.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/cookbook/Copying-Objects.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/cookbook/Customizing-Build.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/cookbook/Existing-Database.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/cookbook/LOB-Columns.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/cookbook/Master-Slave.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/cookbook/Multi-Component.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/cookbook/Namespaces.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/cookbook/Nested-Set.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/cookbook/Runtime-Introspection.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/cookbook/Writing-Behavior.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/guide/01-Installation.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/guide/02-BuildTime.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/guide/03-Basic-CRUD.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/guide/04-Relationships.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/guide/05-Validators.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/guide/06-Transactions.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/guide/07-Behaviors.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/guide/08-Logging.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/guide/09-Inheritance.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/reference/Buildtime-Configuration.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/reference/ModelCriteria.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/reference/Runtime-Configuration.txt mode change 100755 => 100644 airtime_mvc/library/propel/docs/reference/Schema.txt mode change 100755 => 100644 airtime_mvc/library/propel/generator/build-propel.xml mode change 100755 => 100644 airtime_mvc/library/propel/generator/build.properties-sample mode change 100755 => 100644 airtime_mvc/library/propel/generator/build.xml mode change 100755 => 100644 airtime_mvc/library/propel/generator/build.xml-local mode change 100755 => 100644 airtime_mvc/library/propel/generator/default.properties mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/behavior/AlternativeCodingStandardsBehavior.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/behavior/AutoAddPkBehavior.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/behavior/SoftDeleteBehavior.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/behavior/TimestampableBehavior.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/AggregateColumnBehavior.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/AggregateColumnRelationBehavior.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/templates/objectCompute.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/templates/objectUpdate.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/templates/objectUpdateRelated.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/templates/queryFindRelated.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/templates/queryUpdateRelated.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/behavior/concrete_inheritance/ConcreteInheritanceBehavior.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/behavior/concrete_inheritance/ConcreteInheritanceParentBehavior.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/behavior/nestedset/NestedSetBehavior.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/behavior/nestedset/NestedSetBehaviorObjectBuilderModifier.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/behavior/nestedset/NestedSetBehaviorPeerBuilderModifier.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/behavior/nestedset/NestedSetBehaviorQueryBuilderModifier.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/behavior/query_cache/QueryCacheBehavior.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/behavior/sluggable/SluggableBehavior.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/behavior/sortable/SortableBehavior.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/behavior/sortable/SortableBehaviorObjectBuilderModifier.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/behavior/sortable/SortableBehaviorPeerBuilderModifier.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/behavior/sortable/SortableBehaviorQueryBuilderModifier.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/DataModelBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/om/ClassTools.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/om/ExtensionQueryBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/om/ExtensionQueryInheritanceBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/om/OMBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/om/ObjectBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/om/PHP5ExtensionNodeBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/om/PHP5ExtensionNodePeerBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/om/PHP5ExtensionObjectBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/om/PHP5ExtensionPeerBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/om/PHP5InterfaceBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/om/PHP5MultiExtendObjectBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/om/PHP5NestedSetBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/om/PHP5NestedSetPeerBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/om/PHP5NodeBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/om/PHP5NodePeerBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/om/PHP5ObjectBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/om/PHP5ObjectNoCollectionBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/om/PHP5PeerBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/om/PHP5TableMapBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/om/PeerBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/om/QueryBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/om/QueryInheritanceBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/sql/DDLBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/sql/DataSQLBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/sql/mssql/MssqlDDLBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/sql/mssql/MssqlDataSQLBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/sql/mysql/MysqlDDLBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/sql/mysql/MysqlDataSQLBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/sql/oracle/OracleDDLBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/sql/oracle/OracleDataSQLBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/sql/pgsql/PgsqlDDLBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/sql/pgsql/PgsqlDataSQLBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/sql/sqlite/SqliteDDLBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/sql/sqlite/SqliteDataSQLBuilder.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/util/DefaultEnglishPluralizer.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/util/Pluralizer.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/util/PropelStringReader.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/util/PropelTemplate.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/util/XmlToAppData.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/builder/util/XmlToDataSQL.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/config/GeneratorConfig.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/exception/EngineException.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/model/AppData.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/model/Behavior.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/model/Column.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/model/ColumnDefaultValue.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/model/ConstraintNameGenerator.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/model/Database.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/model/Domain.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/model/ForeignKey.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/model/IDMethod.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/model/IdMethodParameter.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/model/Index.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/model/Inheritance.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/model/NameFactory.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/model/NameGenerator.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/model/PhpNameGenerator.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/model/PropelTypes.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/model/Rule.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/model/Table.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/model/Unique.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/model/Validator.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/model/VendorInfo.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/model/XMLElement.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/platform/DefaultPlatform.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/platform/MssqlPlatform.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/platform/MysqlPlatform.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/platform/OraclePlatform.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/platform/PgsqlPlatform.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/platform/Platform.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/platform/SqlitePlatform.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/reverse/BaseSchemaParser.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/reverse/SchemaParser.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/reverse/mssql/MssqlSchemaParser.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/reverse/mysql/MysqlSchemaParser.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/reverse/oracle/OracleSchemaParser.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/reverse/pgsql/PgsqlSchemaParser.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/reverse/sqlite/SqliteSchemaParser.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/task/AbstractPropelDataModelTask.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/task/PropelConvertConfTask.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/task/PropelDataDTDTask.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/task/PropelDataDumpTask.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/task/PropelDataModelTemplateTask.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/task/PropelDataSQLTask.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/task/PropelGraphvizTask.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/task/PropelOMTask.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/task/PropelSQLExec.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/task/PropelSQLTask.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/lib/task/PropelSchemaReverseTask.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/pear/BuildPropelGenPEARPackageTask.php mode change 100755 => 100644 airtime_mvc/library/propel/generator/pear/build-pear-package.xml mode change 100755 => 100644 airtime_mvc/library/propel/generator/pear/build.properties mode change 100755 => 100644 airtime_mvc/library/propel/generator/pear/pear-build.xml mode change 100755 => 100644 airtime_mvc/library/propel/generator/pear/pear-propel-gen.bat mode change 100755 => 100644 airtime_mvc/library/propel/generator/resources/dtd/database.dtd mode change 100755 => 100644 airtime_mvc/library/propel/generator/resources/xsd/custom_datatypes.xsd mode change 100755 => 100644 airtime_mvc/library/propel/generator/resources/xsd/database.xsd mode change 100755 => 100644 airtime_mvc/library/propel/generator/resources/xsl/database.xsl mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/Propel.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/adapter/DBAdapter.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/adapter/DBMSSQL.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/adapter/DBMySQL.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/adapter/DBNone.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/adapter/DBOracle.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/adapter/DBPostgres.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/adapter/DBSQLite.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/adapter/MSSQL/MssqlDateTime.class.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/adapter/MSSQL/MssqlDebugPDO.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/adapter/MSSQL/MssqlPropelPDO.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/collection/PropelArrayCollection.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/collection/PropelCollection.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/collection/PropelObjectCollection.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/collection/PropelOnDemandCollection.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/collection/PropelOnDemandIterator.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/config/PropelConfiguration.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/config/PropelConfigurationIterator.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/connection/DebugPDO.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/connection/DebugPDOStatement.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/connection/PropelPDO.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/exception/PropelException.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/formatter/ModelWith.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/formatter/PropelArrayFormatter.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/formatter/PropelFormatter.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/formatter/PropelObjectFormatter.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/formatter/PropelOnDemandFormatter.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/formatter/PropelStatementFormatter.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/logger/BasicLogger.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/logger/MojaviLogAdapter.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/map/ColumnMap.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/map/DatabaseMap.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/map/RelationMap.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/map/TableMap.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/map/ValidatorMap.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/om/BaseObject.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/om/NestedSetRecursiveIterator.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/om/NodeObject.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/om/Persistent.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/om/PreOrderNodeIterator.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/query/Criteria.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/query/Criterion.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/query/CriterionIterator.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/query/Join.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/query/ModelCriteria.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/query/ModelCriterion.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/query/ModelJoin.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/query/PropelQuery.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/util/BasePeer.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/util/NodePeer.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/util/PropelAutoloader.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/util/PropelColumnTypes.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/util/PropelConditionalProxy.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/util/PropelDateTime.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/util/PropelModelPager.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/util/PropelPager.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/validator/BasicValidator.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/validator/MatchValidator.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/validator/MaxLengthValidator.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/validator/MaxValueValidator.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/validator/MinLengthValidator.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/validator/MinValueValidator.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/validator/NotMatchValidator.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/validator/RequiredValidator.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/validator/TypeValidator.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/validator/UniqueValidator.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/validator/ValidValuesValidator.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/lib/validator/ValidationFailed.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/pear/BuildPropelPEARPackageTask.php mode change 100755 => 100644 airtime_mvc/library/propel/runtime/pear/build-pear-package.xml mode change 100755 => 100644 airtime_mvc/library/propel/test/README mode change 100755 => 100644 airtime_mvc/library/propel/test/bookstore-packaged-test.php mode change 100755 => 100644 airtime_mvc/library/propel/test/etc/lob/propel.gif mode change 100755 => 100644 airtime_mvc/library/propel/test/etc/lob/tin_drum.gif mode change 100755 => 100644 airtime_mvc/library/propel/test/etc/lob/tin_drum.txt mode change 100755 => 100644 airtime_mvc/library/propel/test/etc/schema/tabletest-schema.xml mode change 100755 => 100644 airtime_mvc/library/propel/test/etc/xsl/coverage-frames.xsl mode change 100755 => 100644 airtime_mvc/library/propel/test/etc/xsl/log.xsl mode change 100755 => 100644 airtime_mvc/library/propel/test/etc/xsl/phpunit2-noframes.xsl mode change 100755 => 100644 airtime_mvc/library/propel/test/etc/xsl/str.replace.function.xsl mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/bookstore-packaged/book.schema.xml mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/bookstore-packaged/book_club_list.schema.xml mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/bookstore-packaged/build.properties mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/bookstore-packaged/external/author.schema.xml mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/bookstore-packaged/log.schema.xml mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/bookstore-packaged/media.schema.xml mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/bookstore-packaged/publisher.schema.xml mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/bookstore-packaged/review.schema.xml mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/bookstore-packaged/runtime-conf.xml mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/bookstore/behavior-aggregate-schema.xml mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/bookstore/behavior-auto-add-pk-schema.xml mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/bookstore/behavior-concrete-inheritance-schema.xml mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/bookstore/behavior-nested-set-schema.xml mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/bookstore/behavior-schema.xml mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/bookstore/behavior-sluggable-schema.xml mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/bookstore/behavior-soft-delete-schema.xml mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/bookstore/behavior-sortable-schema.xml mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/bookstore/behavior-timestampable-schema.xml mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/bookstore/build.properties mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/bookstore/cms-schema.xml mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/bookstore/runtime-conf.xml mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/bookstore/schema.xml mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/namespaced/build.properties mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/namespaced/runtime-conf.xml mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/namespaced/schema.xml mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/nestedset/build.properties mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/nestedset/nestedset-schema.xml mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/nestedset/runtime-conf.xml mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/treetest/build.properties mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/treetest/runtime-conf.xml mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/treetest/treetest-schema.xml mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/unique-column/column-schema.xml mode change 100755 => 100644 airtime_mvc/library/propel/test/fixtures/unique-column/table-schema.xml mode change 100755 => 100644 airtime_mvc/library/propel/test/speed.php mode change 100755 => 100644 airtime_mvc/library/propel/test/test.xml mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/behavior/AutoAddPkBehaviorTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/behavior/ObjectBehaviorTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/behavior/PeerBehaviorTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/behavior/SoftDeleteBehaviorTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/behavior/TableBehaviorTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/behavior/TimestampableBehaviorTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/behavior/aggregate_column/AggregateColumnBehaviorTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/behavior/concrete_inheritance/ConcreteInheritanceBehaviorTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/behavior/concrete_inheritance/ConcreteInheritanceParentBehaviorTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorObjectBuilderModifierTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorObjectBuilderModifierWithScopeTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorPeerBuilderModifierTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorPeerBuilderModifierWithScopeTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorQueryBuilderModifierTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorQueryBuilderModifierWithScopeTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/behavior/sluggable/SluggableBehaviorTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorObjectBuilderModifierTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorObjectBuilderModifierWithScopeTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorPeerBuilderModifierTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorPeerBuilderModifierWithScopeTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorQueryBuilderModifierTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorQueryBuilderModifierWithScopeTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/builder/NamespaceTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedNestedSetObjectTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedNestedSetPeerTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedNestedSetTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedObjectLobTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedObjectRelTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedObjectTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedPeerDoDeleteTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedPeerDoSelectTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedPeerTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/builder/om/OMBuilderNamespaceTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/builder/om/OMBuilderTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/builder/om/PHP5TableMapBuilderTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/builder/om/QueryBuilderInheritanceTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/builder/om/QueryBuilderTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/builder/util/PropelTemplateTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/builder/util/template.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/model/BehaviorTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/model/ColumnTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/model/NameFactoryTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/model/PhpNameGeneratorTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/model/TableTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/platform/DefaultPlatformTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/platform/PlatformTestBase.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/generator/platform/SqlitePlatformTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/misc/BookstoreTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/misc/CharacterEncodingTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/misc/FieldnameRelatedTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/misc/Ticket520Test.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/adapter/DBOracleTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/collection/PropelArrayCollectionTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/collection/PropelCollectionTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/collection/PropelObjectCollectionTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/collection/PropelOnDemandCollectionTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/collection/PropelOnDemandIteratorTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/connection/PropelPDOTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelArrayFormatterTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelArrayFormatterWithTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelObjectFormatterInheritanceTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelObjectFormatterTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelObjectFormatterWithTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelOnDemandFormatterTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelOnDemandFormatterWithTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelStatementFormatterTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/map/ColumnMapTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/map/DatabaseMapTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/map/GeneratedRelationMapTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/map/RelatedMapSymmetricalTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/map/RelationMapTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/map/TableMapTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/om/BaseObjectSerializeTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/om/BaseObjectTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/query/CriteriaCombineTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/query/CriteriaFluidConditionTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/query/CriteriaMergeTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/query/CriteriaTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/query/JoinTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/query/ModelCriteriaHooksTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/query/ModelCriteriaTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/query/ModelJoinTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/query/ModelWithTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/query/PropelQueryTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/util/BasePeerExceptionsTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/util/BasePeerTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/util/PropelConfigurationTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/util/PropelDateTimeTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/util/PropelModelPagerTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/util/PropelPagerTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/testsuite/runtime/validator/ValidatorTest.php mode change 100755 => 100644 airtime_mvc/library/propel/test/tools/helpers/BaseTestCase.php mode change 100755 => 100644 airtime_mvc/library/propel/test/tools/helpers/bookstore/BookstoreDataPopulator.php mode change 100755 => 100644 airtime_mvc/library/propel/test/tools/helpers/bookstore/BookstoreEmptyTestBase.php mode change 100755 => 100644 airtime_mvc/library/propel/test/tools/helpers/bookstore/BookstoreTestBase.php mode change 100755 => 100644 airtime_mvc/library/propel/test/tools/helpers/bookstore/behavior/BookstoreNestedSetTestBase.php mode change 100755 => 100644 airtime_mvc/library/propel/test/tools/helpers/bookstore/behavior/BookstoreSortableTestBase.php mode change 100755 => 100644 airtime_mvc/library/propel/test/tools/helpers/bookstore/behavior/DonothingBehavior.php mode change 100755 => 100644 airtime_mvc/library/propel/test/tools/helpers/bookstore/behavior/TestAuthor.php mode change 100755 => 100644 airtime_mvc/library/propel/test/tools/helpers/bookstore/behavior/Testallhooksbehavior.php mode change 100755 => 100644 airtime_mvc/library/propel/test/tools/helpers/bookstore/validator/ISBNValidator.php mode change 100755 => 100644 airtime_mvc/library/propel/test/tools/helpers/cms/CmsDataPopulator.php mode change 100755 => 100644 airtime_mvc/library/propel/test/tools/helpers/cms/CmsTestBase.php mode change 100755 => 100644 airtime_mvc/library/propel/test/tools/phing/DefineTask.php mode change 100755 => 100644 airtime_mvc/library/propel/test/tree-test.php mode change 100755 => 100644 airtime_mvc/library/soundcloud-api/README.md mode change 100755 => 100644 airtime_mvc/library/soundcloud-api/Services/Soundcloud.php mode change 100755 => 100644 airtime_mvc/library/soundcloud-api/Services/Soundcloud/Exception.php mode change 100755 => 100644 airtime_mvc/library/soundcloud-api/Services/Soundcloud/Version.php mode change 100755 => 100644 airtime_mvc/library/soundcloud-api/tests/Soundcloud_Test.php mode change 100755 => 100644 airtime_mvc/library/soundcloud-api/tests/Soundcloud_Test_Helper.php mode change 100755 => 100644 airtime_mvc/locale/az/LC_MESSAGES/airtime.mo mode change 100755 => 100644 airtime_mvc/locale/az/LC_MESSAGES/airtime.po mode change 100755 => 100644 airtime_mvc/locale/cs_CZ/LC_MESSAGES/airtime.mo mode change 100755 => 100644 airtime_mvc/locale/cs_CZ/LC_MESSAGES/airtime.po mode change 100755 => 100644 airtime_mvc/locale/de_AT/LC_MESSAGES/airtime.mo mode change 100755 => 100644 airtime_mvc/locale/de_AT/LC_MESSAGES/airtime.po mode change 100755 => 100644 airtime_mvc/locale/de_DE/LC_MESSAGES/airtime.mo mode change 100755 => 100644 airtime_mvc/locale/de_DE/LC_MESSAGES/airtime.po mode change 100755 => 100644 airtime_mvc/locale/el_GR/LC_MESSAGES/airtime.mo mode change 100755 => 100644 airtime_mvc/locale/el_GR/LC_MESSAGES/airtime.po mode change 100755 => 100644 airtime_mvc/locale/en_CA/LC_MESSAGES/airtime.mo mode change 100755 => 100644 airtime_mvc/locale/en_CA/LC_MESSAGES/airtime.po mode change 100755 => 100644 airtime_mvc/locale/en_GB/LC_MESSAGES/airtime.mo mode change 100755 => 100644 airtime_mvc/locale/en_GB/LC_MESSAGES/airtime.po mode change 100755 => 100644 airtime_mvc/locale/en_US/LC_MESSAGES/airtime.mo mode change 100755 => 100644 airtime_mvc/locale/en_US/LC_MESSAGES/airtime.po mode change 100755 => 100644 airtime_mvc/locale/es_ES/LC_MESSAGES/airtime.mo mode change 100755 => 100644 airtime_mvc/locale/es_ES/LC_MESSAGES/airtime.po mode change 100755 => 100644 airtime_mvc/locale/fr_FR/LC_MESSAGES/airtime.mo mode change 100755 => 100644 airtime_mvc/locale/fr_FR/LC_MESSAGES/airtime.po mode change 100755 => 100644 airtime_mvc/locale/hr_HR/LC_MESSAGES/airtime.mo mode change 100755 => 100644 airtime_mvc/locale/hr_HR/LC_MESSAGES/airtime.po mode change 100755 => 100644 airtime_mvc/locale/hu_HU/LC_MESSAGES/airtime.mo mode change 100755 => 100644 airtime_mvc/locale/hu_HU/LC_MESSAGES/airtime.po mode change 100755 => 100644 airtime_mvc/locale/hy/LC_MESSAGES/airtime.mo mode change 100755 => 100644 airtime_mvc/locale/hy/LC_MESSAGES/airtime.po mode change 100755 => 100644 airtime_mvc/locale/hy_AM/LC_MESSAGES/airtime.mo mode change 100755 => 100644 airtime_mvc/locale/hy_AM/LC_MESSAGES/airtime.po mode change 100755 => 100644 airtime_mvc/locale/it_IT/LC_MESSAGES/airtime.mo mode change 100755 => 100644 airtime_mvc/locale/it_IT/LC_MESSAGES/airtime.po mode change 100755 => 100644 airtime_mvc/locale/ja/LC_MESSAGES/airtime.mo mode change 100755 => 100644 airtime_mvc/locale/ja/LC_MESSAGES/airtime.po mode change 100755 => 100644 airtime_mvc/locale/ja_JP/LC_MESSAGES/airtime.mo mode change 100755 => 100644 airtime_mvc/locale/ja_JP/LC_MESSAGES/airtime.po mode change 100755 => 100644 airtime_mvc/locale/ka/LC_MESSAGES/airtime.mo mode change 100755 => 100644 airtime_mvc/locale/ka/LC_MESSAGES/airtime.po mode change 100755 => 100644 airtime_mvc/locale/ko_KR/LC_MESSAGES/airtime.mo mode change 100755 => 100644 airtime_mvc/locale/ko_KR/LC_MESSAGES/airtime.po mode change 100755 => 100644 airtime_mvc/locale/nl_NL/LC_MESSAGES/airtime.mo mode change 100755 => 100644 airtime_mvc/locale/nl_NL/LC_MESSAGES/airtime.po mode change 100755 => 100644 airtime_mvc/locale/pl_PL/LC_MESSAGES/airtime.mo mode change 100755 => 100644 airtime_mvc/locale/pl_PL/LC_MESSAGES/airtime.po mode change 100755 => 100644 airtime_mvc/locale/pt_BR/LC_MESSAGES/airtime.mo mode change 100755 => 100644 airtime_mvc/locale/pt_BR/LC_MESSAGES/airtime.po mode change 100755 => 100644 airtime_mvc/locale/ru_RU/LC_MESSAGES/airtime.mo mode change 100755 => 100644 airtime_mvc/locale/ru_RU/LC_MESSAGES/airtime.po mode change 100755 => 100644 airtime_mvc/locale/si/LC_MESSAGES/airtime.mo mode change 100755 => 100644 airtime_mvc/locale/si/LC_MESSAGES/airtime.po mode change 100755 => 100644 airtime_mvc/locale/sr_RS/LC_MESSAGES/airtime.mo mode change 100755 => 100644 airtime_mvc/locale/sr_RS/LC_MESSAGES/airtime.po mode change 100755 => 100644 airtime_mvc/locale/sr_RS@latin/LC_MESSAGES/airtime.mo mode change 100755 => 100644 airtime_mvc/locale/sr_RS@latin/LC_MESSAGES/airtime.po mode change 100755 => 100644 airtime_mvc/locale/template/airtime.po mode change 100755 => 100644 airtime_mvc/locale/zh_CN/LC_MESSAGES/airtime.mo mode change 100755 => 100644 airtime_mvc/locale/zh_CN/LC_MESSAGES/airtime.po mode change 100755 => 100644 airtime_mvc/public/.htaccess mode change 100755 => 100644 airtime_mvc/public/css/TableTools.css mode change 100755 => 100644 airtime_mvc/public/css/TableTools_JUI.css mode change 100755 => 100644 airtime_mvc/public/css/add-show.css mode change 100755 => 100644 airtime_mvc/public/css/bootstrap-3.3.1.min.css mode change 100755 => 100644 airtime_mvc/public/css/bootstrap-datetimepicker.min.css mode change 100755 => 100644 airtime_mvc/public/css/bootstrap.css mode change 100755 => 100644 airtime_mvc/public/css/colorpicker/css/colorpicker.css mode change 100755 => 100644 airtime_mvc/public/css/colorpicker/images/blank.gif mode change 100755 => 100644 airtime_mvc/public/css/colorpicker/images/colorpicker_background.png mode change 100755 => 100644 airtime_mvc/public/css/colorpicker/images/colorpicker_hex.png mode change 100755 => 100644 airtime_mvc/public/css/colorpicker/images/colorpicker_hsb_b.png mode change 100755 => 100644 airtime_mvc/public/css/colorpicker/images/colorpicker_hsb_h.png mode change 100755 => 100644 airtime_mvc/public/css/colorpicker/images/colorpicker_hsb_s.png mode change 100755 => 100644 airtime_mvc/public/css/colorpicker/images/colorpicker_indic.gif mode change 100755 => 100644 airtime_mvc/public/css/colorpicker/images/colorpicker_overlay.png mode change 100755 => 100644 airtime_mvc/public/css/colorpicker/images/colorpicker_rgb_b.png mode change 100755 => 100644 airtime_mvc/public/css/colorpicker/images/colorpicker_rgb_g.png mode change 100755 => 100644 airtime_mvc/public/css/colorpicker/images/colorpicker_rgb_r.png mode change 100755 => 100644 airtime_mvc/public/css/colorpicker/images/colorpicker_select.gif mode change 100755 => 100644 airtime_mvc/public/css/colorpicker/images/colorpicker_submit.png mode change 100755 => 100644 airtime_mvc/public/css/colorpicker/images/custom_background.png mode change 100755 => 100644 airtime_mvc/public/css/colorpicker/images/custom_hex.png mode change 100755 => 100644 airtime_mvc/public/css/colorpicker/images/custom_hsb_b.png mode change 100755 => 100644 airtime_mvc/public/css/colorpicker/images/custom_hsb_h.png mode change 100755 => 100644 airtime_mvc/public/css/colorpicker/images/custom_hsb_s.png mode change 100755 => 100644 airtime_mvc/public/css/colorpicker/images/custom_indic.gif mode change 100755 => 100644 airtime_mvc/public/css/colorpicker/images/custom_rgb_b.png mode change 100755 => 100644 airtime_mvc/public/css/colorpicker/images/custom_rgb_g.png mode change 100755 => 100644 airtime_mvc/public/css/colorpicker/images/custom_rgb_r.png mode change 100755 => 100644 airtime_mvc/public/css/colorpicker/images/custom_submit.png mode change 100755 => 100644 airtime_mvc/public/css/colorpicker/images/select.png mode change 100755 => 100644 airtime_mvc/public/css/colorpicker/images/select2.png mode change 100755 => 100644 airtime_mvc/public/css/colorpicker/images/slider.png mode change 100755 => 100644 airtime_mvc/public/css/datatables/css/ColReorder.css mode change 100755 => 100644 airtime_mvc/public/css/datatables/css/ColVis.css mode change 100755 => 100644 airtime_mvc/public/css/datatables/css/TableTools.css mode change 100755 => 100644 airtime_mvc/public/css/datatables/css/jquery.dataTables.css mode change 100755 => 100644 airtime_mvc/public/css/datatables/css/jquery.dataTables_themeroller.css mode change 100755 => 100644 airtime_mvc/public/css/datatables/images/Sorting icons.psd mode change 100755 => 100644 airtime_mvc/public/css/datatables/images/back_disabled.png mode change 100755 => 100644 airtime_mvc/public/css/datatables/images/back_enabled.png mode change 100755 => 100644 airtime_mvc/public/css/datatables/images/back_enabled_hover.png mode change 100755 => 100644 airtime_mvc/public/css/datatables/images/favicon.ico mode change 100755 => 100644 airtime_mvc/public/css/datatables/images/forward_disabled.png mode change 100755 => 100644 airtime_mvc/public/css/datatables/images/forward_enabled.png mode change 100755 => 100644 airtime_mvc/public/css/datatables/images/forward_enabled_hover.png mode change 100755 => 100644 airtime_mvc/public/css/datatables/images/sort_asc.png mode change 100755 => 100644 airtime_mvc/public/css/datatables/images/sort_asc_disabled.png mode change 100755 => 100644 airtime_mvc/public/css/datatables/images/sort_both.png mode change 100755 => 100644 airtime_mvc/public/css/datatables/images/sort_desc.png mode change 100755 => 100644 airtime_mvc/public/css/datatables/images/sort_desc_disabled.png mode change 100755 => 100644 airtime_mvc/public/css/fullcalendar-old.css mode change 100755 => 100644 airtime_mvc/public/css/fullcalendar.css mode change 100755 => 100644 airtime_mvc/public/css/history_styles.css mode change 100755 => 100644 airtime_mvc/public/css/images/404.png mode change 100755 => 100644 airtime_mvc/public/css/images/accept.png mode change 100755 => 100644 airtime_mvc/public/css/images/airtime_logo.png mode change 100755 => 100644 airtime_mvc/public/css/images/airtime_logo_big.png mode change 100755 => 100644 airtime_mvc/public/css/images/airtime_logo_jp.png mode change 100755 => 100644 airtime_mvc/public/css/images/arrow.gif mode change 100755 => 100644 airtime_mvc/public/css/images/arrow.png mode change 100755 => 100644 airtime_mvc/public/css/images/arrow_over.gif mode change 100755 => 100644 airtime_mvc/public/css/images/arrow_over.png mode change 100755 => 100644 airtime_mvc/public/css/images/arrows_collapse.png mode change 100755 => 100644 airtime_mvc/public/css/images/big_gray_logo.png mode change 100755 => 100644 airtime_mvc/public/css/images/big_play_arrow.png mode change 100755 => 100644 airtime_mvc/public/css/images/crossfade_bg.png mode change 100755 => 100644 airtime_mvc/public/css/images/crossfade_main.png mode change 100755 => 100644 airtime_mvc/public/css/images/crossfade_playlist.png mode change 100755 => 100644 airtime_mvc/public/css/images/cue-editor_bg.png mode change 100755 => 100644 airtime_mvc/public/css/images/cue_playlist.png mode change 100755 => 100644 airtime_mvc/public/css/images/delete.png mode change 100755 => 100644 airtime_mvc/public/css/images/down_arrow.png mode change 100755 => 100644 airtime_mvc/public/css/images/drag.png mode change 100755 => 100644 airtime_mvc/public/css/images/fade_in.png mode change 100755 => 100644 airtime_mvc/public/css/images/fade_out.png mode change 100755 => 100644 airtime_mvc/public/css/images/file_import_loader.gif mode change 100755 => 100644 airtime_mvc/public/css/images/filetype_icons.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_add_content_cm.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_add_playlist_cm.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_alert_cal.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_alert_cal_alt.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_alert_cal_alt2.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_alert_ffffff.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_audioclip.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_copy.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_copy_cm.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_cut.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_cut_cm.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_delete.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_delete_cm.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_door.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_door_cm.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_download_cm.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_edit.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_edit_cm.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_edit_l.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_finishedplaying_m.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_info.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_link.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_nowplaying_m.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_nowplaying_n.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_outdated.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_overlap.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_overview_cm.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_paste.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_paste_cm.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_play_cal.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_play_cm.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_playlist.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_rebroadcast.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_rebroadcast_m.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_record.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_record_m.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_remove_all_content_cm.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_select-cursor_cm.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_smart-block.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_soundcloud.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_soundcloud_cm.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_soundcloud_error2.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_soundcloud_m.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_update.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_update2.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_uptodate.png mode change 100755 => 100644 airtime_mvc/public/css/images/icon_webstream.png mode change 100755 => 100644 airtime_mvc/public/css/images/input_bg.png mode change 100755 => 100644 airtime_mvc/public/css/images/input_with_calendar_bg.png mode change 100755 => 100644 airtime_mvc/public/css/images/input_with_time_bg.png mode change 100755 => 100644 airtime_mvc/public/css/images/is_playlist.png mode change 100755 => 100644 airtime_mvc/public/css/images/is_scheduled.png mode change 100755 => 100644 airtime_mvc/public/css/images/loader-small.gif mode change 100755 => 100644 airtime_mvc/public/css/images/loader.gif mode change 100755 => 100644 airtime_mvc/public/css/images/login_content_bg.png mode change 100755 => 100644 airtime_mvc/public/css/images/login_page_bg.png mode change 100755 => 100644 airtime_mvc/public/css/images/masterpanel_bg.png mode change 100755 => 100644 airtime_mvc/public/css/images/masterpanel_spacer.png mode change 100755 => 100644 airtime_mvc/public/css/images/menuitem.gif mode change 100755 => 100644 airtime_mvc/public/css/images/more.gif mode change 100755 => 100644 airtime_mvc/public/css/images/on-off-air.png mode change 100755 => 100644 airtime_mvc/public/css/images/playinfo_bg.png mode change 100755 => 100644 airtime_mvc/public/css/images/progressbar_bg.png mode change 100755 => 100644 airtime_mvc/public/css/images/progressbar_show.png mode change 100755 => 100644 airtime_mvc/public/css/images/progressbar_show_error.png mode change 100755 => 100644 airtime_mvc/public/css/images/progressbar_song.png mode change 100755 => 100644 airtime_mvc/public/css/images/record_icon.png mode change 100755 => 100644 airtime_mvc/public/css/images/round_delete.png mode change 100755 => 100644 airtime_mvc/public/css/images/schedule-show_progressbar_bg.png mode change 100755 => 100644 airtime_mvc/public/css/images/search_auto_bg.png mode change 100755 => 100644 airtime_mvc/public/css/images/sf_arror.png mode change 100755 => 100644 airtime_mvc/public/css/images/source-info_lines.png mode change 100755 => 100644 airtime_mvc/public/css/images/source_to_switch_lines.png mode change 100755 => 100644 airtime_mvc/public/css/images/stream_status.png mode change 100755 => 100644 airtime_mvc/public/css/images/thin_delete.png mode change 100755 => 100644 airtime_mvc/public/css/images/three_0a.png mode change 100755 => 100644 airtime_mvc/public/css/images/tl-arrow.png mode change 100755 => 100644 airtime_mvc/public/css/images/tooltip_arrow.png mode change 100755 => 100644 airtime_mvc/public/css/images/upload-icon.gif mode change 100755 => 100644 airtime_mvc/public/css/images/warning-icon.png mode change 100755 => 100644 airtime_mvc/public/css/img/backgrounds.gif mode change 100755 => 100644 airtime_mvc/public/css/img/buttons-disabled.png mode change 100755 => 100644 airtime_mvc/public/css/img/buttons.png mode change 100755 => 100644 airtime_mvc/public/css/img/delete.gif mode change 100755 => 100644 airtime_mvc/public/css/img/desktop.png mode change 100755 => 100644 airtime_mvc/public/css/img/documents.png mode change 100755 => 100644 airtime_mvc/public/css/img/done.gif mode change 100755 => 100644 airtime_mvc/public/css/img/error.gif mode change 100755 => 100644 airtime_mvc/public/css/img/folder.png mode change 100755 => 100644 airtime_mvc/public/css/img/glyphicons-halflings-white.png mode change 100755 => 100644 airtime_mvc/public/css/img/glyphicons-halflings.png mode change 100755 => 100644 airtime_mvc/public/css/img/icon_cut_white.png mode change 100755 => 100644 airtime_mvc/public/css/img/loading.gif mode change 100755 => 100644 airtime_mvc/public/css/img/throbber.gif mode change 100755 => 100644 airtime_mvc/public/css/img/transp50.png mode change 100755 => 100644 airtime_mvc/public/css/img/unknown.png mode change 100755 => 100644 airtime_mvc/public/css/jquery-ui-timepicker-addon.css mode change 100755 => 100644 airtime_mvc/public/css/jquery.contextMenu.css mode change 100755 => 100644 airtime_mvc/public/css/jquery.ui.timepicker.css mode change 100755 => 100644 airtime_mvc/public/css/library_search.css mode change 100755 => 100644 airtime_mvc/public/css/masterpanel.css mode change 100755 => 100644 airtime_mvc/public/css/media_library.css mode change 100755 => 100644 airtime_mvc/public/css/playlist_builder.css mode change 100755 => 100644 airtime_mvc/public/css/playouthistory.css mode change 100755 => 100644 airtime_mvc/public/css/plupload.queue.css mode change 100755 => 100644 airtime_mvc/public/css/pro_dropdown_3.css mode change 100755 => 100644 airtime_mvc/public/css/qtip/jquery.qtip.css mode change 100755 => 100644 airtime_mvc/public/css/qtip/jquery.qtip.min.css mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-bg_default_aaaaaa.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-bg_flat_0_6c6c6c_40x100.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-bg_flat_0_9d9d9d_40x100.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-bg_flat_55_eff6eb_40x100.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-bg_flat_55_fae5e5_40x100.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-bg_flat_55_fbec88_40x100.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-bg_flat_65_ffffff_40x100.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-bg_flat_75_ffffff_40x100.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-bg_glass_85_dfeffc_1x400.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-bg_glass_95_fef1ec_1x400.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-bg_highlight-soft_100_f6f6f6_1x100.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-bg_highlight-soft_25_007fb3_1x100.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-bg_highlight-soft_50_ebebeb_1x100.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-bg_highlight.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-icons_007fb3_256x240.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-icons_217bc0_256x240.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-icons_2e83ff_256x240.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-icons_454545_256x240.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-icons_469bdd_256x240.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-icons_65a539_256x240.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-icons_666666_256x240.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-icons_6da8d5_256x240.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-icons_cd0a0a_256x240.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-icons_d00000_256x240.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-icons_d8e7f3_256x240.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-icons_f9bd01_256x240.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-icons_ff0084_256x240.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-icons_ff5d1a_256x240.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/images/ui-icons_ffffff_256x240.png mode change 100755 => 100644 airtime_mvc/public/css/redmond/jquery-ui-1.8.8.custom.css mode change 100755 => 100644 airtime_mvc/public/css/redmond/jquery-ui-1.8.8.custom/jquery-ui-1.8.8.custom.css mode change 100755 => 100644 airtime_mvc/public/css/setup/config-check.css mode change 100755 => 100644 airtime_mvc/public/css/setup/setup-config.css mode change 100755 => 100644 airtime_mvc/public/css/showbuilder.css mode change 100755 => 100644 airtime_mvc/public/css/styles.css mode change 100755 => 100644 airtime_mvc/public/css/tipsy/jquery.tipsy.css mode change 100755 => 100644 airtime_mvc/public/css/users.css mode change 100755 => 100644 airtime_mvc/public/css/waveform.css mode change 100755 => 100644 airtime_mvc/public/favicon.ico mode change 100755 => 100644 airtime_mvc/public/fonts/glyphicons-halflings-regular.eot mode change 100755 => 100644 airtime_mvc/public/fonts/glyphicons-halflings-regular.svg mode change 100755 => 100644 airtime_mvc/public/fonts/glyphicons-halflings-regular.ttf mode change 100755 => 100644 airtime_mvc/public/fonts/glyphicons-halflings-regular.woff mode change 100755 => 100644 airtime_mvc/public/images/datatables/Sorting icons.psd mode change 100755 => 100644 airtime_mvc/public/images/datatables/back_disabled.jpg mode change 100755 => 100644 airtime_mvc/public/images/datatables/back_enabled.jpg mode change 100755 => 100644 airtime_mvc/public/images/datatables/favicon.ico mode change 100755 => 100644 airtime_mvc/public/images/datatables/forward_disabled.jpg mode change 100755 => 100644 airtime_mvc/public/images/datatables/forward_enabled.jpg mode change 100755 => 100644 airtime_mvc/public/images/datatables/sort_asc.png mode change 100755 => 100644 airtime_mvc/public/images/datatables/sort_asc_disabled.png mode change 100755 => 100644 airtime_mvc/public/images/datatables/sort_both.png mode change 100755 => 100644 airtime_mvc/public/images/datatables/sort_desc.png mode change 100755 => 100644 airtime_mvc/public/images/datatables/sort_desc_disabled.png mode change 100755 => 100644 airtime_mvc/public/index.php mode change 100755 => 100644 airtime_mvc/public/install/clearstatcache.php mode change 100755 => 100644 airtime_mvc/public/js/airtime/airtime_bootstrap.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/audiopreview/preview_jplayer.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/buttons/buttons.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/common/audioplaytest.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/common/common.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/dashboard/dashboard.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/dashboard/helperfunctions.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/dashboard/versiontooltip.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/library/events/library_playlistbuilder.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/library/events/library_showbuilder.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/library/library.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/library/plupload.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/library/spl.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/listenerstat/listenerstat.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/login/login.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/login/password-restore.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/nowplaying/dayview.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/nowplaying/nowview.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/nowplaying/register.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/playlist/smart_blockbuilder.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/playouthistory/configuretemplate.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/playouthistory/historytable.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/playouthistory/template.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/preferences/musicdirs.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/preferences/preferences.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/preferences/streamsetting.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/preferences/support-setting.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/schedule/add-show.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/schedule/full-calendar-functions.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/schedule/schedule.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/showbuilder/builder.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/showbuilder/main_builder.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/status/status.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/user/user.js mode change 100755 => 100644 airtime_mvc/public/js/airtime/utilities/utilities.js mode change 100755 => 100644 airtime_mvc/public/js/blockui/jquery.blockUI.js mode change 100755 => 100644 airtime_mvc/public/js/bootstrap-datetime/bootstrap-datetimepicker.js mode change 100755 => 100644 airtime_mvc/public/js/bootstrap/bootstrap.js mode change 100755 => 100644 airtime_mvc/public/js/bootstrap/bootstrap.min.js mode change 100755 => 100644 airtime_mvc/public/js/colorpicker/js/colorpicker.js mode change 100755 => 100644 airtime_mvc/public/js/contextmenu/AIRTIME_DEV_README mode change 100755 => 100644 airtime_mvc/public/js/contextmenu/jquery.contextMenu.js mode change 100755 => 100644 airtime_mvc/public/js/cookie/jquery.cookie.js mode change 100755 => 100644 airtime_mvc/public/js/datatables/i18n/cs_CZ.txt mode change 100755 => 100644 airtime_mvc/public/js/datatables/i18n/de_AT.txt mode change 100755 => 100644 airtime_mvc/public/js/datatables/i18n/de_DE.txt mode change 100755 => 100644 airtime_mvc/public/js/datatables/i18n/el_GR.txt mode change 100755 => 100644 airtime_mvc/public/js/datatables/i18n/en_CA.txt mode change 100755 => 100644 airtime_mvc/public/js/datatables/i18n/en_GB.txt mode change 100755 => 100644 airtime_mvc/public/js/datatables/i18n/en_US.txt mode change 100755 => 100644 airtime_mvc/public/js/datatables/i18n/es_ES.txt mode change 100755 => 100644 airtime_mvc/public/js/datatables/i18n/fr_FR.txt mode change 100755 => 100644 airtime_mvc/public/js/datatables/i18n/hr_HR.txt mode change 100755 => 100644 airtime_mvc/public/js/datatables/i18n/hu_HU.txt mode change 100755 => 100644 airtime_mvc/public/js/datatables/i18n/it_IT.txt mode change 100755 => 100644 airtime_mvc/public/js/datatables/i18n/ja.txt mode change 100755 => 100644 airtime_mvc/public/js/datatables/i18n/ja_JP.txt mode change 100755 => 100644 airtime_mvc/public/js/datatables/i18n/ko_KR.txt mode change 100755 => 100644 airtime_mvc/public/js/datatables/i18n/pl_PL.txt mode change 100755 => 100644 airtime_mvc/public/js/datatables/i18n/pt_BR.txt mode change 100755 => 100644 airtime_mvc/public/js/datatables/i18n/ru_RU.txt mode change 100755 => 100644 airtime_mvc/public/js/datatables/i18n/sr_RS.txt mode change 100755 => 100644 airtime_mvc/public/js/datatables/i18n/sr_RS@latin.txt mode change 100755 => 100644 airtime_mvc/public/js/datatables/i18n/zh_CN.txt mode change 100755 => 100644 airtime_mvc/public/js/datatables/js/jquery.dataTables.js mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/AIRTIME_DEV_README_COLUMN_FILTER mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/AIRTIME_DEV_README_COL_VIS mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/as3/ZeroClipboard.as mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/as3/ZeroClipboardPdf.as mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/as3/lib/AlivePDF.swc mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/css/TableTools.css mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/css/TableTools_JUI.css mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/background.png mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/collection.png mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/collection_hover.png mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/copy.png mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/copy_hover.png mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/csv.png mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/csv_hover.png mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/pdf.png mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/pdf_hover.png mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/print.png mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/print_hover.png mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/psd/collection.psd mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/psd/copy document.psd mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/psd/file_types.psd mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/psd/printer.psd mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/xls.png mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/xls_hover.png mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/js/TableTools.js mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/js/TableTools.min.js mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/js/TableTools.min.js.gz mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/js/ZeroClipboard.js mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/swf/copy_csv_xls.swf mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/swf/copy_csv_xls_pdf.swf mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/dataTables.ColReorder.js mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/dataTables.ColVis.js mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/dataTables.ColVis_orig.js mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/dataTables.FixedColumns.js mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/dataTables.FixedHeader.js mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/dataTables.columnFilter.js mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/dataTables.columnFilter_orig.js mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/dataTables.fnSetFilteringDelay.js mode change 100755 => 100644 airtime_mvc/public/js/datatables/plugin/dataTables.pluginAPI.js mode change 100755 => 100644 airtime_mvc/public/js/flot/API.txt mode change 100755 => 100644 airtime_mvc/public/js/flot/FAQ.txt mode change 100755 => 100644 airtime_mvc/public/js/flot/Makefile mode change 100755 => 100644 airtime_mvc/public/js/flot/NEWS.txt mode change 100755 => 100644 airtime_mvc/public/js/flot/PLUGINS.txt mode change 100755 => 100644 airtime_mvc/public/js/flot/README.txt mode change 100755 => 100644 airtime_mvc/public/js/flot/excanvas.js mode change 100755 => 100644 airtime_mvc/public/js/flot/excanvas.min.js mode change 100755 => 100644 airtime_mvc/public/js/flot/jquery.colorhelpers.js mode change 100755 => 100644 airtime_mvc/public/js/flot/jquery.flot.crosshair.js mode change 100755 => 100644 airtime_mvc/public/js/flot/jquery.flot.fillbetween.js mode change 100755 => 100644 airtime_mvc/public/js/flot/jquery.flot.image.js mode change 100755 => 100644 airtime_mvc/public/js/flot/jquery.flot.js mode change 100755 => 100644 airtime_mvc/public/js/flot/jquery.flot.navigate.js mode change 100755 => 100644 airtime_mvc/public/js/flot/jquery.flot.pie.js mode change 100755 => 100644 airtime_mvc/public/js/flot/jquery.flot.resize.js mode change 100755 => 100644 airtime_mvc/public/js/flot/jquery.flot.selection.js mode change 100755 => 100644 airtime_mvc/public/js/flot/jquery.flot.stack.js mode change 100755 => 100644 airtime_mvc/public/js/flot/jquery.flot.symbol.js mode change 100755 => 100644 airtime_mvc/public/js/flot/jquery.flot.threshold.js mode change 100755 => 100644 airtime_mvc/public/js/fullcalendar/AIRTIME_DEV_README mode change 100755 => 100644 airtime_mvc/public/js/fullcalendar/fullcalendar.js mode change 100755 => 100644 airtime_mvc/public/js/fullcalendar/fullcalendar.orig.js mode change 100755 => 100644 airtime_mvc/public/js/i18n/jquery.i18n.js mode change 100755 => 100644 airtime_mvc/public/js/jplayer/Jplayer.swf mode change 100755 => 100644 airtime_mvc/public/js/jplayer/jplayer.playlist.min.js mode change 100755 => 100644 airtime_mvc/public/js/jplayer/jquery.jplayer.inspector.js mode change 100755 => 100644 airtime_mvc/public/js/jplayer/jquery.jplayer.min.js mode change 100755 => 100644 airtime_mvc/public/js/jplayer/popcorn/popcorn.jplayer.js mode change 100755 => 100644 airtime_mvc/public/js/jplayer/skin/jplayer-mute-unmute.png mode change 100755 => 100644 airtime_mvc/public/js/jplayer/skin/jplayer.airtime.audio.preview.css mode change 100755 => 100644 airtime_mvc/public/js/jplayer/skin/jplayer.audio-preview.blue.monday.css mode change 100755 => 100644 airtime_mvc/public/js/jplayer/skin/jplayer.blue.monday.css mode change 100755 => 100644 airtime_mvc/public/js/jplayer/skin/jplayer.blue.monday.jpg mode change 100755 => 100644 airtime_mvc/public/js/jplayer/skin/jplayer.blue.monday.seeking.gif mode change 100755 => 100644 airtime_mvc/public/js/jplayer/skin/jplayer.png mode change 100755 => 100644 airtime_mvc/public/js/jplayer/skin/pbar-ani.gif mode change 100755 => 100644 airtime_mvc/public/js/libs/google-analytics.js mode change 100755 => 100644 airtime_mvc/public/js/libs/jquery-1.10.2.js mode change 100755 => 100644 airtime_mvc/public/js/libs/jquery-1.7.2.min.js mode change 100755 => 100644 airtime_mvc/public/js/libs/jquery-1.8.3.min.js mode change 100755 => 100644 airtime_mvc/public/js/libs/jquery-migrate-1.2.1.js mode change 100755 => 100644 airtime_mvc/public/js/libs/jquery-ui-1.8.18.custom.min.js mode change 100755 => 100644 airtime_mvc/public/js/libs/jquery-ui-1.8.24.min.js mode change 100755 => 100644 airtime_mvc/public/js/libs/jquery.stickyPanel.js mode change 100755 => 100644 airtime_mvc/public/js/libs/underscore-min.js mode change 100755 => 100644 airtime_mvc/public/js/plupload/i18n/cs_CZ.js mode change 100755 => 100644 airtime_mvc/public/js/plupload/i18n/de_AT.js mode change 100755 => 100644 airtime_mvc/public/js/plupload/i18n/de_DE.js mode change 100755 => 100644 airtime_mvc/public/js/plupload/i18n/el_GR.js mode change 100755 => 100644 airtime_mvc/public/js/plupload/i18n/en_CA.js mode change 100755 => 100644 airtime_mvc/public/js/plupload/i18n/en_GB.js mode change 100755 => 100644 airtime_mvc/public/js/plupload/i18n/en_US.js mode change 100755 => 100644 airtime_mvc/public/js/plupload/i18n/es_ES.js mode change 100755 => 100644 airtime_mvc/public/js/plupload/i18n/fr_FR.js mode change 100755 => 100644 airtime_mvc/public/js/plupload/i18n/hr_HR.js mode change 100755 => 100644 airtime_mvc/public/js/plupload/i18n/hu_HU.js mode change 100755 => 100644 airtime_mvc/public/js/plupload/i18n/it_IT.js mode change 100755 => 100644 airtime_mvc/public/js/plupload/i18n/ja_JP.js mode change 100755 => 100644 airtime_mvc/public/js/plupload/i18n/ko_KR.js mode change 100755 => 100644 airtime_mvc/public/js/plupload/i18n/pl_PL.js mode change 100755 => 100644 airtime_mvc/public/js/plupload/i18n/pt_BR.js mode change 100755 => 100644 airtime_mvc/public/js/plupload/i18n/ru_RU.js mode change 100755 => 100644 airtime_mvc/public/js/plupload/i18n/sr_RS.js mode change 100755 => 100644 airtime_mvc/public/js/plupload/i18n/sr_RS@latin.js mode change 100755 => 100644 airtime_mvc/public/js/plupload/i18n/zh_CN.js mode change 100755 => 100644 airtime_mvc/public/js/plupload/jquery.plupload.queue.min.js mode change 100755 => 100644 airtime_mvc/public/js/plupload/plupload.full.min.js mode change 100755 => 100644 airtime_mvc/public/js/qtip/jquery.qtip.js mode change 100755 => 100644 airtime_mvc/public/js/qtip/jquery.qtip.min.js mode change 100755 => 100644 airtime_mvc/public/js/serverbrowse/AIRTIME_DEV_README mode change 100755 => 100644 airtime_mvc/public/js/serverbrowse/serverbrowser.js mode change 100755 => 100644 airtime_mvc/public/js/serverbrowse/serverbrowser_orig.js mode change 100755 => 100644 airtime_mvc/public/js/setup/setup-config.js mode change 100755 => 100644 airtime_mvc/public/js/sprintf/sprintf-0.7-beta1.js mode change 100755 => 100644 airtime_mvc/public/js/timepicker/jquery-ui-timepicker-addon.js mode change 100755 => 100644 airtime_mvc/public/js/timepicker/jquery.ui.timepicker.js mode change 100755 => 100644 airtime_mvc/public/js/tipsy/AIRTIME_DEV_README mode change 100755 => 100644 airtime_mvc/public/js/tipsy/jquery.tipsy.js mode change 100755 => 100644 airtime_mvc/public/js/tipsy/jquery.tipsy_orig.js mode change 100755 => 100644 airtime_mvc/public/js/waveformplaylist/config.js mode change 100755 => 100644 airtime_mvc/public/js/waveformplaylist/controls.js mode change 100755 => 100644 airtime_mvc/public/js/waveformplaylist/curves.js mode change 100755 => 100644 airtime_mvc/public/js/waveformplaylist/fades.js mode change 100755 => 100644 airtime_mvc/public/js/waveformplaylist/loader.js mode change 100755 => 100644 airtime_mvc/public/js/waveformplaylist/local_storage.js mode change 100755 => 100644 airtime_mvc/public/js/waveformplaylist/observer/observer.js mode change 100755 => 100644 airtime_mvc/public/js/waveformplaylist/observer/observer.js~ mode change 100755 => 100644 airtime_mvc/public/js/waveformplaylist/playlist.js mode change 100755 => 100644 airtime_mvc/public/js/waveformplaylist/playout.js mode change 100755 => 100644 airtime_mvc/public/js/waveformplaylist/templates/bottombar.tpl mode change 100755 => 100644 airtime_mvc/public/js/waveformplaylist/templates/bottombar.tpl~ mode change 100755 => 100644 airtime_mvc/public/js/waveformplaylist/time_scale.js mode change 100755 => 100644 airtime_mvc/public/js/waveformplaylist/track.js mode change 100755 => 100644 airtime_mvc/public/js/waveformplaylist/track_render.js mode change 100755 => 100644 airtime_mvc/public/robots.txt mode change 100755 => 100644 airtime_mvc/public/setup/database-setup.php mode change 100755 => 100644 airtime_mvc/public/setup/general-setup.php mode change 100755 => 100644 airtime_mvc/public/setup/media-setup.php mode change 100755 => 100644 airtime_mvc/public/setup/rabbitmq-setup.php mode change 100755 => 100644 airtime_mvc/public/setup/setup-functions.php mode change 100755 => 100644 airtime_mvc/tests/README.txt mode change 100755 => 100644 airtime_mvc/tests/airtime.conf mode change 100755 => 100644 airtime_mvc/tests/application/bootstrap.php mode change 100755 => 100644 airtime_mvc/tests/application/helpers/TestHelper.php mode change 100755 => 100644 airtime_mvc/tests/application/models/database/ScheduleDbTest.php mode change 100755 => 100644 airtime_mvc/tests/application/models/database/datasets/seed_schedule.xml mode change 100755 => 100644 airtime_mvc/tests/application/models/database/datasets/test_checkOverlappingShows.xml mode change 100755 => 100644 airtime_mvc/tests/application/models/unit/PreferenceUnitTest.php mode change 100755 => 100644 airtime_mvc/tests/application/models/unit/ScheduleUnitTest.php mode change 100755 => 100644 airtime_mvc/tests/application/services/database/ShowServiceDbTest.php mode change 100755 => 100644 airtime_mvc/tests/application/services/database/datasets/seed_show_service.xml mode change 100755 => 100644 airtime_mvc/tests/application/services/database/datasets/test_ccShowInsertedIntoDatabase.xml mode change 100755 => 100644 airtime_mvc/tests/application/services/database/datasets/test_changeRepeatDayUpdatesScheduleCorrectly.xml mode change 100755 => 100644 airtime_mvc/tests/application/services/database/datasets/test_createBiWeeklyRepeatNoEndNoRRShow.xml mode change 100755 => 100644 airtime_mvc/tests/application/services/database/datasets/test_createLinkedShow.xml mode change 100755 => 100644 airtime_mvc/tests/application/services/database/datasets/test_createMonthlyMonthlyRepeatNoEndNoRRShow.xml mode change 100755 => 100644 airtime_mvc/tests/application/services/database/datasets/test_createMonthlyWeeklyRepeatNoEndNoRRShow.xml mode change 100755 => 100644 airtime_mvc/tests/application/services/database/datasets/test_createNoRepeatNoRRShow.xml mode change 100755 => 100644 airtime_mvc/tests/application/services/database/datasets/test_createNoRepeatRRShow.xml mode change 100755 => 100644 airtime_mvc/tests/application/services/database/datasets/test_createQuadWeeklyRepeatNoEndNoRRShow.xml mode change 100755 => 100644 airtime_mvc/tests/application/services/database/datasets/test_createTriWeeklyRepeatNoEndNoRRShow.xml mode change 100755 => 100644 airtime_mvc/tests/application/services/database/datasets/test_createWeeklyRepeatNoEndNoRRShow.xml mode change 100755 => 100644 airtime_mvc/tests/application/services/database/datasets/test_createWeeklyRepeatRRShow.xml mode change 100755 => 100644 airtime_mvc/tests/application/services/database/datasets/test_deleteRepeatingShow.xml mode change 100755 => 100644 airtime_mvc/tests/application/services/database/datasets/test_deleteShowInstance.xml mode change 100755 => 100644 airtime_mvc/tests/application/services/database/datasets/test_deleteShowInstanceAndAllFollowing.xml mode change 100755 => 100644 airtime_mvc/tests/application/services/database/datasets/test_editRepeatingShowChangeNoEndOption.xml mode change 100755 => 100644 airtime_mvc/tests/application/services/database/datasets/test_editRepeatingShowInstance.xml mode change 100755 => 100644 airtime_mvc/tests/application/services/database/datasets/test_removeFirstRepeatShowDayUpdatesScheduleCorrectly.xml mode change 100755 => 100644 airtime_mvc/tests/application/services/database/datasets/test_repeatShowCreationWhenUserMovesForwardInCalendar.xml mode change 100755 => 100644 airtime_mvc/tests/application/services/database/datasets/test_unlinkLinkedShow.xml mode change 100755 => 100644 airtime_mvc/tests/application/services/database/datasets/test_weeklyToBiWeekly.xml mode change 100755 => 100644 airtime_mvc/tests/application/services/database/datasets/test_weeklyToNoRepeat.xml mode change 100755 => 100644 airtime_mvc/tests/application/services/unit/ShowServiceUnitTest.php mode change 100755 => 100644 airtime_mvc/tests/application/testdata/ShowServiceData.php mode change 100755 => 100644 airtime_mvc/tests/library/bootstrap.php mode change 100755 => 100644 airtime_mvc/tests/phpunit.xml mode change 100755 => 100644 changelog mode change 100755 => 100644 debian/changelog mode change 100755 => 100644 debian/compat mode change 100755 => 100644 debian/config mode change 100755 => 100644 debian/control mode change 100755 => 100644 debian/copyright mode change 100755 => 100644 debian/docs mode change 100755 => 100644 debian/etc/airtime.ini mode change 100755 => 100644 debian/etc/apache.conf mode change 100755 => 100644 debian/etc/apache.vhost.tpl mode change 100755 => 100644 debian/gbp.conf mode change 100755 => 100644 debian/install mode change 100755 => 100644 debian/po/POTFILES.in mode change 100755 => 100644 debian/po/templates.pot mode change 100755 => 100644 debian/source/format mode change 100755 => 100644 debian/source/include-binaries mode change 100755 => 100644 debian/templates mode change 100755 => 100644 debian/usr/share/applications/airtime.desktop mode change 100755 => 100644 debian/usr/share/man/man1/airtime-import.1.gz mode change 100755 => 100644 debian/usr/share/man/man1/airtime-launch-browser.1.gz mode change 100755 => 100644 debian/usr/share/man/man1/airtime-log.1.gz mode change 100755 => 100644 debian/usr/share/man/man1/airtime-test-soundcard.1.gz mode change 100755 => 100644 debian/usr/share/man/man1/airtime-test-stream.1.gz mode change 100755 => 100644 debian/usr/share/menu/airtime mode change 100755 => 100644 debian/usr/share/pixmaps/airtime.xpm mode change 100755 => 100644 debian/watch mode change 100755 => 100644 dev_tools/auto_schedule_show.php mode change 100755 => 100644 dev_tools/compare_cc_files_to_fs.py mode change 100755 => 100644 dev_tools/fabric/airtime.vhost mode change 100755 => 100644 dev_tools/fabric/fab_liquidsoap_compile.cfg mode change 100755 => 100644 dev_tools/fabric/fab_liquidsoap_compile.py mode change 100755 => 100644 dev_tools/fabric/fab_release_test.py mode change 100755 => 100644 dev_tools/gen_doctrine_migration.php mode change 100755 => 100644 dev_tools/populate-cc_files.php mode change 100755 => 100644 dev_tools/release/jsmin/jsmin.c mode change 100755 => 100644 dev_tools/scripts/git-attributes-git-merge-po mode change 100755 => 100644 dev_tools/scripts/git-config-git-merge-po mode change 100755 => 100644 dev_tools/scripts/git-merge-po mode change 100755 => 100644 docs/README.txt mode change 100755 => 100644 installer/apache/airtime-vhost mode change 100755 => 100644 installer/lib/requirements-debian-wheezy.apt mode change 100755 => 100644 installer/lib/requirements-ubuntu-saucy.apt mode change 100755 => 100644 installer/php/airtime.ini mode change 100755 => 100644 python_apps/api_clients/__init__.py mode change 100755 => 100644 python_apps/api_clients/api_client.py mode change 100755 => 100644 python_apps/api_clients/tests/__init__.py mode change 100755 => 100644 python_apps/api_clients/tests/test_apcurl.py mode change 100755 => 100644 python_apps/api_clients/tests/test_apirequest.py mode change 100755 => 100644 python_apps/api_clients/tests/test_requestprovider.py mode change 100755 => 100644 python_apps/icecast2/airtime-icecast-status.xsl mode change 100755 => 100644 python_apps/icecast2/install/icecast2-install.py mode change 100755 => 100644 python_apps/media-monitor/install/airtime-media-monitor.conf mode change 100755 => 100644 python_apps/media-monitor/media-monitor/airtimefilemonitor/__init__.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimemediamonitorbootstrap.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimemetadata.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimenotifier.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimeprocessevent.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor/airtimefilemonitor/mediaconfig.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor/airtimefilemonitor/mediamonitorcommon.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor/airtimefilemonitor/replaygain.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor/airtimefilemonitor/workerprocess.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor/logging.cfg mode change 100755 => 100644 python_apps/media-monitor/media-monitor/media_monitor.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor/mm1.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/__init__.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/baby.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/configs/logging.cfg mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/media/__init__.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/media/metadata/__init__.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/media/metadata/definitions.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/media/metadata/process.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/media/monitor/__init__.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/media/monitor/airtime.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/media/monitor/bootstrap.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/media/monitor/config.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/media/monitor/eventcontractor.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/media/monitor/eventdrainer.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/media/monitor/events.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/media/monitor/exceptions.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/media/monitor/handler.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/media/monitor/listeners.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/media/monitor/log.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/media/monitor/manager.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/media/monitor/metadata.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/media/monitor/organizer.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/media/monitor/owners.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/media/monitor/pure.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/media/monitor/request.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/media/monitor/syncdb.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/media/monitor/toucher.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/media/monitor/watchersyncer.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/media/saas/__init__.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/media/saas/airtimeinstance.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/media/saas/launcher.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/media/saas/thread.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/mm2.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/tests/__init__.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/tests/api_client.cfg mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/tests/live_client.cfg mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/tests/prepare_tests.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/tests/test_api_client.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/tests/test_config.cfg mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/tests/test_config.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/tests/test_emf.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/tests/test_eventcontractor.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/tests/test_instance.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/tests/test_listeners.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/tests/test_manager.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/tests/test_metadata.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/tests/test_metadata_def.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/tests/test_notifier.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/tests/test_owners.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/tests/test_pure.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/tests/test_requestsync.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/tests/test_syncdb.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/tests/test_thread.py mode change 100755 => 100644 python_apps/media-monitor/media-monitor2/tests/test_toucher.py mode change 100755 => 100644 python_apps/media-monitor/setup.py mode change 100755 => 100644 python_apps/pypo/install/airtime-liquidsoap.conf mode change 100755 => 100644 python_apps/pypo/install/airtime-playout.conf mode change 100755 => 100644 python_apps/pypo/pypo/AUTHORS mode change 100755 => 100644 python_apps/pypo/pypo/LICENSE mode change 100755 => 100644 python_apps/pypo/pypo/__init__.py mode change 100755 => 100644 python_apps/pypo/pypo/eventtypes.py mode change 100755 => 100644 python_apps/pypo/pypo/liquidsoap_scripts/aac.liq mode change 100755 => 100644 python_apps/pypo/pypo/liquidsoap_scripts/aacplus.liq mode change 100755 => 100644 python_apps/pypo/pypo/liquidsoap_scripts/airtime-liquidsoap.logrotate mode change 100755 => 100644 python_apps/pypo/pypo/liquidsoap_scripts/fdkaac.liq mode change 100755 => 100644 python_apps/pypo/pypo/liquidsoap_scripts/generate_liquidsoap_cfg.py mode change 100755 => 100644 python_apps/pypo/pypo/liquidsoap_scripts/library/externals.liq mode change 100755 => 100644 python_apps/pypo/pypo/liquidsoap_scripts/library/flows.liq mode change 100755 => 100644 python_apps/pypo/pypo/liquidsoap_scripts/library/gstreamer.liq mode change 100755 => 100644 python_apps/pypo/pypo/liquidsoap_scripts/library/http.liq mode change 100755 => 100644 python_apps/pypo/pypo/liquidsoap_scripts/library/http_codes.liq mode change 100755 => 100644 python_apps/pypo/pypo/liquidsoap_scripts/library/lastfm.liq mode change 100755 => 100644 python_apps/pypo/pypo/liquidsoap_scripts/library/pervasives.liq mode change 100755 => 100644 python_apps/pypo/pypo/liquidsoap_scripts/library/shoutcast.liq mode change 100755 => 100644 python_apps/pypo/pypo/liquidsoap_scripts/library/utils.liq mode change 100755 => 100644 python_apps/pypo/pypo/liquidsoap_scripts/library/video_text.liq mode change 100755 => 100644 python_apps/pypo/pypo/liquidsoap_scripts/liquidsoap.cfg mode change 100755 => 100644 python_apps/pypo/pypo/liquidsoap_scripts/liquidsoap_auth.py mode change 100755 => 100644 python_apps/pypo/pypo/liquidsoap_scripts/liquidsoap_prepare_terminate.py mode change 100755 => 100644 python_apps/pypo/pypo/liquidsoap_scripts/ls_lib.liq mode change 100755 => 100644 python_apps/pypo/pypo/liquidsoap_scripts/ls_script.liq mode change 100755 => 100644 python_apps/pypo/pypo/liquidsoap_scripts/mp3.liq mode change 100755 => 100644 python_apps/pypo/pypo/liquidsoap_scripts/ogg.liq mode change 100755 => 100644 python_apps/pypo/pypo/liquidsoap_scripts/opus.liq mode change 100755 => 100644 python_apps/pypo/pypo/listenerstat.py mode change 100755 => 100644 python_apps/pypo/pypo/logging.cfg mode change 100755 => 100644 python_apps/pypo/pypo/media/__init__.py mode change 100755 => 100644 python_apps/pypo/pypo/media/update/__init__.py mode change 100755 => 100644 python_apps/pypo/pypo/media/update/replaygain.py mode change 100755 => 100644 python_apps/pypo/pypo/media/update/replaygainupdater.py mode change 100755 => 100644 python_apps/pypo/pypo/media/update/silananalyzer.py mode change 100755 => 100644 python_apps/pypo/pypo/notify_logging.cfg mode change 100755 => 100644 python_apps/pypo/pypo/pure.py mode change 100755 => 100644 python_apps/pypo/pypo/pypocli.py mode change 100755 => 100644 python_apps/pypo/pypo/pypofetch.py mode change 100755 => 100644 python_apps/pypo/pypo/pypofile.py mode change 100755 => 100644 python_apps/pypo/pypo/pypoliqqueue.py mode change 100755 => 100644 python_apps/pypo/pypo/pypoliquidsoap.py mode change 100755 => 100644 python_apps/pypo/pypo/pypomessagehandler.py mode change 100755 => 100644 python_apps/pypo/pypo/pyponotify.py mode change 100755 => 100644 python_apps/pypo/pypo/pypopush.py mode change 100755 => 100644 python_apps/pypo/pypo/recorder.py mode change 100755 => 100644 python_apps/pypo/pypo/telnetliquidsoap.py mode change 100755 => 100644 python_apps/pypo/pypo/testpypoliqqueue.py mode change 100755 => 100644 python_apps/pypo/pypo/tests/test_modify_cue_in.py mode change 100755 => 100644 python_apps/pypo/pypo/timeout.py mode change 100755 => 100644 python_apps/pypo/setup.py mode change 100755 => 100644 python_apps/python-virtualenv/3rd_party/distribute-0.6.10.tar.gz mode change 100755 => 100644 python_apps/python-virtualenv/3rd_party/pip-1.0.2.tar.gz mode change 100755 => 100644 python_apps/python-virtualenv/airtime_virtual_env.pybundle mode change 100755 => 100644 python_apps/python-virtualenv/patches/mutagen/mutagen_patch1.patch mode change 100755 => 100644 python_apps/python-virtualenv/patches/mutagen/mutagen_patch2.patch mode change 100755 => 100644 python_apps/python-virtualenv/requirements mode change 100755 => 100644 python_apps/std_err_override/LogWriter.py mode change 100755 => 100644 python_apps/std_err_override/__init__.py mode change 100755 => 100644 tests/README mode change 100755 => 100644 tests/selenium/Add Media Skeleton Present.html mode change 100755 => 100644 tests/selenium/Airtime.html mode change 100755 => 100644 tests/selenium/Calendar Add Show Skeleton.html mode change 100755 => 100644 tests/selenium/Calendar Day Week Month Views.html mode change 100755 => 100644 tests/selenium/Calendar Skeleton Present.html mode change 100755 => 100644 tests/selenium/Library Skeleton Present.html mode change 100755 => 100644 tests/selenium/Listen Button Skeleton.html mode change 100755 => 100644 tests/selenium/Login and Logout.html mode change 100755 => 100644 tests/selenium/Login.html mode change 100755 => 100644 tests/selenium/Preferences Skeletons.html mode change 100755 => 100644 tests/selenium/System Menu Contents.html mode change 100755 => 100644 utils/airtime-backup.py mode change 100755 => 100644 utils/airtime-check-system.php mode change 100755 => 100644 utils/airtime-import/airtime-import.py mode change 100755 => 100644 utils/airtime-log.php mode change 100755 => 100644 utils/airtime-silan.py mode change 100755 => 100644 utils/airtime-test-soundcard.py mode change 100755 => 100644 utils/airtime-test-stream.py mode change 100755 => 100644 utils/airtime-update-db-settings.py mode change 100755 => 100644 utils/phone_home_stat.php mode change 100755 => 100644 utils/soundcloud-uploader.php mode change 100755 => 100644 widgets/css/airtime-widgets.css mode change 100755 => 100644 widgets/css/widget-img/schedule-tabs-list-bgr.png mode change 100755 => 100644 widgets/js/jquery-1.6.1.min.js mode change 100755 => 100644 widgets/js/jquery-ui-1.8.10.custom.min.js mode change 100755 => 100644 widgets/js/jquery.showinfo.js mode change 100755 => 100644 widgets/sample_page.html mode change 100755 => 100644 widgets/widget_schedule.html mode change 100755 => 100644 widgets/widgets.html diff --git a/.gitignore b/.gitignore old mode 100755 new mode 100644 diff --git a/.zfproject.xml b/.zfproject.xml old mode 100755 new mode 100644 diff --git a/CREDITS b/CREDITS old mode 100755 new mode 100644 diff --git a/LICENSE b/LICENSE old mode 100755 new mode 100644 diff --git a/LICENSE_3RD_PARTY b/LICENSE_3RD_PARTY old mode 100755 new mode 100644 diff --git a/README b/README old mode 100755 new mode 100644 diff --git a/VERSION b/VERSION old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/Bootstrap.php b/airtime_mvc/application/Bootstrap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/airtime-boot.php b/airtime_mvc/application/airtime-boot.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/common/Database.php b/airtime_mvc/application/common/Database.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/common/DateHelper.php b/airtime_mvc/application/common/DateHelper.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/common/OsPath.php b/airtime_mvc/application/common/OsPath.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/common/Timezone.php b/airtime_mvc/application/common/Timezone.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/configs/ACL.php b/airtime_mvc/application/configs/ACL.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/configs/airtime-conf-production.php b/airtime_mvc/application/configs/airtime-conf-production.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/configs/airtime-conf.php b/airtime_mvc/application/configs/airtime-conf.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/configs/application.ini b/airtime_mvc/application/configs/application.ini old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/configs/classmap-airtime-conf.php b/airtime_mvc/application/configs/classmap-airtime-conf.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/configs/conf.php b/airtime_mvc/application/configs/conf.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/configs/config-check.php b/airtime_mvc/application/configs/config-check.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/configs/constants.php b/airtime_mvc/application/configs/constants.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/configs/db-conf.php b/airtime_mvc/application/configs/db-conf.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/configs/navigation.php b/airtime_mvc/application/configs/navigation.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/controllers/ApiController.php b/airtime_mvc/application/controllers/ApiController.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/controllers/AudiopreviewController.php b/airtime_mvc/application/controllers/AudiopreviewController.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/controllers/DashboardController.php b/airtime_mvc/application/controllers/DashboardController.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/controllers/ErrorController.php b/airtime_mvc/application/controllers/ErrorController.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/controllers/IndexController.php b/airtime_mvc/application/controllers/IndexController.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/controllers/LibraryController.php b/airtime_mvc/application/controllers/LibraryController.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/controllers/ListenerstatController.php b/airtime_mvc/application/controllers/ListenerstatController.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/controllers/LocaleController.php b/airtime_mvc/application/controllers/LocaleController.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/controllers/LoginController.php b/airtime_mvc/application/controllers/LoginController.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/controllers/PlaylistController.php b/airtime_mvc/application/controllers/PlaylistController.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/controllers/PlayouthistoryController.php b/airtime_mvc/application/controllers/PlayouthistoryController.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/controllers/PlayouthistorytemplateController.php b/airtime_mvc/application/controllers/PlayouthistorytemplateController.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/controllers/PluploadController.php b/airtime_mvc/application/controllers/PluploadController.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/controllers/PreferenceController.php b/airtime_mvc/application/controllers/PreferenceController.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/controllers/ScheduleController.php b/airtime_mvc/application/controllers/ScheduleController.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/controllers/ShowbuilderController.php b/airtime_mvc/application/controllers/ShowbuilderController.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/controllers/SystemstatusController.php b/airtime_mvc/application/controllers/SystemstatusController.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/controllers/UserController.php b/airtime_mvc/application/controllers/UserController.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/controllers/UsersettingsController.php b/airtime_mvc/application/controllers/UsersettingsController.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/controllers/WebstreamController.php b/airtime_mvc/application/controllers/WebstreamController.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/controllers/plugins/Acl_plugin.php b/airtime_mvc/application/controllers/plugins/Acl_plugin.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/controllers/plugins/RabbitMqPlugin.php b/airtime_mvc/application/controllers/plugins/RabbitMqPlugin.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/AddShowAbsoluteRebroadcastDates.php b/airtime_mvc/application/forms/AddShowAbsoluteRebroadcastDates.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/AddShowLiveStream.php b/airtime_mvc/application/forms/AddShowLiveStream.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/AddShowRR.php b/airtime_mvc/application/forms/AddShowRR.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/AddShowRebroadcastDates.php b/airtime_mvc/application/forms/AddShowRebroadcastDates.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/AddShowRepeats.php b/airtime_mvc/application/forms/AddShowRepeats.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/AddShowStyle.php b/airtime_mvc/application/forms/AddShowStyle.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/AddShowWhat.php b/airtime_mvc/application/forms/AddShowWhat.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/AddShowWhen.php b/airtime_mvc/application/forms/AddShowWhen.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/AddShowWho.php b/airtime_mvc/application/forms/AddShowWho.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/AddUser.php b/airtime_mvc/application/forms/AddUser.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/DateRange.php b/airtime_mvc/application/forms/DateRange.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/EditAudioMD.php b/airtime_mvc/application/forms/EditAudioMD.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/EditHistory.php b/airtime_mvc/application/forms/EditHistory.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/EditHistoryFile.php b/airtime_mvc/application/forms/EditHistoryFile.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/EditHistoryItem.php b/airtime_mvc/application/forms/EditHistoryItem.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/EditUser.php b/airtime_mvc/application/forms/EditUser.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/EmailServerPreferences.php b/airtime_mvc/application/forms/EmailServerPreferences.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/GeneralPreferences.php b/airtime_mvc/application/forms/GeneralPreferences.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/LiveStreamingPreferences.php b/airtime_mvc/application/forms/LiveStreamingPreferences.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/Login.php b/airtime_mvc/application/forms/Login.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/PasswordChange.php b/airtime_mvc/application/forms/PasswordChange.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/PasswordRestore.php b/airtime_mvc/application/forms/PasswordRestore.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/Preferences.php b/airtime_mvc/application/forms/Preferences.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/RegisterAirtime.php b/airtime_mvc/application/forms/RegisterAirtime.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/ScheduleShow.php b/airtime_mvc/application/forms/ScheduleShow.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/ShowBuilder.php b/airtime_mvc/application/forms/ShowBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/SmartBlockCriteria.php b/airtime_mvc/application/forms/SmartBlockCriteria.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/SoundcloudPreferences.php b/airtime_mvc/application/forms/SoundcloudPreferences.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/StreamSetting.php b/airtime_mvc/application/forms/StreamSetting.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/StreamSettingSubForm.php b/airtime_mvc/application/forms/StreamSettingSubForm.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/SupportSettings.php b/airtime_mvc/application/forms/SupportSettings.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/WatchedDirPreferences.php b/airtime_mvc/application/forms/WatchedDirPreferences.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/customfilters/ImageSize.php b/airtime_mvc/application/forms/customfilters/ImageSize.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/customvalidators/ConditionalNotEmpty.php b/airtime_mvc/application/forms/customvalidators/ConditionalNotEmpty.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/customvalidators/PasswordNotEmpty.php b/airtime_mvc/application/forms/customvalidators/PasswordNotEmpty.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/forms/helpers/ValidationTypes.php b/airtime_mvc/application/forms/helpers/ValidationTypes.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/layouts/scripts/audio-player.phtml b/airtime_mvc/application/layouts/scripts/audio-player.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/layouts/scripts/bare.phtml b/airtime_mvc/application/layouts/scripts/bare.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/layouts/scripts/layout.phtml b/airtime_mvc/application/layouts/scripts/layout.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/layouts/scripts/livestream.phtml b/airtime_mvc/application/layouts/scripts/livestream.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/layouts/scripts/login.phtml b/airtime_mvc/application/layouts/scripts/login.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/logging/AirtimeLog.php b/airtime_mvc/application/logging/AirtimeLog.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/logging/Logging.php b/airtime_mvc/application/logging/Logging.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/Auth.php b/airtime_mvc/application/models/Auth.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/Block.php b/airtime_mvc/application/models/Block.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/Cache.php b/airtime_mvc/application/models/Cache.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/Dashboard.php b/airtime_mvc/application/models/Dashboard.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/Datatables.php b/airtime_mvc/application/models/Datatables.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/Email.php b/airtime_mvc/application/models/Email.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/Library.php b/airtime_mvc/application/models/Library.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/LibraryEditable.php b/airtime_mvc/application/models/LibraryEditable.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/ListenerStat.php b/airtime_mvc/application/models/ListenerStat.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/LiveLog.php b/airtime_mvc/application/models/LiveLog.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/Locale.php b/airtime_mvc/application/models/Locale.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/LoginAttempts.php b/airtime_mvc/application/models/LoginAttempts.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/MusicDir.php b/airtime_mvc/application/models/MusicDir.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/Playlist.php b/airtime_mvc/application/models/Playlist.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/Preference.php b/airtime_mvc/application/models/Preference.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/RabbitMq.php b/airtime_mvc/application/models/RabbitMq.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/Schedule.php b/airtime_mvc/application/models/Schedule.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/Scheduler.php b/airtime_mvc/application/models/Scheduler.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/ServiceRegister.php b/airtime_mvc/application/models/ServiceRegister.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/Show.php b/airtime_mvc/application/models/Show.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/ShowBuilder.php b/airtime_mvc/application/models/ShowBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/ShowInstance.php b/airtime_mvc/application/models/ShowInstance.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/Soundcloud.php b/airtime_mvc/application/models/Soundcloud.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/StoredFile.php b/airtime_mvc/application/models/StoredFile.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/StreamSetting.php b/airtime_mvc/application/models/StreamSetting.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/Subjects.php b/airtime_mvc/application/models/Subjects.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/Systemstatus.php b/airtime_mvc/application/models/Systemstatus.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/User.php b/airtime_mvc/application/models/User.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/Webstream.php b/airtime_mvc/application/models/Webstream.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcAccess.php b/airtime_mvc/application/models/airtime/CcAccess.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcAccessPeer.php b/airtime_mvc/application/models/airtime/CcAccessPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcAccessQuery.php b/airtime_mvc/application/models/airtime/CcAccessQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcBackup.php b/airtime_mvc/application/models/airtime/CcBackup.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcBackupPeer.php b/airtime_mvc/application/models/airtime/CcBackupPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcBackupQuery.php b/airtime_mvc/application/models/airtime/CcBackupQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcBlock.php b/airtime_mvc/application/models/airtime/CcBlock.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcBlockPeer.php b/airtime_mvc/application/models/airtime/CcBlockPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcBlockQuery.php b/airtime_mvc/application/models/airtime/CcBlockQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcBlockcontents.php b/airtime_mvc/application/models/airtime/CcBlockcontents.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcBlockcontentsPeer.php b/airtime_mvc/application/models/airtime/CcBlockcontentsPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcBlockcontentsQuery.php b/airtime_mvc/application/models/airtime/CcBlockcontentsQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcBlockcriteria.php b/airtime_mvc/application/models/airtime/CcBlockcriteria.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcBlockcriteriaPeer.php b/airtime_mvc/application/models/airtime/CcBlockcriteriaPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcBlockcriteriaQuery.php b/airtime_mvc/application/models/airtime/CcBlockcriteriaQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcCountry.php b/airtime_mvc/application/models/airtime/CcCountry.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcCountryPeer.php b/airtime_mvc/application/models/airtime/CcCountryPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcCountryQuery.php b/airtime_mvc/application/models/airtime/CcCountryQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcFileTag.php b/airtime_mvc/application/models/airtime/CcFileTag.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcFileTagPeer.php b/airtime_mvc/application/models/airtime/CcFileTagPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcFileTagQuery.php b/airtime_mvc/application/models/airtime/CcFileTagQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcFiles.php b/airtime_mvc/application/models/airtime/CcFiles.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcFilesPeer.php b/airtime_mvc/application/models/airtime/CcFilesPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcFilesQuery.php b/airtime_mvc/application/models/airtime/CcFilesQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcListenerCount.php b/airtime_mvc/application/models/airtime/CcListenerCount.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcListenerCountPeer.php b/airtime_mvc/application/models/airtime/CcListenerCountPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcListenerCountQuery.php b/airtime_mvc/application/models/airtime/CcListenerCountQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcLiveLog.php b/airtime_mvc/application/models/airtime/CcLiveLog.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcLiveLogPeer.php b/airtime_mvc/application/models/airtime/CcLiveLogPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcLiveLogQuery.php b/airtime_mvc/application/models/airtime/CcLiveLogQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcLocale.php b/airtime_mvc/application/models/airtime/CcLocale.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcLocalePeer.php b/airtime_mvc/application/models/airtime/CcLocalePeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcLocaleQuery.php b/airtime_mvc/application/models/airtime/CcLocaleQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcLoginAttempts.php b/airtime_mvc/application/models/airtime/CcLoginAttempts.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcLoginAttemptsPeer.php b/airtime_mvc/application/models/airtime/CcLoginAttemptsPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcLoginAttemptsQuery.php b/airtime_mvc/application/models/airtime/CcLoginAttemptsQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcMountName.php b/airtime_mvc/application/models/airtime/CcMountName.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcMountNamePeer.php b/airtime_mvc/application/models/airtime/CcMountNamePeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcMountNameQuery.php b/airtime_mvc/application/models/airtime/CcMountNameQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcMusicDirs.php b/airtime_mvc/application/models/airtime/CcMusicDirs.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcMusicDirsPeer.php b/airtime_mvc/application/models/airtime/CcMusicDirsPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcMusicDirsQuery.php b/airtime_mvc/application/models/airtime/CcMusicDirsQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcPerms.php b/airtime_mvc/application/models/airtime/CcPerms.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcPermsPeer.php b/airtime_mvc/application/models/airtime/CcPermsPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcPermsQuery.php b/airtime_mvc/application/models/airtime/CcPermsQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcPlaylist.php b/airtime_mvc/application/models/airtime/CcPlaylist.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcPlaylistPeer.php b/airtime_mvc/application/models/airtime/CcPlaylistPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcPlaylistQuery.php b/airtime_mvc/application/models/airtime/CcPlaylistQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcPlaylistcontents.php b/airtime_mvc/application/models/airtime/CcPlaylistcontents.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcPlaylistcontentsPeer.php b/airtime_mvc/application/models/airtime/CcPlaylistcontentsPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcPlaylistcontentsQuery.php b/airtime_mvc/application/models/airtime/CcPlaylistcontentsQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcPlaylistcriteria.php b/airtime_mvc/application/models/airtime/CcPlaylistcriteria.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcPlaylistcriteriaPeer.php b/airtime_mvc/application/models/airtime/CcPlaylistcriteriaPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcPlaylistcriteriaQuery.php b/airtime_mvc/application/models/airtime/CcPlaylistcriteriaQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcPlayoutHistory.php b/airtime_mvc/application/models/airtime/CcPlayoutHistory.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcPlayoutHistoryMetaData.php b/airtime_mvc/application/models/airtime/CcPlayoutHistoryMetaData.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcPlayoutHistoryMetaDataPeer.php b/airtime_mvc/application/models/airtime/CcPlayoutHistoryMetaDataPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcPlayoutHistoryMetaDataQuery.php b/airtime_mvc/application/models/airtime/CcPlayoutHistoryMetaDataQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcPlayoutHistoryPeer.php b/airtime_mvc/application/models/airtime/CcPlayoutHistoryPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcPlayoutHistoryQuery.php b/airtime_mvc/application/models/airtime/CcPlayoutHistoryQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplate.php b/airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplate.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplateField.php b/airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplateField.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplateFieldPeer.php b/airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplateFieldPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplateFieldQuery.php b/airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplateFieldQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplatePeer.php b/airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplatePeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplateQuery.php b/airtime_mvc/application/models/airtime/CcPlayoutHistoryTemplateQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcPref.php b/airtime_mvc/application/models/airtime/CcPref.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcPrefPeer.php b/airtime_mvc/application/models/airtime/CcPrefPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcPrefQuery.php b/airtime_mvc/application/models/airtime/CcPrefQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcSchedule.php b/airtime_mvc/application/models/airtime/CcSchedule.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcSchedulePeer.php b/airtime_mvc/application/models/airtime/CcSchedulePeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcScheduleQuery.php b/airtime_mvc/application/models/airtime/CcScheduleQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcServiceRegister.php b/airtime_mvc/application/models/airtime/CcServiceRegister.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcServiceRegisterPeer.php b/airtime_mvc/application/models/airtime/CcServiceRegisterPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcServiceRegisterQuery.php b/airtime_mvc/application/models/airtime/CcServiceRegisterQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcSess.php b/airtime_mvc/application/models/airtime/CcSess.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcSessPeer.php b/airtime_mvc/application/models/airtime/CcSessPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcSessQuery.php b/airtime_mvc/application/models/airtime/CcSessQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcShow.php b/airtime_mvc/application/models/airtime/CcShow.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcShowDays.php b/airtime_mvc/application/models/airtime/CcShowDays.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcShowDaysPeer.php b/airtime_mvc/application/models/airtime/CcShowDaysPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcShowDaysQuery.php b/airtime_mvc/application/models/airtime/CcShowDaysQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcShowHosts.php b/airtime_mvc/application/models/airtime/CcShowHosts.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcShowHostsPeer.php b/airtime_mvc/application/models/airtime/CcShowHostsPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcShowHostsQuery.php b/airtime_mvc/application/models/airtime/CcShowHostsQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcShowInstances.php b/airtime_mvc/application/models/airtime/CcShowInstances.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcShowInstancesPeer.php b/airtime_mvc/application/models/airtime/CcShowInstancesPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcShowInstancesQuery.php b/airtime_mvc/application/models/airtime/CcShowInstancesQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcShowPeer.php b/airtime_mvc/application/models/airtime/CcShowPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcShowQuery.php b/airtime_mvc/application/models/airtime/CcShowQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcShowRebroadcast.php b/airtime_mvc/application/models/airtime/CcShowRebroadcast.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcShowRebroadcastPeer.php b/airtime_mvc/application/models/airtime/CcShowRebroadcastPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcShowRebroadcastQuery.php b/airtime_mvc/application/models/airtime/CcShowRebroadcastQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcShowSchedule.php b/airtime_mvc/application/models/airtime/CcShowSchedule.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcShowSchedulePeer.php b/airtime_mvc/application/models/airtime/CcShowSchedulePeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcShowScheduleQuery.php b/airtime_mvc/application/models/airtime/CcShowScheduleQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcSmemb.php b/airtime_mvc/application/models/airtime/CcSmemb.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcSmembPeer.php b/airtime_mvc/application/models/airtime/CcSmembPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcSmembQuery.php b/airtime_mvc/application/models/airtime/CcSmembQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcStreamSetting.php b/airtime_mvc/application/models/airtime/CcStreamSetting.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcStreamSettingPeer.php b/airtime_mvc/application/models/airtime/CcStreamSettingPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcStreamSettingQuery.php b/airtime_mvc/application/models/airtime/CcStreamSettingQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcSubjs.php b/airtime_mvc/application/models/airtime/CcSubjs.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcSubjsPeer.php b/airtime_mvc/application/models/airtime/CcSubjsPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcSubjsQuery.php b/airtime_mvc/application/models/airtime/CcSubjsQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcSubjsToken.php b/airtime_mvc/application/models/airtime/CcSubjsToken.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcSubjsTokenPeer.php b/airtime_mvc/application/models/airtime/CcSubjsTokenPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcSubjsTokenQuery.php b/airtime_mvc/application/models/airtime/CcSubjsTokenQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcTag.php b/airtime_mvc/application/models/airtime/CcTag.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcTagPeer.php b/airtime_mvc/application/models/airtime/CcTagPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcTagQuery.php b/airtime_mvc/application/models/airtime/CcTagQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcTimestamp.php b/airtime_mvc/application/models/airtime/CcTimestamp.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcTimestampPeer.php b/airtime_mvc/application/models/airtime/CcTimestampPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcTimestampQuery.php b/airtime_mvc/application/models/airtime/CcTimestampQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcTrans.php b/airtime_mvc/application/models/airtime/CcTrans.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcTransPeer.php b/airtime_mvc/application/models/airtime/CcTransPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcTransQuery.php b/airtime_mvc/application/models/airtime/CcTransQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcWebstream.php b/airtime_mvc/application/models/airtime/CcWebstream.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcWebstreamMetadata.php b/airtime_mvc/application/models/airtime/CcWebstreamMetadata.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcWebstreamMetadataPeer.php b/airtime_mvc/application/models/airtime/CcWebstreamMetadataPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcWebstreamMetadataQuery.php b/airtime_mvc/application/models/airtime/CcWebstreamMetadataQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcWebstreamPeer.php b/airtime_mvc/application/models/airtime/CcWebstreamPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/CcWebstreamQuery.php b/airtime_mvc/application/models/airtime/CcWebstreamQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcAccessTableMap.php b/airtime_mvc/application/models/airtime/map/CcAccessTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcBackupTableMap.php b/airtime_mvc/application/models/airtime/map/CcBackupTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcBlockTableMap.php b/airtime_mvc/application/models/airtime/map/CcBlockTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcBlockcontentsTableMap.php b/airtime_mvc/application/models/airtime/map/CcBlockcontentsTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcBlockcriteriaTableMap.php b/airtime_mvc/application/models/airtime/map/CcBlockcriteriaTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcCountryTableMap.php b/airtime_mvc/application/models/airtime/map/CcCountryTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcFileTagTableMap.php b/airtime_mvc/application/models/airtime/map/CcFileTagTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcFilesTableMap.php b/airtime_mvc/application/models/airtime/map/CcFilesTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcListenerCountTableMap.php b/airtime_mvc/application/models/airtime/map/CcListenerCountTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcLiveLogTableMap.php b/airtime_mvc/application/models/airtime/map/CcLiveLogTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcLocaleTableMap.php b/airtime_mvc/application/models/airtime/map/CcLocaleTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcLoginAttemptsTableMap.php b/airtime_mvc/application/models/airtime/map/CcLoginAttemptsTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcMountNameTableMap.php b/airtime_mvc/application/models/airtime/map/CcMountNameTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcMusicDirsTableMap.php b/airtime_mvc/application/models/airtime/map/CcMusicDirsTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcPermsTableMap.php b/airtime_mvc/application/models/airtime/map/CcPermsTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcPlaylistTableMap.php b/airtime_mvc/application/models/airtime/map/CcPlaylistTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcPlaylistcontentsTableMap.php b/airtime_mvc/application/models/airtime/map/CcPlaylistcontentsTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcPlaylistcriteriaTableMap.php b/airtime_mvc/application/models/airtime/map/CcPlaylistcriteriaTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcPlayoutHistoryMetaDataTableMap.php b/airtime_mvc/application/models/airtime/map/CcPlayoutHistoryMetaDataTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcPlayoutHistoryTableMap.php b/airtime_mvc/application/models/airtime/map/CcPlayoutHistoryTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcPlayoutHistoryTemplateFieldTableMap.php b/airtime_mvc/application/models/airtime/map/CcPlayoutHistoryTemplateFieldTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcPlayoutHistoryTemplateTableMap.php b/airtime_mvc/application/models/airtime/map/CcPlayoutHistoryTemplateTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcPlayoutHistoryTemplateTagTableMap.php b/airtime_mvc/application/models/airtime/map/CcPlayoutHistoryTemplateTagTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcPrefTableMap.php b/airtime_mvc/application/models/airtime/map/CcPrefTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcScheduleTableMap.php b/airtime_mvc/application/models/airtime/map/CcScheduleTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcSectionTableMap.php b/airtime_mvc/application/models/airtime/map/CcSectionTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcSectioncontentsTableMap.php b/airtime_mvc/application/models/airtime/map/CcSectioncontentsTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcSectioncriteriaTableMap.php b/airtime_mvc/application/models/airtime/map/CcSectioncriteriaTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcServiceRegisterTableMap.php b/airtime_mvc/application/models/airtime/map/CcServiceRegisterTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcSessTableMap.php b/airtime_mvc/application/models/airtime/map/CcSessTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcShowDaysTableMap.php b/airtime_mvc/application/models/airtime/map/CcShowDaysTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcShowHostsTableMap.php b/airtime_mvc/application/models/airtime/map/CcShowHostsTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcShowInstancesTableMap.php b/airtime_mvc/application/models/airtime/map/CcShowInstancesTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcShowRebroadcastTableMap.php b/airtime_mvc/application/models/airtime/map/CcShowRebroadcastTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcShowScheduleTableMap.php b/airtime_mvc/application/models/airtime/map/CcShowScheduleTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcShowStampTableMap.php b/airtime_mvc/application/models/airtime/map/CcShowStampTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcShowTableMap.php b/airtime_mvc/application/models/airtime/map/CcShowTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcSmembTableMap.php b/airtime_mvc/application/models/airtime/map/CcSmembTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcStampContentsTableMap.php b/airtime_mvc/application/models/airtime/map/CcStampContentsTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcStampTableMap.php b/airtime_mvc/application/models/airtime/map/CcStampTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcStreamSettingTableMap.php b/airtime_mvc/application/models/airtime/map/CcStreamSettingTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcSubjsTableMap.php b/airtime_mvc/application/models/airtime/map/CcSubjsTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcSubjsTokenTableMap.php b/airtime_mvc/application/models/airtime/map/CcSubjsTokenTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcTagTableMap.php b/airtime_mvc/application/models/airtime/map/CcTagTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcTimestampTableMap.php b/airtime_mvc/application/models/airtime/map/CcTimestampTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcTransTableMap.php b/airtime_mvc/application/models/airtime/map/CcTransTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcWebstreamMetadataTableMap.php b/airtime_mvc/application/models/airtime/map/CcWebstreamMetadataTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/map/CcWebstreamTableMap.php b/airtime_mvc/application/models/airtime/map/CcWebstreamTableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcAccess.php b/airtime_mvc/application/models/airtime/om/BaseCcAccess.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcAccessPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcAccessPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcAccessQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcAccessQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcBackup.php b/airtime_mvc/application/models/airtime/om/BaseCcBackup.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcBackupPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcBackupPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcBackupQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcBackupQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcBlock.php b/airtime_mvc/application/models/airtime/om/BaseCcBlock.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcBlockPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcBlockPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcBlockQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcBlockQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcBlockcontents.php b/airtime_mvc/application/models/airtime/om/BaseCcBlockcontents.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcBlockcontentsPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcBlockcontentsPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcBlockcontentsQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcBlockcontentsQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcBlockcriteria.php b/airtime_mvc/application/models/airtime/om/BaseCcBlockcriteria.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcBlockcriteriaPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcBlockcriteriaPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcBlockcriteriaQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcBlockcriteriaQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcCountry.php b/airtime_mvc/application/models/airtime/om/BaseCcCountry.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcCountryPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcCountryPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcCountryQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcCountryQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcFileTag.php b/airtime_mvc/application/models/airtime/om/BaseCcFileTag.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcFileTagPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcFileTagPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcFileTagQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcFileTagQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcFiles.php b/airtime_mvc/application/models/airtime/om/BaseCcFiles.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcFilesPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcFilesPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcFilesQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcFilesQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcListenerCount.php b/airtime_mvc/application/models/airtime/om/BaseCcListenerCount.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcListenerCountPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcListenerCountPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcListenerCountQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcListenerCountQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcLiveLog.php b/airtime_mvc/application/models/airtime/om/BaseCcLiveLog.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcLiveLogPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcLiveLogPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcLiveLogQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcLiveLogQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcLocale.php b/airtime_mvc/application/models/airtime/om/BaseCcLocale.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcLocalePeer.php b/airtime_mvc/application/models/airtime/om/BaseCcLocalePeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcLocaleQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcLocaleQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcLoginAttempts.php b/airtime_mvc/application/models/airtime/om/BaseCcLoginAttempts.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcLoginAttemptsPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcLoginAttemptsPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcLoginAttemptsQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcLoginAttemptsQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcMountName.php b/airtime_mvc/application/models/airtime/om/BaseCcMountName.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcMountNamePeer.php b/airtime_mvc/application/models/airtime/om/BaseCcMountNamePeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcMountNameQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcMountNameQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcMusicDirs.php b/airtime_mvc/application/models/airtime/om/BaseCcMusicDirs.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcMusicDirsPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcMusicDirsPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcMusicDirsQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcMusicDirsQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPerms.php b/airtime_mvc/application/models/airtime/om/BaseCcPerms.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPermsPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcPermsPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPermsQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcPermsQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlaylist.php b/airtime_mvc/application/models/airtime/om/BaseCcPlaylist.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlaylistPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcPlaylistPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlaylistQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcPlaylistQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlaylistcontents.php b/airtime_mvc/application/models/airtime/om/BaseCcPlaylistcontents.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlaylistcontentsPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcPlaylistcontentsPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlaylistcontentsQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcPlaylistcontentsQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlaylistcriteria.php b/airtime_mvc/application/models/airtime/om/BaseCcPlaylistcriteria.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlaylistcriteriaPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcPlaylistcriteriaPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlaylistcriteriaQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcPlaylistcriteriaQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistory.php b/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistory.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryMetaData.php b/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryMetaData.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryMetaDataPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryMetaDataPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryMetaDataQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryMetaDataQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplate.php b/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplate.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateField.php b/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateField.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateFieldPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateFieldPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateFieldQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateFieldQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplatePeer.php b/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplatePeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateTag.php b/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateTag.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateTagPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateTagPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateTagQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcPlayoutHistoryTemplateTagQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPref.php b/airtime_mvc/application/models/airtime/om/BaseCcPref.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPrefPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcPrefPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcPrefQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcPrefQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcSchedule.php b/airtime_mvc/application/models/airtime/om/BaseCcSchedule.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcSchedulePeer.php b/airtime_mvc/application/models/airtime/om/BaseCcSchedulePeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcScheduleQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcScheduleQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcServiceRegister.php b/airtime_mvc/application/models/airtime/om/BaseCcServiceRegister.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcServiceRegisterPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcServiceRegisterPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcServiceRegisterQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcServiceRegisterQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcSess.php b/airtime_mvc/application/models/airtime/om/BaseCcSess.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcSessPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcSessPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcSessQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcSessQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShow.php b/airtime_mvc/application/models/airtime/om/BaseCcShow.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowDays.php b/airtime_mvc/application/models/airtime/om/BaseCcShowDays.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowDaysPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcShowDaysPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowDaysQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcShowDaysQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowHosts.php b/airtime_mvc/application/models/airtime/om/BaseCcShowHosts.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowHostsPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcShowHostsPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowHostsQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcShowHostsQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowInstances.php b/airtime_mvc/application/models/airtime/om/BaseCcShowInstances.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowInstancesPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcShowInstancesPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowInstancesQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcShowInstancesQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcShowPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcShowQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowRebroadcast.php b/airtime_mvc/application/models/airtime/om/BaseCcShowRebroadcast.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowRebroadcastPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcShowRebroadcastPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowRebroadcastQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcShowRebroadcastQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowSchedule.php b/airtime_mvc/application/models/airtime/om/BaseCcShowSchedule.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowSchedulePeer.php b/airtime_mvc/application/models/airtime/om/BaseCcShowSchedulePeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcShowScheduleQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcShowScheduleQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcSmemb.php b/airtime_mvc/application/models/airtime/om/BaseCcSmemb.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcSmembPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcSmembPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcSmembQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcSmembQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcStreamSetting.php b/airtime_mvc/application/models/airtime/om/BaseCcStreamSetting.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcStreamSettingPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcStreamSettingPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcStreamSettingQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcStreamSettingQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcSubjs.php b/airtime_mvc/application/models/airtime/om/BaseCcSubjs.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcSubjsPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcSubjsPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcSubjsQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcSubjsQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcSubjsToken.php b/airtime_mvc/application/models/airtime/om/BaseCcSubjsToken.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcSubjsTokenPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcSubjsTokenPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcSubjsTokenQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcSubjsTokenQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcTag.php b/airtime_mvc/application/models/airtime/om/BaseCcTag.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcTagPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcTagPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcTagQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcTagQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcTimestamp.php b/airtime_mvc/application/models/airtime/om/BaseCcTimestamp.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcTimestampPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcTimestampPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcTimestampQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcTimestampQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcTrans.php b/airtime_mvc/application/models/airtime/om/BaseCcTrans.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcTransPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcTransPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcTransQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcTransQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcWebstream.php b/airtime_mvc/application/models/airtime/om/BaseCcWebstream.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcWebstreamMetadata.php b/airtime_mvc/application/models/airtime/om/BaseCcWebstreamMetadata.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcWebstreamMetadataPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcWebstreamMetadataPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcWebstreamMetadataQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcWebstreamMetadataQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcWebstreamPeer.php b/airtime_mvc/application/models/airtime/om/BaseCcWebstreamPeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/airtime/om/BaseCcWebstreamQuery.php b/airtime_mvc/application/models/airtime/om/BaseCcWebstreamQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/formatters/BitrateFormatter.php b/airtime_mvc/application/models/formatters/BitrateFormatter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/formatters/LengthFormatter.php b/airtime_mvc/application/models/formatters/LengthFormatter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/formatters/SamplerateFormatter.php b/airtime_mvc/application/models/formatters/SamplerateFormatter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/formatters/TimeFilledFormatter.php b/airtime_mvc/application/models/formatters/TimeFilledFormatter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/tests/0000000000010001 b/airtime_mvc/application/models/tests/0000000000010001 old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/tests/0000000000010002 b/airtime_mvc/application/models/tests/0000000000010002 old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/tests/AllTests.php b/airtime_mvc/application/models/tests/AllTests.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/tests/SchedulerExportTests.php b/airtime_mvc/application/models/tests/SchedulerExportTests.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/tests/SchedulerTests.php b/airtime_mvc/application/models/tests/SchedulerTests.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/tests/StoredFileTests.php b/airtime_mvc/application/models/tests/StoredFileTests.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/tests/ex1.mp3 b/airtime_mvc/application/models/tests/ex1.mp3 old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/tests/ex2.ogg b/airtime_mvc/application/models/tests/ex2.ogg old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/tests/ex2.wav b/airtime_mvc/application/models/tests/ex2.wav old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/tests/ex3.wav b/airtime_mvc/application/models/tests/ex3.wav old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/tests/exportedPl_lspl.tar b/airtime_mvc/application/models/tests/exportedPl_lspl.tar old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/tests/index.php b/airtime_mvc/application/models/tests/index.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/tests/pdoTest.php b/airtime_mvc/application/models/tests/pdoTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/tests/plistEmbedded.xml b/airtime_mvc/application/models/tests/plistEmbedded.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/tests/populator.php b/airtime_mvc/application/models/tests/populator.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/tests/question.wav b/airtime_mvc/application/models/tests/question.wav old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/tests/silence.wav b/airtime_mvc/application/models/tests/silence.wav old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/tests/test10001.mp3 b/airtime_mvc/application/models/tests/test10001.mp3 old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/tests/test10002.mp3 b/airtime_mvc/application/models/tests/test10002.mp3 old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/tests/test10003.mp3 b/airtime_mvc/application/models/tests/test10003.mp3 old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/models/tests/wstream1.xml b/airtime_mvc/application/models/tests/wstream1.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/services/CalendarService.php b/airtime_mvc/application/services/CalendarService.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/services/HistoryService.php b/airtime_mvc/application/services/HistoryService.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/services/SchedulerService.php b/airtime_mvc/application/services/SchedulerService.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/services/ShowFormService.php b/airtime_mvc/application/services/ShowFormService.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/services/ShowService.php b/airtime_mvc/application/services/ShowService.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/services/UserService.php b/airtime_mvc/application/services/UserService.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/validate/NotDemoValidate.php b/airtime_mvc/application/validate/NotDemoValidate.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/validate/UserNameValidate.php b/airtime_mvc/application/validate/UserNameValidate.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/helpers/IsTrial.php b/airtime_mvc/application/views/helpers/IsTrial.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/helpers/LoggedInAs.php b/airtime_mvc/application/views/helpers/LoggedInAs.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/helpers/SourceConnectionStatus.php b/airtime_mvc/application/views/helpers/SourceConnectionStatus.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/helpers/SourceSwitchStatus.php b/airtime_mvc/application/views/helpers/SourceSwitchStatus.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/helpers/TrialRemaining.php b/airtime_mvc/application/views/helpers/TrialRemaining.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/helpers/VersionNotify.php b/airtime_mvc/application/views/helpers/VersionNotify.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/airtime-recorder/index.phtml b/airtime_mvc/application/views/scripts/airtime-recorder/index.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/api/list-all-files.phtml b/airtime_mvc/application/views/scripts/api/list-all-files.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/api/status.phtml b/airtime_mvc/application/views/scripts/api/status.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml b/airtime_mvc/application/views/scripts/audiopreview/audio-preview.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/dashboard/about.phtml b/airtime_mvc/application/views/scripts/dashboard/about.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/dashboard/help.phtml b/airtime_mvc/application/views/scripts/dashboard/help.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/dashboard/index.phtml b/airtime_mvc/application/views/scripts/dashboard/index.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/dashboard/stream-player.phtml b/airtime_mvc/application/views/scripts/dashboard/stream-player.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/error/denied.phtml b/airtime_mvc/application/views/scripts/error/denied.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/error/error.phtml b/airtime_mvc/application/views/scripts/error/error.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/form/add-show-block.phtml b/airtime_mvc/application/views/scripts/form/add-show-block.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/form/add-show-live-stream.phtml b/airtime_mvc/application/views/scripts/form/add-show-live-stream.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/form/add-show-rebroadcast-absolute.phtml b/airtime_mvc/application/views/scripts/form/add-show-rebroadcast-absolute.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/form/add-show-rebroadcast.phtml b/airtime_mvc/application/views/scripts/form/add-show-rebroadcast.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/form/add-show-style.phtml b/airtime_mvc/application/views/scripts/form/add-show-style.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/form/add-show-what.phtml b/airtime_mvc/application/views/scripts/form/add-show-what.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/form/add-show-when.phtml b/airtime_mvc/application/views/scripts/form/add-show-when.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/form/daterange.phtml b/airtime_mvc/application/views/scripts/form/daterange.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/form/edit-history-file.phtml b/airtime_mvc/application/views/scripts/form/edit-history-file.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/form/edit-history-item.phtml b/airtime_mvc/application/views/scripts/form/edit-history-item.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/form/edit-user.phtml b/airtime_mvc/application/views/scripts/form/edit-user.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/form/login.phtml b/airtime_mvc/application/views/scripts/form/login.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/form/password-change.phtml b/airtime_mvc/application/views/scripts/form/password-change.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/form/password-restore.phtml b/airtime_mvc/application/views/scripts/form/password-restore.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/form/preferences.phtml b/airtime_mvc/application/views/scripts/form/preferences.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/form/preferences_email_server.phtml b/airtime_mvc/application/views/scripts/form/preferences_email_server.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/form/preferences_general.phtml b/airtime_mvc/application/views/scripts/form/preferences_general.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/form/preferences_livestream.phtml b/airtime_mvc/application/views/scripts/form/preferences_livestream.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/form/preferences_soundcloud.phtml b/airtime_mvc/application/views/scripts/form/preferences_soundcloud.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml b/airtime_mvc/application/views/scripts/form/preferences_watched_dirs.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/form/register-dialog.phtml b/airtime_mvc/application/views/scripts/form/register-dialog.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/form/showbuilder.phtml b/airtime_mvc/application/views/scripts/form/showbuilder.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/form/smart-block-criteria.phtml b/airtime_mvc/application/views/scripts/form/smart-block-criteria.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/form/stream-setting-form.phtml b/airtime_mvc/application/views/scripts/form/stream-setting-form.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/form/support-setting.phtml b/airtime_mvc/application/views/scripts/form/support-setting.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/index/display.phtml b/airtime_mvc/application/views/scripts/index/display.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/index/index.phtml b/airtime_mvc/application/views/scripts/index/index.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/index/main.phtml b/airtime_mvc/application/views/scripts/index/main.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/index/newfield.phtml b/airtime_mvc/application/views/scripts/index/newfield.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/library/edit-file-md.phtml b/airtime_mvc/application/views/scripts/library/edit-file-md.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml b/airtime_mvc/application/views/scripts/library/get-file-metadata.ajax.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/library/index.phtml b/airtime_mvc/application/views/scripts/library/index.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/library/library.phtml b/airtime_mvc/application/views/scripts/library/library.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/listenerstat/index.phtml b/airtime_mvc/application/views/scripts/listenerstat/index.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/login/index.phtml b/airtime_mvc/application/views/scripts/login/index.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/login/logout.phtml b/airtime_mvc/application/views/scripts/login/logout.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/login/password-change.phtml b/airtime_mvc/application/views/scripts/login/password-change.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/login/password-restore-after.phtml b/airtime_mvc/application/views/scripts/login/password-restore-after.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/login/password-restore.phtml b/airtime_mvc/application/views/scripts/login/password-restore.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/menu.phtml b/airtime_mvc/application/views/scripts/menu.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/partialviews/header.phtml b/airtime_mvc/application/views/scripts/partialviews/header.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/partialviews/trialBox.phtml b/airtime_mvc/application/views/scripts/partialviews/trialBox.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/playlist/playlist.phtml b/airtime_mvc/application/views/scripts/playlist/playlist.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/playlist/set-cue.phtml b/airtime_mvc/application/views/scripts/playlist/set-cue.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/playlist/set-fade.phtml b/airtime_mvc/application/views/scripts/playlist/set-fade.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/playlist/smart-block.phtml b/airtime_mvc/application/views/scripts/playlist/smart-block.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/playlist/update.phtml b/airtime_mvc/application/views/scripts/playlist/update.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/playouthistory/dialog.phtml b/airtime_mvc/application/views/scripts/playouthistory/dialog.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/playouthistory/index.phtml b/airtime_mvc/application/views/scripts/playouthistory/index.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/playouthistorytemplate/configure-template.phtml b/airtime_mvc/application/views/scripts/playouthistorytemplate/configure-template.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml b/airtime_mvc/application/views/scripts/playouthistorytemplate/index.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml b/airtime_mvc/application/views/scripts/playouthistorytemplate/template-contents.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/plupload/index.phtml b/airtime_mvc/application/views/scripts/plupload/index.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/plupload/upload.phtml b/airtime_mvc/application/views/scripts/plupload/upload.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/preference/directory-config.phtml b/airtime_mvc/application/views/scripts/preference/directory-config.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/preference/index.phtml b/airtime_mvc/application/views/scripts/preference/index.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/preference/stream-setting.phtml b/airtime_mvc/application/views/scripts/preference/stream-setting.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/preference/support-setting.phtml b/airtime_mvc/application/views/scripts/preference/support-setting.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/recorder/get-show-schedule.phtml b/airtime_mvc/application/views/scripts/recorder/get-show-schedule.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/recorder/index.phtml b/airtime_mvc/application/views/scripts/recorder/index.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/schedule/add-show-form.phtml b/airtime_mvc/application/views/scripts/schedule/add-show-form.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/schedule/add-show.phtml b/airtime_mvc/application/views/scripts/schedule/add-show.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/schedule/cancel-current-show.phtml b/airtime_mvc/application/views/scripts/schedule/cancel-current-show.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/schedule/cancel-show.phtml b/airtime_mvc/application/views/scripts/schedule/cancel-show.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/schedule/clear-show.phtml b/airtime_mvc/application/views/scripts/schedule/clear-show.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/schedule/delete-show.phtml b/airtime_mvc/application/views/scripts/schedule/delete-show.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/schedule/edit-show.phtml b/airtime_mvc/application/views/scripts/schedule/edit-show.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/schedule/event-feed.phtml b/airtime_mvc/application/views/scripts/schedule/event-feed.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/schedule/get-current-playlist.phtml b/airtime_mvc/application/views/scripts/schedule/get-current-playlist.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/schedule/get-form.phtml b/airtime_mvc/application/views/scripts/schedule/get-form.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/schedule/get-show-data.phtml b/airtime_mvc/application/views/scripts/schedule/get-show-data.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/schedule/index.phtml b/airtime_mvc/application/views/scripts/schedule/index.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/schedule/make-context-menu.phtml b/airtime_mvc/application/views/scripts/schedule/make-context-menu.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/schedule/move-show.phtml b/airtime_mvc/application/views/scripts/schedule/move-show.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/schedule/remove-group.phtml b/airtime_mvc/application/views/scripts/schedule/remove-group.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/schedule/resize-show.phtml b/airtime_mvc/application/views/scripts/schedule/resize-show.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/schedule/schedule-show.phtml b/airtime_mvc/application/views/scripts/schedule/schedule-show.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/schedule/show-content-dialog.phtml b/airtime_mvc/application/views/scripts/schedule/show-content-dialog.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/schedule/show-list.phtml b/airtime_mvc/application/views/scripts/schedule/show-list.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/showbuilder/builderDialog.phtml b/airtime_mvc/application/views/scripts/showbuilder/builderDialog.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/showbuilder/index.phtml b/airtime_mvc/application/views/scripts/showbuilder/index.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/systemstatus/get-log-file.phtml b/airtime_mvc/application/views/scripts/systemstatus/get-log-file.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/systemstatus/index.phtml b/airtime_mvc/application/views/scripts/systemstatus/index.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/user/add-user.phtml b/airtime_mvc/application/views/scripts/user/add-user.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/user/edit-user.phtml b/airtime_mvc/application/views/scripts/user/edit-user.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/user/get-hosts.phtml b/airtime_mvc/application/views/scripts/user/get-hosts.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/user/get-user-data-table-info.phtml b/airtime_mvc/application/views/scripts/user/get-user-data-table-info.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/user/get-user-data.phtml b/airtime_mvc/application/views/scripts/user/get-user-data.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/user/index.phtml b/airtime_mvc/application/views/scripts/user/index.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/user/remove-user.phtml b/airtime_mvc/application/views/scripts/user/remove-user.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/application/views/scripts/webstream/webstream.phtml b/airtime_mvc/application/views/scripts/webstream/webstream.phtml old mode 100755 new mode 100644 diff --git a/airtime_mvc/build/airtime-php.logrotate b/airtime_mvc/build/airtime-php.logrotate old mode 100755 new mode 100644 diff --git a/airtime_mvc/build/airtime-setup/forms/database-settings.php b/airtime_mvc/build/airtime-setup/forms/database-settings.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/build/airtime-setup/forms/finish-settings.php b/airtime_mvc/build/airtime-setup/forms/finish-settings.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/build/airtime-setup/forms/general-settings.php b/airtime_mvc/build/airtime-setup/forms/general-settings.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/build/airtime-setup/forms/media-settings.php b/airtime_mvc/build/airtime-setup/forms/media-settings.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/build/airtime-setup/forms/rabbitmq-settings.php b/airtime_mvc/build/airtime-setup/forms/rabbitmq-settings.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/build/airtime-setup/load.php b/airtime_mvc/build/airtime-setup/load.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/build/airtime-setup/setup-config.php b/airtime_mvc/build/airtime-setup/setup-config.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/build/airtime.example.conf b/airtime_mvc/build/airtime.example.conf old mode 100755 new mode 100644 diff --git a/airtime_mvc/build/build.properties b/airtime_mvc/build/build.properties old mode 100755 new mode 100644 diff --git a/airtime_mvc/build/runtime-conf.xml b/airtime_mvc/build/runtime-conf.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/build/schema.xml b/airtime_mvc/build/schema.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/build/sql/defaultdata.sql b/airtime_mvc/build/sql/defaultdata.sql old mode 100755 new mode 100644 diff --git a/airtime_mvc/build/sql/schema.sql b/airtime_mvc/build/sql/schema.sql old mode 100755 new mode 100644 diff --git a/airtime_mvc/build/sql/sequences.sql b/airtime_mvc/build/sql/sequences.sql old mode 100755 new mode 100644 diff --git a/airtime_mvc/build/sql/sqldb.map b/airtime_mvc/build/sql/sqldb.map old mode 100755 new mode 100644 diff --git a/airtime_mvc/build/sql/triggers.sql b/airtime_mvc/build/sql/triggers.sql old mode 100755 new mode 100644 diff --git a/airtime_mvc/build/sql/views.sql b/airtime_mvc/build/sql/views.sql old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug.php b/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin.php b/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Auth.php b/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Auth.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Cache.php b/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Cache.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Database.php b/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Database.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Exception.php b/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Exception.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/File.php b/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/File.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Html.php b/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Html.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Interface.php b/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Interface.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Memory.php b/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Memory.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Registry.php b/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Registry.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Text.php b/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Text.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Time.php b/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Time.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Variables.php b/airtime_mvc/library/ZFDebug/Controller/Plugin/Debug/Plugin/Variables.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/doctrine/migrations/doctrine-migrations.phar b/airtime_mvc/library/doctrine/migrations/doctrine-migrations.phar old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/doctrine/migrations/migrations-db.php b/airtime_mvc/library/doctrine/migrations/migrations-db.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/BuildEvent.php b/airtime_mvc/library/phing/BuildEvent.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/BuildException.php b/airtime_mvc/library/phing/BuildException.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/BuildListener.php b/airtime_mvc/library/phing/BuildListener.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/BuildLogger.php b/airtime_mvc/library/phing/BuildLogger.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/ConfigurationException.php b/airtime_mvc/library/phing/ConfigurationException.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/IntrospectionHelper.php b/airtime_mvc/library/phing/IntrospectionHelper.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/LICENSE b/airtime_mvc/library/phing/LICENSE old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/Phing.php b/airtime_mvc/library/phing/Phing.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/Project.php b/airtime_mvc/library/phing/Project.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/ProjectComponent.php b/airtime_mvc/library/phing/ProjectComponent.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/RuntimeConfigurable.php b/airtime_mvc/library/phing/RuntimeConfigurable.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/Target.php b/airtime_mvc/library/phing/Target.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/Task.php b/airtime_mvc/library/phing/Task.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/TaskAdapter.php b/airtime_mvc/library/phing/TaskAdapter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/TaskContainer.php b/airtime_mvc/library/phing/TaskContainer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/UnknownElement.php b/airtime_mvc/library/phing/UnknownElement.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/filters/BaseFilterReader.php b/airtime_mvc/library/phing/filters/BaseFilterReader.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/filters/BaseParamFilterReader.php b/airtime_mvc/library/phing/filters/BaseParamFilterReader.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/filters/ChainableReader.php b/airtime_mvc/library/phing/filters/ChainableReader.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/filters/ExpandProperties.php b/airtime_mvc/library/phing/filters/ExpandProperties.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/filters/HeadFilter.php b/airtime_mvc/library/phing/filters/HeadFilter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/filters/LineContains.php b/airtime_mvc/library/phing/filters/LineContains.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/filters/LineContainsRegexp.php b/airtime_mvc/library/phing/filters/LineContainsRegexp.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/filters/PrefixLines.php b/airtime_mvc/library/phing/filters/PrefixLines.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/filters/ReplaceRegexp.php b/airtime_mvc/library/phing/filters/ReplaceRegexp.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/filters/ReplaceTokens.php b/airtime_mvc/library/phing/filters/ReplaceTokens.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/filters/ReplaceTokensWithFile.php b/airtime_mvc/library/phing/filters/ReplaceTokensWithFile.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/filters/StripLineBreaks.php b/airtime_mvc/library/phing/filters/StripLineBreaks.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/filters/StripLineComments.php b/airtime_mvc/library/phing/filters/StripLineComments.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/filters/StripPhpComments.php b/airtime_mvc/library/phing/filters/StripPhpComments.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/filters/StripWhitespace.php b/airtime_mvc/library/phing/filters/StripWhitespace.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/filters/TabToSpaces.php b/airtime_mvc/library/phing/filters/TabToSpaces.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/filters/TailFilter.php b/airtime_mvc/library/phing/filters/TailFilter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/filters/TidyFilter.php b/airtime_mvc/library/phing/filters/TidyFilter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/filters/TranslateGettext.php b/airtime_mvc/library/phing/filters/TranslateGettext.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/filters/XincludeFilter.php b/airtime_mvc/library/phing/filters/XincludeFilter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/filters/XsltFilter.php b/airtime_mvc/library/phing/filters/XsltFilter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/filters/util/ChainReaderHelper.php b/airtime_mvc/library/phing/filters/util/ChainReaderHelper.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/filters/util/IniFileTokenReader.php b/airtime_mvc/library/phing/filters/util/IniFileTokenReader.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/input/DefaultInputHandler.php b/airtime_mvc/library/phing/input/DefaultInputHandler.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/input/InputHandler.php b/airtime_mvc/library/phing/input/InputHandler.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/input/InputRequest.php b/airtime_mvc/library/phing/input/InputRequest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/input/MultipleChoiceInputRequest.php b/airtime_mvc/library/phing/input/MultipleChoiceInputRequest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/input/YesNoInputRequest.php b/airtime_mvc/library/phing/input/YesNoInputRequest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/lib/Capsule.php b/airtime_mvc/library/phing/lib/Capsule.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/listener/AnsiColorLogger.php b/airtime_mvc/library/phing/listener/AnsiColorLogger.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/listener/DefaultLogger.php b/airtime_mvc/library/phing/listener/DefaultLogger.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/listener/NoBannerLogger.php b/airtime_mvc/library/phing/listener/NoBannerLogger.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/listener/PearLogListener.php b/airtime_mvc/library/phing/listener/PearLogListener.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/listener/StreamRequiredBuildLogger.php b/airtime_mvc/library/phing/listener/StreamRequiredBuildLogger.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/listener/XmlLogger.php b/airtime_mvc/library/phing/listener/XmlLogger.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/mappers/FileNameMapper.php b/airtime_mvc/library/phing/mappers/FileNameMapper.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/mappers/FlattenMapper.php b/airtime_mvc/library/phing/mappers/FlattenMapper.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/mappers/GlobMapper.php b/airtime_mvc/library/phing/mappers/GlobMapper.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/mappers/IdentityMapper.php b/airtime_mvc/library/phing/mappers/IdentityMapper.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/mappers/MergeMapper.php b/airtime_mvc/library/phing/mappers/MergeMapper.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/mappers/RegexpMapper.php b/airtime_mvc/library/phing/mappers/RegexpMapper.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/parser/AbstractHandler.php b/airtime_mvc/library/phing/parser/AbstractHandler.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/parser/AbstractSAXParser.php b/airtime_mvc/library/phing/parser/AbstractSAXParser.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/parser/DataTypeHandler.php b/airtime_mvc/library/phing/parser/DataTypeHandler.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/parser/ExpatParseException.php b/airtime_mvc/library/phing/parser/ExpatParseException.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/parser/ExpatParser.php b/airtime_mvc/library/phing/parser/ExpatParser.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/parser/Location.php b/airtime_mvc/library/phing/parser/Location.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/parser/NestedElementHandler.php b/airtime_mvc/library/phing/parser/NestedElementHandler.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/parser/PhingXMLContext.php b/airtime_mvc/library/phing/parser/PhingXMLContext.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/parser/ProjectConfigurator.php b/airtime_mvc/library/phing/parser/ProjectConfigurator.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/parser/ProjectHandler.php b/airtime_mvc/library/phing/parser/ProjectHandler.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/parser/RootHandler.php b/airtime_mvc/library/phing/parser/RootHandler.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/parser/TargetHandler.php b/airtime_mvc/library/phing/parser/TargetHandler.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/parser/TaskHandler.php b/airtime_mvc/library/phing/parser/TaskHandler.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/system/io/BufferedReader.php b/airtime_mvc/library/phing/system/io/BufferedReader.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/system/io/BufferedWriter.php b/airtime_mvc/library/phing/system/io/BufferedWriter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/system/io/ConsoleReader.php b/airtime_mvc/library/phing/system/io/ConsoleReader.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/system/io/FileInputStream.php b/airtime_mvc/library/phing/system/io/FileInputStream.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/system/io/FileOutputStream.php b/airtime_mvc/library/phing/system/io/FileOutputStream.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/system/io/FileReader.php b/airtime_mvc/library/phing/system/io/FileReader.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/system/io/FileSystem.php b/airtime_mvc/library/phing/system/io/FileSystem.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/system/io/FileWriter.php b/airtime_mvc/library/phing/system/io/FileWriter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/system/io/FilterReader.php b/airtime_mvc/library/phing/system/io/FilterReader.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/system/io/IOException.php b/airtime_mvc/library/phing/system/io/IOException.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/system/io/InputStream.php b/airtime_mvc/library/phing/system/io/InputStream.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/system/io/InputStreamReader.php b/airtime_mvc/library/phing/system/io/InputStreamReader.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/system/io/OutputStream.php b/airtime_mvc/library/phing/system/io/OutputStream.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/system/io/OutputStreamWriter.php b/airtime_mvc/library/phing/system/io/OutputStreamWriter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/system/io/PhingFile.php b/airtime_mvc/library/phing/system/io/PhingFile.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/system/io/Reader.php b/airtime_mvc/library/phing/system/io/Reader.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/system/io/StringReader.php b/airtime_mvc/library/phing/system/io/StringReader.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/system/io/UnixFileSystem.php b/airtime_mvc/library/phing/system/io/UnixFileSystem.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/system/io/Win32FileSystem.php b/airtime_mvc/library/phing/system/io/Win32FileSystem.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/system/io/WinNTFileSystem.php b/airtime_mvc/library/phing/system/io/WinNTFileSystem.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/system/io/Writer.php b/airtime_mvc/library/phing/system/io/Writer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/system/lang/Character.php b/airtime_mvc/library/phing/system/lang/Character.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/system/lang/EventObject.php b/airtime_mvc/library/phing/system/lang/EventObject.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/system/lang/FileNotFoundException.php b/airtime_mvc/library/phing/system/lang/FileNotFoundException.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/system/lang/NullPointerException.php b/airtime_mvc/library/phing/system/lang/NullPointerException.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/system/lang/SecurityException.php b/airtime_mvc/library/phing/system/lang/SecurityException.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/system/util/Properties.php b/airtime_mvc/library/phing/system/util/Properties.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/system/util/Register.php b/airtime_mvc/library/phing/system/util/Register.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/system/util/Timer.php b/airtime_mvc/library/phing/system/util/Timer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/CapsuleTask.php b/airtime_mvc/library/phing/tasks/ext/CapsuleTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/ExportPropertiesTask.php b/airtime_mvc/library/phing/tasks/ext/ExportPropertiesTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/ExtractBaseTask.php b/airtime_mvc/library/phing/tasks/ext/ExtractBaseTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/FileHashTask.php b/airtime_mvc/library/phing/tasks/ext/FileHashTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/FileSizeTask.php b/airtime_mvc/library/phing/tasks/ext/FileSizeTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/FtpDeployTask.php b/airtime_mvc/library/phing/tasks/ext/FtpDeployTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/HttpRequestTask.php b/airtime_mvc/library/phing/tasks/ext/HttpRequestTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/JslLintTask.php b/airtime_mvc/library/phing/tasks/ext/JslLintTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/MailTask.php b/airtime_mvc/library/phing/tasks/ext/MailTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/ManifestTask.php b/airtime_mvc/library/phing/tasks/ext/ManifestTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/PackageAsPathTask.php b/airtime_mvc/library/phing/tasks/ext/PackageAsPathTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/PatchTask.php b/airtime_mvc/library/phing/tasks/ext/PatchTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/PearPackage2Task.php b/airtime_mvc/library/phing/tasks/ext/PearPackage2Task.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/PearPackageTask.php b/airtime_mvc/library/phing/tasks/ext/PearPackageTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/PhpCodeSnifferTask.php b/airtime_mvc/library/phing/tasks/ext/PhpCodeSnifferTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/PhpLintTask.php b/airtime_mvc/library/phing/tasks/ext/PhpLintTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/ReplaceRegexpTask.php b/airtime_mvc/library/phing/tasks/ext/ReplaceRegexpTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/ScpTask.php b/airtime_mvc/library/phing/tasks/ext/ScpTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/SmartyTask.php b/airtime_mvc/library/phing/tasks/ext/SmartyTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/SshTask.php b/airtime_mvc/library/phing/tasks/ext/SshTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/TarTask.php b/airtime_mvc/library/phing/tasks/ext/TarTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/UntarTask.php b/airtime_mvc/library/phing/tasks/ext/UntarTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/UnzipTask.php b/airtime_mvc/library/phing/tasks/ext/UnzipTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/VersionTask.php b/airtime_mvc/library/phing/tasks/ext/VersionTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/XmlLintTask.php b/airtime_mvc/library/phing/tasks/ext/XmlLintTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/XmlPropertyTask.php b/airtime_mvc/library/phing/tasks/ext/XmlPropertyTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/ZendCodeAnalyzerTask.php b/airtime_mvc/library/phing/tasks/ext/ZendCodeAnalyzerTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/ZipTask.php b/airtime_mvc/library/phing/tasks/ext/ZipTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/coverage/CoverageMerger.php b/airtime_mvc/library/phing/tasks/ext/coverage/CoverageMerger.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/coverage/CoverageMergerTask.php b/airtime_mvc/library/phing/tasks/ext/coverage/CoverageMergerTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/coverage/CoverageReportTask.php b/airtime_mvc/library/phing/tasks/ext/coverage/CoverageReportTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/coverage/CoverageReportTransformer.php b/airtime_mvc/library/phing/tasks/ext/coverage/CoverageReportTransformer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/coverage/CoverageSetupTask.php b/airtime_mvc/library/phing/tasks/ext/coverage/CoverageSetupTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/coverage/CoverageThresholdTask.php b/airtime_mvc/library/phing/tasks/ext/coverage/CoverageThresholdTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/creole/CreoleSQLExecTask.php b/airtime_mvc/library/phing/tasks/ext/creole/CreoleSQLExecTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/creole/CreoleTask.php b/airtime_mvc/library/phing/tasks/ext/creole/CreoleTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/dbdeploy/DbDeployTask.php b/airtime_mvc/library/phing/tasks/ext/dbdeploy/DbDeployTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/dbdeploy/DbmsSyntax.php b/airtime_mvc/library/phing/tasks/ext/dbdeploy/DbmsSyntax.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/dbdeploy/DbmsSyntaxFactory.php b/airtime_mvc/library/phing/tasks/ext/dbdeploy/DbmsSyntaxFactory.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/dbdeploy/DbmsSyntaxMsSql.php b/airtime_mvc/library/phing/tasks/ext/dbdeploy/DbmsSyntaxMsSql.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/dbdeploy/DbmsSyntaxMysql.php b/airtime_mvc/library/phing/tasks/ext/dbdeploy/DbmsSyntaxMysql.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/dbdeploy/DbmsSyntaxSQLite.php b/airtime_mvc/library/phing/tasks/ext/dbdeploy/DbmsSyntaxSQLite.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/ioncube/IoncubeComment.php b/airtime_mvc/library/phing/tasks/ext/ioncube/IoncubeComment.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/ioncube/IoncubeEncoderTask.php b/airtime_mvc/library/phing/tasks/ext/ioncube/IoncubeEncoderTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/ioncube/IoncubeLicenseTask.php b/airtime_mvc/library/phing/tasks/ext/ioncube/IoncubeLicenseTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/jsmin/JsMin.php b/airtime_mvc/library/phing/tasks/ext/jsmin/JsMin.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/jsmin/JsMinTask.php b/airtime_mvc/library/phing/tasks/ext/jsmin/JsMinTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/pdepend/PhpDependAnalyzerElement.php b/airtime_mvc/library/phing/tasks/ext/pdepend/PhpDependAnalyzerElement.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/pdepend/PhpDependLoggerElement.php b/airtime_mvc/library/phing/tasks/ext/pdepend/PhpDependLoggerElement.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/pdepend/PhpDependTask.php b/airtime_mvc/library/phing/tasks/ext/pdepend/PhpDependTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/pdo/PDOResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/pdo/PDOResultFormatter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/pdo/PDOSQLExecFormatterElement.php b/airtime_mvc/library/phing/tasks/ext/pdo/PDOSQLExecFormatterElement.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/pdo/PDOSQLExecTask.php b/airtime_mvc/library/phing/tasks/ext/pdo/PDOSQLExecTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/pdo/PDOTask.php b/airtime_mvc/library/phing/tasks/ext/pdo/PDOTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/pdo/PlainPDOResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/pdo/PlainPDOResultFormatter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/pdo/XMLPDOResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/pdo/XMLPDOResultFormatter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/pearpackage/Fileset.php b/airtime_mvc/library/phing/tasks/ext/pearpackage/Fileset.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/phar/IterableFileSet.php b/airtime_mvc/library/phing/tasks/ext/phar/IterableFileSet.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/phar/PharMetadata.php b/airtime_mvc/library/phing/tasks/ext/phar/PharMetadata.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/phar/PharMetadataElement.php b/airtime_mvc/library/phing/tasks/ext/phar/PharMetadataElement.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/phar/PharPackageTask.php b/airtime_mvc/library/phing/tasks/ext/phar/PharPackageTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/phk/PhkPackageTask.php b/airtime_mvc/library/phing/tasks/ext/phk/PhkPackageTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/phk/PhkPackageWebAccess.php b/airtime_mvc/library/phing/tasks/ext/phk/PhkPackageWebAccess.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/phk/PhkPackageWebAccessPath.php b/airtime_mvc/library/phing/tasks/ext/phk/PhkPackageWebAccessPath.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/phpcpd/PHPCPDFormatterElement.php b/airtime_mvc/library/phing/tasks/ext/phpcpd/PHPCPDFormatterElement.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/phpcpd/PHPCPDTask.php b/airtime_mvc/library/phing/tasks/ext/phpcpd/PHPCPDTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/phpcpd/formatter/DefaultPHPCPDResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/phpcpd/formatter/DefaultPHPCPDResultFormatter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/phpcpd/formatter/PHPCPDResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/phpcpd/formatter/PHPCPDResultFormatter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/phpcpd/formatter/PMDPHPCPDResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/phpcpd/formatter/PMDPHPCPDResultFormatter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/phpdoc/PhingPhpDocumentorSetup.php b/airtime_mvc/library/phing/tasks/ext/phpdoc/PhingPhpDocumentorSetup.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/phpdoc/PhpDocumentorExternalTask.php b/airtime_mvc/library/phing/tasks/ext/phpdoc/PhpDocumentorExternalTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/phpdoc/PhpDocumentorTask.php b/airtime_mvc/library/phing/tasks/ext/phpdoc/PhpDocumentorTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/phpmd/PHPMDFormatterElement.php b/airtime_mvc/library/phing/tasks/ext/phpmd/PHPMDFormatterElement.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/phpmd/PHPMDTask.php b/airtime_mvc/library/phing/tasks/ext/phpmd/PHPMDTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/phpunit/BatchTest.php b/airtime_mvc/library/phing/tasks/ext/phpunit/BatchTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/phpunit/FormatterElement.php b/airtime_mvc/library/phing/tasks/ext/phpunit/FormatterElement.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/phpunit/PHPUnitReportTask.php b/airtime_mvc/library/phing/tasks/ext/phpunit/PHPUnitReportTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/phpunit/PHPUnitTask.php b/airtime_mvc/library/phing/tasks/ext/phpunit/PHPUnitTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/phpunit/PHPUnitTestRunner.php b/airtime_mvc/library/phing/tasks/ext/phpunit/PHPUnitTestRunner.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/phpunit/PHPUnitUtil.php b/airtime_mvc/library/phing/tasks/ext/phpunit/PHPUnitUtil.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/phpunit/formatter/CloverPHPUnitResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/phpunit/formatter/CloverPHPUnitResultFormatter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/phpunit/formatter/PHPUnitResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/phpunit/formatter/PHPUnitResultFormatter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/phpunit/formatter/PlainPHPUnitResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/phpunit/formatter/PlainPHPUnitResultFormatter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/phpunit/formatter/SummaryPHPUnitResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/phpunit/formatter/SummaryPHPUnitResultFormatter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/phpunit/formatter/XMLPHPUnitResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/phpunit/formatter/XMLPHPUnitResultFormatter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestCountResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestCountResultFormatter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestDebugResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestDebugResultFormatter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestFormatterElement.php b/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestFormatterElement.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestPlainResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestPlainResultFormatter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestResultFormatter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestSummaryResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestSummaryResultFormatter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestTask.php b/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestXmlResultFormatter.php b/airtime_mvc/library/phing/tasks/ext/simpletest/SimpleTestXmlResultFormatter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/svn/SvnBaseTask.php b/airtime_mvc/library/phing/tasks/ext/svn/SvnBaseTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/svn/SvnCheckoutTask.php b/airtime_mvc/library/phing/tasks/ext/svn/SvnCheckoutTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/svn/SvnCommitTask.php b/airtime_mvc/library/phing/tasks/ext/svn/SvnCommitTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/svn/SvnCopyTask.php b/airtime_mvc/library/phing/tasks/ext/svn/SvnCopyTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/svn/SvnExportTask.php b/airtime_mvc/library/phing/tasks/ext/svn/SvnExportTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/svn/SvnLastRevisionTask.php b/airtime_mvc/library/phing/tasks/ext/svn/SvnLastRevisionTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/ext/svn/SvnUpdateTask.php b/airtime_mvc/library/phing/tasks/ext/svn/SvnUpdateTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/AdhocTask.php b/airtime_mvc/library/phing/tasks/system/AdhocTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/AdhocTaskdefTask.php b/airtime_mvc/library/phing/tasks/system/AdhocTaskdefTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/AdhocTypedefTask.php b/airtime_mvc/library/phing/tasks/system/AdhocTypedefTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/AppendTask.php b/airtime_mvc/library/phing/tasks/system/AppendTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/AvailableTask.php b/airtime_mvc/library/phing/tasks/system/AvailableTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/ChmodTask.php b/airtime_mvc/library/phing/tasks/system/ChmodTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/ChownTask.php b/airtime_mvc/library/phing/tasks/system/ChownTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/ConditionTask.php b/airtime_mvc/library/phing/tasks/system/ConditionTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/CopyTask.php b/airtime_mvc/library/phing/tasks/system/CopyTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/CvsPassTask.php b/airtime_mvc/library/phing/tasks/system/CvsPassTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/CvsTask.php b/airtime_mvc/library/phing/tasks/system/CvsTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/DeleteTask.php b/airtime_mvc/library/phing/tasks/system/DeleteTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/EchoTask.php b/airtime_mvc/library/phing/tasks/system/EchoTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/ExecTask.php b/airtime_mvc/library/phing/tasks/system/ExecTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/ExitTask.php b/airtime_mvc/library/phing/tasks/system/ExitTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/ForeachTask.php b/airtime_mvc/library/phing/tasks/system/ForeachTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/IfTask.php b/airtime_mvc/library/phing/tasks/system/IfTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/ImportTask.php b/airtime_mvc/library/phing/tasks/system/ImportTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/IncludePathTask.php b/airtime_mvc/library/phing/tasks/system/IncludePathTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/InputTask.php b/airtime_mvc/library/phing/tasks/system/InputTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/MatchingTask.php b/airtime_mvc/library/phing/tasks/system/MatchingTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/MkdirTask.php b/airtime_mvc/library/phing/tasks/system/MkdirTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/MoveTask.php b/airtime_mvc/library/phing/tasks/system/MoveTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/PhingCallTask.php b/airtime_mvc/library/phing/tasks/system/PhingCallTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/PhingTask.php b/airtime_mvc/library/phing/tasks/system/PhingTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/PhpEvalTask.php b/airtime_mvc/library/phing/tasks/system/PhpEvalTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/PropertyPromptTask.php b/airtime_mvc/library/phing/tasks/system/PropertyPromptTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/PropertyTask.php b/airtime_mvc/library/phing/tasks/system/PropertyTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/ReflexiveTask.php b/airtime_mvc/library/phing/tasks/system/ReflexiveTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/ResolvePathTask.php b/airtime_mvc/library/phing/tasks/system/ResolvePathTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/SequentialTask.php b/airtime_mvc/library/phing/tasks/system/SequentialTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/TaskdefTask.php b/airtime_mvc/library/phing/tasks/system/TaskdefTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/TouchTask.php b/airtime_mvc/library/phing/tasks/system/TouchTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/TstampTask.php b/airtime_mvc/library/phing/tasks/system/TstampTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/TypedefTask.php b/airtime_mvc/library/phing/tasks/system/TypedefTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/UpToDateTask.php b/airtime_mvc/library/phing/tasks/system/UpToDateTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/WarnTask.php b/airtime_mvc/library/phing/tasks/system/WarnTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/XsltTask.php b/airtime_mvc/library/phing/tasks/system/XsltTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/condition/AndCondition.php b/airtime_mvc/library/phing/tasks/system/condition/AndCondition.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/condition/Condition.php b/airtime_mvc/library/phing/tasks/system/condition/Condition.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/condition/ConditionBase.php b/airtime_mvc/library/phing/tasks/system/condition/ConditionBase.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/condition/ContainsCondition.php b/airtime_mvc/library/phing/tasks/system/condition/ContainsCondition.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/condition/EqualsCondition.php b/airtime_mvc/library/phing/tasks/system/condition/EqualsCondition.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/condition/IsFalseCondition.php b/airtime_mvc/library/phing/tasks/system/condition/IsFalseCondition.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/condition/IsSetCondition.php b/airtime_mvc/library/phing/tasks/system/condition/IsSetCondition.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/condition/IsTrueCondition.php b/airtime_mvc/library/phing/tasks/system/condition/IsTrueCondition.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/condition/NotCondition.php b/airtime_mvc/library/phing/tasks/system/condition/NotCondition.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/condition/OrCondition.php b/airtime_mvc/library/phing/tasks/system/condition/OrCondition.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/condition/OsCondition.php b/airtime_mvc/library/phing/tasks/system/condition/OsCondition.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/tasks/system/condition/ReferenceExistsCondition.php b/airtime_mvc/library/phing/tasks/system/condition/ReferenceExistsCondition.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/AbstractFileSet.php b/airtime_mvc/library/phing/types/AbstractFileSet.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/Commandline.php b/airtime_mvc/library/phing/types/Commandline.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/DataType.php b/airtime_mvc/library/phing/types/DataType.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/Description.php b/airtime_mvc/library/phing/types/Description.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/DirSet.php b/airtime_mvc/library/phing/types/DirSet.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/FileList.php b/airtime_mvc/library/phing/types/FileList.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/FileSet.php b/airtime_mvc/library/phing/types/FileSet.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/FilterChain.php b/airtime_mvc/library/phing/types/FilterChain.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/Mapper.php b/airtime_mvc/library/phing/types/Mapper.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/Parameter.php b/airtime_mvc/library/phing/types/Parameter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/Parameterizable.php b/airtime_mvc/library/phing/types/Parameterizable.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/Path.php b/airtime_mvc/library/phing/types/Path.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/PatternSet.php b/airtime_mvc/library/phing/types/PatternSet.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/PhingFilterReader.php b/airtime_mvc/library/phing/types/PhingFilterReader.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/Reference.php b/airtime_mvc/library/phing/types/Reference.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/RegularExpression.php b/airtime_mvc/library/phing/types/RegularExpression.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/TokenReader.php b/airtime_mvc/library/phing/types/TokenReader.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/TokenSource.php b/airtime_mvc/library/phing/types/TokenSource.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/selectors/AndSelector.php b/airtime_mvc/library/phing/types/selectors/AndSelector.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/selectors/BaseExtendSelector.php b/airtime_mvc/library/phing/types/selectors/BaseExtendSelector.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/selectors/BaseSelector.php b/airtime_mvc/library/phing/types/selectors/BaseSelector.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/selectors/BaseSelectorContainer.php b/airtime_mvc/library/phing/types/selectors/BaseSelectorContainer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/selectors/ContainsRegexpSelector.php b/airtime_mvc/library/phing/types/selectors/ContainsRegexpSelector.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/selectors/ContainsSelector.php b/airtime_mvc/library/phing/types/selectors/ContainsSelector.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/selectors/DateSelector.php b/airtime_mvc/library/phing/types/selectors/DateSelector.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/selectors/DependSelector.php b/airtime_mvc/library/phing/types/selectors/DependSelector.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/selectors/DepthSelector.php b/airtime_mvc/library/phing/types/selectors/DepthSelector.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/selectors/ExtendFileSelector.php b/airtime_mvc/library/phing/types/selectors/ExtendFileSelector.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/selectors/ExtendSelector.php b/airtime_mvc/library/phing/types/selectors/ExtendSelector.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/selectors/FileSelector.php b/airtime_mvc/library/phing/types/selectors/FileSelector.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/selectors/FilenameSelector.php b/airtime_mvc/library/phing/types/selectors/FilenameSelector.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/selectors/MajoritySelector.php b/airtime_mvc/library/phing/types/selectors/MajoritySelector.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/selectors/NoneSelector.php b/airtime_mvc/library/phing/types/selectors/NoneSelector.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/selectors/NotSelector.php b/airtime_mvc/library/phing/types/selectors/NotSelector.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/selectors/OrSelector.php b/airtime_mvc/library/phing/types/selectors/OrSelector.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/selectors/PresentSelector.php b/airtime_mvc/library/phing/types/selectors/PresentSelector.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/selectors/SelectSelector.php b/airtime_mvc/library/phing/types/selectors/SelectSelector.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/selectors/SelectorContainer.php b/airtime_mvc/library/phing/types/selectors/SelectorContainer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/selectors/SelectorScanner.php b/airtime_mvc/library/phing/types/selectors/SelectorScanner.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/selectors/SelectorUtils.php b/airtime_mvc/library/phing/types/selectors/SelectorUtils.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/selectors/SizeSelector.php b/airtime_mvc/library/phing/types/selectors/SizeSelector.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/types/selectors/TypeSelector.php b/airtime_mvc/library/phing/types/selectors/TypeSelector.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/util/DataStore.php b/airtime_mvc/library/phing/util/DataStore.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/util/DirectoryScanner.php b/airtime_mvc/library/phing/util/DirectoryScanner.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/util/ExtendedFileStream.php b/airtime_mvc/library/phing/util/ExtendedFileStream.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/util/FileUtils.php b/airtime_mvc/library/phing/util/FileUtils.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/util/LogWriter.php b/airtime_mvc/library/phing/util/LogWriter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/util/PathTokenizer.php b/airtime_mvc/library/phing/util/PathTokenizer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/util/SourceFileScanner.php b/airtime_mvc/library/phing/util/SourceFileScanner.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/util/StringHelper.php b/airtime_mvc/library/phing/util/StringHelper.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/util/regexp/PregEngine.php b/airtime_mvc/library/phing/util/regexp/PregEngine.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/util/regexp/Regexp.php b/airtime_mvc/library/phing/util/regexp/Regexp.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/phing/util/regexp/RegexpEngine.php b/airtime_mvc/library/phing/util/regexp/RegexpEngine.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/php-amqplib/CREDITS b/airtime_mvc/library/php-amqplib/CREDITS old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/php-amqplib/LICENSE b/airtime_mvc/library/php-amqplib/LICENSE old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/php-amqplib/README.md b/airtime_mvc/library/php-amqplib/README.md old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/php-amqplib/amqp.inc b/airtime_mvc/library/php-amqplib/amqp.inc old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/php-amqplib/amqp_receive.php b/airtime_mvc/library/php-amqplib/amqp_receive.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/php-amqplib/amqp_test.php b/airtime_mvc/library/php-amqplib/amqp_test.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/php-amqplib/amqp_wire.inc b/airtime_mvc/library/php-amqplib/amqp_wire.inc old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/php-amqplib/hexdump.inc b/airtime_mvc/library/php-amqplib/hexdump.inc old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/CHANGELOG b/airtime_mvc/library/propel/CHANGELOG old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/INSTALL b/airtime_mvc/library/propel/INSTALL old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/LICENSE b/airtime_mvc/library/propel/LICENSE old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/WHATS_NEW b/airtime_mvc/library/propel/WHATS_NEW old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/contrib/dbd2propel/dbd2propel.xsl b/airtime_mvc/library/propel/contrib/dbd2propel/dbd2propel.xsl old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/contrib/dbd2propel/transform.php b/airtime_mvc/library/propel/contrib/dbd2propel/transform.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms.php b/airtime_mvc/library/propel/contrib/pat/patForms.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Creator/Definition.php b/airtime_mvc/library/propel/contrib/pat/patForms/Creator/Definition.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Creator/Propel.php b/airtime_mvc/library/propel/contrib/pat/patForms/Creator/Propel.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Creator/_propel_creator_test.php b/airtime_mvc/library/propel/contrib/pat/patForms/Creator/_propel_creator_test.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Datasource/Propel.php b/airtime_mvc/library/propel/contrib/pat/patForms/Datasource/Propel.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Definition.php b/airtime_mvc/library/propel/contrib/pat/patForms/Definition.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Definition/Propel.php b/airtime_mvc/library/propel/contrib/pat/patForms/Definition/Propel.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Element.php b/airtime_mvc/library/propel/contrib/pat/patForms/Element.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Rule.php b/airtime_mvc/library/propel/contrib/pat/patForms/Rule.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Rule/Match.php b/airtime_mvc/library/propel/contrib/pat/patForms/Rule/Match.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Rule/MaxLength.php b/airtime_mvc/library/propel/contrib/pat/patForms/Rule/MaxLength.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Rule/MaxValue.php b/airtime_mvc/library/propel/contrib/pat/patForms/Rule/MaxValue.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Rule/MinLength.php b/airtime_mvc/library/propel/contrib/pat/patForms/Rule/MinLength.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Rule/MinValue.php b/airtime_mvc/library/propel/contrib/pat/patForms/Rule/MinValue.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Rule/NotMatch.php b/airtime_mvc/library/propel/contrib/pat/patForms/Rule/NotMatch.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Rule/ValidValues.php b/airtime_mvc/library/propel/contrib/pat/patForms/Rule/ValidValues.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/Storage/Propel.php b/airtime_mvc/library/propel/contrib/pat/patForms/Storage/Propel.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/res/form.dynamic.tpl b/airtime_mvc/library/propel/contrib/pat/patForms/res/form.dynamic.tpl old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms/res/mysql-dump.bookstore.sql b/airtime_mvc/library/propel/contrib/pat/patForms/res/mysql-dump.bookstore.sql old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/contrib/pat/patForms_Storage_Propel_test.php b/airtime_mvc/library/propel/contrib/pat/patForms_Storage_Propel_test.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/contrib/pat/patTemplate.php b/airtime_mvc/library/propel/contrib/pat/patTemplate.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/contrib/pear/HTML_QuickForm_Propel/Propel.php b/airtime_mvc/library/propel/contrib/pear/HTML_QuickForm_Propel/Propel.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/contrib/pear/Structures_DataGrid_Propel/Propel.php b/airtime_mvc/library/propel/contrib/pear/Structures_DataGrid_Propel/Propel.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/behavior/aggregate_column.txt b/airtime_mvc/library/propel/docs/behavior/aggregate_column.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/behavior/alternative_coding_standards.txt b/airtime_mvc/library/propel/docs/behavior/alternative_coding_standards.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/behavior/auto_add_pk.txt b/airtime_mvc/library/propel/docs/behavior/auto_add_pk.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/behavior/nested_set.txt b/airtime_mvc/library/propel/docs/behavior/nested_set.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/behavior/query_cache.txt b/airtime_mvc/library/propel/docs/behavior/query_cache.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/behavior/sluggable.txt b/airtime_mvc/library/propel/docs/behavior/sluggable.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/behavior/soft_delete.txt b/airtime_mvc/library/propel/docs/behavior/soft_delete.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/behavior/sortable.txt b/airtime_mvc/library/propel/docs/behavior/sortable.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/behavior/timestampable.txt b/airtime_mvc/library/propel/docs/behavior/timestampable.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/build.xml b/airtime_mvc/library/propel/docs/build.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/cookbook/Add-Custom-SQL.txt b/airtime_mvc/library/propel/docs/cookbook/Add-Custom-SQL.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/cookbook/Copying-Objects.txt b/airtime_mvc/library/propel/docs/cookbook/Copying-Objects.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/cookbook/Customizing-Build.txt b/airtime_mvc/library/propel/docs/cookbook/Customizing-Build.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/cookbook/Existing-Database.txt b/airtime_mvc/library/propel/docs/cookbook/Existing-Database.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/cookbook/LOB-Columns.txt b/airtime_mvc/library/propel/docs/cookbook/LOB-Columns.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/cookbook/Master-Slave.txt b/airtime_mvc/library/propel/docs/cookbook/Master-Slave.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/cookbook/Multi-Component.txt b/airtime_mvc/library/propel/docs/cookbook/Multi-Component.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/cookbook/Namespaces.txt b/airtime_mvc/library/propel/docs/cookbook/Namespaces.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/cookbook/Nested-Set.txt b/airtime_mvc/library/propel/docs/cookbook/Nested-Set.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/cookbook/Runtime-Introspection.txt b/airtime_mvc/library/propel/docs/cookbook/Runtime-Introspection.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/cookbook/Writing-Behavior.txt b/airtime_mvc/library/propel/docs/cookbook/Writing-Behavior.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/guide/01-Installation.txt b/airtime_mvc/library/propel/docs/guide/01-Installation.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/guide/02-BuildTime.txt b/airtime_mvc/library/propel/docs/guide/02-BuildTime.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/guide/03-Basic-CRUD.txt b/airtime_mvc/library/propel/docs/guide/03-Basic-CRUD.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/guide/04-Relationships.txt b/airtime_mvc/library/propel/docs/guide/04-Relationships.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/guide/05-Validators.txt b/airtime_mvc/library/propel/docs/guide/05-Validators.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/guide/06-Transactions.txt b/airtime_mvc/library/propel/docs/guide/06-Transactions.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/guide/07-Behaviors.txt b/airtime_mvc/library/propel/docs/guide/07-Behaviors.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/guide/08-Logging.txt b/airtime_mvc/library/propel/docs/guide/08-Logging.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/guide/09-Inheritance.txt b/airtime_mvc/library/propel/docs/guide/09-Inheritance.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/reference/Buildtime-Configuration.txt b/airtime_mvc/library/propel/docs/reference/Buildtime-Configuration.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/reference/ModelCriteria.txt b/airtime_mvc/library/propel/docs/reference/ModelCriteria.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/reference/Runtime-Configuration.txt b/airtime_mvc/library/propel/docs/reference/Runtime-Configuration.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/docs/reference/Schema.txt b/airtime_mvc/library/propel/docs/reference/Schema.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/build-propel.xml b/airtime_mvc/library/propel/generator/build-propel.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/build.properties-sample b/airtime_mvc/library/propel/generator/build.properties-sample old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/build.xml b/airtime_mvc/library/propel/generator/build.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/build.xml-local b/airtime_mvc/library/propel/generator/build.xml-local old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/default.properties b/airtime_mvc/library/propel/generator/default.properties old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/AlternativeCodingStandardsBehavior.php b/airtime_mvc/library/propel/generator/lib/behavior/AlternativeCodingStandardsBehavior.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/AutoAddPkBehavior.php b/airtime_mvc/library/propel/generator/lib/behavior/AutoAddPkBehavior.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/SoftDeleteBehavior.php b/airtime_mvc/library/propel/generator/lib/behavior/SoftDeleteBehavior.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/TimestampableBehavior.php b/airtime_mvc/library/propel/generator/lib/behavior/TimestampableBehavior.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/AggregateColumnBehavior.php b/airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/AggregateColumnBehavior.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/AggregateColumnRelationBehavior.php b/airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/AggregateColumnRelationBehavior.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/templates/objectCompute.php b/airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/templates/objectCompute.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/templates/objectUpdate.php b/airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/templates/objectUpdate.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/templates/objectUpdateRelated.php b/airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/templates/objectUpdateRelated.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/templates/queryFindRelated.php b/airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/templates/queryFindRelated.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/templates/queryUpdateRelated.php b/airtime_mvc/library/propel/generator/lib/behavior/aggregate_column/templates/queryUpdateRelated.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/concrete_inheritance/ConcreteInheritanceBehavior.php b/airtime_mvc/library/propel/generator/lib/behavior/concrete_inheritance/ConcreteInheritanceBehavior.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/concrete_inheritance/ConcreteInheritanceParentBehavior.php b/airtime_mvc/library/propel/generator/lib/behavior/concrete_inheritance/ConcreteInheritanceParentBehavior.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/nestedset/NestedSetBehavior.php b/airtime_mvc/library/propel/generator/lib/behavior/nestedset/NestedSetBehavior.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/nestedset/NestedSetBehaviorObjectBuilderModifier.php b/airtime_mvc/library/propel/generator/lib/behavior/nestedset/NestedSetBehaviorObjectBuilderModifier.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/nestedset/NestedSetBehaviorPeerBuilderModifier.php b/airtime_mvc/library/propel/generator/lib/behavior/nestedset/NestedSetBehaviorPeerBuilderModifier.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/nestedset/NestedSetBehaviorQueryBuilderModifier.php b/airtime_mvc/library/propel/generator/lib/behavior/nestedset/NestedSetBehaviorQueryBuilderModifier.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/query_cache/QueryCacheBehavior.php b/airtime_mvc/library/propel/generator/lib/behavior/query_cache/QueryCacheBehavior.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/sluggable/SluggableBehavior.php b/airtime_mvc/library/propel/generator/lib/behavior/sluggable/SluggableBehavior.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/sortable/SortableBehavior.php b/airtime_mvc/library/propel/generator/lib/behavior/sortable/SortableBehavior.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/sortable/SortableBehaviorObjectBuilderModifier.php b/airtime_mvc/library/propel/generator/lib/behavior/sortable/SortableBehaviorObjectBuilderModifier.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/sortable/SortableBehaviorPeerBuilderModifier.php b/airtime_mvc/library/propel/generator/lib/behavior/sortable/SortableBehaviorPeerBuilderModifier.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/behavior/sortable/SortableBehaviorQueryBuilderModifier.php b/airtime_mvc/library/propel/generator/lib/behavior/sortable/SortableBehaviorQueryBuilderModifier.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/DataModelBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/DataModelBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/ClassTools.php b/airtime_mvc/library/propel/generator/lib/builder/om/ClassTools.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/ExtensionQueryBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/ExtensionQueryBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/ExtensionQueryInheritanceBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/ExtensionQueryInheritanceBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/OMBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/OMBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/ObjectBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/ObjectBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/PHP5ExtensionNodeBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/PHP5ExtensionNodeBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/PHP5ExtensionNodePeerBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/PHP5ExtensionNodePeerBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/PHP5ExtensionObjectBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/PHP5ExtensionObjectBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/PHP5ExtensionPeerBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/PHP5ExtensionPeerBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/PHP5InterfaceBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/PHP5InterfaceBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/PHP5MultiExtendObjectBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/PHP5MultiExtendObjectBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/PHP5NestedSetBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/PHP5NestedSetBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/PHP5NestedSetPeerBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/PHP5NestedSetPeerBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/PHP5NodeBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/PHP5NodeBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/PHP5NodePeerBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/PHP5NodePeerBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/PHP5ObjectBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/PHP5ObjectBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/PHP5ObjectNoCollectionBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/PHP5ObjectNoCollectionBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/PHP5PeerBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/PHP5PeerBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/PHP5TableMapBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/PHP5TableMapBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/PeerBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/PeerBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/QueryBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/QueryBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/om/QueryInheritanceBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/om/QueryInheritanceBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/sql/DDLBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/sql/DDLBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/sql/DataSQLBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/sql/DataSQLBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/sql/mssql/MssqlDDLBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/sql/mssql/MssqlDDLBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/sql/mssql/MssqlDataSQLBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/sql/mssql/MssqlDataSQLBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/sql/mysql/MysqlDDLBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/sql/mysql/MysqlDDLBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/sql/mysql/MysqlDataSQLBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/sql/mysql/MysqlDataSQLBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/sql/oracle/OracleDDLBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/sql/oracle/OracleDDLBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/sql/oracle/OracleDataSQLBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/sql/oracle/OracleDataSQLBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/sql/pgsql/PgsqlDDLBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/sql/pgsql/PgsqlDDLBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/sql/pgsql/PgsqlDataSQLBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/sql/pgsql/PgsqlDataSQLBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/sql/sqlite/SqliteDDLBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/sql/sqlite/SqliteDDLBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/sql/sqlite/SqliteDataSQLBuilder.php b/airtime_mvc/library/propel/generator/lib/builder/sql/sqlite/SqliteDataSQLBuilder.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/util/DefaultEnglishPluralizer.php b/airtime_mvc/library/propel/generator/lib/builder/util/DefaultEnglishPluralizer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/util/Pluralizer.php b/airtime_mvc/library/propel/generator/lib/builder/util/Pluralizer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/util/PropelStringReader.php b/airtime_mvc/library/propel/generator/lib/builder/util/PropelStringReader.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/util/PropelTemplate.php b/airtime_mvc/library/propel/generator/lib/builder/util/PropelTemplate.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/util/XmlToAppData.php b/airtime_mvc/library/propel/generator/lib/builder/util/XmlToAppData.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/builder/util/XmlToDataSQL.php b/airtime_mvc/library/propel/generator/lib/builder/util/XmlToDataSQL.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/config/GeneratorConfig.php b/airtime_mvc/library/propel/generator/lib/config/GeneratorConfig.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/exception/EngineException.php b/airtime_mvc/library/propel/generator/lib/exception/EngineException.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/model/AppData.php b/airtime_mvc/library/propel/generator/lib/model/AppData.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/model/Behavior.php b/airtime_mvc/library/propel/generator/lib/model/Behavior.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/model/Column.php b/airtime_mvc/library/propel/generator/lib/model/Column.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/model/ColumnDefaultValue.php b/airtime_mvc/library/propel/generator/lib/model/ColumnDefaultValue.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/model/ConstraintNameGenerator.php b/airtime_mvc/library/propel/generator/lib/model/ConstraintNameGenerator.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/model/Database.php b/airtime_mvc/library/propel/generator/lib/model/Database.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/model/Domain.php b/airtime_mvc/library/propel/generator/lib/model/Domain.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/model/ForeignKey.php b/airtime_mvc/library/propel/generator/lib/model/ForeignKey.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/model/IDMethod.php b/airtime_mvc/library/propel/generator/lib/model/IDMethod.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/model/IdMethodParameter.php b/airtime_mvc/library/propel/generator/lib/model/IdMethodParameter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/model/Index.php b/airtime_mvc/library/propel/generator/lib/model/Index.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/model/Inheritance.php b/airtime_mvc/library/propel/generator/lib/model/Inheritance.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/model/NameFactory.php b/airtime_mvc/library/propel/generator/lib/model/NameFactory.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/model/NameGenerator.php b/airtime_mvc/library/propel/generator/lib/model/NameGenerator.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/model/PhpNameGenerator.php b/airtime_mvc/library/propel/generator/lib/model/PhpNameGenerator.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/model/PropelTypes.php b/airtime_mvc/library/propel/generator/lib/model/PropelTypes.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/model/Rule.php b/airtime_mvc/library/propel/generator/lib/model/Rule.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/model/Table.php b/airtime_mvc/library/propel/generator/lib/model/Table.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/model/Unique.php b/airtime_mvc/library/propel/generator/lib/model/Unique.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/model/Validator.php b/airtime_mvc/library/propel/generator/lib/model/Validator.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/model/VendorInfo.php b/airtime_mvc/library/propel/generator/lib/model/VendorInfo.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/model/XMLElement.php b/airtime_mvc/library/propel/generator/lib/model/XMLElement.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/platform/DefaultPlatform.php b/airtime_mvc/library/propel/generator/lib/platform/DefaultPlatform.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/platform/MssqlPlatform.php b/airtime_mvc/library/propel/generator/lib/platform/MssqlPlatform.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/platform/MysqlPlatform.php b/airtime_mvc/library/propel/generator/lib/platform/MysqlPlatform.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/platform/OraclePlatform.php b/airtime_mvc/library/propel/generator/lib/platform/OraclePlatform.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/platform/PgsqlPlatform.php b/airtime_mvc/library/propel/generator/lib/platform/PgsqlPlatform.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/platform/Platform.php b/airtime_mvc/library/propel/generator/lib/platform/Platform.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/platform/SqlitePlatform.php b/airtime_mvc/library/propel/generator/lib/platform/SqlitePlatform.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/reverse/BaseSchemaParser.php b/airtime_mvc/library/propel/generator/lib/reverse/BaseSchemaParser.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/reverse/SchemaParser.php b/airtime_mvc/library/propel/generator/lib/reverse/SchemaParser.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/reverse/mssql/MssqlSchemaParser.php b/airtime_mvc/library/propel/generator/lib/reverse/mssql/MssqlSchemaParser.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/reverse/mysql/MysqlSchemaParser.php b/airtime_mvc/library/propel/generator/lib/reverse/mysql/MysqlSchemaParser.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/reverse/oracle/OracleSchemaParser.php b/airtime_mvc/library/propel/generator/lib/reverse/oracle/OracleSchemaParser.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/reverse/pgsql/PgsqlSchemaParser.php b/airtime_mvc/library/propel/generator/lib/reverse/pgsql/PgsqlSchemaParser.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/reverse/sqlite/SqliteSchemaParser.php b/airtime_mvc/library/propel/generator/lib/reverse/sqlite/SqliteSchemaParser.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/task/AbstractPropelDataModelTask.php b/airtime_mvc/library/propel/generator/lib/task/AbstractPropelDataModelTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/task/PropelConvertConfTask.php b/airtime_mvc/library/propel/generator/lib/task/PropelConvertConfTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/task/PropelDataDTDTask.php b/airtime_mvc/library/propel/generator/lib/task/PropelDataDTDTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/task/PropelDataDumpTask.php b/airtime_mvc/library/propel/generator/lib/task/PropelDataDumpTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/task/PropelDataModelTemplateTask.php b/airtime_mvc/library/propel/generator/lib/task/PropelDataModelTemplateTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/task/PropelDataSQLTask.php b/airtime_mvc/library/propel/generator/lib/task/PropelDataSQLTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/task/PropelGraphvizTask.php b/airtime_mvc/library/propel/generator/lib/task/PropelGraphvizTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/task/PropelOMTask.php b/airtime_mvc/library/propel/generator/lib/task/PropelOMTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/task/PropelSQLExec.php b/airtime_mvc/library/propel/generator/lib/task/PropelSQLExec.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/task/PropelSQLTask.php b/airtime_mvc/library/propel/generator/lib/task/PropelSQLTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/lib/task/PropelSchemaReverseTask.php b/airtime_mvc/library/propel/generator/lib/task/PropelSchemaReverseTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/pear/BuildPropelGenPEARPackageTask.php b/airtime_mvc/library/propel/generator/pear/BuildPropelGenPEARPackageTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/pear/build-pear-package.xml b/airtime_mvc/library/propel/generator/pear/build-pear-package.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/pear/build.properties b/airtime_mvc/library/propel/generator/pear/build.properties old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/pear/pear-build.xml b/airtime_mvc/library/propel/generator/pear/pear-build.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/pear/pear-propel-gen.bat b/airtime_mvc/library/propel/generator/pear/pear-propel-gen.bat old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/resources/dtd/database.dtd b/airtime_mvc/library/propel/generator/resources/dtd/database.dtd old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/resources/xsd/custom_datatypes.xsd b/airtime_mvc/library/propel/generator/resources/xsd/custom_datatypes.xsd old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/resources/xsd/database.xsd b/airtime_mvc/library/propel/generator/resources/xsd/database.xsd old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/generator/resources/xsl/database.xsl b/airtime_mvc/library/propel/generator/resources/xsl/database.xsl old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/Propel.php b/airtime_mvc/library/propel/runtime/lib/Propel.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/adapter/DBAdapter.php b/airtime_mvc/library/propel/runtime/lib/adapter/DBAdapter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/adapter/DBMSSQL.php b/airtime_mvc/library/propel/runtime/lib/adapter/DBMSSQL.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/adapter/DBMySQL.php b/airtime_mvc/library/propel/runtime/lib/adapter/DBMySQL.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/adapter/DBNone.php b/airtime_mvc/library/propel/runtime/lib/adapter/DBNone.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/adapter/DBOracle.php b/airtime_mvc/library/propel/runtime/lib/adapter/DBOracle.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/adapter/DBPostgres.php b/airtime_mvc/library/propel/runtime/lib/adapter/DBPostgres.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/adapter/DBSQLite.php b/airtime_mvc/library/propel/runtime/lib/adapter/DBSQLite.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/adapter/MSSQL/MssqlDateTime.class.php b/airtime_mvc/library/propel/runtime/lib/adapter/MSSQL/MssqlDateTime.class.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/adapter/MSSQL/MssqlDebugPDO.php b/airtime_mvc/library/propel/runtime/lib/adapter/MSSQL/MssqlDebugPDO.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/adapter/MSSQL/MssqlPropelPDO.php b/airtime_mvc/library/propel/runtime/lib/adapter/MSSQL/MssqlPropelPDO.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/collection/PropelArrayCollection.php b/airtime_mvc/library/propel/runtime/lib/collection/PropelArrayCollection.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/collection/PropelCollection.php b/airtime_mvc/library/propel/runtime/lib/collection/PropelCollection.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/collection/PropelObjectCollection.php b/airtime_mvc/library/propel/runtime/lib/collection/PropelObjectCollection.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/collection/PropelOnDemandCollection.php b/airtime_mvc/library/propel/runtime/lib/collection/PropelOnDemandCollection.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/collection/PropelOnDemandIterator.php b/airtime_mvc/library/propel/runtime/lib/collection/PropelOnDemandIterator.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/config/PropelConfiguration.php b/airtime_mvc/library/propel/runtime/lib/config/PropelConfiguration.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/config/PropelConfigurationIterator.php b/airtime_mvc/library/propel/runtime/lib/config/PropelConfigurationIterator.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/connection/DebugPDO.php b/airtime_mvc/library/propel/runtime/lib/connection/DebugPDO.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/connection/DebugPDOStatement.php b/airtime_mvc/library/propel/runtime/lib/connection/DebugPDOStatement.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/connection/PropelPDO.php b/airtime_mvc/library/propel/runtime/lib/connection/PropelPDO.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/exception/PropelException.php b/airtime_mvc/library/propel/runtime/lib/exception/PropelException.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/formatter/ModelWith.php b/airtime_mvc/library/propel/runtime/lib/formatter/ModelWith.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/formatter/PropelArrayFormatter.php b/airtime_mvc/library/propel/runtime/lib/formatter/PropelArrayFormatter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/formatter/PropelFormatter.php b/airtime_mvc/library/propel/runtime/lib/formatter/PropelFormatter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/formatter/PropelObjectFormatter.php b/airtime_mvc/library/propel/runtime/lib/formatter/PropelObjectFormatter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/formatter/PropelOnDemandFormatter.php b/airtime_mvc/library/propel/runtime/lib/formatter/PropelOnDemandFormatter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/formatter/PropelStatementFormatter.php b/airtime_mvc/library/propel/runtime/lib/formatter/PropelStatementFormatter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/logger/BasicLogger.php b/airtime_mvc/library/propel/runtime/lib/logger/BasicLogger.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/logger/MojaviLogAdapter.php b/airtime_mvc/library/propel/runtime/lib/logger/MojaviLogAdapter.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/map/ColumnMap.php b/airtime_mvc/library/propel/runtime/lib/map/ColumnMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/map/DatabaseMap.php b/airtime_mvc/library/propel/runtime/lib/map/DatabaseMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/map/RelationMap.php b/airtime_mvc/library/propel/runtime/lib/map/RelationMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/map/TableMap.php b/airtime_mvc/library/propel/runtime/lib/map/TableMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/map/ValidatorMap.php b/airtime_mvc/library/propel/runtime/lib/map/ValidatorMap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/om/BaseObject.php b/airtime_mvc/library/propel/runtime/lib/om/BaseObject.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/om/NestedSetRecursiveIterator.php b/airtime_mvc/library/propel/runtime/lib/om/NestedSetRecursiveIterator.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/om/NodeObject.php b/airtime_mvc/library/propel/runtime/lib/om/NodeObject.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/om/Persistent.php b/airtime_mvc/library/propel/runtime/lib/om/Persistent.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/om/PreOrderNodeIterator.php b/airtime_mvc/library/propel/runtime/lib/om/PreOrderNodeIterator.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/query/Criteria.php b/airtime_mvc/library/propel/runtime/lib/query/Criteria.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/query/Criterion.php b/airtime_mvc/library/propel/runtime/lib/query/Criterion.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/query/CriterionIterator.php b/airtime_mvc/library/propel/runtime/lib/query/CriterionIterator.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/query/Join.php b/airtime_mvc/library/propel/runtime/lib/query/Join.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/query/ModelCriteria.php b/airtime_mvc/library/propel/runtime/lib/query/ModelCriteria.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/query/ModelCriterion.php b/airtime_mvc/library/propel/runtime/lib/query/ModelCriterion.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/query/ModelJoin.php b/airtime_mvc/library/propel/runtime/lib/query/ModelJoin.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/query/PropelQuery.php b/airtime_mvc/library/propel/runtime/lib/query/PropelQuery.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/util/BasePeer.php b/airtime_mvc/library/propel/runtime/lib/util/BasePeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/util/NodePeer.php b/airtime_mvc/library/propel/runtime/lib/util/NodePeer.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/util/PropelAutoloader.php b/airtime_mvc/library/propel/runtime/lib/util/PropelAutoloader.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/util/PropelColumnTypes.php b/airtime_mvc/library/propel/runtime/lib/util/PropelColumnTypes.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/util/PropelConditionalProxy.php b/airtime_mvc/library/propel/runtime/lib/util/PropelConditionalProxy.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/util/PropelDateTime.php b/airtime_mvc/library/propel/runtime/lib/util/PropelDateTime.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/util/PropelModelPager.php b/airtime_mvc/library/propel/runtime/lib/util/PropelModelPager.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/util/PropelPager.php b/airtime_mvc/library/propel/runtime/lib/util/PropelPager.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/validator/BasicValidator.php b/airtime_mvc/library/propel/runtime/lib/validator/BasicValidator.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/validator/MatchValidator.php b/airtime_mvc/library/propel/runtime/lib/validator/MatchValidator.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/validator/MaxLengthValidator.php b/airtime_mvc/library/propel/runtime/lib/validator/MaxLengthValidator.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/validator/MaxValueValidator.php b/airtime_mvc/library/propel/runtime/lib/validator/MaxValueValidator.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/validator/MinLengthValidator.php b/airtime_mvc/library/propel/runtime/lib/validator/MinLengthValidator.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/validator/MinValueValidator.php b/airtime_mvc/library/propel/runtime/lib/validator/MinValueValidator.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/validator/NotMatchValidator.php b/airtime_mvc/library/propel/runtime/lib/validator/NotMatchValidator.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/validator/RequiredValidator.php b/airtime_mvc/library/propel/runtime/lib/validator/RequiredValidator.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/validator/TypeValidator.php b/airtime_mvc/library/propel/runtime/lib/validator/TypeValidator.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/validator/UniqueValidator.php b/airtime_mvc/library/propel/runtime/lib/validator/UniqueValidator.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/validator/ValidValuesValidator.php b/airtime_mvc/library/propel/runtime/lib/validator/ValidValuesValidator.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/lib/validator/ValidationFailed.php b/airtime_mvc/library/propel/runtime/lib/validator/ValidationFailed.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/pear/BuildPropelPEARPackageTask.php b/airtime_mvc/library/propel/runtime/pear/BuildPropelPEARPackageTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/runtime/pear/build-pear-package.xml b/airtime_mvc/library/propel/runtime/pear/build-pear-package.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/README b/airtime_mvc/library/propel/test/README old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/bookstore-packaged-test.php b/airtime_mvc/library/propel/test/bookstore-packaged-test.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/etc/lob/propel.gif b/airtime_mvc/library/propel/test/etc/lob/propel.gif old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/etc/lob/tin_drum.gif b/airtime_mvc/library/propel/test/etc/lob/tin_drum.gif old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/etc/lob/tin_drum.txt b/airtime_mvc/library/propel/test/etc/lob/tin_drum.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/etc/schema/tabletest-schema.xml b/airtime_mvc/library/propel/test/etc/schema/tabletest-schema.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/etc/xsl/coverage-frames.xsl b/airtime_mvc/library/propel/test/etc/xsl/coverage-frames.xsl old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/etc/xsl/log.xsl b/airtime_mvc/library/propel/test/etc/xsl/log.xsl old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/etc/xsl/phpunit2-noframes.xsl b/airtime_mvc/library/propel/test/etc/xsl/phpunit2-noframes.xsl old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/etc/xsl/str.replace.function.xsl b/airtime_mvc/library/propel/test/etc/xsl/str.replace.function.xsl old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/book.schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/book.schema.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/book_club_list.schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/book_club_list.schema.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/build.properties b/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/build.properties old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/external/author.schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/external/author.schema.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/log.schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/log.schema.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/media.schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/media.schema.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/publisher.schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/publisher.schema.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/review.schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/review.schema.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/runtime-conf.xml b/airtime_mvc/library/propel/test/fixtures/bookstore-packaged/runtime-conf.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-aggregate-schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-aggregate-schema.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-auto-add-pk-schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-auto-add-pk-schema.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-concrete-inheritance-schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-concrete-inheritance-schema.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-nested-set-schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-nested-set-schema.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-schema.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-sluggable-schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-sluggable-schema.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-soft-delete-schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-soft-delete-schema.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-sortable-schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-sortable-schema.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-timestampable-schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore/behavior-timestampable-schema.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore/build.properties b/airtime_mvc/library/propel/test/fixtures/bookstore/build.properties old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore/cms-schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore/cms-schema.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore/runtime-conf.xml b/airtime_mvc/library/propel/test/fixtures/bookstore/runtime-conf.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/bookstore/schema.xml b/airtime_mvc/library/propel/test/fixtures/bookstore/schema.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/namespaced/build.properties b/airtime_mvc/library/propel/test/fixtures/namespaced/build.properties old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/namespaced/runtime-conf.xml b/airtime_mvc/library/propel/test/fixtures/namespaced/runtime-conf.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/namespaced/schema.xml b/airtime_mvc/library/propel/test/fixtures/namespaced/schema.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/nestedset/build.properties b/airtime_mvc/library/propel/test/fixtures/nestedset/build.properties old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/nestedset/nestedset-schema.xml b/airtime_mvc/library/propel/test/fixtures/nestedset/nestedset-schema.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/nestedset/runtime-conf.xml b/airtime_mvc/library/propel/test/fixtures/nestedset/runtime-conf.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/treetest/build.properties b/airtime_mvc/library/propel/test/fixtures/treetest/build.properties old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/treetest/runtime-conf.xml b/airtime_mvc/library/propel/test/fixtures/treetest/runtime-conf.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/treetest/treetest-schema.xml b/airtime_mvc/library/propel/test/fixtures/treetest/treetest-schema.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/unique-column/column-schema.xml b/airtime_mvc/library/propel/test/fixtures/unique-column/column-schema.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/fixtures/unique-column/table-schema.xml b/airtime_mvc/library/propel/test/fixtures/unique-column/table-schema.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/speed.php b/airtime_mvc/library/propel/test/speed.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/test.xml b/airtime_mvc/library/propel/test/test.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/AutoAddPkBehaviorTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/AutoAddPkBehaviorTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/ObjectBehaviorTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/ObjectBehaviorTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/PeerBehaviorTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/PeerBehaviorTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/SoftDeleteBehaviorTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/SoftDeleteBehaviorTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/TableBehaviorTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/TableBehaviorTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/TimestampableBehaviorTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/TimestampableBehaviorTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/aggregate_column/AggregateColumnBehaviorTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/aggregate_column/AggregateColumnBehaviorTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/concrete_inheritance/ConcreteInheritanceBehaviorTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/concrete_inheritance/ConcreteInheritanceBehaviorTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/concrete_inheritance/ConcreteInheritanceParentBehaviorTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/concrete_inheritance/ConcreteInheritanceParentBehaviorTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorObjectBuilderModifierTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorObjectBuilderModifierTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorObjectBuilderModifierWithScopeTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorObjectBuilderModifierWithScopeTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorPeerBuilderModifierTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorPeerBuilderModifierTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorPeerBuilderModifierWithScopeTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorPeerBuilderModifierWithScopeTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorQueryBuilderModifierTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorQueryBuilderModifierTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorQueryBuilderModifierWithScopeTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorQueryBuilderModifierWithScopeTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/nestedset/NestedSetBehaviorTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/sluggable/SluggableBehaviorTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/sluggable/SluggableBehaviorTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorObjectBuilderModifierTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorObjectBuilderModifierTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorObjectBuilderModifierWithScopeTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorObjectBuilderModifierWithScopeTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorPeerBuilderModifierTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorPeerBuilderModifierTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorPeerBuilderModifierWithScopeTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorPeerBuilderModifierWithScopeTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorQueryBuilderModifierTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorQueryBuilderModifierTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorQueryBuilderModifierWithScopeTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorQueryBuilderModifierWithScopeTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorTest.php b/airtime_mvc/library/propel/test/testsuite/generator/behavior/sortable/SortableBehaviorTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/NamespaceTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/NamespaceTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedNestedSetObjectTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedNestedSetObjectTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedNestedSetPeerTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedNestedSetPeerTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedNestedSetTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedNestedSetTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedObjectLobTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedObjectLobTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedObjectRelTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedObjectRelTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedObjectTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedObjectTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedPeerDoDeleteTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedPeerDoDeleteTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedPeerDoSelectTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedPeerDoSelectTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedPeerTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/om/GeneratedPeerTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/om/OMBuilderNamespaceTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/om/OMBuilderNamespaceTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/om/OMBuilderTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/om/OMBuilderTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/om/PHP5TableMapBuilderTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/om/PHP5TableMapBuilderTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/om/QueryBuilderInheritanceTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/om/QueryBuilderInheritanceTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/om/QueryBuilderTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/om/QueryBuilderTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/util/PropelTemplateTest.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/util/PropelTemplateTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/builder/util/template.php b/airtime_mvc/library/propel/test/testsuite/generator/builder/util/template.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/model/BehaviorTest.php b/airtime_mvc/library/propel/test/testsuite/generator/model/BehaviorTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/model/ColumnTest.php b/airtime_mvc/library/propel/test/testsuite/generator/model/ColumnTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/model/NameFactoryTest.php b/airtime_mvc/library/propel/test/testsuite/generator/model/NameFactoryTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/model/PhpNameGeneratorTest.php b/airtime_mvc/library/propel/test/testsuite/generator/model/PhpNameGeneratorTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/model/TableTest.php b/airtime_mvc/library/propel/test/testsuite/generator/model/TableTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/platform/DefaultPlatformTest.php b/airtime_mvc/library/propel/test/testsuite/generator/platform/DefaultPlatformTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/platform/PlatformTestBase.php b/airtime_mvc/library/propel/test/testsuite/generator/platform/PlatformTestBase.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/generator/platform/SqlitePlatformTest.php b/airtime_mvc/library/propel/test/testsuite/generator/platform/SqlitePlatformTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/misc/BookstoreTest.php b/airtime_mvc/library/propel/test/testsuite/misc/BookstoreTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/misc/CharacterEncodingTest.php b/airtime_mvc/library/propel/test/testsuite/misc/CharacterEncodingTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/misc/FieldnameRelatedTest.php b/airtime_mvc/library/propel/test/testsuite/misc/FieldnameRelatedTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/misc/Ticket520Test.php b/airtime_mvc/library/propel/test/testsuite/misc/Ticket520Test.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/adapter/DBOracleTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/adapter/DBOracleTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/collection/PropelArrayCollectionTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/collection/PropelArrayCollectionTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/collection/PropelCollectionTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/collection/PropelCollectionTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/collection/PropelObjectCollectionTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/collection/PropelObjectCollectionTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/collection/PropelOnDemandCollectionTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/collection/PropelOnDemandCollectionTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/collection/PropelOnDemandIteratorTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/collection/PropelOnDemandIteratorTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/connection/PropelPDOTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/connection/PropelPDOTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelArrayFormatterTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelArrayFormatterTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelArrayFormatterWithTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelArrayFormatterWithTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelObjectFormatterInheritanceTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelObjectFormatterInheritanceTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelObjectFormatterTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelObjectFormatterTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelObjectFormatterWithTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelObjectFormatterWithTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelOnDemandFormatterTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelOnDemandFormatterTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelOnDemandFormatterWithTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelOnDemandFormatterWithTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelStatementFormatterTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/formatter/PropelStatementFormatterTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/map/ColumnMapTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/map/ColumnMapTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/map/DatabaseMapTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/map/DatabaseMapTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/map/GeneratedRelationMapTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/map/GeneratedRelationMapTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/map/RelatedMapSymmetricalTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/map/RelatedMapSymmetricalTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/map/RelationMapTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/map/RelationMapTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/map/TableMapTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/map/TableMapTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/om/BaseObjectSerializeTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/om/BaseObjectSerializeTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/om/BaseObjectTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/om/BaseObjectTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/query/CriteriaCombineTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/query/CriteriaCombineTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/query/CriteriaFluidConditionTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/query/CriteriaFluidConditionTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/query/CriteriaMergeTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/query/CriteriaMergeTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/query/CriteriaTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/query/CriteriaTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/query/JoinTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/query/JoinTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/query/ModelCriteriaHooksTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/query/ModelCriteriaHooksTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/query/ModelCriteriaTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/query/ModelCriteriaTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/query/ModelJoinTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/query/ModelJoinTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/query/ModelWithTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/query/ModelWithTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/query/PropelQueryTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/query/PropelQueryTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/util/BasePeerExceptionsTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/util/BasePeerExceptionsTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/util/BasePeerTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/util/BasePeerTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/util/PropelConfigurationTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/util/PropelConfigurationTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/util/PropelDateTimeTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/util/PropelDateTimeTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/util/PropelModelPagerTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/util/PropelModelPagerTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/util/PropelPagerTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/util/PropelPagerTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/testsuite/runtime/validator/ValidatorTest.php b/airtime_mvc/library/propel/test/testsuite/runtime/validator/ValidatorTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/tools/helpers/BaseTestCase.php b/airtime_mvc/library/propel/test/tools/helpers/BaseTestCase.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/tools/helpers/bookstore/BookstoreDataPopulator.php b/airtime_mvc/library/propel/test/tools/helpers/bookstore/BookstoreDataPopulator.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/tools/helpers/bookstore/BookstoreEmptyTestBase.php b/airtime_mvc/library/propel/test/tools/helpers/bookstore/BookstoreEmptyTestBase.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/tools/helpers/bookstore/BookstoreTestBase.php b/airtime_mvc/library/propel/test/tools/helpers/bookstore/BookstoreTestBase.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/tools/helpers/bookstore/behavior/BookstoreNestedSetTestBase.php b/airtime_mvc/library/propel/test/tools/helpers/bookstore/behavior/BookstoreNestedSetTestBase.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/tools/helpers/bookstore/behavior/BookstoreSortableTestBase.php b/airtime_mvc/library/propel/test/tools/helpers/bookstore/behavior/BookstoreSortableTestBase.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/tools/helpers/bookstore/behavior/DonothingBehavior.php b/airtime_mvc/library/propel/test/tools/helpers/bookstore/behavior/DonothingBehavior.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/tools/helpers/bookstore/behavior/TestAuthor.php b/airtime_mvc/library/propel/test/tools/helpers/bookstore/behavior/TestAuthor.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/tools/helpers/bookstore/behavior/Testallhooksbehavior.php b/airtime_mvc/library/propel/test/tools/helpers/bookstore/behavior/Testallhooksbehavior.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/tools/helpers/bookstore/validator/ISBNValidator.php b/airtime_mvc/library/propel/test/tools/helpers/bookstore/validator/ISBNValidator.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/tools/helpers/cms/CmsDataPopulator.php b/airtime_mvc/library/propel/test/tools/helpers/cms/CmsDataPopulator.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/tools/helpers/cms/CmsTestBase.php b/airtime_mvc/library/propel/test/tools/helpers/cms/CmsTestBase.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/tools/phing/DefineTask.php b/airtime_mvc/library/propel/test/tools/phing/DefineTask.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/propel/test/tree-test.php b/airtime_mvc/library/propel/test/tree-test.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/soundcloud-api/README.md b/airtime_mvc/library/soundcloud-api/README.md old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/soundcloud-api/Services/Soundcloud.php b/airtime_mvc/library/soundcloud-api/Services/Soundcloud.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/soundcloud-api/Services/Soundcloud/Exception.php b/airtime_mvc/library/soundcloud-api/Services/Soundcloud/Exception.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/soundcloud-api/Services/Soundcloud/Version.php b/airtime_mvc/library/soundcloud-api/Services/Soundcloud/Version.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/soundcloud-api/tests/Soundcloud_Test.php b/airtime_mvc/library/soundcloud-api/tests/Soundcloud_Test.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/library/soundcloud-api/tests/Soundcloud_Test_Helper.php b/airtime_mvc/library/soundcloud-api/tests/Soundcloud_Test_Helper.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/az/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/az/LC_MESSAGES/airtime.mo old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/az/LC_MESSAGES/airtime.po b/airtime_mvc/locale/az/LC_MESSAGES/airtime.po old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/cs_CZ/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/cs_CZ/LC_MESSAGES/airtime.mo old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/cs_CZ/LC_MESSAGES/airtime.po b/airtime_mvc/locale/cs_CZ/LC_MESSAGES/airtime.po old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/de_AT/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/de_AT/LC_MESSAGES/airtime.mo old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/de_AT/LC_MESSAGES/airtime.po b/airtime_mvc/locale/de_AT/LC_MESSAGES/airtime.po old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/de_DE/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/de_DE/LC_MESSAGES/airtime.mo old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/de_DE/LC_MESSAGES/airtime.po b/airtime_mvc/locale/de_DE/LC_MESSAGES/airtime.po old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/el_GR/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/el_GR/LC_MESSAGES/airtime.mo old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/el_GR/LC_MESSAGES/airtime.po b/airtime_mvc/locale/el_GR/LC_MESSAGES/airtime.po old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/en_CA/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/en_CA/LC_MESSAGES/airtime.mo old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/en_CA/LC_MESSAGES/airtime.po b/airtime_mvc/locale/en_CA/LC_MESSAGES/airtime.po old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/en_GB/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/en_GB/LC_MESSAGES/airtime.mo old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/en_GB/LC_MESSAGES/airtime.po b/airtime_mvc/locale/en_GB/LC_MESSAGES/airtime.po old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/en_US/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/en_US/LC_MESSAGES/airtime.mo old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/en_US/LC_MESSAGES/airtime.po b/airtime_mvc/locale/en_US/LC_MESSAGES/airtime.po old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/es_ES/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/es_ES/LC_MESSAGES/airtime.mo old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/es_ES/LC_MESSAGES/airtime.po b/airtime_mvc/locale/es_ES/LC_MESSAGES/airtime.po old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/fr_FR/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/fr_FR/LC_MESSAGES/airtime.mo old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/fr_FR/LC_MESSAGES/airtime.po b/airtime_mvc/locale/fr_FR/LC_MESSAGES/airtime.po old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/hr_HR/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/hr_HR/LC_MESSAGES/airtime.mo old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/hr_HR/LC_MESSAGES/airtime.po b/airtime_mvc/locale/hr_HR/LC_MESSAGES/airtime.po old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/hu_HU/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/hu_HU/LC_MESSAGES/airtime.mo old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/hu_HU/LC_MESSAGES/airtime.po b/airtime_mvc/locale/hu_HU/LC_MESSAGES/airtime.po old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/hy/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/hy/LC_MESSAGES/airtime.mo old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/hy/LC_MESSAGES/airtime.po b/airtime_mvc/locale/hy/LC_MESSAGES/airtime.po old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/hy_AM/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/hy_AM/LC_MESSAGES/airtime.mo old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/hy_AM/LC_MESSAGES/airtime.po b/airtime_mvc/locale/hy_AM/LC_MESSAGES/airtime.po old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/it_IT/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/it_IT/LC_MESSAGES/airtime.mo old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/it_IT/LC_MESSAGES/airtime.po b/airtime_mvc/locale/it_IT/LC_MESSAGES/airtime.po old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/ja/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/ja/LC_MESSAGES/airtime.mo old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/ja/LC_MESSAGES/airtime.po b/airtime_mvc/locale/ja/LC_MESSAGES/airtime.po old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/ja_JP/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/ja_JP/LC_MESSAGES/airtime.mo old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/ja_JP/LC_MESSAGES/airtime.po b/airtime_mvc/locale/ja_JP/LC_MESSAGES/airtime.po old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/ka/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/ka/LC_MESSAGES/airtime.mo old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/ka/LC_MESSAGES/airtime.po b/airtime_mvc/locale/ka/LC_MESSAGES/airtime.po old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/ko_KR/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/ko_KR/LC_MESSAGES/airtime.mo old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/ko_KR/LC_MESSAGES/airtime.po b/airtime_mvc/locale/ko_KR/LC_MESSAGES/airtime.po old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/nl_NL/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/nl_NL/LC_MESSAGES/airtime.mo old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/nl_NL/LC_MESSAGES/airtime.po b/airtime_mvc/locale/nl_NL/LC_MESSAGES/airtime.po old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/pl_PL/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/pl_PL/LC_MESSAGES/airtime.mo old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/pl_PL/LC_MESSAGES/airtime.po b/airtime_mvc/locale/pl_PL/LC_MESSAGES/airtime.po old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/pt_BR/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/pt_BR/LC_MESSAGES/airtime.mo old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/pt_BR/LC_MESSAGES/airtime.po b/airtime_mvc/locale/pt_BR/LC_MESSAGES/airtime.po old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/ru_RU/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/ru_RU/LC_MESSAGES/airtime.mo old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/ru_RU/LC_MESSAGES/airtime.po b/airtime_mvc/locale/ru_RU/LC_MESSAGES/airtime.po old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/si/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/si/LC_MESSAGES/airtime.mo old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/si/LC_MESSAGES/airtime.po b/airtime_mvc/locale/si/LC_MESSAGES/airtime.po old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/sr_RS/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/sr_RS/LC_MESSAGES/airtime.mo old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/sr_RS/LC_MESSAGES/airtime.po b/airtime_mvc/locale/sr_RS/LC_MESSAGES/airtime.po old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/sr_RS@latin/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/sr_RS@latin/LC_MESSAGES/airtime.mo old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/sr_RS@latin/LC_MESSAGES/airtime.po b/airtime_mvc/locale/sr_RS@latin/LC_MESSAGES/airtime.po old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/template/airtime.po b/airtime_mvc/locale/template/airtime.po old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/zh_CN/LC_MESSAGES/airtime.mo b/airtime_mvc/locale/zh_CN/LC_MESSAGES/airtime.mo old mode 100755 new mode 100644 diff --git a/airtime_mvc/locale/zh_CN/LC_MESSAGES/airtime.po b/airtime_mvc/locale/zh_CN/LC_MESSAGES/airtime.po old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/.htaccess b/airtime_mvc/public/.htaccess old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/TableTools.css b/airtime_mvc/public/css/TableTools.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/TableTools_JUI.css b/airtime_mvc/public/css/TableTools_JUI.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/add-show.css b/airtime_mvc/public/css/add-show.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/bootstrap-3.3.1.min.css b/airtime_mvc/public/css/bootstrap-3.3.1.min.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/bootstrap-datetimepicker.min.css b/airtime_mvc/public/css/bootstrap-datetimepicker.min.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/bootstrap.css b/airtime_mvc/public/css/bootstrap.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/colorpicker/css/colorpicker.css b/airtime_mvc/public/css/colorpicker/css/colorpicker.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/colorpicker/images/blank.gif b/airtime_mvc/public/css/colorpicker/images/blank.gif old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/colorpicker/images/colorpicker_background.png b/airtime_mvc/public/css/colorpicker/images/colorpicker_background.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/colorpicker/images/colorpicker_hex.png b/airtime_mvc/public/css/colorpicker/images/colorpicker_hex.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/colorpicker/images/colorpicker_hsb_b.png b/airtime_mvc/public/css/colorpicker/images/colorpicker_hsb_b.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/colorpicker/images/colorpicker_hsb_h.png b/airtime_mvc/public/css/colorpicker/images/colorpicker_hsb_h.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/colorpicker/images/colorpicker_hsb_s.png b/airtime_mvc/public/css/colorpicker/images/colorpicker_hsb_s.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/colorpicker/images/colorpicker_indic.gif b/airtime_mvc/public/css/colorpicker/images/colorpicker_indic.gif old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/colorpicker/images/colorpicker_overlay.png b/airtime_mvc/public/css/colorpicker/images/colorpicker_overlay.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/colorpicker/images/colorpicker_rgb_b.png b/airtime_mvc/public/css/colorpicker/images/colorpicker_rgb_b.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/colorpicker/images/colorpicker_rgb_g.png b/airtime_mvc/public/css/colorpicker/images/colorpicker_rgb_g.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/colorpicker/images/colorpicker_rgb_r.png b/airtime_mvc/public/css/colorpicker/images/colorpicker_rgb_r.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/colorpicker/images/colorpicker_select.gif b/airtime_mvc/public/css/colorpicker/images/colorpicker_select.gif old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/colorpicker/images/colorpicker_submit.png b/airtime_mvc/public/css/colorpicker/images/colorpicker_submit.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/colorpicker/images/custom_background.png b/airtime_mvc/public/css/colorpicker/images/custom_background.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/colorpicker/images/custom_hex.png b/airtime_mvc/public/css/colorpicker/images/custom_hex.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/colorpicker/images/custom_hsb_b.png b/airtime_mvc/public/css/colorpicker/images/custom_hsb_b.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/colorpicker/images/custom_hsb_h.png b/airtime_mvc/public/css/colorpicker/images/custom_hsb_h.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/colorpicker/images/custom_hsb_s.png b/airtime_mvc/public/css/colorpicker/images/custom_hsb_s.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/colorpicker/images/custom_indic.gif b/airtime_mvc/public/css/colorpicker/images/custom_indic.gif old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/colorpicker/images/custom_rgb_b.png b/airtime_mvc/public/css/colorpicker/images/custom_rgb_b.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/colorpicker/images/custom_rgb_g.png b/airtime_mvc/public/css/colorpicker/images/custom_rgb_g.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/colorpicker/images/custom_rgb_r.png b/airtime_mvc/public/css/colorpicker/images/custom_rgb_r.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/colorpicker/images/custom_submit.png b/airtime_mvc/public/css/colorpicker/images/custom_submit.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/colorpicker/images/select.png b/airtime_mvc/public/css/colorpicker/images/select.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/colorpicker/images/select2.png b/airtime_mvc/public/css/colorpicker/images/select2.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/colorpicker/images/slider.png b/airtime_mvc/public/css/colorpicker/images/slider.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/datatables/css/ColReorder.css b/airtime_mvc/public/css/datatables/css/ColReorder.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/datatables/css/ColVis.css b/airtime_mvc/public/css/datatables/css/ColVis.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/datatables/css/TableTools.css b/airtime_mvc/public/css/datatables/css/TableTools.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/datatables/css/jquery.dataTables.css b/airtime_mvc/public/css/datatables/css/jquery.dataTables.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/datatables/css/jquery.dataTables_themeroller.css b/airtime_mvc/public/css/datatables/css/jquery.dataTables_themeroller.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/datatables/images/Sorting icons.psd b/airtime_mvc/public/css/datatables/images/Sorting icons.psd old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/datatables/images/back_disabled.png b/airtime_mvc/public/css/datatables/images/back_disabled.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/datatables/images/back_enabled.png b/airtime_mvc/public/css/datatables/images/back_enabled.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/datatables/images/back_enabled_hover.png b/airtime_mvc/public/css/datatables/images/back_enabled_hover.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/datatables/images/favicon.ico b/airtime_mvc/public/css/datatables/images/favicon.ico old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/datatables/images/forward_disabled.png b/airtime_mvc/public/css/datatables/images/forward_disabled.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/datatables/images/forward_enabled.png b/airtime_mvc/public/css/datatables/images/forward_enabled.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/datatables/images/forward_enabled_hover.png b/airtime_mvc/public/css/datatables/images/forward_enabled_hover.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/datatables/images/sort_asc.png b/airtime_mvc/public/css/datatables/images/sort_asc.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/datatables/images/sort_asc_disabled.png b/airtime_mvc/public/css/datatables/images/sort_asc_disabled.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/datatables/images/sort_both.png b/airtime_mvc/public/css/datatables/images/sort_both.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/datatables/images/sort_desc.png b/airtime_mvc/public/css/datatables/images/sort_desc.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/datatables/images/sort_desc_disabled.png b/airtime_mvc/public/css/datatables/images/sort_desc_disabled.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/fullcalendar-old.css b/airtime_mvc/public/css/fullcalendar-old.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/fullcalendar.css b/airtime_mvc/public/css/fullcalendar.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/history_styles.css b/airtime_mvc/public/css/history_styles.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/404.png b/airtime_mvc/public/css/images/404.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/accept.png b/airtime_mvc/public/css/images/accept.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/airtime_logo.png b/airtime_mvc/public/css/images/airtime_logo.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/airtime_logo_big.png b/airtime_mvc/public/css/images/airtime_logo_big.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/airtime_logo_jp.png b/airtime_mvc/public/css/images/airtime_logo_jp.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/arrow.gif b/airtime_mvc/public/css/images/arrow.gif old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/arrow.png b/airtime_mvc/public/css/images/arrow.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/arrow_over.gif b/airtime_mvc/public/css/images/arrow_over.gif old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/arrow_over.png b/airtime_mvc/public/css/images/arrow_over.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/arrows_collapse.png b/airtime_mvc/public/css/images/arrows_collapse.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/big_gray_logo.png b/airtime_mvc/public/css/images/big_gray_logo.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/big_play_arrow.png b/airtime_mvc/public/css/images/big_play_arrow.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/crossfade_bg.png b/airtime_mvc/public/css/images/crossfade_bg.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/crossfade_main.png b/airtime_mvc/public/css/images/crossfade_main.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/crossfade_playlist.png b/airtime_mvc/public/css/images/crossfade_playlist.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/cue-editor_bg.png b/airtime_mvc/public/css/images/cue-editor_bg.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/cue_playlist.png b/airtime_mvc/public/css/images/cue_playlist.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/delete.png b/airtime_mvc/public/css/images/delete.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/down_arrow.png b/airtime_mvc/public/css/images/down_arrow.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/drag.png b/airtime_mvc/public/css/images/drag.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/fade_in.png b/airtime_mvc/public/css/images/fade_in.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/fade_out.png b/airtime_mvc/public/css/images/fade_out.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/file_import_loader.gif b/airtime_mvc/public/css/images/file_import_loader.gif old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/filetype_icons.png b/airtime_mvc/public/css/images/filetype_icons.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_add_content_cm.png b/airtime_mvc/public/css/images/icon_add_content_cm.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_add_playlist_cm.png b/airtime_mvc/public/css/images/icon_add_playlist_cm.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_alert_cal.png b/airtime_mvc/public/css/images/icon_alert_cal.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_alert_cal_alt.png b/airtime_mvc/public/css/images/icon_alert_cal_alt.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_alert_cal_alt2.png b/airtime_mvc/public/css/images/icon_alert_cal_alt2.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_alert_ffffff.png b/airtime_mvc/public/css/images/icon_alert_ffffff.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_audioclip.png b/airtime_mvc/public/css/images/icon_audioclip.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_copy.png b/airtime_mvc/public/css/images/icon_copy.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_copy_cm.png b/airtime_mvc/public/css/images/icon_copy_cm.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_cut.png b/airtime_mvc/public/css/images/icon_cut.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_cut_cm.png b/airtime_mvc/public/css/images/icon_cut_cm.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_delete.png b/airtime_mvc/public/css/images/icon_delete.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_delete_cm.png b/airtime_mvc/public/css/images/icon_delete_cm.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_door.png b/airtime_mvc/public/css/images/icon_door.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_door_cm.png b/airtime_mvc/public/css/images/icon_door_cm.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_download_cm.png b/airtime_mvc/public/css/images/icon_download_cm.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_edit.png b/airtime_mvc/public/css/images/icon_edit.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_edit_cm.png b/airtime_mvc/public/css/images/icon_edit_cm.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_edit_l.png b/airtime_mvc/public/css/images/icon_edit_l.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_finishedplaying_m.png b/airtime_mvc/public/css/images/icon_finishedplaying_m.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_info.png b/airtime_mvc/public/css/images/icon_info.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_link.png b/airtime_mvc/public/css/images/icon_link.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_nowplaying_m.png b/airtime_mvc/public/css/images/icon_nowplaying_m.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_nowplaying_n.png b/airtime_mvc/public/css/images/icon_nowplaying_n.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_outdated.png b/airtime_mvc/public/css/images/icon_outdated.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_overlap.png b/airtime_mvc/public/css/images/icon_overlap.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_overview_cm.png b/airtime_mvc/public/css/images/icon_overview_cm.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_paste.png b/airtime_mvc/public/css/images/icon_paste.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_paste_cm.png b/airtime_mvc/public/css/images/icon_paste_cm.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_play_cal.png b/airtime_mvc/public/css/images/icon_play_cal.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_play_cm.png b/airtime_mvc/public/css/images/icon_play_cm.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_playlist.png b/airtime_mvc/public/css/images/icon_playlist.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_rebroadcast.png b/airtime_mvc/public/css/images/icon_rebroadcast.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_rebroadcast_m.png b/airtime_mvc/public/css/images/icon_rebroadcast_m.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_record.png b/airtime_mvc/public/css/images/icon_record.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_record_m.png b/airtime_mvc/public/css/images/icon_record_m.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_remove_all_content_cm.png b/airtime_mvc/public/css/images/icon_remove_all_content_cm.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_select-cursor_cm.png b/airtime_mvc/public/css/images/icon_select-cursor_cm.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_smart-block.png b/airtime_mvc/public/css/images/icon_smart-block.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_soundcloud.png b/airtime_mvc/public/css/images/icon_soundcloud.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_soundcloud_cm.png b/airtime_mvc/public/css/images/icon_soundcloud_cm.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_soundcloud_error2.png b/airtime_mvc/public/css/images/icon_soundcloud_error2.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_soundcloud_m.png b/airtime_mvc/public/css/images/icon_soundcloud_m.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_update.png b/airtime_mvc/public/css/images/icon_update.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_update2.png b/airtime_mvc/public/css/images/icon_update2.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_uptodate.png b/airtime_mvc/public/css/images/icon_uptodate.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/icon_webstream.png b/airtime_mvc/public/css/images/icon_webstream.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/input_bg.png b/airtime_mvc/public/css/images/input_bg.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/input_with_calendar_bg.png b/airtime_mvc/public/css/images/input_with_calendar_bg.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/input_with_time_bg.png b/airtime_mvc/public/css/images/input_with_time_bg.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/is_playlist.png b/airtime_mvc/public/css/images/is_playlist.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/is_scheduled.png b/airtime_mvc/public/css/images/is_scheduled.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/loader-small.gif b/airtime_mvc/public/css/images/loader-small.gif old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/loader.gif b/airtime_mvc/public/css/images/loader.gif old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/login_content_bg.png b/airtime_mvc/public/css/images/login_content_bg.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/login_page_bg.png b/airtime_mvc/public/css/images/login_page_bg.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/masterpanel_bg.png b/airtime_mvc/public/css/images/masterpanel_bg.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/masterpanel_spacer.png b/airtime_mvc/public/css/images/masterpanel_spacer.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/menuitem.gif b/airtime_mvc/public/css/images/menuitem.gif old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/more.gif b/airtime_mvc/public/css/images/more.gif old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/on-off-air.png b/airtime_mvc/public/css/images/on-off-air.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/playinfo_bg.png b/airtime_mvc/public/css/images/playinfo_bg.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/progressbar_bg.png b/airtime_mvc/public/css/images/progressbar_bg.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/progressbar_show.png b/airtime_mvc/public/css/images/progressbar_show.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/progressbar_show_error.png b/airtime_mvc/public/css/images/progressbar_show_error.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/progressbar_song.png b/airtime_mvc/public/css/images/progressbar_song.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/record_icon.png b/airtime_mvc/public/css/images/record_icon.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/round_delete.png b/airtime_mvc/public/css/images/round_delete.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/schedule-show_progressbar_bg.png b/airtime_mvc/public/css/images/schedule-show_progressbar_bg.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/search_auto_bg.png b/airtime_mvc/public/css/images/search_auto_bg.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/sf_arror.png b/airtime_mvc/public/css/images/sf_arror.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/source-info_lines.png b/airtime_mvc/public/css/images/source-info_lines.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/source_to_switch_lines.png b/airtime_mvc/public/css/images/source_to_switch_lines.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/stream_status.png b/airtime_mvc/public/css/images/stream_status.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/thin_delete.png b/airtime_mvc/public/css/images/thin_delete.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/three_0a.png b/airtime_mvc/public/css/images/three_0a.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/tl-arrow.png b/airtime_mvc/public/css/images/tl-arrow.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/tooltip_arrow.png b/airtime_mvc/public/css/images/tooltip_arrow.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/upload-icon.gif b/airtime_mvc/public/css/images/upload-icon.gif old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/images/warning-icon.png b/airtime_mvc/public/css/images/warning-icon.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/img/backgrounds.gif b/airtime_mvc/public/css/img/backgrounds.gif old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/img/buttons-disabled.png b/airtime_mvc/public/css/img/buttons-disabled.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/img/buttons.png b/airtime_mvc/public/css/img/buttons.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/img/delete.gif b/airtime_mvc/public/css/img/delete.gif old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/img/desktop.png b/airtime_mvc/public/css/img/desktop.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/img/documents.png b/airtime_mvc/public/css/img/documents.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/img/done.gif b/airtime_mvc/public/css/img/done.gif old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/img/error.gif b/airtime_mvc/public/css/img/error.gif old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/img/folder.png b/airtime_mvc/public/css/img/folder.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/img/glyphicons-halflings-white.png b/airtime_mvc/public/css/img/glyphicons-halflings-white.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/img/glyphicons-halflings.png b/airtime_mvc/public/css/img/glyphicons-halflings.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/img/icon_cut_white.png b/airtime_mvc/public/css/img/icon_cut_white.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/img/loading.gif b/airtime_mvc/public/css/img/loading.gif old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/img/throbber.gif b/airtime_mvc/public/css/img/throbber.gif old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/img/transp50.png b/airtime_mvc/public/css/img/transp50.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/img/unknown.png b/airtime_mvc/public/css/img/unknown.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/jquery-ui-timepicker-addon.css b/airtime_mvc/public/css/jquery-ui-timepicker-addon.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/jquery.contextMenu.css b/airtime_mvc/public/css/jquery.contextMenu.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/jquery.ui.timepicker.css b/airtime_mvc/public/css/jquery.ui.timepicker.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/library_search.css b/airtime_mvc/public/css/library_search.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/masterpanel.css b/airtime_mvc/public/css/masterpanel.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/media_library.css b/airtime_mvc/public/css/media_library.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/playlist_builder.css b/airtime_mvc/public/css/playlist_builder.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/playouthistory.css b/airtime_mvc/public/css/playouthistory.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/plupload.queue.css b/airtime_mvc/public/css/plupload.queue.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/pro_dropdown_3.css b/airtime_mvc/public/css/pro_dropdown_3.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/qtip/jquery.qtip.css b/airtime_mvc/public/css/qtip/jquery.qtip.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/qtip/jquery.qtip.min.css b/airtime_mvc/public/css/qtip/jquery.qtip.min.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_default_aaaaaa.png b/airtime_mvc/public/css/redmond/images/ui-bg_default_aaaaaa.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_flat_0_6c6c6c_40x100.png b/airtime_mvc/public/css/redmond/images/ui-bg_flat_0_6c6c6c_40x100.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_flat_0_9d9d9d_40x100.png b/airtime_mvc/public/css/redmond/images/ui-bg_flat_0_9d9d9d_40x100.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png b/airtime_mvc/public/css/redmond/images/ui-bg_flat_0_aaaaaa_40x100.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_flat_55_eff6eb_40x100.png b/airtime_mvc/public/css/redmond/images/ui-bg_flat_55_eff6eb_40x100.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_flat_55_fae5e5_40x100.png b/airtime_mvc/public/css/redmond/images/ui-bg_flat_55_fae5e5_40x100.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_flat_55_fbec88_40x100.png b/airtime_mvc/public/css/redmond/images/ui-bg_flat_55_fbec88_40x100.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_flat_65_ffffff_40x100.png b/airtime_mvc/public/css/redmond/images/ui-bg_flat_65_ffffff_40x100.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_flat_75_ffffff_40x100.png b/airtime_mvc/public/css/redmond/images/ui-bg_flat_75_ffffff_40x100.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png b/airtime_mvc/public/css/redmond/images/ui-bg_glass_75_d0e5f5_1x400.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_glass_85_dfeffc_1x400.png b/airtime_mvc/public/css/redmond/images/ui-bg_glass_85_dfeffc_1x400.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_glass_95_fef1ec_1x400.png b/airtime_mvc/public/css/redmond/images/ui-bg_glass_95_fef1ec_1x400.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png b/airtime_mvc/public/css/redmond/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_highlight-soft_100_f6f6f6_1x100.png b/airtime_mvc/public/css/redmond/images/ui-bg_highlight-soft_100_f6f6f6_1x100.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_highlight-soft_25_007fb3_1x100.png b/airtime_mvc/public/css/redmond/images/ui-bg_highlight-soft_25_007fb3_1x100.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_highlight-soft_50_ebebeb_1x100.png b/airtime_mvc/public/css/redmond/images/ui-bg_highlight-soft_50_ebebeb_1x100.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_highlight.png b/airtime_mvc/public/css/redmond/images/ui-bg_highlight.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png b/airtime_mvc/public/css/redmond/images/ui-bg_inset-hard_100_f5f8f9_1x100.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png b/airtime_mvc/public/css/redmond/images/ui-bg_inset-hard_100_fcfdfd_1x100.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-icons_007fb3_256x240.png b/airtime_mvc/public/css/redmond/images/ui-icons_007fb3_256x240.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-icons_217bc0_256x240.png b/airtime_mvc/public/css/redmond/images/ui-icons_217bc0_256x240.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-icons_2e83ff_256x240.png b/airtime_mvc/public/css/redmond/images/ui-icons_2e83ff_256x240.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-icons_454545_256x240.png b/airtime_mvc/public/css/redmond/images/ui-icons_454545_256x240.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-icons_469bdd_256x240.png b/airtime_mvc/public/css/redmond/images/ui-icons_469bdd_256x240.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-icons_65a539_256x240.png b/airtime_mvc/public/css/redmond/images/ui-icons_65a539_256x240.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-icons_666666_256x240.png b/airtime_mvc/public/css/redmond/images/ui-icons_666666_256x240.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-icons_6da8d5_256x240.png b/airtime_mvc/public/css/redmond/images/ui-icons_6da8d5_256x240.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-icons_cd0a0a_256x240.png b/airtime_mvc/public/css/redmond/images/ui-icons_cd0a0a_256x240.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-icons_d00000_256x240.png b/airtime_mvc/public/css/redmond/images/ui-icons_d00000_256x240.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-icons_d8e7f3_256x240.png b/airtime_mvc/public/css/redmond/images/ui-icons_d8e7f3_256x240.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-icons_f9bd01_256x240.png b/airtime_mvc/public/css/redmond/images/ui-icons_f9bd01_256x240.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-icons_ff0084_256x240.png b/airtime_mvc/public/css/redmond/images/ui-icons_ff0084_256x240.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-icons_ff5d1a_256x240.png b/airtime_mvc/public/css/redmond/images/ui-icons_ff5d1a_256x240.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/images/ui-icons_ffffff_256x240.png b/airtime_mvc/public/css/redmond/images/ui-icons_ffffff_256x240.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/jquery-ui-1.8.8.custom.css b/airtime_mvc/public/css/redmond/jquery-ui-1.8.8.custom.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/redmond/jquery-ui-1.8.8.custom/jquery-ui-1.8.8.custom.css b/airtime_mvc/public/css/redmond/jquery-ui-1.8.8.custom/jquery-ui-1.8.8.custom.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/setup/config-check.css b/airtime_mvc/public/css/setup/config-check.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/setup/setup-config.css b/airtime_mvc/public/css/setup/setup-config.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/showbuilder.css b/airtime_mvc/public/css/showbuilder.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/styles.css b/airtime_mvc/public/css/styles.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/tipsy/jquery.tipsy.css b/airtime_mvc/public/css/tipsy/jquery.tipsy.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/users.css b/airtime_mvc/public/css/users.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/css/waveform.css b/airtime_mvc/public/css/waveform.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/favicon.ico b/airtime_mvc/public/favicon.ico old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/fonts/glyphicons-halflings-regular.eot b/airtime_mvc/public/fonts/glyphicons-halflings-regular.eot old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/fonts/glyphicons-halflings-regular.svg b/airtime_mvc/public/fonts/glyphicons-halflings-regular.svg old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/fonts/glyphicons-halflings-regular.ttf b/airtime_mvc/public/fonts/glyphicons-halflings-regular.ttf old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/fonts/glyphicons-halflings-regular.woff b/airtime_mvc/public/fonts/glyphicons-halflings-regular.woff old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/images/datatables/Sorting icons.psd b/airtime_mvc/public/images/datatables/Sorting icons.psd old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/images/datatables/back_disabled.jpg b/airtime_mvc/public/images/datatables/back_disabled.jpg old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/images/datatables/back_enabled.jpg b/airtime_mvc/public/images/datatables/back_enabled.jpg old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/images/datatables/favicon.ico b/airtime_mvc/public/images/datatables/favicon.ico old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/images/datatables/forward_disabled.jpg b/airtime_mvc/public/images/datatables/forward_disabled.jpg old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/images/datatables/forward_enabled.jpg b/airtime_mvc/public/images/datatables/forward_enabled.jpg old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/images/datatables/sort_asc.png b/airtime_mvc/public/images/datatables/sort_asc.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/images/datatables/sort_asc_disabled.png b/airtime_mvc/public/images/datatables/sort_asc_disabled.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/images/datatables/sort_both.png b/airtime_mvc/public/images/datatables/sort_both.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/images/datatables/sort_desc.png b/airtime_mvc/public/images/datatables/sort_desc.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/images/datatables/sort_desc_disabled.png b/airtime_mvc/public/images/datatables/sort_desc_disabled.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/index.php b/airtime_mvc/public/index.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/install/clearstatcache.php b/airtime_mvc/public/install/clearstatcache.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/airtime_bootstrap.js b/airtime_mvc/public/js/airtime/airtime_bootstrap.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/audiopreview/preview_jplayer.js b/airtime_mvc/public/js/airtime/audiopreview/preview_jplayer.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/buttons/buttons.js b/airtime_mvc/public/js/airtime/buttons/buttons.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/common/audioplaytest.js b/airtime_mvc/public/js/airtime/common/audioplaytest.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/common/common.js b/airtime_mvc/public/js/airtime/common/common.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/dashboard/dashboard.js b/airtime_mvc/public/js/airtime/dashboard/dashboard.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/dashboard/helperfunctions.js b/airtime_mvc/public/js/airtime/dashboard/helperfunctions.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/dashboard/versiontooltip.js b/airtime_mvc/public/js/airtime/dashboard/versiontooltip.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/library/events/library_playlistbuilder.js b/airtime_mvc/public/js/airtime/library/events/library_playlistbuilder.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/library/events/library_showbuilder.js b/airtime_mvc/public/js/airtime/library/events/library_showbuilder.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/library/library.js b/airtime_mvc/public/js/airtime/library/library.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/library/plupload.js b/airtime_mvc/public/js/airtime/library/plupload.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/library/spl.js b/airtime_mvc/public/js/airtime/library/spl.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/listenerstat/listenerstat.js b/airtime_mvc/public/js/airtime/listenerstat/listenerstat.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/login/login.js b/airtime_mvc/public/js/airtime/login/login.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/login/password-restore.js b/airtime_mvc/public/js/airtime/login/password-restore.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/nowplaying/dayview.js b/airtime_mvc/public/js/airtime/nowplaying/dayview.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/nowplaying/nowview.js b/airtime_mvc/public/js/airtime/nowplaying/nowview.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/nowplaying/register.js b/airtime_mvc/public/js/airtime/nowplaying/register.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/playlist/smart_blockbuilder.js b/airtime_mvc/public/js/airtime/playlist/smart_blockbuilder.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/playouthistory/configuretemplate.js b/airtime_mvc/public/js/airtime/playouthistory/configuretemplate.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/playouthistory/historytable.js b/airtime_mvc/public/js/airtime/playouthistory/historytable.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/playouthistory/template.js b/airtime_mvc/public/js/airtime/playouthistory/template.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/preferences/musicdirs.js b/airtime_mvc/public/js/airtime/preferences/musicdirs.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/preferences/preferences.js b/airtime_mvc/public/js/airtime/preferences/preferences.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/preferences/streamsetting.js b/airtime_mvc/public/js/airtime/preferences/streamsetting.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/preferences/support-setting.js b/airtime_mvc/public/js/airtime/preferences/support-setting.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/schedule/add-show.js b/airtime_mvc/public/js/airtime/schedule/add-show.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/schedule/full-calendar-functions.js b/airtime_mvc/public/js/airtime/schedule/full-calendar-functions.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/schedule/schedule.js b/airtime_mvc/public/js/airtime/schedule/schedule.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/showbuilder/builder.js b/airtime_mvc/public/js/airtime/showbuilder/builder.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/showbuilder/main_builder.js b/airtime_mvc/public/js/airtime/showbuilder/main_builder.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/status/status.js b/airtime_mvc/public/js/airtime/status/status.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/user/user.js b/airtime_mvc/public/js/airtime/user/user.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/airtime/utilities/utilities.js b/airtime_mvc/public/js/airtime/utilities/utilities.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/blockui/jquery.blockUI.js b/airtime_mvc/public/js/blockui/jquery.blockUI.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/bootstrap-datetime/bootstrap-datetimepicker.js b/airtime_mvc/public/js/bootstrap-datetime/bootstrap-datetimepicker.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/bootstrap/bootstrap.js b/airtime_mvc/public/js/bootstrap/bootstrap.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/bootstrap/bootstrap.min.js b/airtime_mvc/public/js/bootstrap/bootstrap.min.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/colorpicker/js/colorpicker.js b/airtime_mvc/public/js/colorpicker/js/colorpicker.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/contextmenu/AIRTIME_DEV_README b/airtime_mvc/public/js/contextmenu/AIRTIME_DEV_README old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/contextmenu/jquery.contextMenu.js b/airtime_mvc/public/js/contextmenu/jquery.contextMenu.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/cookie/jquery.cookie.js b/airtime_mvc/public/js/cookie/jquery.cookie.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/i18n/cs_CZ.txt b/airtime_mvc/public/js/datatables/i18n/cs_CZ.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/i18n/de_AT.txt b/airtime_mvc/public/js/datatables/i18n/de_AT.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/i18n/de_DE.txt b/airtime_mvc/public/js/datatables/i18n/de_DE.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/i18n/el_GR.txt b/airtime_mvc/public/js/datatables/i18n/el_GR.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/i18n/en_CA.txt b/airtime_mvc/public/js/datatables/i18n/en_CA.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/i18n/en_GB.txt b/airtime_mvc/public/js/datatables/i18n/en_GB.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/i18n/en_US.txt b/airtime_mvc/public/js/datatables/i18n/en_US.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/i18n/es_ES.txt b/airtime_mvc/public/js/datatables/i18n/es_ES.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/i18n/fr_FR.txt b/airtime_mvc/public/js/datatables/i18n/fr_FR.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/i18n/hr_HR.txt b/airtime_mvc/public/js/datatables/i18n/hr_HR.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/i18n/hu_HU.txt b/airtime_mvc/public/js/datatables/i18n/hu_HU.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/i18n/it_IT.txt b/airtime_mvc/public/js/datatables/i18n/it_IT.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/i18n/ja.txt b/airtime_mvc/public/js/datatables/i18n/ja.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/i18n/ja_JP.txt b/airtime_mvc/public/js/datatables/i18n/ja_JP.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/i18n/ko_KR.txt b/airtime_mvc/public/js/datatables/i18n/ko_KR.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/i18n/pl_PL.txt b/airtime_mvc/public/js/datatables/i18n/pl_PL.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/i18n/pt_BR.txt b/airtime_mvc/public/js/datatables/i18n/pt_BR.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/i18n/ru_RU.txt b/airtime_mvc/public/js/datatables/i18n/ru_RU.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/i18n/sr_RS.txt b/airtime_mvc/public/js/datatables/i18n/sr_RS.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/i18n/sr_RS@latin.txt b/airtime_mvc/public/js/datatables/i18n/sr_RS@latin.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/i18n/zh_CN.txt b/airtime_mvc/public/js/datatables/i18n/zh_CN.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/js/jquery.dataTables.js b/airtime_mvc/public/js/datatables/js/jquery.dataTables.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/AIRTIME_DEV_README_COLUMN_FILTER b/airtime_mvc/public/js/datatables/plugin/AIRTIME_DEV_README_COLUMN_FILTER old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/AIRTIME_DEV_README_COL_VIS b/airtime_mvc/public/js/datatables/plugin/AIRTIME_DEV_README_COL_VIS old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/as3/ZeroClipboard.as b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/as3/ZeroClipboard.as old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/as3/ZeroClipboardPdf.as b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/as3/ZeroClipboardPdf.as old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/as3/lib/AlivePDF.swc b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/as3/lib/AlivePDF.swc old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/css/TableTools.css b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/css/TableTools.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/css/TableTools_JUI.css b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/css/TableTools_JUI.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/background.png b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/background.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/collection.png b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/collection.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/collection_hover.png b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/collection_hover.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/copy.png b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/copy.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/copy_hover.png b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/copy_hover.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/csv.png b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/csv.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/csv_hover.png b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/csv_hover.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/pdf.png b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/pdf.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/pdf_hover.png b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/pdf_hover.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/print.png b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/print.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/print_hover.png b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/print_hover.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/psd/collection.psd b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/psd/collection.psd old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/psd/copy document.psd b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/psd/copy document.psd old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/psd/file_types.psd b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/psd/file_types.psd old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/psd/printer.psd b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/psd/printer.psd old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/xls.png b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/xls.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/xls_hover.png b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/images/xls_hover.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/js/TableTools.js b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/js/TableTools.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/js/TableTools.min.js b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/js/TableTools.min.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/js/TableTools.min.js.gz b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/js/TableTools.min.js.gz old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/js/ZeroClipboard.js b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/js/ZeroClipboard.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/swf/copy_csv_xls.swf b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/swf/copy_csv_xls.swf old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/swf/copy_csv_xls_pdf.swf b/airtime_mvc/public/js/datatables/plugin/TableTools-2.1.5/swf/copy_csv_xls_pdf.swf old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/dataTables.ColReorder.js b/airtime_mvc/public/js/datatables/plugin/dataTables.ColReorder.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/dataTables.ColVis.js b/airtime_mvc/public/js/datatables/plugin/dataTables.ColVis.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/dataTables.ColVis_orig.js b/airtime_mvc/public/js/datatables/plugin/dataTables.ColVis_orig.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/dataTables.FixedColumns.js b/airtime_mvc/public/js/datatables/plugin/dataTables.FixedColumns.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/dataTables.FixedHeader.js b/airtime_mvc/public/js/datatables/plugin/dataTables.FixedHeader.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/dataTables.columnFilter.js b/airtime_mvc/public/js/datatables/plugin/dataTables.columnFilter.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/dataTables.columnFilter_orig.js b/airtime_mvc/public/js/datatables/plugin/dataTables.columnFilter_orig.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/dataTables.fnSetFilteringDelay.js b/airtime_mvc/public/js/datatables/plugin/dataTables.fnSetFilteringDelay.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/datatables/plugin/dataTables.pluginAPI.js b/airtime_mvc/public/js/datatables/plugin/dataTables.pluginAPI.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/flot/API.txt b/airtime_mvc/public/js/flot/API.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/flot/FAQ.txt b/airtime_mvc/public/js/flot/FAQ.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/flot/Makefile b/airtime_mvc/public/js/flot/Makefile old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/flot/NEWS.txt b/airtime_mvc/public/js/flot/NEWS.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/flot/PLUGINS.txt b/airtime_mvc/public/js/flot/PLUGINS.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/flot/README.txt b/airtime_mvc/public/js/flot/README.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/flot/excanvas.js b/airtime_mvc/public/js/flot/excanvas.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/flot/excanvas.min.js b/airtime_mvc/public/js/flot/excanvas.min.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/flot/jquery.colorhelpers.js b/airtime_mvc/public/js/flot/jquery.colorhelpers.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/flot/jquery.flot.crosshair.js b/airtime_mvc/public/js/flot/jquery.flot.crosshair.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/flot/jquery.flot.fillbetween.js b/airtime_mvc/public/js/flot/jquery.flot.fillbetween.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/flot/jquery.flot.image.js b/airtime_mvc/public/js/flot/jquery.flot.image.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/flot/jquery.flot.js b/airtime_mvc/public/js/flot/jquery.flot.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/flot/jquery.flot.navigate.js b/airtime_mvc/public/js/flot/jquery.flot.navigate.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/flot/jquery.flot.pie.js b/airtime_mvc/public/js/flot/jquery.flot.pie.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/flot/jquery.flot.resize.js b/airtime_mvc/public/js/flot/jquery.flot.resize.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/flot/jquery.flot.selection.js b/airtime_mvc/public/js/flot/jquery.flot.selection.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/flot/jquery.flot.stack.js b/airtime_mvc/public/js/flot/jquery.flot.stack.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/flot/jquery.flot.symbol.js b/airtime_mvc/public/js/flot/jquery.flot.symbol.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/flot/jquery.flot.threshold.js b/airtime_mvc/public/js/flot/jquery.flot.threshold.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/fullcalendar/AIRTIME_DEV_README b/airtime_mvc/public/js/fullcalendar/AIRTIME_DEV_README old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/fullcalendar/fullcalendar.js b/airtime_mvc/public/js/fullcalendar/fullcalendar.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/fullcalendar/fullcalendar.orig.js b/airtime_mvc/public/js/fullcalendar/fullcalendar.orig.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/i18n/jquery.i18n.js b/airtime_mvc/public/js/i18n/jquery.i18n.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/jplayer/Jplayer.swf b/airtime_mvc/public/js/jplayer/Jplayer.swf old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/jplayer/jplayer.playlist.min.js b/airtime_mvc/public/js/jplayer/jplayer.playlist.min.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/jplayer/jquery.jplayer.inspector.js b/airtime_mvc/public/js/jplayer/jquery.jplayer.inspector.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/jplayer/jquery.jplayer.min.js b/airtime_mvc/public/js/jplayer/jquery.jplayer.min.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/jplayer/popcorn/popcorn.jplayer.js b/airtime_mvc/public/js/jplayer/popcorn/popcorn.jplayer.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/jplayer/skin/jplayer-mute-unmute.png b/airtime_mvc/public/js/jplayer/skin/jplayer-mute-unmute.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/jplayer/skin/jplayer.airtime.audio.preview.css b/airtime_mvc/public/js/jplayer/skin/jplayer.airtime.audio.preview.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/jplayer/skin/jplayer.audio-preview.blue.monday.css b/airtime_mvc/public/js/jplayer/skin/jplayer.audio-preview.blue.monday.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/jplayer/skin/jplayer.blue.monday.css b/airtime_mvc/public/js/jplayer/skin/jplayer.blue.monday.css old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/jplayer/skin/jplayer.blue.monday.jpg b/airtime_mvc/public/js/jplayer/skin/jplayer.blue.monday.jpg old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/jplayer/skin/jplayer.blue.monday.seeking.gif b/airtime_mvc/public/js/jplayer/skin/jplayer.blue.monday.seeking.gif old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/jplayer/skin/jplayer.png b/airtime_mvc/public/js/jplayer/skin/jplayer.png old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/jplayer/skin/pbar-ani.gif b/airtime_mvc/public/js/jplayer/skin/pbar-ani.gif old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/libs/google-analytics.js b/airtime_mvc/public/js/libs/google-analytics.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/libs/jquery-1.10.2.js b/airtime_mvc/public/js/libs/jquery-1.10.2.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/libs/jquery-1.7.2.min.js b/airtime_mvc/public/js/libs/jquery-1.7.2.min.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/libs/jquery-1.8.3.min.js b/airtime_mvc/public/js/libs/jquery-1.8.3.min.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/libs/jquery-migrate-1.2.1.js b/airtime_mvc/public/js/libs/jquery-migrate-1.2.1.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/libs/jquery-ui-1.8.18.custom.min.js b/airtime_mvc/public/js/libs/jquery-ui-1.8.18.custom.min.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/libs/jquery-ui-1.8.24.min.js b/airtime_mvc/public/js/libs/jquery-ui-1.8.24.min.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/libs/jquery.stickyPanel.js b/airtime_mvc/public/js/libs/jquery.stickyPanel.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/libs/underscore-min.js b/airtime_mvc/public/js/libs/underscore-min.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/plupload/i18n/cs_CZ.js b/airtime_mvc/public/js/plupload/i18n/cs_CZ.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/plupload/i18n/de_AT.js b/airtime_mvc/public/js/plupload/i18n/de_AT.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/plupload/i18n/de_DE.js b/airtime_mvc/public/js/plupload/i18n/de_DE.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/plupload/i18n/el_GR.js b/airtime_mvc/public/js/plupload/i18n/el_GR.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/plupload/i18n/en_CA.js b/airtime_mvc/public/js/plupload/i18n/en_CA.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/plupload/i18n/en_GB.js b/airtime_mvc/public/js/plupload/i18n/en_GB.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/plupload/i18n/en_US.js b/airtime_mvc/public/js/plupload/i18n/en_US.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/plupload/i18n/es_ES.js b/airtime_mvc/public/js/plupload/i18n/es_ES.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/plupload/i18n/fr_FR.js b/airtime_mvc/public/js/plupload/i18n/fr_FR.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/plupload/i18n/hr_HR.js b/airtime_mvc/public/js/plupload/i18n/hr_HR.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/plupload/i18n/hu_HU.js b/airtime_mvc/public/js/plupload/i18n/hu_HU.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/plupload/i18n/it_IT.js b/airtime_mvc/public/js/plupload/i18n/it_IT.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/plupload/i18n/ja_JP.js b/airtime_mvc/public/js/plupload/i18n/ja_JP.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/plupload/i18n/ko_KR.js b/airtime_mvc/public/js/plupload/i18n/ko_KR.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/plupload/i18n/pl_PL.js b/airtime_mvc/public/js/plupload/i18n/pl_PL.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/plupload/i18n/pt_BR.js b/airtime_mvc/public/js/plupload/i18n/pt_BR.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/plupload/i18n/ru_RU.js b/airtime_mvc/public/js/plupload/i18n/ru_RU.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/plupload/i18n/sr_RS.js b/airtime_mvc/public/js/plupload/i18n/sr_RS.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/plupload/i18n/sr_RS@latin.js b/airtime_mvc/public/js/plupload/i18n/sr_RS@latin.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/plupload/i18n/zh_CN.js b/airtime_mvc/public/js/plupload/i18n/zh_CN.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/plupload/jquery.plupload.queue.min.js b/airtime_mvc/public/js/plupload/jquery.plupload.queue.min.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/plupload/plupload.full.min.js b/airtime_mvc/public/js/plupload/plupload.full.min.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/qtip/jquery.qtip.js b/airtime_mvc/public/js/qtip/jquery.qtip.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/qtip/jquery.qtip.min.js b/airtime_mvc/public/js/qtip/jquery.qtip.min.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/serverbrowse/AIRTIME_DEV_README b/airtime_mvc/public/js/serverbrowse/AIRTIME_DEV_README old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/serverbrowse/serverbrowser.js b/airtime_mvc/public/js/serverbrowse/serverbrowser.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/serverbrowse/serverbrowser_orig.js b/airtime_mvc/public/js/serverbrowse/serverbrowser_orig.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/setup/setup-config.js b/airtime_mvc/public/js/setup/setup-config.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/sprintf/sprintf-0.7-beta1.js b/airtime_mvc/public/js/sprintf/sprintf-0.7-beta1.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/timepicker/jquery-ui-timepicker-addon.js b/airtime_mvc/public/js/timepicker/jquery-ui-timepicker-addon.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/timepicker/jquery.ui.timepicker.js b/airtime_mvc/public/js/timepicker/jquery.ui.timepicker.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/tipsy/AIRTIME_DEV_README b/airtime_mvc/public/js/tipsy/AIRTIME_DEV_README old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/tipsy/jquery.tipsy.js b/airtime_mvc/public/js/tipsy/jquery.tipsy.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/tipsy/jquery.tipsy_orig.js b/airtime_mvc/public/js/tipsy/jquery.tipsy_orig.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/waveformplaylist/config.js b/airtime_mvc/public/js/waveformplaylist/config.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/waveformplaylist/controls.js b/airtime_mvc/public/js/waveformplaylist/controls.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/waveformplaylist/curves.js b/airtime_mvc/public/js/waveformplaylist/curves.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/waveformplaylist/fades.js b/airtime_mvc/public/js/waveformplaylist/fades.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/waveformplaylist/loader.js b/airtime_mvc/public/js/waveformplaylist/loader.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/waveformplaylist/local_storage.js b/airtime_mvc/public/js/waveformplaylist/local_storage.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/waveformplaylist/observer/observer.js b/airtime_mvc/public/js/waveformplaylist/observer/observer.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/waveformplaylist/observer/observer.js~ b/airtime_mvc/public/js/waveformplaylist/observer/observer.js~ old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/waveformplaylist/playlist.js b/airtime_mvc/public/js/waveformplaylist/playlist.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/waveformplaylist/playout.js b/airtime_mvc/public/js/waveformplaylist/playout.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/waveformplaylist/templates/bottombar.tpl b/airtime_mvc/public/js/waveformplaylist/templates/bottombar.tpl old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/waveformplaylist/templates/bottombar.tpl~ b/airtime_mvc/public/js/waveformplaylist/templates/bottombar.tpl~ old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/waveformplaylist/time_scale.js b/airtime_mvc/public/js/waveformplaylist/time_scale.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/waveformplaylist/track.js b/airtime_mvc/public/js/waveformplaylist/track.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/js/waveformplaylist/track_render.js b/airtime_mvc/public/js/waveformplaylist/track_render.js old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/robots.txt b/airtime_mvc/public/robots.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/setup/database-setup.php b/airtime_mvc/public/setup/database-setup.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/setup/general-setup.php b/airtime_mvc/public/setup/general-setup.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/setup/media-setup.php b/airtime_mvc/public/setup/media-setup.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/setup/rabbitmq-setup.php b/airtime_mvc/public/setup/rabbitmq-setup.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/public/setup/setup-functions.php b/airtime_mvc/public/setup/setup-functions.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/README.txt b/airtime_mvc/tests/README.txt old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/airtime.conf b/airtime_mvc/tests/airtime.conf old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/bootstrap.php b/airtime_mvc/tests/application/bootstrap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/helpers/TestHelper.php b/airtime_mvc/tests/application/helpers/TestHelper.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/models/database/ScheduleDbTest.php b/airtime_mvc/tests/application/models/database/ScheduleDbTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/models/database/datasets/seed_schedule.xml b/airtime_mvc/tests/application/models/database/datasets/seed_schedule.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/models/database/datasets/test_checkOverlappingShows.xml b/airtime_mvc/tests/application/models/database/datasets/test_checkOverlappingShows.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/models/unit/PreferenceUnitTest.php b/airtime_mvc/tests/application/models/unit/PreferenceUnitTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/models/unit/ScheduleUnitTest.php b/airtime_mvc/tests/application/models/unit/ScheduleUnitTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/services/database/ShowServiceDbTest.php b/airtime_mvc/tests/application/services/database/ShowServiceDbTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/services/database/datasets/seed_show_service.xml b/airtime_mvc/tests/application/services/database/datasets/seed_show_service.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_ccShowInsertedIntoDatabase.xml b/airtime_mvc/tests/application/services/database/datasets/test_ccShowInsertedIntoDatabase.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_changeRepeatDayUpdatesScheduleCorrectly.xml b/airtime_mvc/tests/application/services/database/datasets/test_changeRepeatDayUpdatesScheduleCorrectly.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_createBiWeeklyRepeatNoEndNoRRShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_createBiWeeklyRepeatNoEndNoRRShow.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_createLinkedShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_createLinkedShow.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_createMonthlyMonthlyRepeatNoEndNoRRShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_createMonthlyMonthlyRepeatNoEndNoRRShow.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_createMonthlyWeeklyRepeatNoEndNoRRShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_createMonthlyWeeklyRepeatNoEndNoRRShow.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_createNoRepeatNoRRShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_createNoRepeatNoRRShow.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_createNoRepeatRRShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_createNoRepeatRRShow.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_createQuadWeeklyRepeatNoEndNoRRShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_createQuadWeeklyRepeatNoEndNoRRShow.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_createTriWeeklyRepeatNoEndNoRRShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_createTriWeeklyRepeatNoEndNoRRShow.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_createWeeklyRepeatNoEndNoRRShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_createWeeklyRepeatNoEndNoRRShow.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_createWeeklyRepeatRRShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_createWeeklyRepeatRRShow.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_deleteRepeatingShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_deleteRepeatingShow.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_deleteShowInstance.xml b/airtime_mvc/tests/application/services/database/datasets/test_deleteShowInstance.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_deleteShowInstanceAndAllFollowing.xml b/airtime_mvc/tests/application/services/database/datasets/test_deleteShowInstanceAndAllFollowing.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_editRepeatingShowChangeNoEndOption.xml b/airtime_mvc/tests/application/services/database/datasets/test_editRepeatingShowChangeNoEndOption.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_editRepeatingShowInstance.xml b/airtime_mvc/tests/application/services/database/datasets/test_editRepeatingShowInstance.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_removeFirstRepeatShowDayUpdatesScheduleCorrectly.xml b/airtime_mvc/tests/application/services/database/datasets/test_removeFirstRepeatShowDayUpdatesScheduleCorrectly.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_repeatShowCreationWhenUserMovesForwardInCalendar.xml b/airtime_mvc/tests/application/services/database/datasets/test_repeatShowCreationWhenUserMovesForwardInCalendar.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_unlinkLinkedShow.xml b/airtime_mvc/tests/application/services/database/datasets/test_unlinkLinkedShow.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_weeklyToBiWeekly.xml b/airtime_mvc/tests/application/services/database/datasets/test_weeklyToBiWeekly.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/services/database/datasets/test_weeklyToNoRepeat.xml b/airtime_mvc/tests/application/services/database/datasets/test_weeklyToNoRepeat.xml old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/services/unit/ShowServiceUnitTest.php b/airtime_mvc/tests/application/services/unit/ShowServiceUnitTest.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/application/testdata/ShowServiceData.php b/airtime_mvc/tests/application/testdata/ShowServiceData.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/library/bootstrap.php b/airtime_mvc/tests/library/bootstrap.php old mode 100755 new mode 100644 diff --git a/airtime_mvc/tests/phpunit.xml b/airtime_mvc/tests/phpunit.xml old mode 100755 new mode 100644 diff --git a/changelog b/changelog old mode 100755 new mode 100644 diff --git a/debian/changelog b/debian/changelog old mode 100755 new mode 100644 diff --git a/debian/compat b/debian/compat old mode 100755 new mode 100644 diff --git a/debian/config b/debian/config old mode 100755 new mode 100644 diff --git a/debian/control b/debian/control old mode 100755 new mode 100644 diff --git a/debian/copyright b/debian/copyright old mode 100755 new mode 100644 diff --git a/debian/docs b/debian/docs old mode 100755 new mode 100644 diff --git a/debian/etc/airtime.ini b/debian/etc/airtime.ini old mode 100755 new mode 100644 diff --git a/debian/etc/apache.conf b/debian/etc/apache.conf old mode 100755 new mode 100644 diff --git a/debian/etc/apache.vhost.tpl b/debian/etc/apache.vhost.tpl old mode 100755 new mode 100644 diff --git a/debian/gbp.conf b/debian/gbp.conf old mode 100755 new mode 100644 diff --git a/debian/install b/debian/install old mode 100755 new mode 100644 diff --git a/debian/po/POTFILES.in b/debian/po/POTFILES.in old mode 100755 new mode 100644 diff --git a/debian/po/templates.pot b/debian/po/templates.pot old mode 100755 new mode 100644 diff --git a/debian/source/format b/debian/source/format old mode 100755 new mode 100644 diff --git a/debian/source/include-binaries b/debian/source/include-binaries old mode 100755 new mode 100644 diff --git a/debian/templates b/debian/templates old mode 100755 new mode 100644 diff --git a/debian/usr/share/applications/airtime.desktop b/debian/usr/share/applications/airtime.desktop old mode 100755 new mode 100644 diff --git a/debian/usr/share/man/man1/airtime-import.1.gz b/debian/usr/share/man/man1/airtime-import.1.gz old mode 100755 new mode 100644 diff --git a/debian/usr/share/man/man1/airtime-launch-browser.1.gz b/debian/usr/share/man/man1/airtime-launch-browser.1.gz old mode 100755 new mode 100644 diff --git a/debian/usr/share/man/man1/airtime-log.1.gz b/debian/usr/share/man/man1/airtime-log.1.gz old mode 100755 new mode 100644 diff --git a/debian/usr/share/man/man1/airtime-test-soundcard.1.gz b/debian/usr/share/man/man1/airtime-test-soundcard.1.gz old mode 100755 new mode 100644 diff --git a/debian/usr/share/man/man1/airtime-test-stream.1.gz b/debian/usr/share/man/man1/airtime-test-stream.1.gz old mode 100755 new mode 100644 diff --git a/debian/usr/share/menu/airtime b/debian/usr/share/menu/airtime old mode 100755 new mode 100644 diff --git a/debian/usr/share/pixmaps/airtime.xpm b/debian/usr/share/pixmaps/airtime.xpm old mode 100755 new mode 100644 diff --git a/debian/watch b/debian/watch old mode 100755 new mode 100644 diff --git a/dev_tools/auto_schedule_show.php b/dev_tools/auto_schedule_show.php old mode 100755 new mode 100644 diff --git a/dev_tools/compare_cc_files_to_fs.py b/dev_tools/compare_cc_files_to_fs.py old mode 100755 new mode 100644 diff --git a/dev_tools/fabric/airtime.vhost b/dev_tools/fabric/airtime.vhost old mode 100755 new mode 100644 diff --git a/dev_tools/fabric/fab_liquidsoap_compile.cfg b/dev_tools/fabric/fab_liquidsoap_compile.cfg old mode 100755 new mode 100644 diff --git a/dev_tools/fabric/fab_liquidsoap_compile.py b/dev_tools/fabric/fab_liquidsoap_compile.py old mode 100755 new mode 100644 diff --git a/dev_tools/fabric/fab_release_test.py b/dev_tools/fabric/fab_release_test.py old mode 100755 new mode 100644 diff --git a/dev_tools/gen_doctrine_migration.php b/dev_tools/gen_doctrine_migration.php old mode 100755 new mode 100644 diff --git a/dev_tools/populate-cc_files.php b/dev_tools/populate-cc_files.php old mode 100755 new mode 100644 diff --git a/dev_tools/release/jsmin/jsmin.c b/dev_tools/release/jsmin/jsmin.c old mode 100755 new mode 100644 diff --git a/dev_tools/scripts/git-attributes-git-merge-po b/dev_tools/scripts/git-attributes-git-merge-po old mode 100755 new mode 100644 diff --git a/dev_tools/scripts/git-config-git-merge-po b/dev_tools/scripts/git-config-git-merge-po old mode 100755 new mode 100644 diff --git a/dev_tools/scripts/git-merge-po b/dev_tools/scripts/git-merge-po old mode 100755 new mode 100644 diff --git a/docs/README.txt b/docs/README.txt old mode 100755 new mode 100644 diff --git a/installer/apache/airtime-vhost b/installer/apache/airtime-vhost old mode 100755 new mode 100644 diff --git a/installer/lib/requirements-debian-wheezy.apt b/installer/lib/requirements-debian-wheezy.apt old mode 100755 new mode 100644 diff --git a/installer/lib/requirements-ubuntu-saucy.apt b/installer/lib/requirements-ubuntu-saucy.apt old mode 100755 new mode 100644 diff --git a/installer/php/airtime.ini b/installer/php/airtime.ini old mode 100755 new mode 100644 diff --git a/python_apps/api_clients/__init__.py b/python_apps/api_clients/__init__.py old mode 100755 new mode 100644 diff --git a/python_apps/api_clients/api_client.py b/python_apps/api_clients/api_client.py old mode 100755 new mode 100644 diff --git a/python_apps/api_clients/tests/__init__.py b/python_apps/api_clients/tests/__init__.py old mode 100755 new mode 100644 diff --git a/python_apps/api_clients/tests/test_apcurl.py b/python_apps/api_clients/tests/test_apcurl.py old mode 100755 new mode 100644 diff --git a/python_apps/api_clients/tests/test_apirequest.py b/python_apps/api_clients/tests/test_apirequest.py old mode 100755 new mode 100644 diff --git a/python_apps/api_clients/tests/test_requestprovider.py b/python_apps/api_clients/tests/test_requestprovider.py old mode 100755 new mode 100644 diff --git a/python_apps/icecast2/airtime-icecast-status.xsl b/python_apps/icecast2/airtime-icecast-status.xsl old mode 100755 new mode 100644 diff --git a/python_apps/icecast2/install/icecast2-install.py b/python_apps/icecast2/install/icecast2-install.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/install/airtime-media-monitor.conf b/python_apps/media-monitor/install/airtime-media-monitor.conf old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor/airtimefilemonitor/__init__.py b/python_apps/media-monitor/media-monitor/airtimefilemonitor/__init__.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimemediamonitorbootstrap.py b/python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimemediamonitorbootstrap.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimemetadata.py b/python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimemetadata.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimenotifier.py b/python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimenotifier.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimeprocessevent.py b/python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimeprocessevent.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor/airtimefilemonitor/mediaconfig.py b/python_apps/media-monitor/media-monitor/airtimefilemonitor/mediaconfig.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor/airtimefilemonitor/mediamonitorcommon.py b/python_apps/media-monitor/media-monitor/airtimefilemonitor/mediamonitorcommon.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor/airtimefilemonitor/replaygain.py b/python_apps/media-monitor/media-monitor/airtimefilemonitor/replaygain.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor/airtimefilemonitor/workerprocess.py b/python_apps/media-monitor/media-monitor/airtimefilemonitor/workerprocess.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor/logging.cfg b/python_apps/media-monitor/media-monitor/logging.cfg old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor/media_monitor.py b/python_apps/media-monitor/media-monitor/media_monitor.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor/mm1.py b/python_apps/media-monitor/media-monitor/mm1.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/__init__.py b/python_apps/media-monitor/media-monitor2/__init__.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/baby.py b/python_apps/media-monitor/media-monitor2/baby.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/configs/logging.cfg b/python_apps/media-monitor/media-monitor2/configs/logging.cfg old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/media/__init__.py b/python_apps/media-monitor/media-monitor2/media/__init__.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/media/metadata/__init__.py b/python_apps/media-monitor/media-monitor2/media/metadata/__init__.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/media/metadata/definitions.py b/python_apps/media-monitor/media-monitor2/media/metadata/definitions.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/media/metadata/process.py b/python_apps/media-monitor/media-monitor2/media/metadata/process.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/__init__.py b/python_apps/media-monitor/media-monitor2/media/monitor/__init__.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/airtime.py b/python_apps/media-monitor/media-monitor2/media/monitor/airtime.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/bootstrap.py b/python_apps/media-monitor/media-monitor2/media/monitor/bootstrap.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/config.py b/python_apps/media-monitor/media-monitor2/media/monitor/config.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/eventcontractor.py b/python_apps/media-monitor/media-monitor2/media/monitor/eventcontractor.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/eventdrainer.py b/python_apps/media-monitor/media-monitor2/media/monitor/eventdrainer.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/events.py b/python_apps/media-monitor/media-monitor2/media/monitor/events.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/exceptions.py b/python_apps/media-monitor/media-monitor2/media/monitor/exceptions.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/handler.py b/python_apps/media-monitor/media-monitor2/media/monitor/handler.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/listeners.py b/python_apps/media-monitor/media-monitor2/media/monitor/listeners.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/log.py b/python_apps/media-monitor/media-monitor2/media/monitor/log.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/manager.py b/python_apps/media-monitor/media-monitor2/media/monitor/manager.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/metadata.py b/python_apps/media-monitor/media-monitor2/media/monitor/metadata.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/organizer.py b/python_apps/media-monitor/media-monitor2/media/monitor/organizer.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/owners.py b/python_apps/media-monitor/media-monitor2/media/monitor/owners.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/pure.py b/python_apps/media-monitor/media-monitor2/media/monitor/pure.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/request.py b/python_apps/media-monitor/media-monitor2/media/monitor/request.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/syncdb.py b/python_apps/media-monitor/media-monitor2/media/monitor/syncdb.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/toucher.py b/python_apps/media-monitor/media-monitor2/media/monitor/toucher.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/watchersyncer.py b/python_apps/media-monitor/media-monitor2/media/monitor/watchersyncer.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/media/saas/__init__.py b/python_apps/media-monitor/media-monitor2/media/saas/__init__.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/media/saas/airtimeinstance.py b/python_apps/media-monitor/media-monitor2/media/saas/airtimeinstance.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/media/saas/launcher.py b/python_apps/media-monitor/media-monitor2/media/saas/launcher.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/media/saas/thread.py b/python_apps/media-monitor/media-monitor2/media/saas/thread.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/mm2.py b/python_apps/media-monitor/media-monitor2/mm2.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/tests/__init__.py b/python_apps/media-monitor/media-monitor2/tests/__init__.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/tests/api_client.cfg b/python_apps/media-monitor/media-monitor2/tests/api_client.cfg old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/tests/live_client.cfg b/python_apps/media-monitor/media-monitor2/tests/live_client.cfg old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/tests/prepare_tests.py b/python_apps/media-monitor/media-monitor2/tests/prepare_tests.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_api_client.py b/python_apps/media-monitor/media-monitor2/tests/test_api_client.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_config.cfg b/python_apps/media-monitor/media-monitor2/tests/test_config.cfg old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_config.py b/python_apps/media-monitor/media-monitor2/tests/test_config.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_emf.py b/python_apps/media-monitor/media-monitor2/tests/test_emf.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_eventcontractor.py b/python_apps/media-monitor/media-monitor2/tests/test_eventcontractor.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_instance.py b/python_apps/media-monitor/media-monitor2/tests/test_instance.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_listeners.py b/python_apps/media-monitor/media-monitor2/tests/test_listeners.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_manager.py b/python_apps/media-monitor/media-monitor2/tests/test_manager.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_metadata.py b/python_apps/media-monitor/media-monitor2/tests/test_metadata.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_metadata_def.py b/python_apps/media-monitor/media-monitor2/tests/test_metadata_def.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_notifier.py b/python_apps/media-monitor/media-monitor2/tests/test_notifier.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_owners.py b/python_apps/media-monitor/media-monitor2/tests/test_owners.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_pure.py b/python_apps/media-monitor/media-monitor2/tests/test_pure.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_requestsync.py b/python_apps/media-monitor/media-monitor2/tests/test_requestsync.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_syncdb.py b/python_apps/media-monitor/media-monitor2/tests/test_syncdb.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_thread.py b/python_apps/media-monitor/media-monitor2/tests/test_thread.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/media-monitor2/tests/test_toucher.py b/python_apps/media-monitor/media-monitor2/tests/test_toucher.py old mode 100755 new mode 100644 diff --git a/python_apps/media-monitor/setup.py b/python_apps/media-monitor/setup.py old mode 100755 new mode 100644 diff --git a/python_apps/pypo/bin/airtime-playout b/python_apps/pypo/bin/airtime-playout index 4326e45dc..affc31e22 100755 --- a/python_apps/pypo/bin/airtime-playout +++ b/python_apps/pypo/bin/airtime-playout @@ -13,4 +13,4 @@ export PYTHONPATH=/usr/lib/airtime/:/usr/lib/airtime/pypo/bin/:/usr/lib/airtime/ export LC_ALL=`cat /etc/default/locale | grep "LANG=" | cut -d= -f2 | tr -d "\n\""` export TERM=xterm -exec python /usr/lib/airtime/pypo/bin/pypocli.py > /var/log/airtime/pypo/py-interpreter.log 2>&1 +exec python ${pypo_path}/pypocli.py > /var/log/airtime/pypo/py-interpreter.log 2>&1 diff --git a/python_apps/pypo/install/airtime-liquidsoap.conf b/python_apps/pypo/install/airtime-liquidsoap.conf old mode 100755 new mode 100644 diff --git a/python_apps/pypo/install/airtime-playout.conf b/python_apps/pypo/install/airtime-playout.conf old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/AUTHORS b/python_apps/pypo/pypo/AUTHORS old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/LICENSE b/python_apps/pypo/pypo/LICENSE old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/__init__.py b/python_apps/pypo/pypo/__init__.py old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/eventtypes.py b/python_apps/pypo/pypo/eventtypes.py old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/aac.liq b/python_apps/pypo/pypo/liquidsoap_scripts/aac.liq old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/aacplus.liq b/python_apps/pypo/pypo/liquidsoap_scripts/aacplus.liq old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/airtime-liquidsoap.logrotate b/python_apps/pypo/pypo/liquidsoap_scripts/airtime-liquidsoap.logrotate old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/fdkaac.liq b/python_apps/pypo/pypo/liquidsoap_scripts/fdkaac.liq old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/generate_liquidsoap_cfg.py b/python_apps/pypo/pypo/liquidsoap_scripts/generate_liquidsoap_cfg.py old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/library/externals.liq b/python_apps/pypo/pypo/liquidsoap_scripts/library/externals.liq old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/library/flows.liq b/python_apps/pypo/pypo/liquidsoap_scripts/library/flows.liq old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/library/gstreamer.liq b/python_apps/pypo/pypo/liquidsoap_scripts/library/gstreamer.liq old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/library/http.liq b/python_apps/pypo/pypo/liquidsoap_scripts/library/http.liq old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/library/http_codes.liq b/python_apps/pypo/pypo/liquidsoap_scripts/library/http_codes.liq old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/library/lastfm.liq b/python_apps/pypo/pypo/liquidsoap_scripts/library/lastfm.liq old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/library/pervasives.liq b/python_apps/pypo/pypo/liquidsoap_scripts/library/pervasives.liq old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/library/shoutcast.liq b/python_apps/pypo/pypo/liquidsoap_scripts/library/shoutcast.liq old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/library/utils.liq b/python_apps/pypo/pypo/liquidsoap_scripts/library/utils.liq old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/library/video_text.liq b/python_apps/pypo/pypo/liquidsoap_scripts/library/video_text.liq old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/liquidsoap.cfg b/python_apps/pypo/pypo/liquidsoap_scripts/liquidsoap.cfg old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/liquidsoap_auth.py b/python_apps/pypo/pypo/liquidsoap_scripts/liquidsoap_auth.py old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/liquidsoap_prepare_terminate.py b/python_apps/pypo/pypo/liquidsoap_scripts/liquidsoap_prepare_terminate.py old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/ls_lib.liq b/python_apps/pypo/pypo/liquidsoap_scripts/ls_lib.liq old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/ls_script.liq b/python_apps/pypo/pypo/liquidsoap_scripts/ls_script.liq old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/mp3.liq b/python_apps/pypo/pypo/liquidsoap_scripts/mp3.liq old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/ogg.liq b/python_apps/pypo/pypo/liquidsoap_scripts/ogg.liq old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/opus.liq b/python_apps/pypo/pypo/liquidsoap_scripts/opus.liq old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/listenerstat.py b/python_apps/pypo/pypo/listenerstat.py old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/logging.cfg b/python_apps/pypo/pypo/logging.cfg old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/media/__init__.py b/python_apps/pypo/pypo/media/__init__.py old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/media/update/__init__.py b/python_apps/pypo/pypo/media/update/__init__.py old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/media/update/replaygain.py b/python_apps/pypo/pypo/media/update/replaygain.py old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/media/update/replaygainupdater.py b/python_apps/pypo/pypo/media/update/replaygainupdater.py old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/media/update/silananalyzer.py b/python_apps/pypo/pypo/media/update/silananalyzer.py old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/notify_logging.cfg b/python_apps/pypo/pypo/notify_logging.cfg old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/pure.py b/python_apps/pypo/pypo/pure.py old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/pypocli.py b/python_apps/pypo/pypo/pypocli.py old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/pypofetch.py b/python_apps/pypo/pypo/pypofetch.py old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/pypofile.py b/python_apps/pypo/pypo/pypofile.py old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/pypoliqqueue.py b/python_apps/pypo/pypo/pypoliqqueue.py old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/pypoliquidsoap.py b/python_apps/pypo/pypo/pypoliquidsoap.py old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/pypomessagehandler.py b/python_apps/pypo/pypo/pypomessagehandler.py old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/pyponotify.py b/python_apps/pypo/pypo/pyponotify.py old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/pypopush.py b/python_apps/pypo/pypo/pypopush.py old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/recorder.py b/python_apps/pypo/pypo/recorder.py old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/telnetliquidsoap.py b/python_apps/pypo/pypo/telnetliquidsoap.py old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/testpypoliqqueue.py b/python_apps/pypo/pypo/testpypoliqqueue.py old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/tests/test_modify_cue_in.py b/python_apps/pypo/pypo/tests/test_modify_cue_in.py old mode 100755 new mode 100644 diff --git a/python_apps/pypo/pypo/timeout.py b/python_apps/pypo/pypo/timeout.py old mode 100755 new mode 100644 diff --git a/python_apps/pypo/setup.py b/python_apps/pypo/setup.py old mode 100755 new mode 100644 diff --git a/python_apps/python-virtualenv/3rd_party/distribute-0.6.10.tar.gz b/python_apps/python-virtualenv/3rd_party/distribute-0.6.10.tar.gz old mode 100755 new mode 100644 diff --git a/python_apps/python-virtualenv/3rd_party/pip-1.0.2.tar.gz b/python_apps/python-virtualenv/3rd_party/pip-1.0.2.tar.gz old mode 100755 new mode 100644 diff --git a/python_apps/python-virtualenv/airtime_virtual_env.pybundle b/python_apps/python-virtualenv/airtime_virtual_env.pybundle old mode 100755 new mode 100644 diff --git a/python_apps/python-virtualenv/patches/mutagen/mutagen_patch1.patch b/python_apps/python-virtualenv/patches/mutagen/mutagen_patch1.patch old mode 100755 new mode 100644 diff --git a/python_apps/python-virtualenv/patches/mutagen/mutagen_patch2.patch b/python_apps/python-virtualenv/patches/mutagen/mutagen_patch2.patch old mode 100755 new mode 100644 diff --git a/python_apps/python-virtualenv/requirements b/python_apps/python-virtualenv/requirements old mode 100755 new mode 100644 diff --git a/python_apps/std_err_override/LogWriter.py b/python_apps/std_err_override/LogWriter.py old mode 100755 new mode 100644 diff --git a/python_apps/std_err_override/__init__.py b/python_apps/std_err_override/__init__.py old mode 100755 new mode 100644 diff --git a/tests/README b/tests/README old mode 100755 new mode 100644 diff --git a/tests/selenium/Add Media Skeleton Present.html b/tests/selenium/Add Media Skeleton Present.html old mode 100755 new mode 100644 diff --git a/tests/selenium/Airtime.html b/tests/selenium/Airtime.html old mode 100755 new mode 100644 diff --git a/tests/selenium/Calendar Add Show Skeleton.html b/tests/selenium/Calendar Add Show Skeleton.html old mode 100755 new mode 100644 diff --git a/tests/selenium/Calendar Day Week Month Views.html b/tests/selenium/Calendar Day Week Month Views.html old mode 100755 new mode 100644 diff --git a/tests/selenium/Calendar Skeleton Present.html b/tests/selenium/Calendar Skeleton Present.html old mode 100755 new mode 100644 diff --git a/tests/selenium/Library Skeleton Present.html b/tests/selenium/Library Skeleton Present.html old mode 100755 new mode 100644 diff --git a/tests/selenium/Listen Button Skeleton.html b/tests/selenium/Listen Button Skeleton.html old mode 100755 new mode 100644 diff --git a/tests/selenium/Login and Logout.html b/tests/selenium/Login and Logout.html old mode 100755 new mode 100644 diff --git a/tests/selenium/Login.html b/tests/selenium/Login.html old mode 100755 new mode 100644 diff --git a/tests/selenium/Preferences Skeletons.html b/tests/selenium/Preferences Skeletons.html old mode 100755 new mode 100644 diff --git a/tests/selenium/System Menu Contents.html b/tests/selenium/System Menu Contents.html old mode 100755 new mode 100644 diff --git a/utils/airtime-backup.py b/utils/airtime-backup.py old mode 100755 new mode 100644 diff --git a/utils/airtime-check-system.php b/utils/airtime-check-system.php old mode 100755 new mode 100644 diff --git a/utils/airtime-import/airtime-import.py b/utils/airtime-import/airtime-import.py old mode 100755 new mode 100644 diff --git a/utils/airtime-log.php b/utils/airtime-log.php old mode 100755 new mode 100644 diff --git a/utils/airtime-silan.py b/utils/airtime-silan.py old mode 100755 new mode 100644 diff --git a/utils/airtime-test-soundcard.py b/utils/airtime-test-soundcard.py old mode 100755 new mode 100644 diff --git a/utils/airtime-test-stream.py b/utils/airtime-test-stream.py old mode 100755 new mode 100644 diff --git a/utils/airtime-update-db-settings.py b/utils/airtime-update-db-settings.py old mode 100755 new mode 100644 diff --git a/utils/phone_home_stat.php b/utils/phone_home_stat.php old mode 100755 new mode 100644 diff --git a/utils/soundcloud-uploader.php b/utils/soundcloud-uploader.php old mode 100755 new mode 100644 diff --git a/widgets/css/airtime-widgets.css b/widgets/css/airtime-widgets.css old mode 100755 new mode 100644 diff --git a/widgets/css/widget-img/schedule-tabs-list-bgr.png b/widgets/css/widget-img/schedule-tabs-list-bgr.png old mode 100755 new mode 100644 diff --git a/widgets/js/jquery-1.6.1.min.js b/widgets/js/jquery-1.6.1.min.js old mode 100755 new mode 100644 diff --git a/widgets/js/jquery-ui-1.8.10.custom.min.js b/widgets/js/jquery-ui-1.8.10.custom.min.js old mode 100755 new mode 100644 diff --git a/widgets/js/jquery.showinfo.js b/widgets/js/jquery.showinfo.js old mode 100755 new mode 100644 diff --git a/widgets/sample_page.html b/widgets/sample_page.html old mode 100755 new mode 100644 diff --git a/widgets/widget_schedule.html b/widgets/widget_schedule.html old mode 100755 new mode 100644 diff --git a/widgets/widgets.html b/widgets/widgets.html old mode 100755 new mode 100644 From 19a18171590d6e60384bc13893a19ce4e75793e8 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Thu, 15 Jan 2015 10:12:52 -0500 Subject: [PATCH 115/168] Fix a bad reversion in the airtime-playout binary --- install | 6 +++--- python_apps/pypo/bin/airtime-playout | 2 +- uninstall | 24 +++++++++++++++++++----- 3 files changed, 23 insertions(+), 9 deletions(-) diff --git a/install b/install index 37c930f66..e1ec9ef6e 100755 --- a/install +++ b/install @@ -497,9 +497,9 @@ loud "-----------------------------------------------------" loudCmd "apt-get -y --force-yes install rabbitmq-server" -RABBITMQ_VHOST=$(awk -F ' = ' '{if (! ($0 ~ /^;/) && $0 ~ /^vhost/ ) print $2}' ${AIRTIMEROOT}/airtime_mvc/build/airtime.example.conf) -RABBITMQ_USER=$(awk -F ' = ' '{if (! ($0 ~ /^;/) && $0 ~ /^user/ ) print $2}' ${AIRTIMEROOT}/airtime_mvc/build/airtime.example.conf) -RABBITMQ_PASSWORD=$(awk -F ' = ' '{if (! ($0 ~ /^;/) && $0 ~ /^password/ ) print $2}' ${AIRTIMEROOT}/airtime_mvc/build/airtime.example.conf) +RABBITMQ_VHOST=/airtime +RABBITMQ_USER=airtime +RABBITMQ_PASSWORD=airtime EXCHANGES="airtime-pypo|pypo-fetch|airtime-media-monitor|media-monitor" # Ignore errors in this check to avoid dying when vhost isn't found diff --git a/python_apps/pypo/bin/airtime-playout b/python_apps/pypo/bin/airtime-playout index affc31e22..4326e45dc 100755 --- a/python_apps/pypo/bin/airtime-playout +++ b/python_apps/pypo/bin/airtime-playout @@ -13,4 +13,4 @@ export PYTHONPATH=/usr/lib/airtime/:/usr/lib/airtime/pypo/bin/:/usr/lib/airtime/ export LC_ALL=`cat /etc/default/locale | grep "LANG=" | cut -d= -f2 | tr -d "\n\""` export TERM=xterm -exec python ${pypo_path}/pypocli.py > /var/log/airtime/pypo/py-interpreter.log 2>&1 +exec python /usr/lib/airtime/pypo/bin/pypocli.py > /var/log/airtime/pypo/py-interpreter.log 2>&1 diff --git a/uninstall b/uninstall index ccc21aa04..e2c93f344 100755 --- a/uninstall +++ b/uninstall @@ -30,6 +30,14 @@ dropAirtimeDatabase() { EOF } +removeRabbitmqAirtimeSettings() { + RMQ_VHOST=$(awk -F ' = ' '{if (! ($0 ~ /^;/) && $0 ~ /^vhost/ ) print $2}' /etc/airtime/airtime.conf) + RMQ_USER=$(awk -F ' = ' '{if (! ($0 ~ /^;/) && $0 ~ /^user/ ) print $2}' /etc/airtime/airtime.conf) + + rabbitmqctl delete_vhost ${RMQ_VHOST} + rabbitmqctl delete_user ${RMQ_USER} +} + SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )" AIRTIMEROOT=${SCRIPT_DIR} @@ -61,13 +69,19 @@ if [[ ! ( "$IN" = "y" || "$IN" = "Y" ) ]]; then exit 0 fi -echo -e "\nAre you sure you want to remove your music storage directory ${STOR_DIR} and all of its subdirectories? (Y/n): \c" -read IN -if [[ "$IN" = "y" || "$IN" = "Y" ]]; then - rm -rf ${STOR_DIR} +if [ -n ${STOR_DIR} ]; then + echo -e "\nAre you sure you want to remove your music storage directory ${STOR_DIR} and all of its subdirectories? (Y/n): \c" + read IN + if [[ "$IN" = "y" || "$IN" = "Y" ]]; then + rm -rf ${STOR_DIR} + fi +else + echo -e "\nNo stor directory found, skipping..." fi -echo "Uninstalling Airtime..." +echo -e "\nUninstalling Airtime..." +removeRabbitmqAirtimeSettings + rm -rf /etc/airtime rm -rf /var/log/airtime/ rm -rf /usr/lib/airtime/ From ee9163fa8e2aa3e87f8be8d0e1534f26ddcde4cc Mon Sep 17 00:00:00 2001 From: Albert Santoni Date: Thu, 15 Jan 2015 12:42:36 -0500 Subject: [PATCH 116/168] 2.5.2: Reorganize upgrade path so that 2.5.2 contains the show art schema changes * Also bump the system_version number to 2.5.2. This will be deprecated sooner or later... --- airtime_mvc/application/configs/constants.php | 1 + .../controllers/UpgradeController.php | 78 +++++ .../upgrade_sql/airtime_2.5.3/upgrade.sql | 6 + .../upgrade_sql/airtime_2.5.5/upgrade.sql | 5 + airtime_mvc/application/upgrade/Upgrades.php | 292 ++++++++++++++++++ airtime_mvc/build/sql/defaultdata.sql | 3 + 6 files changed, 385 insertions(+) create mode 100644 airtime_mvc/application/controllers/UpgradeController.php create mode 100644 airtime_mvc/application/controllers/upgrade_sql/airtime_2.5.3/upgrade.sql create mode 100644 airtime_mvc/application/controllers/upgrade_sql/airtime_2.5.5/upgrade.sql create mode 100644 airtime_mvc/application/upgrade/Upgrades.php diff --git a/airtime_mvc/application/configs/constants.php b/airtime_mvc/application/configs/constants.php index 7b27bc891..45bdbd123 100644 --- a/airtime_mvc/application/configs/constants.php +++ b/airtime_mvc/application/configs/constants.php @@ -19,6 +19,7 @@ define('LICENSE_URL' , 'http://www.gnu.org/licenses/agpl-3.0-standalone.h define('AIRTIME_COPYRIGHT_DATE' , '2010-2012'); define('AIRTIME_REST_VERSION' , '1.1'); define('AIRTIME_API_VERSION' , '1.1'); +define('AIRTIME_CODE_VERSION' , '2.5.2'); // Metadata Keys for files define('MDATA_KEY_FILEPATH' , 'filepath'); diff --git a/airtime_mvc/application/controllers/UpgradeController.php b/airtime_mvc/application/controllers/UpgradeController.php new file mode 100644 index 000000000..2691f270f --- /dev/null +++ b/airtime_mvc/application/controllers/UpgradeController.php @@ -0,0 +1,78 @@ +view->layout()->disableLayout(); + $this->_helper->viewRenderer->setNoRender(true); + + if (!$this->verifyAuth()) { + return; + } + + $upgraders = array(); + array_push($upgraders, new AirtimeUpgrader252()); + /* These upgrades do not apply to open source Airtime yet. + array_push($upgraders, new AirtimeUpgrader253()); + array_push($upgraders, new AirtimeUpgrader254()); + */ + $didWePerformAnUpgrade = false; + try + { + for ($i = 0; $i < count($upgraders); $i++) + { + $upgrader = $upgraders[$i]; + if ($upgrader->checkIfUpgradeSupported()) + { + // pass __DIR__ to the upgrades, since __DIR__ returns parent dir of file, not executor + $upgrader->upgrade(__DIR__); //This will throw an exception if the upgrade fails. + $didWePerformAnUpgrade = true; + $this->getResponse() + ->setHttpResponseCode(200) + ->appendBody("Upgrade to Airtime " . $upgrader->getNewVersion() . " OK
"); + $i = 0; //Start over, in case the upgrade handlers are not in ascending order. + } + } + + if (!$didWePerformAnUpgrade) + { + $this->getResponse() + ->setHttpResponseCode(200) + ->appendBody("No upgrade was performed. The current Airtime version is " . AirtimeUpgrader::getCurrentVersion() . ".
"); + } + } + catch (Exception $e) + { + $this->getResponse() + ->setHttpResponseCode(400) + ->appendBody($e->getMessage()); + } + } + + private function verifyAuth() + { + //The API key is passed in via HTTP "basic authentication": + //http://en.wikipedia.org/wiki/Basic_access_authentication + + $CC_CONFIG = Config::getConfig(); + + //Decode the API key that was passed to us in the HTTP request. + $authHeader = $this->getRequest()->getHeader("Authorization"); + + $encodedRequestApiKey = substr($authHeader, strlen("Basic ")); + $encodedStoredApiKey = base64_encode($CC_CONFIG["apiKey"][0] . ":"); + + if ($encodedRequestApiKey !== $encodedStoredApiKey) + { + $this->getResponse() + ->setHttpResponseCode(401) + ->appendBody("Error: Incorrect API key.
"); + return false; + } + return true; + } + +} diff --git a/airtime_mvc/application/controllers/upgrade_sql/airtime_2.5.3/upgrade.sql b/airtime_mvc/application/controllers/upgrade_sql/airtime_2.5.3/upgrade.sql new file mode 100644 index 000000000..6c7980983 --- /dev/null +++ b/airtime_mvc/application/controllers/upgrade_sql/airtime_2.5.3/upgrade.sql @@ -0,0 +1,6 @@ +DELETE FROM cc_pref WHERE keystr = 'system_version'; +INSERT INTO cc_pref (keystr, valstr) VALUES ('system_version', '2.5.3'); + +ALTER TABLE cc_files DROP COLUMN state; +ALTER TABLE cc_files ADD import_status integer default 1; -- Default is "pending" +UPDATE cc_files SET import_status=0; -- Existing files are already "imported" diff --git a/airtime_mvc/application/controllers/upgrade_sql/airtime_2.5.5/upgrade.sql b/airtime_mvc/application/controllers/upgrade_sql/airtime_2.5.5/upgrade.sql new file mode 100644 index 000000000..191eb2084 --- /dev/null +++ b/airtime_mvc/application/controllers/upgrade_sql/airtime_2.5.5/upgrade.sql @@ -0,0 +1,5 @@ +DELETE FROM cc_pref WHERE keystr = 'system_version'; +INSERT INTO cc_pref (keystr, valstr) VALUES ('system_version', '2.5.5'); + +ALTER TABLE cc_show ADD COLUMN image_path varchar(255) DEFAULT ''; +ALTER TABLE cc_show_instances ADD COLUMN description varchar(255) DEFAULT ''; diff --git a/airtime_mvc/application/upgrade/Upgrades.php b/airtime_mvc/application/upgrade/Upgrades.php new file mode 100644 index 000000000..f95216bd0 --- /dev/null +++ b/airtime_mvc/application/upgrade/Upgrades.php @@ -0,0 +1,292 @@ +filterByKeystr('system_version') + ->findOne(); + $airtime_version = $pref->getValStr(); + return $airtime_version; + } + + /** + * This function checks to see if this class can perform an upgrade of your version of Airtime + * @return boolean True if we can upgrade your version of Airtime. + */ + public function checkIfUpgradeSupported() + { + if (!in_array(AirtimeUpgrader::getCurrentVersion(), $this->getSupportedVersions())) { + return false; + } + return true; + } + + protected function toggleMaintenanceScreen($toggle) + { + if ($toggle) + { + //Disable Airtime UI + //create a temporary maintenance notification file + //when this file is on the server, zend framework redirects all + //requests to the maintenance page and sets a 503 response code + $this->maintenanceFile = isset($_SERVER['AIRTIME_BASE']) ? $_SERVER['AIRTIME_BASE']."maintenance.txt" : "/tmp/maintenance.txt"; + $file = fopen($this->maintenanceFile, 'w'); + fclose($file); + } else { + //delete maintenance.txt to give users access back to Airtime + if ($this->maintenanceFile) { + unlink($this->maintenanceFile); + } + } + } + + /** Implement this for each new version of Airtime */ + abstract public function upgrade(); +} + +/** This upgrade adds schema changes to accommodate show artwork and show instance descriptions */ +class AirtimeUpgrader252 extends AirtimeUpgrader { + protected function getSupportedVersions() { + return array ( + '2.5.1' + ); + } + + public function getNewVersion() { + return '2.5.2'; + } + + public function upgrade($dir = __DIR__) { + Cache::clear(); + assert($this->checkIfUpgradeSupported()); + + $newVersion = $this->getNewVersion(); + + try { + $this->toggleMaintenanceScreen(true); + Cache::clear(); + + // Begin upgrade + $airtimeConf = isset($_SERVER['AIRTIME_CONF']) ? $_SERVER['AIRTIME_CONF'] : "/etc/airtime/airtime.conf"; + $values = parse_ini_file($airtimeConf, true); + + $username = $values['database']['dbuser']; + $password = $values['database']['dbpass']; + $host = $values['database']['host']; + $database = $values['database']['dbname']; + + passthru("export PGPASSWORD=$password && psql -h $host -U $username -q -f $dir/upgrade_sql/airtime_" + .$this->getNewVersion()."/upgrade.sql $database 2>&1 | grep -v \"will create implicit index\""); + + Application_Model_Preference::SetAirtimeVersion($newVersion); + Cache::clear(); + + $this->toggleMaintenanceScreen(false); + + return true; + } catch(Exception $e) { + $this->toggleMaintenanceScreen(false); + throw $e; + } + } +} + +class AirtimeUpgrader253 extends AirtimeUpgrader +{ + protected function getSupportedVersions() + { + return array('2.5.2'); + } + public function getNewVersion() + { + return '2.5.3'; + } + + public function upgrade($dir = __DIR__) + { + Cache::clear(); + assert($this->checkIfUpgradeSupported()); + + $con = Propel::getConnection(); + $con->beginTransaction(); + try { + + $this->toggleMaintenanceScreen(true); + Cache::clear(); + + //Begin upgrade + + //Update disk_usage value in cc_pref + $musicDir = CcMusicDirsQuery::create() + ->filterByType('stor') + ->filterByExists(true) + ->findOne(); + $storPath = $musicDir->getDirectory(); + + //Update disk_usage value in cc_pref + $storDir = isset($_SERVER['AIRTIME_BASE']) ? $_SERVER['AIRTIME_BASE']."srv/airtime/stor" : "/srv/airtime/stor"; + $diskUsage = shell_exec("du -sb $storDir | awk '{print $1}'"); + + Application_Model_Preference::setDiskUsage($diskUsage); + + //clear out the cache + Cache::clear(); + + $con->commit(); + + //update system_version in cc_pref and change some columns in cc_files + $airtimeConf = isset($_SERVER['AIRTIME_CONF']) ? $_SERVER['AIRTIME_CONF'] : "/etc/airtime/airtime.conf"; + $values = parse_ini_file($airtimeConf, true); + + $username = $values['database']['dbuser']; + $password = $values['database']['dbpass']; + $host = $values['database']['host']; + $database = $values['database']['dbname']; + + passthru("export PGPASSWORD=$password && psql -h $host -U $username -q -f $dir/upgrade_sql/airtime_".$this->getNewVersion()."/upgrade.sql $database 2>&1 | grep -v \"will create implicit index\""); + + Application_Model_Preference::SetAirtimeVersion($this->getNewVersion()); + //clear out the cache + Cache::clear(); + + $this->toggleMaintenanceScreen(false); + + } catch (Exception $e) { + $con->rollback(); + $this->toggleMaintenanceScreen(false); + } + } +} + +class AirtimeUpgrader254 extends AirtimeUpgrader +{ + protected function getSupportedVersions() + { + return array('2.5.3'); + } + public function getNewVersion() + { + return '2.5.4'; + } + + public function upgrade() + { + Cache::clear(); + + assert($this->checkIfUpgradeSupported()); + + $newVersion = $this->getNewVersion(); + + $con = Propel::getConnection(); + //$con->beginTransaction(); + try { + $this->toggleMaintenanceScreen(true); + Cache::clear(); + + //Begin upgrade + + //First, ensure there are no superadmins already. + $numberOfSuperAdmins = CcSubjsQuery::create() + ->filterByDbType(UTYPE_SUPERADMIN) + ->filterByDbLogin("sourcefabric_admin", Criteria::NOT_EQUAL) //Ignore sourcefabric_admin users + ->count(); + + //Only create a super admin if there isn't one already. + if ($numberOfSuperAdmins == 0) + { + //Find the "admin" user and promote them to superadmin. + $adminUser = CcSubjsQuery::create() + ->filterByDbLogin('admin') + ->findOne(); + if (!$adminUser) + { + //TODO: Otherwise get the user with the lowest ID that is of type administrator: + // + $adminUser = CcSubjsQuery::create() + ->filterByDbType(UTYPE_ADMIN) + ->orderByDbId(Criteria::ASC) + ->findOne(); + + if (!$adminUser) { + throw new Exception("Failed to find any users of type 'admin' ('A')."); + } + } + + $adminUser = new Application_Model_User($adminUser->getDbId()); + $adminUser->setType(UTYPE_SUPERADMIN); + $adminUser->save(); + Logging::info($_SERVER['HTTP_HOST'] . ': ' . $newVersion . " Upgrade: Promoted user " . $adminUser->getLogin() . " to be a Super Admin."); + + //Also try to promote the sourcefabric_admin user + $sofabAdminUser = CcSubjsQuery::create() + ->filterByDbLogin('sourcefabric_admin') + ->findOne(); + if ($sofabAdminUser) { + $sofabAdminUser = new Application_Model_User($sofabAdminUser->getDbId()); + $sofabAdminUser->setType(UTYPE_SUPERADMIN); + $sofabAdminUser->save(); + Logging::info($_SERVER['HTTP_HOST'] . ': ' . $newVersion . " Upgrade: Promoted user " . $sofabAdminUser->getLogin() . " to be a Super Admin."); + } + } + + //$con->commit(); + Application_Model_Preference::SetAirtimeVersion($newVersion); + Cache::clear(); + + $this->toggleMaintenanceScreen(false); + + return true; + + } catch(Exception $e) { + //$con->rollback(); + $this->toggleMaintenanceScreen(false); + throw $e; + } + } +} + +/* We are skipping 2.5.5 because it used to be the Show Artwork. + * + * DO NOT USE schema version 2.5.5! + */ + + +/** This is a stub. Please implement this 2.5.6 upgrader for the next schema change that we need. + * (It's setup to upgrade from 2.5.4 and 2.5.5 - this is a must due to the 2.5.5 schema being phase out. Long story... + * + */ +class AirtimeUpgrader256 extends AirtimeUpgrader { + protected function getSupportedVersions() { + return array ( + '2.5.4', '2.5.5' + ); + } + + public function getNewVersion() { + return '2.5.6'; + } + + public function upgrade($dir = __DIR__) { + Cache::clear(); + assert($this->checkIfUpgradeSupported()); + + $newVersion = $this->getNewVersion(); + + try { + //TODO: Implement this + return true; + } catch(Exception $e) { + $this->toggleMaintenanceScreen(false); + throw $e; + } + } +} diff --git a/airtime_mvc/build/sql/defaultdata.sql b/airtime_mvc/build/sql/defaultdata.sql index af82be2b8..94e478fcb 100644 --- a/airtime_mvc/build/sql/defaultdata.sql +++ b/airtime_mvc/build/sql/defaultdata.sql @@ -1,3 +1,6 @@ +-- Schema version +INSERT INTO cc_pref("keystr", "valstr") VALUES('system_version', '2.5.2'); + INSERT INTO cc_subjs ("login", "type", "pass") VALUES ('admin', 'A', md5('admin')); -- added in 2.3 INSERT INTO cc_stream_setting ("keyname", "value", "type") VALUES ('off_air_meta', 'Airtime - offline', 'string'); From 36c5d22e254232cfa863de157df4d625a282292e Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Thu, 15 Jan 2015 13:48:40 -0500 Subject: [PATCH 117/168] Made the process of switching from an old (pre-2.5.2) install to the new version smoother --- .../airtime-setup/forms/database-settings.php | 17 +++++-- .../airtime-setup/forms/finish-settings.php | 4 ++ .../airtime-setup/forms/rabbitmq-settings.php | 20 ++++++-- airtime_mvc/build/airtime.example.conf | 17 ------- install | 47 ++++++++++--------- 5 files changed, 58 insertions(+), 47 deletions(-) diff --git a/airtime_mvc/build/airtime-setup/forms/database-settings.php b/airtime_mvc/build/airtime-setup/forms/database-settings.php index a97bc672d..6a32dcacf 100644 --- a/airtime_mvc/build/airtime-setup/forms/database-settings.php +++ b/airtime_mvc/build/airtime-setup/forms/database-settings.php @@ -1,4 +1,9 @@
@@ -10,22 +15,26 @@

- + />
- + />
- + />
- + />
diff --git a/airtime_mvc/build/airtime-setup/forms/finish-settings.php b/airtime_mvc/build/airtime-setup/forms/finish-settings.php index 3bd33d795..4e7b7ff1d 100644 --- a/airtime_mvc/build/airtime-setup/forms/finish-settings.php +++ b/airtime_mvc/build/airtime-setup/forms/finish-settings.php @@ -1,4 +1,8 @@ diff --git a/airtime_mvc/build/airtime-setup/forms/rabbitmq-settings.php b/airtime_mvc/build/airtime-setup/forms/rabbitmq-settings.php index f287c6bb5..4f1ac1723 100644 --- a/airtime_mvc/build/airtime-setup/forms/rabbitmq-settings.php +++ b/airtime_mvc/build/airtime-setup/forms/rabbitmq-settings.php @@ -1,4 +1,9 @@ @@ -19,12 +24,14 @@
- + />
- + /> You probably want to change this! @@ -32,17 +39,20 @@
- + />
- + />
- + />
diff --git a/airtime_mvc/build/airtime.example.conf b/airtime_mvc/build/airtime.example.conf index 157d7140f..98c5c7887 100644 --- a/airtime_mvc/build/airtime.example.conf +++ b/airtime_mvc/build/airtime.example.conf @@ -107,23 +107,6 @@ vhost = /airtime # ---------------------------------------------------------------------- -# ---------------------------------------------------------------------- -# M O N I T -# ---------------------------------------------------------------------- -# -# monit_user: The username for the Monit user. -# The default is guest. -# -# monit_password: The password for the Monit user. -# The default is airtime. -# -[monit] -monit_user = guest -monit_password = airtime -# -# ---------------------------------------------------------------------- - - # ---------------------------------------------------------------------- # M E D I A M O N I T O R # ---------------------------------------------------------------------- diff --git a/install b/install index e1ec9ef6e..3cddb90d9 100755 --- a/install +++ b/install @@ -233,30 +233,35 @@ echo "/ | \ || | \ | | | / Y \| \ " echo "\____|__ /___||____|_ / |____| |___\____|__ /_______ / " echo -e " \/ \/ \/ \/ \n" + if [ -f /etc/airtime/airtime.conf ]; then - set +e - verbose "Stopping airtime services..." - service airtime-playout stop-with-monit - service airtime-media-monitor stop-with-monit - service airtime-liquidsoap stop-with-monit - verbose "...Done" + OLD_CONF=$(grep "[media-monitor]" /etc/airtime/airtime.conf) - echo "Existing Airtime installation detected. Your current /etc/airtime/airtime.conf \ -will be moved to /etc/airtime/airtime.conf.bak" - # If we don't remove the existing python files in /usr/lib and the - # /etc/init.d startup scripts, services won't work properly - rm -rf /usr/lib/airtime/ - rm /etc/init.d/airtime-* - # If the user selects an "in-place" install or passes in a web root, - # we need to replace the old apache airtime.conf - rm /etc/apache2/sites-available/airtime.conf - - if [ -d /usr/share/airtime -a web_root = /usr/share/airtime ]; then - rm -rf /usr/share/airtime + if [ -n "${OLD_CONF}" ]; then + set +e + verbose "Stopping airtime services..." + service airtime-playout stop-with-monit + service airtime-media-monitor stop-with-monit + service airtime-liquidsoap stop-with-monit + verbose "...Done" + + echo "Looks like you have an old version of Airtime. Your current /etc/airtime/airtime.conf \ +will be moved to /etc/airtime/airtime.conf.tmp" + # If we don't remove the existing python files in /usr/lib and the + # /etc/init.d startup scripts, services won't work properly + rm -rf /usr/lib/airtime/ + rm /etc/init.d/airtime-* + # If the user selects an "in-place" install or passes in a web root, + # we need to replace the old apache airtime.conf + rm /etc/apache2/sites-available/airtime.conf + + if [ -d /usr/share/airtime -a web_root = /usr/share/airtime ]; then + rm -rf /usr/share/airtime + fi + + mv /etc/airtime/airtime.conf /etc/airtime/airtime.conf.tmp + set -e fi - - mv /etc/airtime/airtime.conf /etc/airtime/airtime.conf.bak - set -e fi if [ "$apache" = "f" -a ${_i} -eq 1 ]; then From b144a92c4d7c66fc10fb9a1abb4b18865bdaa918 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Thu, 15 Jan 2015 13:52:12 -0500 Subject: [PATCH 118/168] Small fix to uninstall script --- uninstall | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/uninstall b/uninstall index e2c93f344..12cd87dab 100755 --- a/uninstall +++ b/uninstall @@ -69,7 +69,7 @@ if [[ ! ( "$IN" = "y" || "$IN" = "Y" ) ]]; then exit 0 fi -if [ -n ${STOR_DIR} ]; then +if [ -n "${STOR_DIR}" ]; then echo -e "\nAre you sure you want to remove your music storage directory ${STOR_DIR} and all of its subdirectories? (Y/n): \c" read IN if [[ "$IN" = "y" || "$IN" = "Y" ]]; then @@ -80,7 +80,9 @@ else fi echo -e "\nUninstalling Airtime..." -removeRabbitmqAirtimeSettings +if [ -f /etc/airtime/airtime.conf ]; then + removeRabbitmqAirtimeSettings +fi rm -rf /etc/airtime rm -rf /var/log/airtime/ From 5c95f63f759b83ad9cb8e3a6e361eefe2f27ea09 Mon Sep 17 00:00:00 2001 From: Albert Santoni Date: Thu, 15 Jan 2015 13:57:10 -0500 Subject: [PATCH 119/168] Clarify README slightly --- README | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README b/README index 199acbb42..2c8ae39e0 100644 --- a/README +++ b/README @@ -3,7 +3,7 @@ ========================================================================= Airtime is an open source application that provides remote and -collaborative automation of a broadcast station. +collaborative automation of a broadcast radio station. Home page: http://www.sourcefabric.org/en/airtime/ @@ -61,9 +61,9 @@ There are several options for installation - to see them all, run sudo ./install --help -2) Once you've run the installer, navigate to localhost/ (if you have a custom -apache configuration, navigate to your Airtime web host) to run an interactive -setup. +2) Once you've run the installer, open a web browser to http://localhost to run +the interactive setup. (If you have a custom apache configuration, navigate to +your Airtime web host instead.) If you just want to run Airtime with default settings, you won't need to change anything, but if you have any custom configuration settings you'll be able to From 11acca32f9c42230665dca587348293c2bc2130a Mon Sep 17 00:00:00 2001 From: Albert Santoni Date: Thu, 15 Jan 2015 15:36:22 -0500 Subject: [PATCH 120/168] Update comment at the top of conf.php to reflect config file amalgamation --- airtime_mvc/application/configs/conf.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/airtime_mvc/application/configs/conf.php b/airtime_mvc/application/configs/conf.php index 132605179..486eeff2e 100644 --- a/airtime_mvc/application/configs/conf.php +++ b/airtime_mvc/application/configs/conf.php @@ -2,8 +2,6 @@ /* THIS FILE IS NOT MEANT FOR CUSTOMIZING. * PLEASE EDIT THE FOLLOWING TO CHANGE YOUR CONFIG: * /etc/airtime/airtime.conf - * /etc/airtime/pypo.cfg - * /etc/airtime/recorder.cfg */ class Config { From 791466b02362557a6af2a05c05b2d432b9b4f9e4 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Thu, 15 Jan 2015 16:33:33 -0500 Subject: [PATCH 121/168] Fixes for code review https://github.com/sourcefabric/Airtime/pull/84 --- airtime_mvc/application/Bootstrap.php | 9 + airtime_mvc/application/configs/conf.php | 3 - .../controllers/UpgradeController.php | 34 +- airtime_mvc/application/models/Cache.php | 6 + .../application/models/Systemstatus.php | 6 +- airtime_mvc/application/upgrade/Upgrades.php | 27 ++ .../airtime-setup/forms/database-settings.php | 8 +- .../airtime-setup/forms/finish-settings.php | 4 - .../airtime-setup/forms/rabbitmq-settings.php | 10 +- airtime_mvc/build/airtime.example.conf | 424 +++++++++--------- airtime_mvc/public/setup/media-setup.php | 11 +- dev_tools/toggle-pypo-debug.sh | 4 +- install | 11 +- installer/lib/requirements-debian-wheezy.apt | 3 - installer/lib/requirements-ubuntu-saucy.apt | 3 - installer/lib/requirements-ubuntu-trusty.apt | 3 - ...nf => airtime-media-monitor.conf.template} | 0 .../media/saas/airtimeinstance.py | 2 +- python_apps/media-monitor/setup.py | 15 +- ....conf => airtime-liquidsoap.conf.template} | 0 ...out.conf => airtime-playout.conf.template} | 0 .../liquidsoap_prepare_terminate.py | 8 +- python_apps/pypo/pypo/pyponotify.py | 2 +- python_apps/pypo/pypo/recorder.py | 14 +- python_apps/pypo/setup.py | 16 +- uninstall | 28 +- 26 files changed, 347 insertions(+), 304 deletions(-) rename python_apps/media-monitor/install/{airtime-media-monitor.conf => airtime-media-monitor.conf.template} (100%) rename python_apps/pypo/install/{airtime-liquidsoap.conf => airtime-liquidsoap.conf.template} (100%) rename python_apps/pypo/install/{airtime-playout.conf => airtime-playout.conf.template} (100%) diff --git a/airtime_mvc/application/Bootstrap.php b/airtime_mvc/application/Bootstrap.php index 9acf6f7f6..ee49b73a8 100644 --- a/airtime_mvc/application/Bootstrap.php +++ b/airtime_mvc/application/Bootstrap.php @@ -21,6 +21,7 @@ require_once "Timezone.php"; require_once "Auth.php"; require_once __DIR__ . '/forms/helpers/ValidationTypes.php'; require_once __DIR__ . '/controllers/plugins/RabbitMqPlugin.php'; +require_once __DIR__ . '/upgrade/Upgrades.php'; require_once (APPLICATION_PATH . "logging/Logging.php"); Logging::setLogPath('/var/log/airtime/zendphp.log'); @@ -76,6 +77,14 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap $view->headScript()->appendScript("var USER_MANUAL_URL = '" . USER_MANUAL_URL . "';"); $view->headScript()->appendScript("var COMPANY_NAME = '" . COMPANY_NAME . "';"); } + + protected function _initUpgrade() { + Logging::info("Checking if upgrade is needed..."); + if (AIRTIME_CODE_VERSION > Application_Model_Preference::GetAirtimeVersion()) { + $upgradeManager = new UpgradeManager(); + $upgradeManager->runUpgrades(array(new AirtimeUpgrader252()), (__DIR__ . "/controllers")); + } + } protected function _initHeadLink() { diff --git a/airtime_mvc/application/configs/conf.php b/airtime_mvc/application/configs/conf.php index 132605179..58515e236 100644 --- a/airtime_mvc/application/configs/conf.php +++ b/airtime_mvc/application/configs/conf.php @@ -38,9 +38,6 @@ class Config { $CC_CONFIG['cache_ahead_hours'] = $values['general']['cache_ahead_hours']; - $CC_CONFIG['monit_user'] = $values['monit']['monit_user']; - $CC_CONFIG['monit_password'] = $values['monit']['monit_password']; - // Database config $CC_CONFIG['dsn']['username'] = $values['database']['dbuser']; $CC_CONFIG['dsn']['password'] = $values['database']['dbpass']; diff --git a/airtime_mvc/application/controllers/UpgradeController.php b/airtime_mvc/application/controllers/UpgradeController.php index 2691f270f..7ff511dee 100644 --- a/airtime_mvc/application/controllers/UpgradeController.php +++ b/airtime_mvc/application/controllers/UpgradeController.php @@ -20,35 +20,25 @@ class UpgradeController extends Zend_Controller_Action array_push($upgraders, new AirtimeUpgrader254()); */ $didWePerformAnUpgrade = false; - try - { - for ($i = 0; $i < count($upgraders); $i++) - { - $upgrader = $upgraders[$i]; - if ($upgrader->checkIfUpgradeSupported()) - { - // pass __DIR__ to the upgrades, since __DIR__ returns parent dir of file, not executor - $upgrader->upgrade(__DIR__); //This will throw an exception if the upgrade fails. - $didWePerformAnUpgrade = true; - $this->getResponse() - ->setHttpResponseCode(200) - ->appendBody("Upgrade to Airtime " . $upgrader->getNewVersion() . " OK
"); - $i = 0; //Start over, in case the upgrade handlers are not in ascending order. - } - } + try { + $upgradeManager = new UpgradeManager(); + $didWePerformAnUpgrade = $upgradeManager->runUpgrades($upgraders, __DIR__); - if (!$didWePerformAnUpgrade) - { + if (!$didWePerformAnUpgrade) { $this->getResponse() - ->setHttpResponseCode(200) - ->appendBody("No upgrade was performed. The current Airtime version is " . AirtimeUpgrader::getCurrentVersion() . ".
"); + ->setHttpResponseCode(200) + ->appendBody("No upgrade was performed. The current Airtime version is " . AirtimeUpgrader::getCurrentVersion() . ".
"); + } else { + $this->getResponse() + ->setHttpResponseCode(200) + ->appendBody("Upgrade to Airtime " . $upgrader->getNewVersion() . " OK
"); } } catch (Exception $e) { $this->getResponse() - ->setHttpResponseCode(400) - ->appendBody($e->getMessage()); + ->setHttpResponseCode(400) + ->appendBody($e->getMessage()); } } diff --git a/airtime_mvc/application/models/Cache.php b/airtime_mvc/application/models/Cache.php index af4e6417b..eccc9d4b9 100644 --- a/airtime_mvc/application/models/Cache.php +++ b/airtime_mvc/application/models/Cache.php @@ -28,4 +28,10 @@ class Cache //$cacheKey = self::createCacheKey($key, $isUserValue, $userId); return false; //apc_fetch($cacheKey); } + + public static function clear() { + // Disabled on SaaS + // apc_clear_cache('user'); + // apc_clear_cache(); + } } diff --git a/airtime_mvc/application/models/Systemstatus.php b/airtime_mvc/application/models/Systemstatus.php index 4a0480a04..387252648 100644 --- a/airtime_mvc/application/models/Systemstatus.php +++ b/airtime_mvc/application/models/Systemstatus.php @@ -6,15 +6,15 @@ class Application_Model_Systemstatus public static function GetMonitStatus($p_ip) { $CC_CONFIG = Config::getConfig(); - $monit_user = $CC_CONFIG['monit_user']; - $monit_password = $CC_CONFIG['monit_password']; +// $monit_user = $CC_CONFIG['monit_user']; +// $monit_password = $CC_CONFIG['monit_password']; $url = "http://$p_ip:2812/_status?format=xml"; $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_URL, $url); - curl_setopt($ch, CURLOPT_USERPWD, "$monit_user:$monit_password"); +// curl_setopt($ch, CURLOPT_USERPWD, "$monit_user:$monit_password"); //wait a max of 3 seconds before aborting connection attempt curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3); $result = curl_exec($ch); diff --git a/airtime_mvc/application/upgrade/Upgrades.php b/airtime_mvc/application/upgrade/Upgrades.php index f95216bd0..fe083d1ae 100644 --- a/airtime_mvc/application/upgrade/Upgrades.php +++ b/airtime_mvc/application/upgrade/Upgrades.php @@ -1,5 +1,32 @@ checkIfUpgradeSupported()) { + // pass the given directory to the upgrades, since __DIR__ returns parent dir of file, not executor + $upgrader->upgrade($dir); // This will throw an exception if the upgrade fails. + $upgradePerformed = true; + $i = 0; // Start over, in case the upgrade handlers are not in ascending order. + } + } + + return $upgradePerformed; + } + +} + abstract class AirtimeUpgrader { /** Versions that this upgrader class can upgrade from (an array of version strings). */ diff --git a/airtime_mvc/build/airtime-setup/forms/database-settings.php b/airtime_mvc/build/airtime-setup/forms/database-settings.php index 6a32dcacf..d9df0e42e 100644 --- a/airtime_mvc/build/airtime-setup/forms/database-settings.php +++ b/airtime_mvc/build/airtime-setup/forms/database-settings.php @@ -16,25 +16,25 @@
/> + value="" />
/> + value="" />
/> + value="" />
/> + value="" />
diff --git a/airtime_mvc/build/airtime-setup/forms/finish-settings.php b/airtime_mvc/build/airtime-setup/forms/finish-settings.php index 4e7b7ff1d..3bd33d795 100644 --- a/airtime_mvc/build/airtime-setup/forms/finish-settings.php +++ b/airtime_mvc/build/airtime-setup/forms/finish-settings.php @@ -1,8 +1,4 @@ diff --git a/airtime_mvc/build/airtime-setup/forms/rabbitmq-settings.php b/airtime_mvc/build/airtime-setup/forms/rabbitmq-settings.php index 4f1ac1723..052956b0f 100644 --- a/airtime_mvc/build/airtime-setup/forms/rabbitmq-settings.php +++ b/airtime_mvc/build/airtime-setup/forms/rabbitmq-settings.php @@ -25,13 +25,13 @@
/> + value="" />
/> + value="" /> You probably want to change this! @@ -40,19 +40,19 @@
/> + value="" />
/> + value="" />
/> + value="" />
diff --git a/airtime_mvc/build/airtime.example.conf b/airtime_mvc/build/airtime.example.conf index 98c5c7887..65369e0c5 100644 --- a/airtime_mvc/build/airtime.example.conf +++ b/airtime_mvc/build/airtime.example.conf @@ -1,42 +1,42 @@ -# ---------------------------------------------------------------------- -# A I R T I M E C O N F I G U R A T I O N -# ---------------------------------------------------------------------- -# -# This is an example configuration for Airtime. If you just want to -# get started with a basic Airtime setup, or don't know if you should -# be reconfiguring any of the following values, just rename this file -# to 'airtime.conf'. -# -# ---------------------------------------------------------------------- +; ---------------------------------------------------------------------- +; A I R T I M E C O N F I G U R A T I O N +; ---------------------------------------------------------------------- +; +; This is an example configuration for Airtime. If you just want to +; get started with a basic Airtime setup, or don't know if you should +; be reconfiguring any of the following values, just rename this file +; to 'airtime.conf'. +; +; ---------------------------------------------------------------------- -# ---------------------------------------------------------------------- -# G E N E R A L S E T T I N G S -# ---------------------------------------------------------------------- -# -# These settings are used for Airtime's webserver configuration, and -# for general-purpose properties. -# -# api_key: The API key for your Airtime installation. -# The value is generated the first time you use Airtime. -# -# web_server_user: The default webserver user. -# The default is www-data. -# -# base_url: The host name for your webserver. -# The default is localhost. -# -# base_port: The port for your webserver. -# The default is 80. -# -# base_dir: The root directory for your Airtime installation -# on your webserver, relative to the base_url. -# The default is /. -# -# cache_ahead_hours: How many hours ahead of time the Airtime playout -# engine (pypo) should cache scheduled media files. -# The default is 1. -# +; ---------------------------------------------------------------------- +; G E N E R A L S E T T I N G S +; ---------------------------------------------------------------------- +; +; These settings are used for Airtime's webserver configuration, and +; for general-purpose properties. +; +; api_key: The API key for your Airtime installation. +; The value is generated the first time you use Airtime. +; +; web_server_user: The default webserver user. +; The default is www-data. +; +; base_url: The host name for your webserver. +; The default is localhost. +; +; base_port: The port for your webserver. +; The default is 80. +; +; base_dir: The root directory for your Airtime installation +; on your webserver, relative to the base_url. +; The default is /. +; +; cache_ahead_hours: How many hours ahead of time the Airtime playout +; engine (pypo) should cache scheduled media files. +; The default is 1. +; [general] api_key = web_server_user = www-data @@ -44,99 +44,99 @@ base_url = localhost base_port = 80 base_dir = / cache_ahead_hours = 1 -# -# ---------------------------------------------------------------------- +; +; ---------------------------------------------------------------------- -# ---------------------------------------------------------------------- -# D A T A B A S E -# ---------------------------------------------------------------------- -# -# These settings are used to configure your database connection. -# -# host: The hostname of the database server. -# On a default Airtime installation, set this to localhost. -# -# dbname: The name of the Airtime database. -# The default is airtime. -# -# dbuser: The username for the Airtime database user. -# The default is airtime. -# -# dbpass: The password for the Airtime database user. -# The default is airtime. -# +; ---------------------------------------------------------------------- +; D A T A B A S E +; ---------------------------------------------------------------------- +; +; These settings are used to configure your database connection. +; +; host: The hostname of the database server. +; On a default Airtime installation, set this to localhost. +; +; dbname: The name of the Airtime database. +; The default is airtime. +; +; dbuser: The username for the Airtime database user. +; The default is airtime. +; +; dbpass: The password for the Airtime database user. +; The default is airtime. +; [database] host = localhost dbname = airtime dbuser = airtime dbpass = airtime -# -# ---------------------------------------------------------------------- +; +; ---------------------------------------------------------------------- -# ---------------------------------------------------------------------- -# R A B B I T M Q -# ---------------------------------------------------------------------- -# -# These settings are used to configure the RabbitMQ messaging -# configuration for your Airtime installation. -# -# host: The IP address for the RabbitMQ service. -# The default is 127.0.0.1. -# -# port: The port for the RabbitMQ service. -# The default is 5672. -# -# user: The username for the RabbitMQ user. -# The default is airtime. -# -# password: The password for the RabbitMQ user. -# The default is airtime. -# -# vhost: The virtual host for the RabbitMQ service database. -# The default is /airtime. -# +; ---------------------------------------------------------------------- +; R A B B I T M Q +; ---------------------------------------------------------------------- +; +; These settings are used to configure the RabbitMQ messaging +; configuration for your Airtime installation. +; +; host: The IP address for the RabbitMQ service. +; The default is 127.0.0.1. +; +; port: The port for the RabbitMQ service. +; The default is 5672. +; +; user: The username for the RabbitMQ user. +; The default is airtime. +; +; password: The password for the RabbitMQ user. +; The default is airtime. +; +; vhost: The virtual host for the RabbitMQ service database. +; The default is /airtime. +; [rabbitmq] host = 127.0.0.1 port = 5672 user = airtime password = airtime vhost = /airtime -# -# ---------------------------------------------------------------------- +; +; ---------------------------------------------------------------------- -# ---------------------------------------------------------------------- -# M E D I A M O N I T O R -# ---------------------------------------------------------------------- -# -# check_filesystem_events: How long to queue up events performed on the -# files themselves, in seconds -# The default is 5 -# -# check_airtime_events: How long to queue metadata input from airtime, -# in seconds -# The default is 30 -# -# touch_interval: -# The default is 5 -# -# chunking_number: -# The default is 450 -# -# request_max_wait: The maximum request wait time, in seconds -# The default is 3.0 -# -# rmq_event_wait: The RabbitMQ event wait time, in seconds -# The default is 0.1 -# -# logpath: The media monitor log file path -# The default is '/var/log/airtime/media-monitor/media-monitor.log' -# -# index_path: The media monitor index path -# The default is '/var/tmp/airtime/media-monitor/last_index' -# +; ---------------------------------------------------------------------- +; M E D I A M O N I T O R +; ---------------------------------------------------------------------- +; +; check_filesystem_events: How long to queue up events performed on the +; files themselves, in seconds +; The default is 5 +; +; check_airtime_events: How long to queue metadata input from airtime, +; in seconds +; The default is 30 +; +; touch_interval: +; The default is 5 +; +; chunking_number: +; The default is 450 +; +; request_max_wait: The maximum request wait time, in seconds +; The default is 3.0 +; +; rmq_event_wait: The RabbitMQ event wait time, in seconds +; The default is 0.1 +; +; logpath: The media monitor log file path +; The default is '/var/log/airtime/media-monitor/media-monitor.log' +; +; index_path: The media monitor index path +; The default is '/var/tmp/airtime/media-monitor/last_index' +; [media-monitor] check_filesystem_events = 5 check_airtime_events = 30 @@ -146,129 +146,129 @@ request_max_wait = 3.0 rmq_event_wait = 0.1 logpath = '/var/log/airtime/media-monitor/media-monitor.log' index_path = '/var/tmp/airtime/media-monitor/last_index' -# -# ---------------------------------------------------------------------- +; +; ---------------------------------------------------------------------- -# ---------------------------------------------------------------------- -# P Y P O -# ---------------------------------------------------------------------- -# -# api_client: Set the type of client you are using. -# Currently supported types: -# 1) 'obp' = Open Broadcast Platform -# 2) 'airtime' -# The default is 'airtime' -# -# cache_dir: The directory for pypo cache files -# The default is '/var/tmp/airtime/pypo/cache/' -# -# file_dir: The directory for pypo media files -# The default is '/var/tmp/airtime/pypo/files/' -# -# tmp_dir: The directory for pypo temp files -# The default is '/var/tmp/airtime/pypo/tmp/' -# -# cache_base_dir: The pypo base cache directory -# The default is '/var/tmp/airtime/pypo/' -# -# log_base_dir: The base directory for Airtime log files -# The default is '/var/log/airtime' -# -# pypo_log_dir: The directory for pypo log files -# The default is '/var/log/airtime/pypo' -# -# liquidsoap_log_dir: The directory for liquidsoap log files -# The default is '/var/log/airtime/pypo-liquidsoap' -# -# ls_host: Liquidsoap connection host -# The default is '127.0.0.1' -# -# ls_port: Liquidsoap connection port -# The default is '1234' -# -# poll_interval: Poll interval in seconds -# -# This will rarely need to be changed because any schedule -# changes are automatically sent to pypo immediately -# This is how often the poll script downloads new schedules -# and files from the server in the event that no changes -# are made to the schedule -# The default is 3600 -# -# push_interval: Push interval in seconds -# -# This is how often the push script checks whether it has -# something new to push to liquidsoap -# The default is 1 -# -# cue_style: Can be set to 'pre' or 'otf' -# 'pre' cues while playlist preparation -# 'otf' (on the fly) cues while loading into ls -# (needs the post_processor patch) -# The default is 'pre' -# -# record_bitrate: The bitrate for recordings -# The default is 256 -# -# record_samplerate: The samplerate for recordings -# The default is 44100 -# -# record_channels: The number of channels for recordings -# The default is 2 -# -# record_sample_size: The sample size for recordings -# The default is 16 -# -# record_file_type: Can be either ogg|mp3, mp3 recording requires -# installation of the package "lame" -# The default is ogg -# -# base_recorded_files: Base path to store recordered shows at -# The default is '/var/tmp/airtime/show-recorder/' -# +; ---------------------------------------------------------------------- +; P Y P O +; ---------------------------------------------------------------------- +; +; api_client: Set the type of client you are using. +; Currently supported types: +; 1) 'obp' = Open Broadcast Platform +; 2) 'airtime' +; The default is 'airtime' +; +; cache_dir: The directory for pypo cache files +; The default is '/var/tmp/airtime/pypo/cache/' +; +; file_dir: The directory for pypo media files +; The default is '/var/tmp/airtime/pypo/files/' +; +; tmp_dir: The directory for pypo temp files +; The default is '/var/tmp/airtime/pypo/tmp/' +; +; cache_base_dir: The pypo base cache directory +; The default is '/var/tmp/airtime/pypo/' +; +; log_base_dir: The base directory for Airtime log files +; The default is '/var/log/airtime' +; +; pypo_log_dir: The directory for pypo log files +; The default is '/var/log/airtime/pypo' +; +; liquidsoap_log_dir: The directory for liquidsoap log files +; The default is '/var/log/airtime/pypo-liquidsoap' +; +; ls_host: Liquidsoap connection host +; The default is '127.0.0.1' +; +; ls_port: Liquidsoap connection port +; The default is '1234' +; +; poll_interval: Poll interval in seconds +; +; This will rarely need to be changed because any schedule +; changes are automatically sent to pypo immediately +; This is how often the poll script downloads new schedules +; and files from the server in the event that no changes +; are made to the schedule +; The default is 3600 +; +; push_interval: Push interval in seconds +; +; This is how often the push script checks whether it has +; something new to push to liquidsoap +; The default is 1 +; +; cue_style: Can be set to 'pre' or 'otf' +; 'pre' cues while playlist preparation +; 'otf' (on the fly) cues while loading into ls +; (needs the post_processor patch) +; The default is 'pre' +; +; record_bitrate: The bitrate for recordings +; The default is 256 +; +; record_samplerate: The samplerate for recordings +; The default is 44100 +; +; record_channels: The number of channels for recordings +; The default is 2 +; +; record_sample_size: The sample size for recordings +; The default is 16 +; +; record_file_type: Can be either ogg|mp3, mp3 recording requires +; installation of the package "lame" +; The default is ogg +; +; base_recorded_files: Base path to store recordered shows at +; The default is '/var/tmp/airtime/show-recorder/' +; [pypo] api_client = 'airtime' -# ---------- Cache directories - !! Include trailing slash !! ---------- +; ---------- Cache directories - !! Include trailing slash !! ---------- cache_dir = '/var/tmp/airtime/pypo/cache/' file_dir = '/var/tmp/airtime/pypo/files/' tmp_dir = '/var/tmp/airtime/pypo/tmp/' -# ------- Setup directories - !! Don't include trailing slash !! ------- +; ------- Setup directories - !! Don't include trailing slash !! ------- cache_base_dir = '/var/tmp/airtime/pypo' log_base_dir = '/var/log/airtime' pypo_log_dir = '/var/log/airtime/pypo' liquidsoap_log_dir = '/var/log/airtime/pypo-liquidsoap' -# ------------------------ Liquidsoap Settings ------------------------- +; ------------------------ Liquidsoap Settings ------------------------- ls_host = '127.0.0.1' ls_port = '1234' -# -------------------------- Pypo Preferences -------------------------- +; -------------------------- Pypo Preferences -------------------------- poll_interval = 3600 push_interval = 1 cue_style = 'pre' -# ---------------------- Recorded Audio Settings ----------------------- +; ---------------------- Recorded Audio Settings ----------------------- record_bitrate = 256 record_samplerate = 44100 record_channels = 2 record_sample_size = 16 record_file_type = 'ogg' base_recorded_files = '/var/tmp/airtime/show-recorder/' -# -# ---------------------------------------------------------------------- +; +; ---------------------------------------------------------------------- -# ---------------------------------------------------------------------- -# S O U N D C L O U D -# ---------------------------------------------------------------------- -# -# connection_retries: The number of times to retry the connection to -# Soundcloud. -# The default is 3. -# -# time_between_retries: The time between connection retries, in seconds. -# The default is 60. -# +; ---------------------------------------------------------------------- +; S O U N D C L O U D +; ---------------------------------------------------------------------- +; +; connection_retries: The number of times to retry the connection to +; Soundcloud. +; The default is 3. +; +; time_between_retries: The time between connection retries, in seconds. +; The default is 60. +; [soundcloud] connection_retries = 3 time_between_retries = 60 -# -# ---------------------------------------------------------------------- \ No newline at end of file +; +; ---------------------------------------------------------------------- \ No newline at end of file diff --git a/airtime_mvc/public/setup/media-setup.php b/airtime_mvc/public/setup/media-setup.php index 7d5eb2dae..40c0f6312 100644 --- a/airtime_mvc/public/setup/media-setup.php +++ b/airtime_mvc/public/setup/media-setup.php @@ -15,7 +15,7 @@ require_once(dirname(dirname( __DIR__)) . "/application/models/airtime/om/BaseCc require_once(dirname(dirname( __DIR__)) . "/application/models/airtime/CcMusicDirsPeer.php"); /** - * User: sourcefabric + * Author: sourcefabric * Date: 08/12/14 * * Class MediaSetup @@ -65,6 +65,15 @@ class MediaSetup extends Setup { $message = "Error moving airtime.conf or deleting /tmp/airtime.conf.temp!"; $errors[] = "ERR"; } + + /* + * If we're upgrading from an old Airtime instance (pre-2.5.2) we rename their old + * airtime.conf to airtime.conf.tmp during the setup process. Now that we're done, + * we can rename it to airtime.conf.bak to avoid confusion. + */ + if (file_exists(self::AIRTIME_CONF_PATH . ".tmp")) { + rename(self::AIRTIME_CONF_PATH . ".tmp", self::AIRTIME_CONF_PATH . ".bak"); + } } else { $message = "Failed to move airtime.conf; /etc/airtime doesn't exist!"; $errors[] = "ERR"; diff --git a/dev_tools/toggle-pypo-debug.sh b/dev_tools/toggle-pypo-debug.sh index d8f6a3e96..6468066a1 100755 --- a/dev_tools/toggle-pypo-debug.sh +++ b/dev_tools/toggle-pypo-debug.sh @@ -18,7 +18,7 @@ if [ "$1" = "--enable" ]; then echo "Changing ownership to user $1" chmod -R a+rw /var/log/airtime/pypo - chmod a+r /etc/airtime/pypo.cfg + chmod a+r /etc/airtime/airtime.conf chown -Rv $user:$user /var/tmp/airtime/pypo/ chmod -v a+r /etc/airtime/api_client.cfg elif [ "$1" = "--disable" ]; then @@ -26,7 +26,7 @@ elif [ "$1" = "--disable" ]; then user="pypo" echo "Changing ownership to user $1" - chmod 644 /etc/airtime/pypo.cfg + chmod 644 /etc/airtime/airtime.conf chown -Rv $user:$user /var/tmp/airtime/pypo/ chmod -v a+r /etc/airtime/api_client.cfg diff --git a/install b/install index 3cddb90d9..27df41902 100755 --- a/install +++ b/install @@ -406,6 +406,7 @@ verbose "...Done" for i in /etc/init/airtime*; do chmod 644 $i sed -i "s/WEB_USER/${web_user}/g" $i + mv $i ${i%.template} done initctl reload-configuration @@ -414,18 +415,8 @@ if [ ! -d /var/log/airtime ]; then loud "\n-----------------------------------------------------" loud " * Installing Log Files * " loud "-----------------------------------------------------" - - verbose "\n * Creating /var/log/airtime..." - mkdir -p /var/log/airtime - mkdir -p /var/log/airtime/media-monitor - mkdir -p /var/log/airtime/pypo - mkdir -p /var/log/airtime/pypo-liquidsoap verbose "\n * Creating /var/tmp/airtime..." - mkdir -p /var/tmp/airtime/media-monitor - mkdir -p /var/tmp/airtime/pypo/cache/ - mkdir -p /var/tmp/airtime/pypo/files/ - mkdir -p /var/tmp/airtime/pypo/tmp/ mkdir -p /var/tmp/airtime/show-recorder/ verbose "\n * Copying logrotate files..." diff --git a/installer/lib/requirements-debian-wheezy.apt b/installer/lib/requirements-debian-wheezy.apt index 30df184f1..c2afc1f5d 100644 --- a/installer/lib/requirements-debian-wheezy.apt +++ b/installer/lib/requirements-debian-wheezy.apt @@ -11,7 +11,6 @@ libtaglib-ocaml libao-ocaml libmad-ocaml ecasound -libesd0 libportaudio2 libsamplerate0 libvo-aacenc0 @@ -34,11 +33,9 @@ pwgen libfaad2 php-apc -libmp3lame-dev lame coreutils -sourcefabric-keyring silan libopus0 \ No newline at end of file diff --git a/installer/lib/requirements-ubuntu-saucy.apt b/installer/lib/requirements-ubuntu-saucy.apt index 2bec0a3c0..9c681d7a3 100644 --- a/installer/lib/requirements-ubuntu-saucy.apt +++ b/installer/lib/requirements-ubuntu-saucy.apt @@ -11,7 +11,6 @@ libtaglib-ocaml libao-ocaml libmad-ocaml ecasound -libesd0 libportaudio2 libsamplerate0 @@ -33,7 +32,6 @@ pwgen libfaad2 php-apc -libmp3lame-dev lame libzend-framework-php @@ -56,6 +54,5 @@ liquidsoap-plugin-taglib liquidsoap-plugin-voaacenc liquidsoap-plugin-vorbis -sourcefabric-keyring silan libopus0 \ No newline at end of file diff --git a/installer/lib/requirements-ubuntu-trusty.apt b/installer/lib/requirements-ubuntu-trusty.apt index f5be8df10..656d4e99d 100755 --- a/installer/lib/requirements-ubuntu-trusty.apt +++ b/installer/lib/requirements-ubuntu-trusty.apt @@ -11,7 +11,6 @@ libtaglib-ocaml libao-ocaml libmad-ocaml ecasound -libesd0 libportaudio2 libsamplerate0 @@ -33,7 +32,6 @@ pwgen libfaad2 php-apc -libmp3lame-dev lame libzend-framework-php @@ -54,6 +52,5 @@ liquidsoap-plugin-taglib liquidsoap-plugin-voaacenc liquidsoap-plugin-vorbis -sourcefabric-keyring silan libopus0 \ No newline at end of file diff --git a/python_apps/media-monitor/install/airtime-media-monitor.conf b/python_apps/media-monitor/install/airtime-media-monitor.conf.template similarity index 100% rename from python_apps/media-monitor/install/airtime-media-monitor.conf rename to python_apps/media-monitor/install/airtime-media-monitor.conf.template diff --git a/python_apps/media-monitor/media-monitor2/media/saas/airtimeinstance.py b/python_apps/media-monitor/media-monitor2/media/saas/airtimeinstance.py index b2fdf2f60..b661eb152 100644 --- a/python_apps/media-monitor/media-monitor2/media/saas/airtimeinstance.py +++ b/python_apps/media-monitor/media-monitor2/media/saas/airtimeinstance.py @@ -21,7 +21,7 @@ class AirtimeInstance(object): def root_make(cls, name, root): cfg = { 'api_client' : join(root, 'etc/airtime/api_client.cfg'), - 'media_monitor' : join(root, 'etc/airtime/media-monitor.cfg'), + 'media_monitor' : join(root, 'etc/airtime/airtime.conf'), } return cls(name, root, cfg) diff --git a/python_apps/media-monitor/setup.py b/python_apps/media-monitor/setup.py index c35c36131..a39b1958a 100644 --- a/python_apps/media-monitor/setup.py +++ b/python_apps/media-monitor/setup.py @@ -12,7 +12,20 @@ if '--no-init-script' in sys.argv: data_files = [] sys.argv.remove('--no-init-script') # super hax else: - data_files = [('/etc/init', ['install/airtime-media-monitor.conf'])] + media_monitor_files = [] + mm2_files = [] + for root, dirnames, filenames in os.walk('media-monitor'): + for filename in filenames: + media_monitor_files.append(os.path.join(root, filename)) + for root, dirnames, filenames in os.walk('media-monitor2'): + for filename in filenames: + mm2_files.append(os.path.join(root, filename)) + + data_files = [ + ('/etc/init', ['install/airtime-media-monitor.conf.template']), + ('/var/log/airtime/media-monitor', []), + ('/var/tmp/airtime/media-monitor', []), + ] print data_files setup(name='airtime-media-monitor', diff --git a/python_apps/pypo/install/airtime-liquidsoap.conf b/python_apps/pypo/install/airtime-liquidsoap.conf.template similarity index 100% rename from python_apps/pypo/install/airtime-liquidsoap.conf rename to python_apps/pypo/install/airtime-liquidsoap.conf.template diff --git a/python_apps/pypo/install/airtime-playout.conf b/python_apps/pypo/install/airtime-playout.conf.template similarity index 100% rename from python_apps/pypo/install/airtime-playout.conf rename to python_apps/pypo/install/airtime-playout.conf.template diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/liquidsoap_prepare_terminate.py b/python_apps/pypo/pypo/liquidsoap_scripts/liquidsoap_prepare_terminate.py index 4a2ddc08a..230b7c935 100644 --- a/python_apps/pypo/pypo/liquidsoap_scripts/liquidsoap_prepare_terminate.py +++ b/python_apps/pypo/pypo/liquidsoap_scripts/liquidsoap_prepare_terminate.py @@ -3,9 +3,9 @@ import telnetlib import sys try: - config = ConfigObj('/etc/airtime/pypo.cfg') - LS_HOST = config['ls_host'] - LS_PORT = config['ls_port'] + config = ConfigObj('/etc/airtime/airtime.conf') + LS_HOST = config['pypo']['ls_host'] + LS_PORT = config['pypo']['ls_port'] tn = telnetlib.Telnet(LS_HOST, LS_PORT) tn.write("master_harbor.stop\n") @@ -14,6 +14,6 @@ try: tn.read_all() except Exception, e: - print 'Error loading config file: %s' % e + print('Error loading config file: %s', e) sys.exit() diff --git a/python_apps/pypo/pypo/pyponotify.py b/python_apps/pypo/pypo/pyponotify.py index 797d1ce9b..32d56270d 100644 --- a/python_apps/pypo/pypo/pyponotify.py +++ b/python_apps/pypo/pypo/pyponotify.py @@ -59,7 +59,7 @@ LogWriter.override_std_err(logger) # loading config file try: - config = ConfigObj('/etc/airtime/pypo.cfg') + config = ConfigObj('/etc/airtime/airtime.conf') except Exception, e: logger.error('Error loading config file: %s', e) diff --git a/python_apps/pypo/pypo/recorder.py b/python_apps/pypo/pypo/recorder.py index 003e76176..82797a366 100644 --- a/python_apps/pypo/pypo/recorder.py +++ b/python_apps/pypo/pypo/recorder.py @@ -34,7 +34,7 @@ def api_client(logger): # loading config file try: - config = ConfigObj('/etc/airtime/pypo.cfg') + config = ConfigObj('/etc/airtime/airtime.conf') except Exception, e: print ('Error loading config file: %s', e) sys.exit() @@ -73,18 +73,18 @@ class ShowRecorder(Thread): filename = self.start_time filename = filename.replace(" ", "-") - if config["record_file_type"] in ["mp3", "ogg"]: - filetype = config["record_file_type"] + if config["pypo"]["record_file_type"] in ["mp3", "ogg"]: + filetype = config["pypo"]["record_file_type"] else: filetype = "ogg"; joined_path = os.path.join(config["base_recorded_files"], filename) filepath = "%s.%s" % (joined_path, filetype) - br = config["record_bitrate"] - sr = config["record_samplerate"] - c = config["record_channels"] - ss = config["record_sample_size"] + br = config["pypo"]["record_bitrate"] + sr = config["pypo"]["record_samplerate"] + c = config["pypo"]["record_channels"] + ss = config["pypo"]["record_sample_size"] #-f:16,2,44100 #-b:256 diff --git a/python_apps/pypo/setup.py b/python_apps/pypo/setup.py index 955e75cce..fd57676b5 100644 --- a/python_apps/pypo/setup.py +++ b/python_apps/pypo/setup.py @@ -12,7 +12,21 @@ if '--no-init-script' in sys.argv: data_files = [] sys.argv.remove('--no-init-script') # super hax else: - data_files = [('/etc/init', ['install/airtime-playout.conf', 'install/airtime-liquidsoap.conf'])] + pypo_files = [] + for root, dirnames, filenames in os.walk('pypo'): + for filename in filenames: + pypo_files.append(os.path.join(root, filename)) + + data_files = [ + ('/etc/init', ['install/airtime-playout.conf.template']), + ('/etc/init', ['install/airtime-liquidsoap.conf.template']), + ('/var/log/airtime/pypo', []), + ('/var/log/airtime/pypo/liquidsoap', []), + ('/var/tmp/airtime/pypo', []), + ('/var/tmp/airtime/pypo/cache', []), + ('/var/tmp/airtime/pypo/files', []), + ('/var/tmp/airtime/pypo/tmp', []), + ] print data_files setup(name='airtime-playout', diff --git a/uninstall b/uninstall index 12cd87dab..de957b815 100755 --- a/uninstall +++ b/uninstall @@ -52,14 +52,16 @@ FILES=( "/etc/init/airtime*" "/usr/bin/airtime*" "/etc/apache2/sites-available/airtime*" - "pip airtime-playout" - "pip airtime-media-monitor" + "/etc/apache2/sites-enabled/airtime*" ) echo -e "The following files, directories, and services will be removed:\n" for i in ${FILES[*]}; do echo $i done +echo "pip airtime-playout" +echo "pip airtime-media-monitor" + echo -e "\nIf your web root is not listed, you will need to manually remove it." echo -e "\nThis will *permanently* remove Airtime and all related files from your computer. \ @@ -84,19 +86,17 @@ if [ -f /etc/airtime/airtime.conf ]; then removeRabbitmqAirtimeSettings fi -rm -rf /etc/airtime -rm -rf /var/log/airtime/ -rm -rf /usr/lib/airtime/ +for i in ${FILES[*]}; do + rm -rf $i +done -rm -rf /usr/share/airtime - -rm -f /etc/init/airtime* -rm -f /usr/bin/airtime* - -rm -f /etc/apache2/sites-enabled/airtime* -rm -f /etc/apache2/sites-available/airtime* - -dropAirtimeDatabase +echo -e "\Do you want to drop your current Airtime database? (Y/n): \c" +read IN +if [[ "$IN" = "y" || "$IN" = "Y" ]]; then + echo -e "\nDropping Airtime database..." + dropAirtimeDatabase +fi pip uninstall -y airtime-playout airtime-media-monitor +service apache2 restart echo "...Done" \ No newline at end of file From 53b93d01ef3cd16fd33281d7fdbcc3afbc9394a5 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Thu, 15 Jan 2015 16:44:49 -0500 Subject: [PATCH 122/168] Fixes for code review https://github.com/sourcefabric/Airtime/pull/84 --- .gitignore | 2 +- airtime_mvc/build/airtime-setup/load.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index c3b9f8c91..494398d5a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ .* *.pyc -*~ +*.*~ diff --git a/airtime_mvc/build/airtime-setup/load.php b/airtime_mvc/build/airtime-setup/load.php index 7e3d9ff53..6f843c7f9 100644 --- a/airtime_mvc/build/airtime-setup/load.php +++ b/airtime_mvc/build/airtime-setup/load.php @@ -27,7 +27,7 @@ function checkConfiguration() { */ function checkPhpDependencies() { return array( - "zend" => checkMvcDependencies(), + "zend" => checkZendDependencies(), "postgres" => checkDatabaseDependencies() ); } @@ -37,7 +37,7 @@ function checkPhpDependencies() { * * @return boolean true if Zend exists in /usr/share/php */ -function checkMvcDependencies() { +function checkZendDependencies() { return file_exists('/usr/share/php/libzend-framework-php') || file_exists('/usr/share/php/zendframework'); // Debian version } From 4552089c192f23f44d17f493a89bb0cee4e0dec3 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Thu, 15 Jan 2015 17:33:47 -0500 Subject: [PATCH 123/168] Fixes to install & uninstall procedure --- airtime_mvc/application/Bootstrap.php | 5 +- .../airtime-setup/forms/database-settings.php | 2 +- airtime_mvc/build/airtime.example.conf | 424 +++++++++--------- python_apps/pypo/setup.py | 2 +- uninstall | 15 +- 5 files changed, 227 insertions(+), 221 deletions(-) diff --git a/airtime_mvc/application/Bootstrap.php b/airtime_mvc/application/Bootstrap.php index ee49b73a8..3af4c793e 100644 --- a/airtime_mvc/application/Bootstrap.php +++ b/airtime_mvc/application/Bootstrap.php @@ -79,8 +79,11 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap } protected function _initUpgrade() { - Logging::info("Checking if upgrade is needed..."); if (AIRTIME_CODE_VERSION > Application_Model_Preference::GetAirtimeVersion()) { + // This line is actually fairly important (incidentally) because it + // instantiates the logger singleton, which in turn decides the Airtime PHP error policy, + // otherwise we would trip up on the '#' characters in airtime.conf + Logging::info("Checking if upgrade is needed..."); $upgradeManager = new UpgradeManager(); $upgradeManager->runUpgrades(array(new AirtimeUpgrader252()), (__DIR__ . "/controllers")); } diff --git a/airtime_mvc/build/airtime-setup/forms/database-settings.php b/airtime_mvc/build/airtime-setup/forms/database-settings.php index d9df0e42e..58e17426d 100644 --- a/airtime_mvc/build/airtime-setup/forms/database-settings.php +++ b/airtime_mvc/build/airtime-setup/forms/database-settings.php @@ -10,7 +10,7 @@

Database Settings

- Enter your Airtime database settings here. Empty or non-existent database names will be created and populated + Enter your Airtime database settings here. Empty or non-existent databases will be created and populated if the given user has administrative permissions in postgres.

diff --git a/airtime_mvc/build/airtime.example.conf b/airtime_mvc/build/airtime.example.conf index 65369e0c5..98c5c7887 100644 --- a/airtime_mvc/build/airtime.example.conf +++ b/airtime_mvc/build/airtime.example.conf @@ -1,42 +1,42 @@ -; ---------------------------------------------------------------------- -; A I R T I M E C O N F I G U R A T I O N -; ---------------------------------------------------------------------- -; -; This is an example configuration for Airtime. If you just want to -; get started with a basic Airtime setup, or don't know if you should -; be reconfiguring any of the following values, just rename this file -; to 'airtime.conf'. -; -; ---------------------------------------------------------------------- +# ---------------------------------------------------------------------- +# A I R T I M E C O N F I G U R A T I O N +# ---------------------------------------------------------------------- +# +# This is an example configuration for Airtime. If you just want to +# get started with a basic Airtime setup, or don't know if you should +# be reconfiguring any of the following values, just rename this file +# to 'airtime.conf'. +# +# ---------------------------------------------------------------------- -; ---------------------------------------------------------------------- -; G E N E R A L S E T T I N G S -; ---------------------------------------------------------------------- -; -; These settings are used for Airtime's webserver configuration, and -; for general-purpose properties. -; -; api_key: The API key for your Airtime installation. -; The value is generated the first time you use Airtime. -; -; web_server_user: The default webserver user. -; The default is www-data. -; -; base_url: The host name for your webserver. -; The default is localhost. -; -; base_port: The port for your webserver. -; The default is 80. -; -; base_dir: The root directory for your Airtime installation -; on your webserver, relative to the base_url. -; The default is /. -; -; cache_ahead_hours: How many hours ahead of time the Airtime playout -; engine (pypo) should cache scheduled media files. -; The default is 1. -; +# ---------------------------------------------------------------------- +# G E N E R A L S E T T I N G S +# ---------------------------------------------------------------------- +# +# These settings are used for Airtime's webserver configuration, and +# for general-purpose properties. +# +# api_key: The API key for your Airtime installation. +# The value is generated the first time you use Airtime. +# +# web_server_user: The default webserver user. +# The default is www-data. +# +# base_url: The host name for your webserver. +# The default is localhost. +# +# base_port: The port for your webserver. +# The default is 80. +# +# base_dir: The root directory for your Airtime installation +# on your webserver, relative to the base_url. +# The default is /. +# +# cache_ahead_hours: How many hours ahead of time the Airtime playout +# engine (pypo) should cache scheduled media files. +# The default is 1. +# [general] api_key = web_server_user = www-data @@ -44,99 +44,99 @@ base_url = localhost base_port = 80 base_dir = / cache_ahead_hours = 1 -; -; ---------------------------------------------------------------------- +# +# ---------------------------------------------------------------------- -; ---------------------------------------------------------------------- -; D A T A B A S E -; ---------------------------------------------------------------------- -; -; These settings are used to configure your database connection. -; -; host: The hostname of the database server. -; On a default Airtime installation, set this to localhost. -; -; dbname: The name of the Airtime database. -; The default is airtime. -; -; dbuser: The username for the Airtime database user. -; The default is airtime. -; -; dbpass: The password for the Airtime database user. -; The default is airtime. -; +# ---------------------------------------------------------------------- +# D A T A B A S E +# ---------------------------------------------------------------------- +# +# These settings are used to configure your database connection. +# +# host: The hostname of the database server. +# On a default Airtime installation, set this to localhost. +# +# dbname: The name of the Airtime database. +# The default is airtime. +# +# dbuser: The username for the Airtime database user. +# The default is airtime. +# +# dbpass: The password for the Airtime database user. +# The default is airtime. +# [database] host = localhost dbname = airtime dbuser = airtime dbpass = airtime -; -; ---------------------------------------------------------------------- +# +# ---------------------------------------------------------------------- -; ---------------------------------------------------------------------- -; R A B B I T M Q -; ---------------------------------------------------------------------- -; -; These settings are used to configure the RabbitMQ messaging -; configuration for your Airtime installation. -; -; host: The IP address for the RabbitMQ service. -; The default is 127.0.0.1. -; -; port: The port for the RabbitMQ service. -; The default is 5672. -; -; user: The username for the RabbitMQ user. -; The default is airtime. -; -; password: The password for the RabbitMQ user. -; The default is airtime. -; -; vhost: The virtual host for the RabbitMQ service database. -; The default is /airtime. -; +# ---------------------------------------------------------------------- +# R A B B I T M Q +# ---------------------------------------------------------------------- +# +# These settings are used to configure the RabbitMQ messaging +# configuration for your Airtime installation. +# +# host: The IP address for the RabbitMQ service. +# The default is 127.0.0.1. +# +# port: The port for the RabbitMQ service. +# The default is 5672. +# +# user: The username for the RabbitMQ user. +# The default is airtime. +# +# password: The password for the RabbitMQ user. +# The default is airtime. +# +# vhost: The virtual host for the RabbitMQ service database. +# The default is /airtime. +# [rabbitmq] host = 127.0.0.1 port = 5672 user = airtime password = airtime vhost = /airtime -; -; ---------------------------------------------------------------------- +# +# ---------------------------------------------------------------------- -; ---------------------------------------------------------------------- -; M E D I A M O N I T O R -; ---------------------------------------------------------------------- -; -; check_filesystem_events: How long to queue up events performed on the -; files themselves, in seconds -; The default is 5 -; -; check_airtime_events: How long to queue metadata input from airtime, -; in seconds -; The default is 30 -; -; touch_interval: -; The default is 5 -; -; chunking_number: -; The default is 450 -; -; request_max_wait: The maximum request wait time, in seconds -; The default is 3.0 -; -; rmq_event_wait: The RabbitMQ event wait time, in seconds -; The default is 0.1 -; -; logpath: The media monitor log file path -; The default is '/var/log/airtime/media-monitor/media-monitor.log' -; -; index_path: The media monitor index path -; The default is '/var/tmp/airtime/media-monitor/last_index' -; +# ---------------------------------------------------------------------- +# M E D I A M O N I T O R +# ---------------------------------------------------------------------- +# +# check_filesystem_events: How long to queue up events performed on the +# files themselves, in seconds +# The default is 5 +# +# check_airtime_events: How long to queue metadata input from airtime, +# in seconds +# The default is 30 +# +# touch_interval: +# The default is 5 +# +# chunking_number: +# The default is 450 +# +# request_max_wait: The maximum request wait time, in seconds +# The default is 3.0 +# +# rmq_event_wait: The RabbitMQ event wait time, in seconds +# The default is 0.1 +# +# logpath: The media monitor log file path +# The default is '/var/log/airtime/media-monitor/media-monitor.log' +# +# index_path: The media monitor index path +# The default is '/var/tmp/airtime/media-monitor/last_index' +# [media-monitor] check_filesystem_events = 5 check_airtime_events = 30 @@ -146,129 +146,129 @@ request_max_wait = 3.0 rmq_event_wait = 0.1 logpath = '/var/log/airtime/media-monitor/media-monitor.log' index_path = '/var/tmp/airtime/media-monitor/last_index' -; -; ---------------------------------------------------------------------- +# +# ---------------------------------------------------------------------- -; ---------------------------------------------------------------------- -; P Y P O -; ---------------------------------------------------------------------- -; -; api_client: Set the type of client you are using. -; Currently supported types: -; 1) 'obp' = Open Broadcast Platform -; 2) 'airtime' -; The default is 'airtime' -; -; cache_dir: The directory for pypo cache files -; The default is '/var/tmp/airtime/pypo/cache/' -; -; file_dir: The directory for pypo media files -; The default is '/var/tmp/airtime/pypo/files/' -; -; tmp_dir: The directory for pypo temp files -; The default is '/var/tmp/airtime/pypo/tmp/' -; -; cache_base_dir: The pypo base cache directory -; The default is '/var/tmp/airtime/pypo/' -; -; log_base_dir: The base directory for Airtime log files -; The default is '/var/log/airtime' -; -; pypo_log_dir: The directory for pypo log files -; The default is '/var/log/airtime/pypo' -; -; liquidsoap_log_dir: The directory for liquidsoap log files -; The default is '/var/log/airtime/pypo-liquidsoap' -; -; ls_host: Liquidsoap connection host -; The default is '127.0.0.1' -; -; ls_port: Liquidsoap connection port -; The default is '1234' -; -; poll_interval: Poll interval in seconds -; -; This will rarely need to be changed because any schedule -; changes are automatically sent to pypo immediately -; This is how often the poll script downloads new schedules -; and files from the server in the event that no changes -; are made to the schedule -; The default is 3600 -; -; push_interval: Push interval in seconds -; -; This is how often the push script checks whether it has -; something new to push to liquidsoap -; The default is 1 -; -; cue_style: Can be set to 'pre' or 'otf' -; 'pre' cues while playlist preparation -; 'otf' (on the fly) cues while loading into ls -; (needs the post_processor patch) -; The default is 'pre' -; -; record_bitrate: The bitrate for recordings -; The default is 256 -; -; record_samplerate: The samplerate for recordings -; The default is 44100 -; -; record_channels: The number of channels for recordings -; The default is 2 -; -; record_sample_size: The sample size for recordings -; The default is 16 -; -; record_file_type: Can be either ogg|mp3, mp3 recording requires -; installation of the package "lame" -; The default is ogg -; -; base_recorded_files: Base path to store recordered shows at -; The default is '/var/tmp/airtime/show-recorder/' -; +# ---------------------------------------------------------------------- +# P Y P O +# ---------------------------------------------------------------------- +# +# api_client: Set the type of client you are using. +# Currently supported types: +# 1) 'obp' = Open Broadcast Platform +# 2) 'airtime' +# The default is 'airtime' +# +# cache_dir: The directory for pypo cache files +# The default is '/var/tmp/airtime/pypo/cache/' +# +# file_dir: The directory for pypo media files +# The default is '/var/tmp/airtime/pypo/files/' +# +# tmp_dir: The directory for pypo temp files +# The default is '/var/tmp/airtime/pypo/tmp/' +# +# cache_base_dir: The pypo base cache directory +# The default is '/var/tmp/airtime/pypo/' +# +# log_base_dir: The base directory for Airtime log files +# The default is '/var/log/airtime' +# +# pypo_log_dir: The directory for pypo log files +# The default is '/var/log/airtime/pypo' +# +# liquidsoap_log_dir: The directory for liquidsoap log files +# The default is '/var/log/airtime/pypo-liquidsoap' +# +# ls_host: Liquidsoap connection host +# The default is '127.0.0.1' +# +# ls_port: Liquidsoap connection port +# The default is '1234' +# +# poll_interval: Poll interval in seconds +# +# This will rarely need to be changed because any schedule +# changes are automatically sent to pypo immediately +# This is how often the poll script downloads new schedules +# and files from the server in the event that no changes +# are made to the schedule +# The default is 3600 +# +# push_interval: Push interval in seconds +# +# This is how often the push script checks whether it has +# something new to push to liquidsoap +# The default is 1 +# +# cue_style: Can be set to 'pre' or 'otf' +# 'pre' cues while playlist preparation +# 'otf' (on the fly) cues while loading into ls +# (needs the post_processor patch) +# The default is 'pre' +# +# record_bitrate: The bitrate for recordings +# The default is 256 +# +# record_samplerate: The samplerate for recordings +# The default is 44100 +# +# record_channels: The number of channels for recordings +# The default is 2 +# +# record_sample_size: The sample size for recordings +# The default is 16 +# +# record_file_type: Can be either ogg|mp3, mp3 recording requires +# installation of the package "lame" +# The default is ogg +# +# base_recorded_files: Base path to store recordered shows at +# The default is '/var/tmp/airtime/show-recorder/' +# [pypo] api_client = 'airtime' -; ---------- Cache directories - !! Include trailing slash !! ---------- +# ---------- Cache directories - !! Include trailing slash !! ---------- cache_dir = '/var/tmp/airtime/pypo/cache/' file_dir = '/var/tmp/airtime/pypo/files/' tmp_dir = '/var/tmp/airtime/pypo/tmp/' -; ------- Setup directories - !! Don't include trailing slash !! ------- +# ------- Setup directories - !! Don't include trailing slash !! ------- cache_base_dir = '/var/tmp/airtime/pypo' log_base_dir = '/var/log/airtime' pypo_log_dir = '/var/log/airtime/pypo' liquidsoap_log_dir = '/var/log/airtime/pypo-liquidsoap' -; ------------------------ Liquidsoap Settings ------------------------- +# ------------------------ Liquidsoap Settings ------------------------- ls_host = '127.0.0.1' ls_port = '1234' -; -------------------------- Pypo Preferences -------------------------- +# -------------------------- Pypo Preferences -------------------------- poll_interval = 3600 push_interval = 1 cue_style = 'pre' -; ---------------------- Recorded Audio Settings ----------------------- +# ---------------------- Recorded Audio Settings ----------------------- record_bitrate = 256 record_samplerate = 44100 record_channels = 2 record_sample_size = 16 record_file_type = 'ogg' base_recorded_files = '/var/tmp/airtime/show-recorder/' -; -; ---------------------------------------------------------------------- +# +# ---------------------------------------------------------------------- -; ---------------------------------------------------------------------- -; S O U N D C L O U D -; ---------------------------------------------------------------------- -; -; connection_retries: The number of times to retry the connection to -; Soundcloud. -; The default is 3. -; -; time_between_retries: The time between connection retries, in seconds. -; The default is 60. -; +# ---------------------------------------------------------------------- +# S O U N D C L O U D +# ---------------------------------------------------------------------- +# +# connection_retries: The number of times to retry the connection to +# Soundcloud. +# The default is 3. +# +# time_between_retries: The time between connection retries, in seconds. +# The default is 60. +# [soundcloud] connection_retries = 3 time_between_retries = 60 -; -; ---------------------------------------------------------------------- \ No newline at end of file +# +# ---------------------------------------------------------------------- \ No newline at end of file diff --git a/python_apps/pypo/setup.py b/python_apps/pypo/setup.py index fd57676b5..5f0d8a61e 100644 --- a/python_apps/pypo/setup.py +++ b/python_apps/pypo/setup.py @@ -21,7 +21,7 @@ else: ('/etc/init', ['install/airtime-playout.conf.template']), ('/etc/init', ['install/airtime-liquidsoap.conf.template']), ('/var/log/airtime/pypo', []), - ('/var/log/airtime/pypo/liquidsoap', []), + ('/var/log/airtime/pypo-liquidsoap', []), ('/var/tmp/airtime/pypo', []), ('/var/tmp/airtime/pypo/cache', []), ('/var/tmp/airtime/pypo/files', []), diff --git a/uninstall b/uninstall index de957b815..e2b6c0b31 100755 --- a/uninstall +++ b/uninstall @@ -31,8 +31,13 @@ EOF } removeRabbitmqAirtimeSettings() { - RMQ_VHOST=$(awk -F ' = ' '{if (! ($0 ~ /^;/) && $0 ~ /^vhost/ ) print $2}' /etc/airtime/airtime.conf) - RMQ_USER=$(awk -F ' = ' '{if (! ($0 ~ /^;/) && $0 ~ /^user/ ) print $2}' /etc/airtime/airtime.conf) + if [ -f /etc/airtime/airtime.conf ]; then + RMQ_VHOST=$(awk -F ' = ' '{if (! ($0 ~ /^;/) && $0 ~ /^vhost/ ) print $2}' /etc/airtime/airtime.conf) + RMQ_USER=$(awk -F ' = ' '{if (! ($0 ~ /^;/) && $0 ~ /^user/ ) print $2}' /etc/airtime/airtime.conf) + else + RMQ_VHOST=/airtime + RMQ_USER=airtime + fi rabbitmqctl delete_vhost ${RMQ_VHOST} rabbitmqctl delete_user ${RMQ_USER} @@ -82,15 +87,13 @@ else fi echo -e "\nUninstalling Airtime..." -if [ -f /etc/airtime/airtime.conf ]; then - removeRabbitmqAirtimeSettings -fi +removeRabbitmqAirtimeSettings for i in ${FILES[*]}; do rm -rf $i done -echo -e "\Do you want to drop your current Airtime database? (Y/n): \c" +echo -e "\nDo you want to drop your current Airtime database? (Y/n): \c" read IN if [[ "$IN" = "y" || "$IN" = "Y" ]]; then echo -e "\nDropping Airtime database..." From 04a1d821723e782c2ec8611ab661062678b627ef Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Fri, 16 Jan 2015 09:32:55 -0500 Subject: [PATCH 124/168] Upgrade step from 2.5.1 installs --- airtime_mvc/application/Bootstrap.php | 4 ---- 1 file changed, 4 deletions(-) diff --git a/airtime_mvc/application/Bootstrap.php b/airtime_mvc/application/Bootstrap.php index 3af4c793e..525489a41 100644 --- a/airtime_mvc/application/Bootstrap.php +++ b/airtime_mvc/application/Bootstrap.php @@ -80,10 +80,6 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap protected function _initUpgrade() { if (AIRTIME_CODE_VERSION > Application_Model_Preference::GetAirtimeVersion()) { - // This line is actually fairly important (incidentally) because it - // instantiates the logger singleton, which in turn decides the Airtime PHP error policy, - // otherwise we would trip up on the '#' characters in airtime.conf - Logging::info("Checking if upgrade is needed..."); $upgradeManager = new UpgradeManager(); $upgradeManager->runUpgrades(array(new AirtimeUpgrader252()), (__DIR__ . "/controllers")); } From 75306936c0cce2a0d0f708ef7ca52d553d31648d Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Fri, 16 Jan 2015 10:22:43 -0500 Subject: [PATCH 125/168] Workaround for comment character conflict between python ConfigObj and PHP --- airtime_mvc/public/setup/media-setup.php | 2 +- airtime_mvc/public/setup/setup-functions.php | 8 +++++++- install | 20 ++++++++++---------- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/airtime_mvc/public/setup/media-setup.php b/airtime_mvc/public/setup/media-setup.php index 40c0f6312..f7f979a09 100644 --- a/airtime_mvc/public/setup/media-setup.php +++ b/airtime_mvc/public/setup/media-setup.php @@ -91,7 +91,7 @@ class MediaSetup extends Setup { */ function moveAirtimeConfig() { return copy(AIRTIME_CONF_TEMP_PATH, self::AIRTIME_CONF_PATH) - && unlink(AIRTIME_CONF_TEMP_PATH); + && unlink(AIRTIME_CONF_TEMP_PATH); } /** diff --git a/airtime_mvc/public/setup/setup-functions.php b/airtime_mvc/public/setup/setup-functions.php index 115245b84..36d96265e 100644 --- a/airtime_mvc/public/setup/setup-functions.php +++ b/airtime_mvc/public/setup/setup-functions.php @@ -40,7 +40,13 @@ abstract class Setup { $inSection = false; } - if ($inSection) { + if (substr(trim($line), 0, 1) == "#") { + /* Workaround to strip comments from airtime.conf. + * We need to do this because python's ConfigObj and PHP + * have different (and equally strict) rules about comment + * characters in configuration files. + */ + } else if ($inSection) { $key = trim(@substr($line, 0, strpos($line, "="))); $fileOutput .= $key && isset($properties[$key]) ? $key . " = " . $properties[$key] . "\n" : $line; } else { diff --git a/install b/install index 27df41902..74426e5fd 100755 --- a/install +++ b/install @@ -240,9 +240,9 @@ if [ -f /etc/airtime/airtime.conf ]; then if [ -n "${OLD_CONF}" ]; then set +e verbose "Stopping airtime services..." - service airtime-playout stop-with-monit - service airtime-media-monitor stop-with-monit - service airtime-liquidsoap stop-with-monit + loudCmd "service airtime-playout stop-with-monit" + loudCmd "service airtime-media-monitor stop-with-monit" + loudCmd "service airtime-liquidsoap stop-with-monit" verbose "...Done" echo "Looks like you have an old version of Airtime. Your current /etc/airtime/airtime.conf \ @@ -284,7 +284,7 @@ returncode=$? set -e if [ "$returncode" != "0" ]; then echo "deb http://apt.sourcefabric.org/ $code main" >> /etc/apt/sources.list - apt-get update + loudCmd "apt-get update" fi verbose "...Done" @@ -387,7 +387,7 @@ cp -R ${AIRTIMEROOT}/python_apps/media-monitor/media-monitor2 /usr/lib/airtime/m verbose "...Done" verbose "\n * Installing media-monitor..." -python ${AIRTIMEROOT}/python_apps/media-monitor/setup.py install +loudCmd "python ${AIRTIMEROOT}/python_apps/media-monitor/setup.py install" verbose "...Done" verbose "\n * Copying pypo files..." @@ -396,20 +396,20 @@ cp -R ${AIRTIMEROOT}/python_apps/pypo/pypo /usr/lib/airtime/pypo/bin/ verbose "...Done" verbose "\n * Installing pypo..." -python ${AIRTIMEROOT}/python_apps/pypo/setup.py install +loudCmd "python ${AIRTIMEROOT}/python_apps/pypo/setup.py install" verbose "...Done" verbose "\n * Creating liquidsoap symlink..." ln -sf /usr/bin/liquidsoap /usr/bin/airtime-liquidsoap verbose "...Done" -for i in /etc/init/airtime*; do +for i in /etc/init/airtime*.template; do chmod 644 $i sed -i "s/WEB_USER/${web_user}/g" $i mv $i ${i%.template} done -initctl reload-configuration +loudCmd "initctl reload-configuration" if [ ! -d /var/log/airtime ]; then loud "\n-----------------------------------------------------" @@ -553,13 +553,13 @@ for i in `ls /usr/share/airtime/locale | grep ".._.."`; do verbose "$i.UTF-8 UTF-8" >> /etc/locale.gen fi else - locale-gen "$i.utf8" + loudCmd "locale-gen \"$i.utf8\"" fi done set -e if [ "$dist" = "Debian" ]; then - /usr/sbin/locale-gen + loudCmd "/usr/sbin/locale-gen" fi if [ "$install_dependencies" = "t" ]; then From 2f0b3d423cd0ae31167f267ee39fe8234f573cfd Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Fri, 16 Jan 2015 10:54:30 -0500 Subject: [PATCH 126/168] Small fix for users installing over an old version of airtime --- install | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/install b/install index 74426e5fd..ec749b3da 100755 --- a/install +++ b/install @@ -251,9 +251,12 @@ will be moved to /etc/airtime/airtime.conf.tmp" # /etc/init.d startup scripts, services won't work properly rm -rf /usr/lib/airtime/ rm /etc/init.d/airtime-* - # If the user selects an "in-place" install or passes in a web root, - # we need to replace the old apache airtime.conf - rm /etc/apache2/sites-available/airtime.conf + + if [ "$apache" = "t" ]; then + # If the user selects an "in-place" install or passes in a web root, + # we need to replace the old apache airtime.conf + rm /etc/apache2/sites-available/airtime.conf + fi if [ -d /usr/share/airtime -a web_root = /usr/share/airtime ]; then rm -rf /usr/share/airtime From 44018b2cbf2dae9b6e6bcf22c652e866062f9754 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Fri, 16 Jan 2015 16:15:16 -0500 Subject: [PATCH 127/168] Changed status page to use config-check (tentative) and removed time-intensive check in index routing --- .../application/configs/config-check.php | 19 ++ .../controllers/SystemstatusController.php | 7 - .../views/scripts/systemstatus/index.phtml | 209 +++++++++++++++--- airtime_mvc/public/css/setup/config-check.css | 14 -- airtime_mvc/public/index.php | 19 +- 5 files changed, 201 insertions(+), 67 deletions(-) diff --git a/airtime_mvc/application/configs/config-check.php b/airtime_mvc/application/configs/config-check.php index 8b083ba48..381522136 100644 --- a/airtime_mvc/application/configs/config-check.php +++ b/airtime_mvc/application/configs/config-check.php @@ -28,6 +28,25 @@ $result = $r1 && $r2; +

diff --git a/airtime_mvc/application/controllers/SystemstatusController.php b/airtime_mvc/application/controllers/SystemstatusController.php index 496dae625..6098f71b7 100644 --- a/airtime_mvc/application/controllers/SystemstatusController.php +++ b/airtime_mvc/application/controllers/SystemstatusController.php @@ -13,16 +13,9 @@ class SystemstatusController extends Zend_Controller_Action public function indexAction() { - $services = array( - "pypo"=>Application_Model_Systemstatus::GetPypoStatus(), - "liquidsoap"=>Application_Model_Systemstatus::GetLiquidsoapStatus(), - "media-monitor"=>Application_Model_Systemstatus::GetMediaMonitorStatus(), - ); - $partitions = Application_Model_Systemstatus::GetDiskInfo(); $this->view->status = new StdClass; - $this->view->status->services = $services; $this->view->status->partitions = $partitions; } } diff --git a/airtime_mvc/application/views/scripts/systemstatus/index.phtml b/airtime_mvc/application/views/scripts/systemstatus/index.phtml index 2a31ac78e..ccd43b2a4 100644 --- a/airtime_mvc/application/views/scripts/systemstatus/index.phtml +++ b/airtime_mvc/application/views/scripts/systemstatus/index.phtml @@ -1,33 +1,178 @@ + + + + + + - - - - - - - - - - - - - status->services as $key=>$value): ?> - " id=""> - - - - - - - - - - - -
+ + + + + + + + + + + + Zend + + + Zend MVC Framework + + + "> + Ubuntu: try running sudo apt-get install libzend-framework-php +
Debian: try running sudo apt-get install zendframework + + + + + + Postgres + + + PDO and PostgreSQL libraries + + + "> + Try running sudo apt-get install php5-pgsql + + + + + + Database + + + Database configuration for Airtime + + + "> + Make sure you aren't missing any of the Postgres dependencies in the table above. + If your dependencies check out, make sure your database configuration settings in + /etc/airtime.conf are correct and the Airtime database was installed correctly. + + + + + + RabbitMQ + + + RabbitMQ configuration for Airtime + + + "> + Make sure RabbitMQ is installed correctly, and that your settings in /etc/airtime/airtime.conf + are correct. Try using sudo rabbitmqctl list_users and sudo rabbitmqctl list_vhosts + to see if the airtime user (or your custom RabbitMQ user) exists, then checking that + sudo rabbitmqctl list_exchanges contains entries for airtime-media-monitor, airtime-pypo, + and airtime-uploads. + + + + + + Media Monitor + + + Airtime media-monitor service + + + "> + Check that the airtime-media-monitor service is installed correctly in /etc/init, + and ensure that it's running with +
initctl list | grep airtime-media-monitor
+ If not, try
sudo service airtime-media-monitor start + + + + + + Pypo + + + Airtime playout service + + + "> + Check that the airtime-playout service is installed correctly in /etc/init, + and ensure that it's running with +
sudo initctl list | grep airtime-playout
+ If not, try
sudo service airtime-playout restart + + + + + + Liquidsoap + + + Airtime liquidsoap service + + + "> + Check that the airtime-liquidsoap service is installed correctly in /etc/init, + and ensure that it's running with +
sudo initctl list | grep airtime-liquidsoap
+ If not, try
sudo service airtime-liquidsoap restart + + + + + + + + diff --git a/airtime_mvc/public/css/setup/config-check.css b/airtime_mvc/public/css/setup/config-check.css index 31983f4b1..d07ed1d3e 100644 --- a/airtime_mvc/public/css/setup/config-check.css +++ b/airtime_mvc/public/css/setup/config-check.css @@ -1,17 +1,3 @@ -html { - background-color: #f5f5f5; -} - -body { - padding: 2em 0; - min-width: 600px; - width: 50%; - text-align: center; - margin: 3em auto; - border: 1px solid lightgray; - border-radius: 5em; -} - .logo { margin-bottom: .5em; } diff --git a/airtime_mvc/public/index.php b/airtime_mvc/public/index.php index 45e519111..d85ad2b13 100644 --- a/airtime_mvc/public/index.php +++ b/airtime_mvc/public/index.php @@ -16,6 +16,11 @@ function showConfigCheckPage() { die(); } +function isApiCall() { + $path = $_SERVER['PHP_SELF']; + return strpos($path, "api") !== false; +} + // Define application path constants define('ROOT_PATH', dirname( __DIR__) . '/'); define('LIB_PATH', ROOT_PATH . 'library/'); @@ -40,20 +45,6 @@ if (array_key_exists('config', $_GET)) { // If a configuration file exists, forward to our boot script if (file_exists(AIRTIME_CONFIG_STOR . AIRTIME_CONFIG)) { - /* - * Even if the user has been through the setup process and - * created an airtime.conf file (or they may have simply - * copied the example file) their settings aren't necessarily - * correctly configured. - * - * If something is improperly configured, show the user a - * configuration checklist page so they know what went wrong - */ - if (!checkConfiguration()) { - $configRun = true; - showConfigCheckPage(); - } - require_once(APPLICATION_PATH . 'airtime-boot.php'); } // Otherwise, we'll need to run our configuration setup From c22f2cd5f05014ca402f89794ec93db16759dd75 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Fri, 16 Jan 2015 17:20:50 -0500 Subject: [PATCH 128/168] Clean up readability of installer --- README | 9 +-------- .../build/airtime-setup/forms/database-settings.php | 3 +++ .../build/airtime-setup/forms/finish-settings.php | 6 +++--- install | 9 +++++---- 4 files changed, 12 insertions(+), 15 deletions(-) diff --git a/README b/README index 2c8ae39e0..dd997c0be 100644 --- a/README +++ b/README @@ -24,12 +24,6 @@ Major features: INSTALLATION ------------ -Please see this chapter to begin a typical installation: -http://sourcefabric.booktype.pro/airtime-25-for-broadcasters/preparing-the-server/ - -If you are a developer, please see this page: -http://wiki.sourcefabric.org/display/CC/Airtime+Dev+Site - Basic installation has two steps: 1) Run the install script, located in the Airtime root directory. @@ -41,7 +35,7 @@ For an interactive installation, run: The installer will then prompt you about how you want to set up your Airtime installation. -For a simple full installation (do this if you're installing Airtime from +For a non-interactive full installation (do this if you're installing Airtime from scratch and don't have any of your own configuration set up), run sudo ./install -fiapd @@ -83,4 +77,3 @@ Forums and mailing lists: http://forum.sourcefabric.org Bug tracker: http://dev.sourcefabric.org Source code: http://github.com/sourcefabric/Airtime IRC chat: #airtime on Freenode - diff --git a/airtime_mvc/build/airtime-setup/forms/database-settings.php b/airtime_mvc/build/airtime-setup/forms/database-settings.php index 58e17426d..08db5e225 100644 --- a/airtime_mvc/build/airtime-setup/forms/database-settings.php +++ b/airtime_mvc/build/airtime-setup/forms/database-settings.php @@ -39,6 +39,9 @@

+

+ This may take up to 30 seconds to complete! +

diff --git a/airtime_mvc/build/airtime-setup/forms/finish-settings.php b/airtime_mvc/build/airtime-setup/forms/finish-settings.php index 3bd33d795..f9a128af3 100644 --- a/airtime_mvc/build/airtime-setup/forms/finish-settings.php +++ b/airtime_mvc/build/airtime-setup/forms/finish-settings.php @@ -6,10 +6,10 @@

Looks like you're almost done! As a final step, run the following commands from the terminal: -
sudo service airtime-playout start -
sudo service airtime-liquidsoap start -
sudo service airtime-media-monitor start

+
sudo service airtime-playout start
+sudo service airtime-liquidsoap start
+sudo service airtime-media-monitor start

Click "Done!" to bring up the Airtime configuration checklist; if your configuration is all green, you're ready to get started with your personal Airtime station! diff --git a/install b/install index ec749b3da..84eb73111 100755 --- a/install +++ b/install @@ -577,11 +577,12 @@ fi verbose "\n * Restarting apache..." loudCmd "service apache2 restart 2>/dev/null" +IP=$(ifconfig eth0 2>/dev/null|awk '/inet addr:/ {print $2}'|sed 's/addr://') + echo -e "\n-----------------------------------------------------" echo " * Basic Setup DONE! * " echo " " -echo " To get started with Airtime, visit localhost:5000 " -echo " or, if you've set up your own web configuration, " -echo " the Airtime webroot on your webserver " -echo " in your web browser of choice " +echo " To get started with Airtime, visit ${IP} " +echo " or, if you've set up your own web configuration, " +echo " the Airtime webroot on your webserver " echo "-----------------------------------------------------" From 5abe364a69c272cc7d5fb11c4093a50b4a33f6b4 Mon Sep 17 00:00:00 2001 From: Albert Santoni Date: Fri, 16 Jan 2015 17:31:11 -0500 Subject: [PATCH 129/168] Forgot to rename the 2.5.5 upgrade.sql to 2.5.2 --- .../upgrade_sql/{airtime_2.5.5 => airtime_2.5.2}/upgrade.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename airtime_mvc/application/controllers/upgrade_sql/{airtime_2.5.5 => airtime_2.5.2}/upgrade.sql (96%) diff --git a/airtime_mvc/application/controllers/upgrade_sql/airtime_2.5.5/upgrade.sql b/airtime_mvc/application/controllers/upgrade_sql/airtime_2.5.2/upgrade.sql similarity index 96% rename from airtime_mvc/application/controllers/upgrade_sql/airtime_2.5.5/upgrade.sql rename to airtime_mvc/application/controllers/upgrade_sql/airtime_2.5.2/upgrade.sql index 191eb2084..cb0c520b7 100644 --- a/airtime_mvc/application/controllers/upgrade_sql/airtime_2.5.5/upgrade.sql +++ b/airtime_mvc/application/controllers/upgrade_sql/airtime_2.5.2/upgrade.sql @@ -1,5 +1,5 @@ DELETE FROM cc_pref WHERE keystr = 'system_version'; -INSERT INTO cc_pref (keystr, valstr) VALUES ('system_version', '2.5.5'); +INSERT INTO cc_pref (keystr, valstr) VALUES ('system_version', '2.5.2'); ALTER TABLE cc_show ADD COLUMN image_path varchar(255) DEFAULT ''; ALTER TABLE cc_show_instances ADD COLUMN description varchar(255) DEFAULT ''; From 2cb26db84b2102bb04b1453b86f1c08cacf753d4 Mon Sep 17 00:00:00 2001 From: Albert Santoni Date: Mon, 19 Jan 2015 13:41:23 -0500 Subject: [PATCH 130/168] SAAS-547: Refactor upgrade procedure in 2.5.x-installer branch * Start using "schema_version" key instead of "system_version" * Refactored the upgrade code a bit and make it be automatically invoked from the Zend bootstrap if a schema update is needed. * Fixed error logging in certain cases * Fixed an exception in Show related to image_path --- airtime_mvc/application/Bootstrap.php | 5 +- .../controllers/ErrorController.php | 5 +- .../controllers/UpgradeController.php | 12 +--- .../upgrade_sql/airtime_2.5.2/upgrade.sql | 3 +- airtime_mvc/application/models/Preference.php | 18 ++++- airtime_mvc/application/models/Show.php | 1 + airtime_mvc/application/upgrade/Upgrades.php | 71 ++++++++++++++----- 7 files changed, 81 insertions(+), 34 deletions(-) diff --git a/airtime_mvc/application/Bootstrap.php b/airtime_mvc/application/Bootstrap.php index 94e28e620..96bd14909 100644 --- a/airtime_mvc/application/Bootstrap.php +++ b/airtime_mvc/application/Bootstrap.php @@ -81,10 +81,7 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap } protected function _initUpgrade() { - if (AIRTIME_CODE_VERSION > Application_Model_Preference::GetAirtimeVersion()) { - $upgradeManager = new UpgradeManager(); - $upgradeManager->runUpgrades(array(new AirtimeUpgrader252()), (__DIR__ . "/controllers")); - } + UpgradeManager::checkIfUpgradeIsNeeded(); //This will do the upgrade too if it's needed... } protected function _initHeadLink() diff --git a/airtime_mvc/application/controllers/ErrorController.php b/airtime_mvc/application/controllers/ErrorController.php index 70829db63..2d54269a8 100644 --- a/airtime_mvc/application/controllers/ErrorController.php +++ b/airtime_mvc/application/controllers/ErrorController.php @@ -24,9 +24,12 @@ class ErrorController extends Zend_Controller_Action } // Log exception, if logger available + /* No idea why this doesn't work or why it was implemented like this. Disabling it -- Albert if (($log = $this->getLog())) { $log->crit($this->view->message, $errors->exception); - } + }*/ + //Logging that actually works: -- Albert + Logging::error($this->view->message . ": " . $errors->exception); // conditionally display exceptions if ($this->getInvokeArg('displayExceptions') == true) { diff --git a/airtime_mvc/application/controllers/UpgradeController.php b/airtime_mvc/application/controllers/UpgradeController.php index 7ff511dee..b52630da4 100644 --- a/airtime_mvc/application/controllers/UpgradeController.php +++ b/airtime_mvc/application/controllers/UpgradeController.php @@ -13,25 +13,19 @@ class UpgradeController extends Zend_Controller_Action return; } - $upgraders = array(); - array_push($upgraders, new AirtimeUpgrader252()); - /* These upgrades do not apply to open source Airtime yet. - array_push($upgraders, new AirtimeUpgrader253()); - array_push($upgraders, new AirtimeUpgrader254()); - */ $didWePerformAnUpgrade = false; try { $upgradeManager = new UpgradeManager(); - $didWePerformAnUpgrade = $upgradeManager->runUpgrades($upgraders, __DIR__); + $didWePerformAnUpgrade = $upgradeManager->doUpgrade(); if (!$didWePerformAnUpgrade) { $this->getResponse() ->setHttpResponseCode(200) - ->appendBody("No upgrade was performed. The current Airtime version is " . AirtimeUpgrader::getCurrentVersion() . ".
"); + ->appendBody("No upgrade was performed. The current schema version is " . Application_Model_Preference::GetSchemaVersion() . ".
"); } else { $this->getResponse() ->setHttpResponseCode(200) - ->appendBody("Upgrade to Airtime " . $upgrader->getNewVersion() . " OK
"); + ->appendBody("Upgrade to Airtime schema version " . Application_Model_Preference::GetSchemaVersion() . " OK
"); } } catch (Exception $e) diff --git a/airtime_mvc/application/controllers/upgrade_sql/airtime_2.5.2/upgrade.sql b/airtime_mvc/application/controllers/upgrade_sql/airtime_2.5.2/upgrade.sql index cb0c520b7..2f805382d 100644 --- a/airtime_mvc/application/controllers/upgrade_sql/airtime_2.5.2/upgrade.sql +++ b/airtime_mvc/application/controllers/upgrade_sql/airtime_2.5.2/upgrade.sql @@ -1,5 +1,6 @@ +-- Replacing system_version with schema_version DELETE FROM cc_pref WHERE keystr = 'system_version'; -INSERT INTO cc_pref (keystr, valstr) VALUES ('system_version', '2.5.2'); +INSERT INTO cc_pref (keystr, valstr) VALUES ('schema_version', '2.5.2'); ALTER TABLE cc_show ADD COLUMN image_path varchar(255) DEFAULT ''; ALTER TABLE cc_show_instances ADD COLUMN description varchar(255) DEFAULT ''; diff --git a/airtime_mvc/application/models/Preference.php b/airtime_mvc/application/models/Preference.php index e568e0159..6e65b0c4c 100644 --- a/airtime_mvc/application/models/Preference.php +++ b/airtime_mvc/application/models/Preference.php @@ -862,10 +862,22 @@ class Application_Model_Preference return self::getValue("enable_stream_conf"); } - - public static function SetAirtimeVersion($version) + + public static function GetSchemaVersion() { - self::setValue("system_version", $version); + $schemaVersion = self::getValue("schema_version"); + + //Pre-2.5.2 releases all used this ambiguous "system_version" key to represent both the code and schema versions... + if (empty($schemaVersion)) { + $schemaVersion = self::getValue("system_version"); + } + + return $schemaVersion; + } + + public static function SetSchemaVersion($version) + { + self::setValue("schema_version", $version); } public static function GetAirtimeVersion() diff --git a/airtime_mvc/application/models/Show.php b/airtime_mvc/application/models/Show.php index b4bec0fec..892646e4a 100644 --- a/airtime_mvc/application/models/Show.php +++ b/airtime_mvc/application/models/Show.php @@ -1232,6 +1232,7 @@ SELECT si.starts AS start_timestamp, si.id AS instance_id, si.record, s.url, + s.image_path, starts, ends FROM cc_show_instances si diff --git a/airtime_mvc/application/upgrade/Upgrades.php b/airtime_mvc/application/upgrade/Upgrades.php index fe083d1ae..9ee2be523 100644 --- a/airtime_mvc/application/upgrade/Upgrades.php +++ b/airtime_mvc/application/upgrade/Upgrades.php @@ -1,6 +1,37 @@ runUpgrades(array(new AirtimeUpgrader252()), (__DIR__ . "/controllers")); + } /** * Run a given set of upgrades @@ -10,7 +41,7 @@ class UpgradeManager { * @return boolean whether or not an upgrade was performed */ public function runUpgrades($upgraders, $dir) { - $upgradePerformed; + $upgradePerformed = false; for($i = 0; $i < count($upgraders); $i++) { $upgrader = $upgraders[$i]; @@ -29,20 +60,28 @@ class UpgradeManager { abstract class AirtimeUpgrader { - /** Versions that this upgrader class can upgrade from (an array of version strings). */ - abstract protected function getSupportedVersions(); - /** The version that this upgrader class will upgrade to. (returns a version string) */ + /** Schema versions that this upgrader class can upgrade from (an array of version strings). */ + abstract protected function getSupportedSchemaVersions(); + /** The schema version that this upgrader class will upgrade to. (returns a version string) */ abstract public function getNewVersion(); - public static function getCurrentVersion() + public static function getCurrentSchemaVersion() { CcPrefPeer::clearInstancePool(); //Ensure we don't get a cached Propel object (cached DB results) //because we're updating this version number within this HTTP request as well. + + //Old versions use system_version $pref = CcPrefQuery::create() ->filterByKeystr('system_version') ->findOne(); - $airtime_version = $pref->getValStr(); - return $airtime_version; + if (empty($pref)) { + //New versions use schema_version + $pref = CcPrefQuery::create() + ->filterByKeystr('schema_version') + ->findOne(); + } + $schema_version = $pref->getValStr(); + return $schema_version; } /** @@ -51,7 +90,7 @@ abstract class AirtimeUpgrader */ public function checkIfUpgradeSupported() { - if (!in_array(AirtimeUpgrader::getCurrentVersion(), $this->getSupportedVersions())) { + if (!in_array(AirtimeUpgrader::getCurrentSchemaVersion(), $this->getSupportedSchemaVersions())) { return false; } return true; @@ -82,7 +121,7 @@ abstract class AirtimeUpgrader /** This upgrade adds schema changes to accommodate show artwork and show instance descriptions */ class AirtimeUpgrader252 extends AirtimeUpgrader { - protected function getSupportedVersions() { + protected function getSupportedSchemaVersions() { return array ( '2.5.1' ); @@ -114,7 +153,7 @@ class AirtimeUpgrader252 extends AirtimeUpgrader { passthru("export PGPASSWORD=$password && psql -h $host -U $username -q -f $dir/upgrade_sql/airtime_" .$this->getNewVersion()."/upgrade.sql $database 2>&1 | grep -v \"will create implicit index\""); - Application_Model_Preference::SetAirtimeVersion($newVersion); + Application_Model_Preference::SetSchemaVersion($newVersion); Cache::clear(); $this->toggleMaintenanceScreen(false); @@ -129,7 +168,7 @@ class AirtimeUpgrader252 extends AirtimeUpgrader { class AirtimeUpgrader253 extends AirtimeUpgrader { - protected function getSupportedVersions() + protected function getSupportedSchemaVersions() { return array('2.5.2'); } @@ -181,7 +220,7 @@ class AirtimeUpgrader253 extends AirtimeUpgrader passthru("export PGPASSWORD=$password && psql -h $host -U $username -q -f $dir/upgrade_sql/airtime_".$this->getNewVersion()."/upgrade.sql $database 2>&1 | grep -v \"will create implicit index\""); - Application_Model_Preference::SetAirtimeVersion($this->getNewVersion()); + Application_Model_Preference::SetSchemaVersion($this->getNewVersion()); //clear out the cache Cache::clear(); @@ -196,7 +235,7 @@ class AirtimeUpgrader253 extends AirtimeUpgrader class AirtimeUpgrader254 extends AirtimeUpgrader { - protected function getSupportedVersions() + protected function getSupportedSchemaVersions() { return array('2.5.3'); } @@ -266,7 +305,7 @@ class AirtimeUpgrader254 extends AirtimeUpgrader } //$con->commit(); - Application_Model_Preference::SetAirtimeVersion($newVersion); + Application_Model_Preference::SetSchemaVersion($newVersion); Cache::clear(); $this->toggleMaintenanceScreen(false); @@ -292,7 +331,7 @@ class AirtimeUpgrader254 extends AirtimeUpgrader * */ class AirtimeUpgrader256 extends AirtimeUpgrader { - protected function getSupportedVersions() { + protected function getSupportedSchemaVersions() { return array ( '2.5.4', '2.5.5' ); From c5a60d2f095bf60e32425126855f889df874aa0b Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 19 Jan 2015 15:05:13 -0500 Subject: [PATCH 131/168] Last updates before 2.5.2 RC, mainly small fixes for Ubuntu Precise --- VERSION | 2 -- .../application/configs/config-check.php | 4 +-- .../views/scripts/systemstatus/index.phtml | 4 +-- airtime_mvc/build/airtime-setup/load.php | 6 ++-- install | 34 +++++++++---------- installer/apache/airtime-vhost | 5 +++ 6 files changed, 28 insertions(+), 27 deletions(-) delete mode 100644 VERSION diff --git a/VERSION b/VERSION deleted file mode 100644 index 5a1ef0b72..000000000 --- a/VERSION +++ /dev/null @@ -1,2 +0,0 @@ -PRODUCT_ID=Airtime -PRODUCT_RELEASE=2.5.0 diff --git a/airtime_mvc/application/configs/config-check.php b/airtime_mvc/application/configs/config-check.php index 381522136..58397d79f 100644 --- a/airtime_mvc/application/configs/config-check.php +++ b/airtime_mvc/application/configs/config-check.php @@ -191,7 +191,7 @@ $result = $r1 && $r2; ?>"> Check that the airtime-playout service is installed correctly in /etc/init, and ensure that it's running with -
sudo initctl list | grep airtime-playout
+
initctl list | grep airtime-playout
If not, try
sudo service airtime-playout restart "> Check that the airtime-liquidsoap service is installed correctly in /etc/init, and ensure that it's running with -
sudo initctl list | grep airtime-liquidsoap
+
initctl list | grep airtime-liquidsoap
If not, try
sudo service airtime-liquidsoap restart "> Check that the airtime-playout service is installed correctly in /etc/init, and ensure that it's running with -
sudo initctl list | grep airtime-playout
+
initctl list | grep airtime-playout
If not, try
sudo service airtime-playout restart "> Check that the airtime-liquidsoap service is installed correctly in /etc/init, and ensure that it's running with -
sudo initctl list | grep airtime-liquidsoap
+
initctl list | grep airtime-liquidsoap
If not, try
sudo service airtime-liquidsoap restart /dev/null - echo "Airtime Version ${PRODUCT_RELEASE}" + version=$(php -r 'require_once(__DIR__ . "/airtime_mvc/application/configs/constants.php"); echo AIRTIME_CODE_VERSION;') + echo "Airtime Version ${version}" exit 0 } @@ -58,7 +58,7 @@ in_place="f" postgres="f" apache="f" icecast="f" -install_dependencies="f" +ignore_dependencies="f" # Interactive _i=1 # Verbose @@ -104,8 +104,8 @@ while :; do --force) _i=0 ;; - --install-dependencies) - install_dependencies="t" + --ignore-dependencies) + ignore_dependencies="t" ;; --apache) apache="t" @@ -176,7 +176,7 @@ while :; do _i=0 ;; d) - install_dependencies="t" + ignore_dependencies="t" ;; a) apache="t" @@ -535,14 +535,6 @@ if [ ! -d "/srv/airtime" ]; then fi chown -R ${web_user}:${web_user} /srv/airtime -if [ "$install_dependencies" = "f" -a ${_i} -eq 1 ]; then - echo -e "Install external binary dependencies? (Y/n): \c" - read IN - if [ "$IN" = "y" -o "$IN" = "Y" ]; then - install_dependencies="t" - fi -fi - loud "\n-----------------------------------------------------" loud " * Installing Locales * " loud "-----------------------------------------------------" @@ -565,13 +557,19 @@ if [ "$dist" = "Debian" ]; then loudCmd "/usr/sbin/locale-gen" fi -if [ "$install_dependencies" = "t" ]; then +if [ "$ignore_dependencies" = "f" ]; then loud "\n-----------------------------------------------------" loud " * Installing External Dependencies * " loud "-----------------------------------------------------" verbose "\n * Reading requirements-${dist,,}-${code,,}.apt..." - loudCmd "apt-get -y -m --force-yes install $(grep -vE '^\s*#' ${SCRIPT_DIR}/installer/lib/requirements-${dist,,}-${code,,}.apt | tr '\n' ' ')" + set +e + if [ -f ${SCRIPT_DIR}/installer/lib/requirements-${dist,,}-${code,,}.apt ]; then + loudCmd "apt-get -y -m --force-yes install $(grep -vE '^\s*#' ${SCRIPT_DIR}/installer/lib/requirements-${dist,,}-${code,,}.apt | tr '\n' ' ')" + else + loudCmd "apt-get -y -m --force-yes install $(grep -vE '^\s*#' ${SCRIPT_DIR}/installer/lib/requirements-ubuntu-trusty.apt | tr '\n' ' ')" + fi + set -e fi verbose "\n * Restarting apache..." diff --git a/installer/apache/airtime-vhost b/installer/apache/airtime-vhost index a1060d875..bc6d8a85f 100644 --- a/installer/apache/airtime-vhost +++ b/installer/apache/airtime-vhost @@ -9,6 +9,11 @@ Order allow,deny Allow from all + # PHP's server values can be spoofed or incorrect if an + # Apache instance is behind a proxy, so set these here + UseCanonicalName On + UseCanonicalPhysicalPort On + Require all granted From 57e4ba52923180957dad46d0d41ef1800ff379a4 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 19 Jan 2015 15:05:49 -0500 Subject: [PATCH 132/168] requirements.apt for Ubuntu Precise --- installer/lib/requirements-ubuntu-precise.apt | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100755 installer/lib/requirements-ubuntu-precise.apt diff --git a/installer/lib/requirements-ubuntu-precise.apt b/installer/lib/requirements-ubuntu-precise.apt new file mode 100755 index 000000000..c0c5a3d31 --- /dev/null +++ b/installer/lib/requirements-ubuntu-precise.apt @@ -0,0 +1,57 @@ +php-pear +php5-gd + +odbc-postgresql + +python +python-virtualenv + +libsoundtouch-ocaml +libtaglib-ocaml +libao-ocaml +libmad-ocaml +ecasound +libportaudio2 +libsamplerate0 + +patch + +php5-curl +mpg123 + +libcamomile-ocaml-data +libpulse0 +vorbis-tools +lsb-release +lsof +mp3gain +vorbisgain +flac +vorbis-tools +pwgen +libfaad2 +php-apc +dbus + +lame + +libzend-framework-php + +coreutils + +liquidsoap-plugin-alsa +liquidsoap-plugin-ao +liquidsoap-plugin-faad +liquidsoap-plugin-flac +liquidsoap-plugin-icecast +liquidsoap-plugin-lame +liquidsoap-plugin-mad +liquidsoap-plugin-ogg +liquidsoap-plugin-portaudio +liquidsoap-plugin-pulseaudio +liquidsoap-plugin-taglib +liquidsoap-plugin-voaacenc +liquidsoap-plugin-vorbis + +silan +libopus0 \ No newline at end of file From aee36c62b4ae02611810d8facf7450058290e016 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 19 Jan 2015 16:41:41 -0500 Subject: [PATCH 133/168] Updated README since dependencies are now on by default --- README | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README b/README index b5455f222..99c533788 100644 --- a/README +++ b/README @@ -38,7 +38,7 @@ installation. For a non-interactive full installation (do this if you're installing Airtime from scratch and don't have any of your own configuration set up), run - sudo ./install -fiapd + sudo ./install -fiap What this means: @@ -46,7 +46,6 @@ What this means: -i - install the default Icecast 2 setup for Airtime -a - install the default apache setup for Airtime -p - create a default Airtime postgres user - -d - install binary dependencies needed for Airtime This will install all components necessary for Airtime, and set up /usr/share/airtime as your web root (where apache looks for your Airtime files) From a0193f6d39b04bbc5757a500758dbc5b855adf54 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 19 Jan 2015 17:40:21 -0500 Subject: [PATCH 134/168] Fix to overly optimistic service reporting --- airtime_mvc/build/airtime-setup/load.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/airtime_mvc/build/airtime-setup/load.php b/airtime_mvc/build/airtime-setup/load.php index efadc2363..8234724d8 100644 --- a/airtime_mvc/build/airtime-setup/load.php +++ b/airtime_mvc/build/airtime-setup/load.php @@ -124,7 +124,7 @@ function checkRMQConnection() { * @return boolean true if airtime-media-monitor is running */ function checkMediaMonitorService() { - exec("pgrep -f media-monitor", $out, $status); + exec("pgrep -fx 'python /usr/lib/airtime/media-monitor/media_monitor.py'", $out, $status); return $status == 0; } @@ -134,7 +134,7 @@ function checkMediaMonitorService() { * @return boolean true if airtime-playout is running */ function checkPlayoutService() { - exec("pgrep -f pypocli", $out, $status); + exec("pgrep -fx 'python /usr/lib/airtime/pypo/bin/pypocli.py'", $out, $status); return $status == 0; } @@ -144,6 +144,6 @@ function checkPlayoutService() { * @return boolean true if airtime-liquidsoap is running */ function checkLiquidsoapService() { - exec("pgrep -f liquidsoap", $out, $status); + exec("pgrep -fx '/usr/bin/airtime-liquidsoap --verbose -f /usr/lib/airtime/pypo/bin/liquidsoap_scripts/ls_script.liq'", $out, $status); return $status == 0; } \ No newline at end of file From b58891f1fa4e4f58c8c25845d06948c5fade9423 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Tue, 20 Jan 2015 13:42:41 -0500 Subject: [PATCH 135/168] Added additional checks to ensure services are running properly --- airtime_mvc/build/airtime-setup/load.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/airtime_mvc/build/airtime-setup/load.php b/airtime_mvc/build/airtime-setup/load.php index 8234724d8..d1d9964eb 100644 --- a/airtime_mvc/build/airtime-setup/load.php +++ b/airtime_mvc/build/airtime-setup/load.php @@ -125,6 +125,9 @@ function checkRMQConnection() { */ function checkMediaMonitorService() { exec("pgrep -fx 'python /usr/lib/airtime/media-monitor/media_monitor.py'", $out, $status); + if (array_key_exists(0, $out) && $status == 0) { + return posix_kill(rtrim($out[0]), 0); + } return $status == 0; } @@ -135,6 +138,9 @@ function checkMediaMonitorService() { */ function checkPlayoutService() { exec("pgrep -fx 'python /usr/lib/airtime/pypo/bin/pypocli.py'", $out, $status); + if (array_key_exists(0, $out) && $status == 0) { + return posix_kill(rtrim($out[0]), 0); + } return $status == 0; } @@ -145,5 +151,8 @@ function checkPlayoutService() { */ function checkLiquidsoapService() { exec("pgrep -fx '/usr/bin/airtime-liquidsoap --verbose -f /usr/lib/airtime/pypo/bin/liquidsoap_scripts/ls_script.liq'", $out, $status); + if (array_key_exists(0, $out) && $status == 0) { + return posix_kill(rtrim($out[0]), 0); + } return $status == 0; -} \ No newline at end of file +} From 7034c8e00d7ed513c5542ce0f12b6502245e11ee Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Tue, 20 Jan 2015 17:31:59 -0500 Subject: [PATCH 136/168] Initial fix for apache 2.4 vhost file --- install | 7 ++++++- installer/apache/airtime-vhost | 2 -- installer/apache/airtime-vhost-2.4 | 19 +++++++++++++++++++ 3 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 installer/apache/airtime-vhost-2.4 diff --git a/install b/install index a07b15251..7e6351030 100755 --- a/install +++ b/install @@ -326,7 +326,12 @@ if [ "$apache" = "t" ]; then if [ ! -f /etc/apache2/sites-available/${airtimeconfigfile} ]; then verbose "\n * Creating Apache config for Airtime..." - sed -e "s@WEB_ROOT@${web_root}@g" ${SCRIPT_DIR}/installer/apache/airtime-vhost > /etc/apache2/sites-available/${airtimeconfigfile} + + if [ "$apacheversion" != "1" ]; then + sed -e "s@WEB_ROOT@${web_root}@g" ${SCRIPT_DIR}/installer/apache/airtime-vhost-2.4 > /etc/apache2/sites-available/${airtimeconfigfile} + else + sed -e "s@WEB_ROOT@${web_root}@g" ${SCRIPT_DIR}/installer/apache/airtime-vhost > /etc/apache2/sites-available/${airtimeconfigfile} + fi loudCmd "a2dissite 000-default" loudCmd "a2ensite airtime" else diff --git a/installer/apache/airtime-vhost b/installer/apache/airtime-vhost index bc6d8a85f..22c54d8b5 100644 --- a/installer/apache/airtime-vhost +++ b/installer/apache/airtime-vhost @@ -13,7 +13,5 @@ # Apache instance is behind a proxy, so set these here UseCanonicalName On UseCanonicalPhysicalPort On - - Require all granted diff --git a/installer/apache/airtime-vhost-2.4 b/installer/apache/airtime-vhost-2.4 new file mode 100644 index 000000000..bc6d8a85f --- /dev/null +++ b/installer/apache/airtime-vhost-2.4 @@ -0,0 +1,19 @@ + + ServerAdmin foo@bar.org + DocumentRoot WEB_ROOT + php_admin_value upload_tmp_dir /tmp + + + DirectoryIndex index.php + AllowOverride all + Order allow,deny + Allow from all + + # PHP's server values can be spoofed or incorrect if an + # Apache instance is behind a proxy, so set these here + UseCanonicalName On + UseCanonicalPhysicalPort On + + Require all granted + + From ca9724ec5f28c3e09949fcecfeef522db4dd0564 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Wed, 21 Jan 2015 10:50:58 -0500 Subject: [PATCH 137/168] Fixed small issue where doing an in-place install over an existing 2.5.1 install would fail --- install | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/install b/install index 7e6351030..ced271e3e 100755 --- a/install +++ b/install @@ -65,6 +65,7 @@ _i=1 _v=0 # Quiet _q=0 +upgrade="f" function verbose() { if [[ ${_v} -eq 1 ]]; then @@ -238,6 +239,8 @@ if [ -f /etc/airtime/airtime.conf ]; then OLD_CONF=$(grep "[media-monitor]" /etc/airtime/airtime.conf) if [ -n "${OLD_CONF}" ]; then + upgrade="t" + set +e verbose "Stopping airtime services..." loudCmd "service airtime-playout stop-with-monit" @@ -324,7 +327,11 @@ if [ "$apache" = "t" ]; then airtimeconfigfile="airtime" fi - if [ ! -f /etc/apache2/sites-available/${airtimeconfigfile} ]; then + # If we're upgrading (installing over an existing Airtime install) and we've been told to + # install apache, we should overwrite any existing configuration. If we don't do this, doing + # an in-place installation over an old Airtime install (which installs to /usr/share by default) + # will fail + if [ "$upgrade" = "t" -o ! -f /etc/apache2/sites-available/${airtimeconfigfile} ]; then verbose "\n * Creating Apache config for Airtime..." if [ "$apacheversion" != "1" ]; then From 9e75c2a47990ca7947224345eaaa4a5d196c0c40 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 26 Jan 2015 09:57:31 -0500 Subject: [PATCH 138/168] Stopped adding apt.sourcefabric to sources in installer for compatibility with Ubuntu Saucy --- install | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/install b/install index ced271e3e..69acfbfa1 100755 --- a/install +++ b/install @@ -283,17 +283,6 @@ loudCmd "apt-get install -y --force-yes lsb-release" dist=`lsb_release -is` code=`lsb_release -cs` -verbose "\n * Adding apt.sourcefabric to sources.list..." -set +e -grep -E "deb +http://apt.sourcefabric.org/? +$code +main" /etc/apt/sources.list -returncode=$? -set -e -if [ "$returncode" != "0" ]; then - echo "deb http://apt.sourcefabric.org/ $code main" >> /etc/apt/sources.list - loudCmd "apt-get update" -fi -verbose "...Done" - if [ "$in_place" = "t" ]; then verbose "\n * Setting current Airtime directory as web root..." web_root=${AIRTIMEROOT}/airtime_mvc/public From cd102b984ba83d08b2ac6f243738f1d05fa285e4 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Mon, 26 Jan 2015 14:22:47 -0500 Subject: [PATCH 139/168] Remove UseCanonicalName and UseCanonicalPhysicalPort from apache vhost files for now as it can misdirect requests - see warning @ http://httpd.apache.org/docs/current/mod/core.html#usecanonicalname --- installer/apache/airtime-vhost | 5 ----- installer/apache/airtime-vhost-2.4 | 5 ----- 2 files changed, 10 deletions(-) diff --git a/installer/apache/airtime-vhost b/installer/apache/airtime-vhost index 22c54d8b5..890006fb0 100644 --- a/installer/apache/airtime-vhost +++ b/installer/apache/airtime-vhost @@ -8,10 +8,5 @@ AllowOverride all Order allow,deny Allow from all - - # PHP's server values can be spoofed or incorrect if an - # Apache instance is behind a proxy, so set these here - UseCanonicalName On - UseCanonicalPhysicalPort On diff --git a/installer/apache/airtime-vhost-2.4 b/installer/apache/airtime-vhost-2.4 index bc6d8a85f..a1060d875 100644 --- a/installer/apache/airtime-vhost-2.4 +++ b/installer/apache/airtime-vhost-2.4 @@ -9,11 +9,6 @@ Order allow,deny Allow from all - # PHP's server values can be spoofed or incorrect if an - # Apache instance is behind a proxy, so set these here - UseCanonicalName On - UseCanonicalPhysicalPort On - Require all granted From 875a9dfd8b6120ff9185123b61eaf6af8e503fa6 Mon Sep 17 00:00:00 2001 From: Duncan Sommerville Date: Tue, 27 Jan 2015 18:43:36 -0500 Subject: [PATCH 140/168] CC-5990, CC-5991 - Python cleanup, removed need for /usr/lib/airtime --- airtime_mvc/build/airtime-setup/load.php | 6 +-- install | 33 +++++--------- .../api_clients/{ => api_clients}/__init__.py | 0 .../{ => api_clients}/api_client.py | 0 python_apps/api_clients/setup.py | 33 ++++++++++++++ .../media-monitor/bin/airtime-media-monitor | 6 +-- .../__init__.py | 0 .../__main__.py} | 3 +- .../airtime-media-monitor-init-d | 0 .../airtimefilemonitor}/__init__.py | 0 .../airtimemediamonitorbootstrap.py | 0 .../airtimefilemonitor/airtimemetadata.py | 0 .../airtimefilemonitor/airtimenotifier.py | 0 .../airtimefilemonitor/airtimeprocessevent.py | 0 .../airtimefilemonitor/mediaconfig.py | 0 .../airtimefilemonitor/mediamonitorcommon.py | 0 .../airtimefilemonitor/replaygain.py | 0 .../airtimefilemonitor/workerprocess.py | 0 .../logging.cfg | 0 .../{media-monitor => media_monitor}/mm1.py | 0 .../{media-monitor2 => mm2}/__init__.py | 0 .../{media-monitor2 => mm2}/baby.py | 0 .../media/monitor => mm2/configs}/__init__.py | 0 .../configs/logging.cfg | 0 .../media/saas => mm2/media}/__init__.py | 0 .../media/metadata/__init__.py | 0 .../media/metadata/definitions.py | 4 +- .../media/metadata/process.py | 14 +++--- .../mm2/media/monitor}/__init__.py | 0 .../media/monitor/airtime.py | 21 +++++---- .../media/monitor/bootstrap.py | 10 ++--- .../media/monitor/config.py | 4 +- .../media/monitor/eventcontractor.py | 4 +- .../media/monitor/eventdrainer.py | 4 +- .../media/monitor/events.py | 12 +++--- .../media/monitor/exceptions.py | 0 .../media/monitor/handler.py | 6 +-- .../media/monitor/listeners.py | 10 ++--- .../media/monitor/log.py | 2 +- .../media/monitor/manager.py | 18 ++++---- .../media/monitor/metadata.py | 16 +++---- .../media/monitor/organizer.py | 16 +++---- .../media/monitor/owners.py | 2 +- .../media/monitor/pure.py | 2 +- .../media/monitor/request.py | 6 +-- .../media/monitor/syncdb.py | 10 ++--- .../media/monitor/toucher.py | 8 ++-- .../media/monitor/watchersyncer.py | 14 +++--- .../media-monitor/mm2/media/saas/__init__.py | 0 .../media/saas/airtimeinstance.py | 12 +++--- .../media/saas/launcher.py | 26 +++++------ .../media/saas/thread.py | 0 .../{media-monitor2 => mm2}/mm2.py | 0 .../{media-monitor2 => mm2}/pyitest.py | 0 .../{media-monitor2 => mm2}/tests/__init__.py | 0 .../tests/api_client.cfg | 0 .../tests/live_client.cfg | 0 .../tests/prepare_tests.py | 0 .../tests/run_tests.pl | 0 .../tests/test_api_client.py | 0 .../tests/test_config.cfg | 0 .../tests/test_config.py | 0 .../{media-monitor2 => mm2}/tests/test_emf.py | 0 .../tests/test_eventcontractor.py | 0 .../tests/test_instance.py | 0 .../tests/test_listeners.py | 0 .../tests/test_manager.py | 0 .../tests/test_metadata.py | 0 .../tests/test_metadata_def.py | 0 .../tests/test_notifier.py | 0 .../tests/test_owners.py | 0 .../tests/test_pure.py | 0 .../tests/test_requestsync.py | 0 .../tests/test_syncdb.py | 0 .../tests/test_thread.py | 0 .../tests/test_toucher.py | 0 python_apps/media-monitor/setup.py | 6 ++- python_apps/pypo/bin/airtime-liquidsoap | 37 +--------------- python_apps/pypo/bin/airtime-playout | 3 +- .../{pypo/pyponotify.py => bin/pyponotify} | 1 + python_apps/pypo/liquidsoap/__init__.py | 0 python_apps/pypo/liquidsoap/__main__.py | 27 ++++++++++++ .../liquidsoap_scripts => liquidsoap}/aac.liq | 0 .../aacplus.liq | 0 .../airtime-liquidsoap.logrotate | 0 .../fdkaac.liq | 0 .../generate_liquidsoap_cfg.py | 43 ++++++++++--------- .../pypo/liquidsoap/library/__init__.py | 0 .../library/externals.liq | 0 .../library/flows.liq | 0 .../library/gstreamer.liq | 0 .../library/http.liq | 0 .../library/http_codes.liq | 0 .../library/lastfm.liq | 0 .../library/pervasives.liq | 0 .../library/shoutcast.liq | 0 .../library/utils.liq | 0 .../library/video_text.liq | 0 .../liquidsoap.cfg | 0 .../liquidsoap_auth.py | 0 .../liquidsoap_prepare_terminate.py | 0 .../ls_lib.liq | 8 ++-- .../ls_script.liq | 4 +- .../liquidsoap_scripts => liquidsoap}/mp3.liq | 0 .../notify.sh | 0 .../liquidsoap_scripts => liquidsoap}/ogg.liq | 0 .../opus.liq | 0 .../pypo/pypo/{pypocli.py => __main__.py} | 0 .../pypo/media/update/replaygainupdater.py | 2 +- python_apps/pypo/setup.py | 7 ++- .../pypo/{pypo => }/tests/run_tests.sh | 0 .../{pypo => }/tests/test_modify_cue_in.py | 0 python_apps/std_err_override/setup.py | 20 +++++++++ .../{ => std_err_override}/LogWriter.py | 0 .../std_err_override/__init__.py | 0 115 files changed, 248 insertions(+), 212 deletions(-) rename python_apps/api_clients/{ => api_clients}/__init__.py (100%) rename python_apps/api_clients/{ => api_clients}/api_client.py (100%) create mode 100644 python_apps/api_clients/setup.py rename python_apps/media-monitor/{media-monitor/airtimefilemonitor => media_monitor}/__init__.py (100%) rename python_apps/media-monitor/{media-monitor/media_monitor.py => media_monitor/__main__.py} (69%) rename python_apps/media-monitor/{media-monitor => media_monitor}/airtime-media-monitor-init-d (100%) rename python_apps/media-monitor/{media-monitor2/media => media_monitor/airtimefilemonitor}/__init__.py (100%) rename python_apps/media-monitor/{media-monitor => media_monitor}/airtimefilemonitor/airtimemediamonitorbootstrap.py (100%) rename python_apps/media-monitor/{media-monitor => media_monitor}/airtimefilemonitor/airtimemetadata.py (100%) rename python_apps/media-monitor/{media-monitor => media_monitor}/airtimefilemonitor/airtimenotifier.py (100%) rename python_apps/media-monitor/{media-monitor => media_monitor}/airtimefilemonitor/airtimeprocessevent.py (100%) rename python_apps/media-monitor/{media-monitor => media_monitor}/airtimefilemonitor/mediaconfig.py (100%) rename python_apps/media-monitor/{media-monitor => media_monitor}/airtimefilemonitor/mediamonitorcommon.py (100%) rename python_apps/media-monitor/{media-monitor => media_monitor}/airtimefilemonitor/replaygain.py (100%) rename python_apps/media-monitor/{media-monitor => media_monitor}/airtimefilemonitor/workerprocess.py (100%) rename python_apps/media-monitor/{media-monitor => media_monitor}/logging.cfg (100%) rename python_apps/media-monitor/{media-monitor => media_monitor}/mm1.py (100%) rename python_apps/media-monitor/{media-monitor2 => mm2}/__init__.py (100%) rename python_apps/media-monitor/{media-monitor2 => mm2}/baby.py (100%) rename python_apps/media-monitor/{media-monitor2/media/monitor => mm2/configs}/__init__.py (100%) rename python_apps/media-monitor/{media-monitor2 => mm2}/configs/logging.cfg (100%) rename python_apps/media-monitor/{media-monitor2/media/saas => mm2/media}/__init__.py (100%) rename python_apps/media-monitor/{media-monitor2 => mm2}/media/metadata/__init__.py (100%) rename python_apps/media-monitor/{media-monitor2 => mm2}/media/metadata/definitions.py (97%) rename python_apps/media-monitor/{media-monitor2 => mm2}/media/metadata/process.py (95%) rename python_apps/{std_err_override => media-monitor/mm2/media/monitor}/__init__.py (100%) rename python_apps/media-monitor/{media-monitor2 => mm2}/media/monitor/airtime.py (94%) rename python_apps/media-monitor/{media-monitor2 => mm2}/media/monitor/bootstrap.py (92%) rename python_apps/media-monitor/{media-monitor2 => mm2}/media/monitor/config.py (90%) rename python_apps/media-monitor/{media-monitor2 => mm2}/media/monitor/eventcontractor.py (93%) rename python_apps/media-monitor/{media-monitor2 => mm2}/media/monitor/eventdrainer.py (91%) rename python_apps/media-monitor/{media-monitor2 => mm2}/media/monitor/events.py (97%) rename python_apps/media-monitor/{media-monitor2 => mm2}/media/monitor/exceptions.py (100%) rename python_apps/media-monitor/{media-monitor2 => mm2}/media/monitor/handler.py (95%) rename python_apps/media-monitor/{media-monitor2 => mm2}/media/monitor/listeners.py (95%) rename python_apps/media-monitor/{media-monitor2 => mm2}/media/monitor/log.py (96%) rename python_apps/media-monitor/{media-monitor2 => mm2}/media/monitor/manager.py (95%) rename python_apps/media-monitor/{media-monitor2 => mm2}/media/monitor/metadata.py (93%) rename python_apps/media-monitor/{media-monitor2 => mm2}/media/monitor/organizer.py (90%) rename python_apps/media-monitor/{media-monitor2 => mm2}/media/monitor/owners.py (97%) rename python_apps/media-monitor/{media-monitor2 => mm2}/media/monitor/pure.py (99%) rename python_apps/media-monitor/{media-monitor2 => mm2}/media/monitor/request.py (93%) rename python_apps/media-monitor/{media-monitor2 => mm2}/media/monitor/syncdb.py (94%) rename python_apps/media-monitor/{media-monitor2 => mm2}/media/monitor/toucher.py (87%) rename python_apps/media-monitor/{media-monitor2 => mm2}/media/monitor/watchersyncer.py (93%) create mode 100644 python_apps/media-monitor/mm2/media/saas/__init__.py rename python_apps/media-monitor/{media-monitor2 => mm2}/media/saas/airtimeinstance.py (89%) rename python_apps/media-monitor/{media-monitor2 => mm2}/media/saas/launcher.py (85%) rename python_apps/media-monitor/{media-monitor2 => mm2}/media/saas/thread.py (100%) rename python_apps/media-monitor/{media-monitor2 => mm2}/mm2.py (100%) rename python_apps/media-monitor/{media-monitor2 => mm2}/pyitest.py (100%) rename python_apps/media-monitor/{media-monitor2 => mm2}/tests/__init__.py (100%) rename python_apps/media-monitor/{media-monitor2 => mm2}/tests/api_client.cfg (100%) rename python_apps/media-monitor/{media-monitor2 => mm2}/tests/live_client.cfg (100%) rename python_apps/media-monitor/{media-monitor2 => mm2}/tests/prepare_tests.py (100%) rename python_apps/media-monitor/{media-monitor2 => mm2}/tests/run_tests.pl (100%) rename python_apps/media-monitor/{media-monitor2 => mm2}/tests/test_api_client.py (100%) rename python_apps/media-monitor/{media-monitor2 => mm2}/tests/test_config.cfg (100%) rename python_apps/media-monitor/{media-monitor2 => mm2}/tests/test_config.py (100%) rename python_apps/media-monitor/{media-monitor2 => mm2}/tests/test_emf.py (100%) rename python_apps/media-monitor/{media-monitor2 => mm2}/tests/test_eventcontractor.py (100%) rename python_apps/media-monitor/{media-monitor2 => mm2}/tests/test_instance.py (100%) rename python_apps/media-monitor/{media-monitor2 => mm2}/tests/test_listeners.py (100%) rename python_apps/media-monitor/{media-monitor2 => mm2}/tests/test_manager.py (100%) rename python_apps/media-monitor/{media-monitor2 => mm2}/tests/test_metadata.py (100%) rename python_apps/media-monitor/{media-monitor2 => mm2}/tests/test_metadata_def.py (100%) rename python_apps/media-monitor/{media-monitor2 => mm2}/tests/test_notifier.py (100%) rename python_apps/media-monitor/{media-monitor2 => mm2}/tests/test_owners.py (100%) rename python_apps/media-monitor/{media-monitor2 => mm2}/tests/test_pure.py (100%) rename python_apps/media-monitor/{media-monitor2 => mm2}/tests/test_requestsync.py (100%) rename python_apps/media-monitor/{media-monitor2 => mm2}/tests/test_syncdb.py (100%) rename python_apps/media-monitor/{media-monitor2 => mm2}/tests/test_thread.py (100%) rename python_apps/media-monitor/{media-monitor2 => mm2}/tests/test_toucher.py (100%) rename python_apps/pypo/{pypo/pyponotify.py => bin/pyponotify} (99%) create mode 100644 python_apps/pypo/liquidsoap/__init__.py create mode 100644 python_apps/pypo/liquidsoap/__main__.py rename python_apps/pypo/{pypo/liquidsoap_scripts => liquidsoap}/aac.liq (100%) rename python_apps/pypo/{pypo/liquidsoap_scripts => liquidsoap}/aacplus.liq (100%) rename python_apps/pypo/{pypo/liquidsoap_scripts => liquidsoap}/airtime-liquidsoap.logrotate (100%) rename python_apps/pypo/{pypo/liquidsoap_scripts => liquidsoap}/fdkaac.liq (100%) rename python_apps/pypo/{pypo/liquidsoap_scripts => liquidsoap}/generate_liquidsoap_cfg.py (55%) create mode 100644 python_apps/pypo/liquidsoap/library/__init__.py rename python_apps/pypo/{pypo/liquidsoap_scripts => liquidsoap}/library/externals.liq (100%) rename python_apps/pypo/{pypo/liquidsoap_scripts => liquidsoap}/library/flows.liq (100%) rename python_apps/pypo/{pypo/liquidsoap_scripts => liquidsoap}/library/gstreamer.liq (100%) rename python_apps/pypo/{pypo/liquidsoap_scripts => liquidsoap}/library/http.liq (100%) rename python_apps/pypo/{pypo/liquidsoap_scripts => liquidsoap}/library/http_codes.liq (100%) rename python_apps/pypo/{pypo/liquidsoap_scripts => liquidsoap}/library/lastfm.liq (100%) rename python_apps/pypo/{pypo/liquidsoap_scripts => liquidsoap}/library/pervasives.liq (100%) rename python_apps/pypo/{pypo/liquidsoap_scripts => liquidsoap}/library/shoutcast.liq (100%) rename python_apps/pypo/{pypo/liquidsoap_scripts => liquidsoap}/library/utils.liq (100%) rename python_apps/pypo/{pypo/liquidsoap_scripts => liquidsoap}/library/video_text.liq (100%) rename python_apps/pypo/{pypo/liquidsoap_scripts => liquidsoap}/liquidsoap.cfg (100%) rename python_apps/pypo/{pypo/liquidsoap_scripts => liquidsoap}/liquidsoap_auth.py (100%) rename python_apps/pypo/{pypo/liquidsoap_scripts => liquidsoap}/liquidsoap_prepare_terminate.py (100%) rename python_apps/pypo/{pypo/liquidsoap_scripts => liquidsoap}/ls_lib.liq (96%) rename python_apps/pypo/{pypo/liquidsoap_scripts => liquidsoap}/ls_script.liq (98%) rename python_apps/pypo/{pypo/liquidsoap_scripts => liquidsoap}/mp3.liq (100%) rename python_apps/pypo/{pypo/liquidsoap_scripts => liquidsoap}/notify.sh (100%) rename python_apps/pypo/{pypo/liquidsoap_scripts => liquidsoap}/ogg.liq (100%) rename python_apps/pypo/{pypo/liquidsoap_scripts => liquidsoap}/opus.liq (100%) rename python_apps/pypo/pypo/{pypocli.py => __main__.py} (100%) rename python_apps/pypo/{pypo => }/tests/run_tests.sh (100%) rename python_apps/pypo/{pypo => }/tests/test_modify_cue_in.py (100%) create mode 100644 python_apps/std_err_override/setup.py rename python_apps/std_err_override/{ => std_err_override}/LogWriter.py (100%) create mode 100644 python_apps/std_err_override/std_err_override/__init__.py diff --git a/airtime_mvc/build/airtime-setup/load.php b/airtime_mvc/build/airtime-setup/load.php index d1d9964eb..684be3b25 100644 --- a/airtime_mvc/build/airtime-setup/load.php +++ b/airtime_mvc/build/airtime-setup/load.php @@ -124,7 +124,7 @@ function checkRMQConnection() { * @return boolean true if airtime-media-monitor is running */ function checkMediaMonitorService() { - exec("pgrep -fx 'python /usr/lib/airtime/media-monitor/media_monitor.py'", $out, $status); + exec("pgrep -f -u www-data media_monitor", $out, $status); if (array_key_exists(0, $out) && $status == 0) { return posix_kill(rtrim($out[0]), 0); } @@ -137,7 +137,7 @@ function checkMediaMonitorService() { * @return boolean true if airtime-playout is running */ function checkPlayoutService() { - exec("pgrep -fx 'python /usr/lib/airtime/pypo/bin/pypocli.py'", $out, $status); + exec("pgrep -f -u www-data pypo", $out, $status); if (array_key_exists(0, $out) && $status == 0) { return posix_kill(rtrim($out[0]), 0); } @@ -150,7 +150,7 @@ function checkPlayoutService() { * @return boolean true if airtime-liquidsoap is running */ function checkLiquidsoapService() { - exec("pgrep -fx '/usr/bin/airtime-liquidsoap --verbose -f /usr/lib/airtime/pypo/bin/liquidsoap_scripts/ls_script.liq'", $out, $status); + exec("pgrep -f -u www-data airtime-liquidsoap", $out, $status); if (array_key_exists(0, $out) && $status == 0) { return posix_kill(rtrim($out[0]), 0); } diff --git a/install b/install index 69acfbfa1..220d92b5a 100755 --- a/install +++ b/install @@ -252,7 +252,10 @@ if [ -f /etc/airtime/airtime.conf ]; then will be moved to /etc/airtime/airtime.conf.tmp" # If we don't remove the existing python files in /usr/lib and the # /etc/init.d startup scripts, services won't work properly - rm -rf /usr/lib/airtime/ + if [ -d /usr/lib/airtime/ ]; then + rm -rf /usr/lib/airtime/ + fi + rm /etc/init.d/airtime-* if [ "$apache" = "t" ]; then @@ -353,7 +356,7 @@ if [ "$icecast" = "t" ]; then verbose "\n * Enabling Icecast 2..." sed -i 's/ENABLE=false/ENABLE=true/g' /etc/default/icecast2 set +e - service icecast2 start + loudCmd "service icecast2 start" set -e verbose "...Done" fi @@ -367,38 +370,24 @@ loudCmd "apt-get -y --force-yes install liquidsoap python python-pip" loudCmd "pip install setuptools" verbose "...Done" -verbose "\n * Creating /usr/lib/airtime..." -mkdir -p /usr/lib/airtime -verbose "...Done" - verbose "\n * Creating /run/airtime..." mkdir -p /run/airtime chmod 755 /run/airtime chown -R ${web_user}:${web_user} /run/airtime verbose "...Done" -verbose "\n * Copying logging files..." -cp -R ${AIRTIMEROOT}/python_apps/std_err_override /usr/lib/airtime/ +verbose "\n * Installing log writer..." +loudCmd "python ${AIRTIMEROOT}/python_apps/std_err_override/setup.py install" verbose "...Done" -verbose "\n * Copying API client files..." -cp -R ${AIRTIMEROOT}/python_apps/api_clients /usr/lib/airtime/ -verbose "...Done" - -verbose "\n * Copying media-monitor files..." -cp -R ${AIRTIMEROOT}/python_apps/media-monitor/media-monitor /usr/lib/airtime/ -cp -R ${AIRTIMEROOT}/python_apps/media-monitor/media-monitor2 /usr/lib/airtime/media-monitor/mm2 +verbose "\n * Installing API client..." +loudCmd "python ${AIRTIMEROOT}/python_apps/api_clients/setup.py install" verbose "...Done" verbose "\n * Installing media-monitor..." loudCmd "python ${AIRTIMEROOT}/python_apps/media-monitor/setup.py install" verbose "...Done" -verbose "\n * Copying pypo files..." -mkdir -p /usr/lib/airtime/pypo -cp -R ${AIRTIMEROOT}/python_apps/pypo/pypo /usr/lib/airtime/pypo/bin/ -verbose "...Done" - verbose "\n * Installing pypo..." loudCmd "python ${AIRTIMEROOT}/python_apps/pypo/setup.py install" verbose "...Done" @@ -425,7 +414,7 @@ if [ ! -d /var/log/airtime ]; then verbose "\n * Copying logrotate files..." cp ${AIRTIMEROOT}/airtime_mvc/build/airtime-php.logrotate /etc/logrotate.d/airtime-php - cp /usr/lib/airtime/pypo/bin/liquidsoap_scripts/airtime-liquidsoap.logrotate /etc/logrotate.d/airtime-liquidsoap + cp ${AIRTIMEROOT}/python_apps/pypo/pypo/liquidsoap_scripts/airtime-liquidsoap.logrotate /etc/logrotate.d/airtime-liquidsoap fi verbose "\n * Setting permissions on /var/log/airtime..." @@ -434,9 +423,7 @@ chown -R ${web_user}:${web_user} /var/log/airtime/ verbose "\n * Setting permissions on /var/tmp/airtime..." chmod -R a+x /var/tmp/airtime -chmod 755 /usr/lib/airtime/pypo/bin/liquidsoap_scripts/notify.sh chown -R ${web_user}:${web_user} /var/tmp/airtime/ -chown -R ${web_user}:${web_user} /usr/lib/airtime/ loud "\n-----------------------------------------------------" loud " * Installing PHP * " diff --git a/python_apps/api_clients/__init__.py b/python_apps/api_clients/api_clients/__init__.py similarity index 100% rename from python_apps/api_clients/__init__.py rename to python_apps/api_clients/api_clients/__init__.py diff --git a/python_apps/api_clients/api_client.py b/python_apps/api_clients/api_clients/api_client.py similarity index 100% rename from python_apps/api_clients/api_client.py rename to python_apps/api_clients/api_clients/api_client.py diff --git a/python_apps/api_clients/setup.py b/python_apps/api_clients/setup.py new file mode 100644 index 000000000..b71f509a2 --- /dev/null +++ b/python_apps/api_clients/setup.py @@ -0,0 +1,33 @@ +from setuptools import setup +from subprocess import call +import sys +import os + +script_path = os.path.dirname(os.path.realpath(__file__)) +print script_path +os.chdir(script_path) + +setup(name='api_clients', + version='1.0', + description='Airtime API Client', + url='http://github.com/sourcefabric/Airtime', + author='sourcefabric', + license='AGPLv3', + packages=['api_clients'], + scripts=[], + install_requires=[ +# 'amqplib', +# 'anyjson', +# 'argparse', + 'configobj' +# 'docopt', +# 'kombu', +# 'mutagen', +# 'poster', +# 'PyDispatcher', +# 'pyinotify', +# 'pytz', +# 'wsgiref' + ], + zip_safe=False, + data_files=[]) \ No newline at end of file diff --git a/python_apps/media-monitor/bin/airtime-media-monitor b/python_apps/media-monitor/bin/airtime-media-monitor index a76b10d52..25fa771d8 100755 --- a/python_apps/media-monitor/bin/airtime-media-monitor +++ b/python_apps/media-monitor/bin/airtime-media-monitor @@ -2,8 +2,6 @@ exec 2>&1 -cd /usr/lib/airtime/media-monitor/ - set +e cat /etc/default/locale | grep -i "LANG=.*UTF-\?8" set -e @@ -12,8 +10,6 @@ if [ "$?" != "0" ]; then exit 1 fi -export PYTHONPATH=/usr/lib/airtime/:/usr/lib/airtime/media-monitor/airtimefilemonitor/:\ -/usr/lib/airtime/media-monitor/mm2/:/usr/lib/airtime/std_err_override/:/usr/lib/airtime/api_clients:$PYTHONPATH export LC_ALL=`cat /etc/default/locale | grep "LANG=" | cut -d= -f2 | tr -d "\n\""` -exec python /usr/lib/airtime/media-monitor/media_monitor.py > /var/log/airtime/media-monitor/py-interpreter.log 2>&1 +exec python -m media_monitor > /var/log/airtime/media-monitor/py-interpreter.log 2>&1 diff --git a/python_apps/media-monitor/media-monitor/airtimefilemonitor/__init__.py b/python_apps/media-monitor/media_monitor/__init__.py similarity index 100% rename from python_apps/media-monitor/media-monitor/airtimefilemonitor/__init__.py rename to python_apps/media-monitor/media_monitor/__init__.py diff --git a/python_apps/media-monitor/media-monitor/media_monitor.py b/python_apps/media-monitor/media_monitor/__main__.py similarity index 69% rename from python_apps/media-monitor/media-monitor/media_monitor.py rename to python_apps/media-monitor/media_monitor/__main__.py index aabc2e6f5..e98365cc6 100644 --- a/python_apps/media-monitor/media-monitor/media_monitor.py +++ b/python_apps/media-monitor/media_monitor/__main__.py @@ -1,10 +1,11 @@ import logging import time import sys +import os import mm2.mm2 as mm2 from std_err_override import LogWriter global_cfg = '/etc/airtime/airtime.conf' -logging_cfg = '/usr/lib/airtime/media-monitor/logging.cfg' +logging_cfg = os.path.join(os.path.dirname(__file__), 'logging.cfg') mm2.main( global_cfg, logging_cfg ) diff --git a/python_apps/media-monitor/media-monitor/airtime-media-monitor-init-d b/python_apps/media-monitor/media_monitor/airtime-media-monitor-init-d similarity index 100% rename from python_apps/media-monitor/media-monitor/airtime-media-monitor-init-d rename to python_apps/media-monitor/media_monitor/airtime-media-monitor-init-d diff --git a/python_apps/media-monitor/media-monitor2/media/__init__.py b/python_apps/media-monitor/media_monitor/airtimefilemonitor/__init__.py similarity index 100% rename from python_apps/media-monitor/media-monitor2/media/__init__.py rename to python_apps/media-monitor/media_monitor/airtimefilemonitor/__init__.py diff --git a/python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimemediamonitorbootstrap.py b/python_apps/media-monitor/media_monitor/airtimefilemonitor/airtimemediamonitorbootstrap.py similarity index 100% rename from python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimemediamonitorbootstrap.py rename to python_apps/media-monitor/media_monitor/airtimefilemonitor/airtimemediamonitorbootstrap.py diff --git a/python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimemetadata.py b/python_apps/media-monitor/media_monitor/airtimefilemonitor/airtimemetadata.py similarity index 100% rename from python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimemetadata.py rename to python_apps/media-monitor/media_monitor/airtimefilemonitor/airtimemetadata.py diff --git a/python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimenotifier.py b/python_apps/media-monitor/media_monitor/airtimefilemonitor/airtimenotifier.py similarity index 100% rename from python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimenotifier.py rename to python_apps/media-monitor/media_monitor/airtimefilemonitor/airtimenotifier.py diff --git a/python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimeprocessevent.py b/python_apps/media-monitor/media_monitor/airtimefilemonitor/airtimeprocessevent.py similarity index 100% rename from python_apps/media-monitor/media-monitor/airtimefilemonitor/airtimeprocessevent.py rename to python_apps/media-monitor/media_monitor/airtimefilemonitor/airtimeprocessevent.py diff --git a/python_apps/media-monitor/media-monitor/airtimefilemonitor/mediaconfig.py b/python_apps/media-monitor/media_monitor/airtimefilemonitor/mediaconfig.py similarity index 100% rename from python_apps/media-monitor/media-monitor/airtimefilemonitor/mediaconfig.py rename to python_apps/media-monitor/media_monitor/airtimefilemonitor/mediaconfig.py diff --git a/python_apps/media-monitor/media-monitor/airtimefilemonitor/mediamonitorcommon.py b/python_apps/media-monitor/media_monitor/airtimefilemonitor/mediamonitorcommon.py similarity index 100% rename from python_apps/media-monitor/media-monitor/airtimefilemonitor/mediamonitorcommon.py rename to python_apps/media-monitor/media_monitor/airtimefilemonitor/mediamonitorcommon.py diff --git a/python_apps/media-monitor/media-monitor/airtimefilemonitor/replaygain.py b/python_apps/media-monitor/media_monitor/airtimefilemonitor/replaygain.py similarity index 100% rename from python_apps/media-monitor/media-monitor/airtimefilemonitor/replaygain.py rename to python_apps/media-monitor/media_monitor/airtimefilemonitor/replaygain.py diff --git a/python_apps/media-monitor/media-monitor/airtimefilemonitor/workerprocess.py b/python_apps/media-monitor/media_monitor/airtimefilemonitor/workerprocess.py similarity index 100% rename from python_apps/media-monitor/media-monitor/airtimefilemonitor/workerprocess.py rename to python_apps/media-monitor/media_monitor/airtimefilemonitor/workerprocess.py diff --git a/python_apps/media-monitor/media-monitor/logging.cfg b/python_apps/media-monitor/media_monitor/logging.cfg similarity index 100% rename from python_apps/media-monitor/media-monitor/logging.cfg rename to python_apps/media-monitor/media_monitor/logging.cfg diff --git a/python_apps/media-monitor/media-monitor/mm1.py b/python_apps/media-monitor/media_monitor/mm1.py similarity index 100% rename from python_apps/media-monitor/media-monitor/mm1.py rename to python_apps/media-monitor/media_monitor/mm1.py diff --git a/python_apps/media-monitor/media-monitor2/__init__.py b/python_apps/media-monitor/mm2/__init__.py similarity index 100% rename from python_apps/media-monitor/media-monitor2/__init__.py rename to python_apps/media-monitor/mm2/__init__.py diff --git a/python_apps/media-monitor/media-monitor2/baby.py b/python_apps/media-monitor/mm2/baby.py similarity index 100% rename from python_apps/media-monitor/media-monitor2/baby.py rename to python_apps/media-monitor/mm2/baby.py diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/__init__.py b/python_apps/media-monitor/mm2/configs/__init__.py similarity index 100% rename from python_apps/media-monitor/media-monitor2/media/monitor/__init__.py rename to python_apps/media-monitor/mm2/configs/__init__.py diff --git a/python_apps/media-monitor/media-monitor2/configs/logging.cfg b/python_apps/media-monitor/mm2/configs/logging.cfg similarity index 100% rename from python_apps/media-monitor/media-monitor2/configs/logging.cfg rename to python_apps/media-monitor/mm2/configs/logging.cfg diff --git a/python_apps/media-monitor/media-monitor2/media/saas/__init__.py b/python_apps/media-monitor/mm2/media/__init__.py similarity index 100% rename from python_apps/media-monitor/media-monitor2/media/saas/__init__.py rename to python_apps/media-monitor/mm2/media/__init__.py diff --git a/python_apps/media-monitor/media-monitor2/media/metadata/__init__.py b/python_apps/media-monitor/mm2/media/metadata/__init__.py similarity index 100% rename from python_apps/media-monitor/media-monitor2/media/metadata/__init__.py rename to python_apps/media-monitor/mm2/media/metadata/__init__.py diff --git a/python_apps/media-monitor/media-monitor2/media/metadata/definitions.py b/python_apps/media-monitor/mm2/media/metadata/definitions.py similarity index 97% rename from python_apps/media-monitor/media-monitor2/media/metadata/definitions.py rename to python_apps/media-monitor/mm2/media/metadata/definitions.py index 621449dd6..883a20acb 100644 --- a/python_apps/media-monitor/media-monitor2/media/metadata/definitions.py +++ b/python_apps/media-monitor/mm2/media/metadata/definitions.py @@ -1,8 +1,8 @@ # -*- coding: utf-8 -*- -import media.metadata.process as md +import process as md import re from os.path import normpath -from media.monitor.pure import format_length, file_md5, is_airtime_recorded, \ +from ..monitor.pure import format_length, file_md5, is_airtime_recorded, \ no_extension_basename defs_loaded = False diff --git a/python_apps/media-monitor/media-monitor2/media/metadata/process.py b/python_apps/media-monitor/mm2/media/metadata/process.py similarity index 95% rename from python_apps/media-monitor/media-monitor2/media/metadata/process.py rename to python_apps/media-monitor/mm2/media/metadata/process.py index be6b81e20..178681cd8 100644 --- a/python_apps/media-monitor/media-monitor2/media/metadata/process.py +++ b/python_apps/media-monitor/mm2/media/metadata/process.py @@ -1,11 +1,11 @@ # -*- coding: utf-8 -*- -from contextlib import contextmanager -from media.monitor.pure import truncate_to_value, truncate_to_length, toposort -from os.path import normpath -from media.monitor.exceptions import BadSongFile -from media.monitor.log import Loggable -import media.monitor.pure as mmp -from collections import namedtuple +from contextlib import contextmanager +from ..monitor.pure import truncate_to_value, truncate_to_length, toposort +from os.path import normpath +from ..monitor.exceptions import BadSongFile +from ..monitor.log import Loggable +from ..monitor import pure as mmp +from collections import namedtuple import mutagen import subprocess import json diff --git a/python_apps/std_err_override/__init__.py b/python_apps/media-monitor/mm2/media/monitor/__init__.py similarity index 100% rename from python_apps/std_err_override/__init__.py rename to python_apps/media-monitor/mm2/media/monitor/__init__.py diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/airtime.py b/python_apps/media-monitor/mm2/media/monitor/airtime.py similarity index 94% rename from python_apps/media-monitor/media-monitor2/media/monitor/airtime.py rename to python_apps/media-monitor/mm2/media/monitor/airtime.py index e9244857e..ce0e581d9 100644 --- a/python_apps/media-monitor/media-monitor2/media/monitor/airtime.py +++ b/python_apps/media-monitor/mm2/media/monitor/airtime.py @@ -1,22 +1,21 @@ # -*- coding: utf-8 -*- -from kombu.messaging import Exchange, Queue, Consumer -from kombu.connection import BrokerConnection -from kombu.simple import SimpleQueue -from os.path import normpath +from kombu.messaging import Exchange, Queue, Consumer +from kombu.connection import BrokerConnection +from kombu.simple import SimpleQueue +from os.path import normpath import json import os import copy import time -from media.monitor.exceptions import BadSongFile, InvalidMetadataElement -from media.monitor.metadata import Metadata -from media.monitor.log import Loggable -from media.monitor.syncdb import AirtimeDB -from media.monitor.exceptions import DirectoryIsNotListed -from media.monitor.bootstrap import Bootstrapper +from exceptions import BadSongFile, InvalidMetadataElement, DirectoryIsNotListed +from metadata import Metadata +from log import Loggable +from syncdb import AirtimeDB +from bootstrap import Bootstrapper -from media.saas.thread import apc, user +from ..saas.thread import apc, user class AirtimeNotifier(Loggable): """ diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/bootstrap.py b/python_apps/media-monitor/mm2/media/monitor/bootstrap.py similarity index 92% rename from python_apps/media-monitor/media-monitor2/media/monitor/bootstrap.py rename to python_apps/media-monitor/mm2/media/monitor/bootstrap.py index 6e685c964..4ae6d0140 100644 --- a/python_apps/media-monitor/media-monitor2/media/monitor/bootstrap.py +++ b/python_apps/media-monitor/mm2/media/monitor/bootstrap.py @@ -1,9 +1,9 @@ import os -from pydispatch import dispatcher -from media.monitor.events import NewFile, DeleteFile, ModifyFile -from media.monitor.log import Loggable -from media.saas.thread import getsig -import media.monitor.pure as mmp +from pydispatch import dispatcher +from events import NewFile, DeleteFile, ModifyFile +from log import Loggable +from ..saas.thread import getsig +import pure as mmp class Bootstrapper(Loggable): """ diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/config.py b/python_apps/media-monitor/mm2/media/monitor/config.py similarity index 90% rename from python_apps/media-monitor/media-monitor2/media/monitor/config.py rename to python_apps/media-monitor/mm2/media/monitor/config.py index 064caa158..4e6f955df 100644 --- a/python_apps/media-monitor/media-monitor2/media/monitor/config.py +++ b/python_apps/media-monitor/mm2/media/monitor/config.py @@ -3,8 +3,8 @@ import os import copy from configobj import ConfigObj -from media.monitor.exceptions import NoConfigFile, ConfigAccessViolation -import media.monitor.pure as mmp +from exceptions import NoConfigFile, ConfigAccessViolation +import pure as mmp class MMConfig(object): def __init__(self, path): diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/eventcontractor.py b/python_apps/media-monitor/mm2/media/monitor/eventcontractor.py similarity index 93% rename from python_apps/media-monitor/media-monitor2/media/monitor/eventcontractor.py rename to python_apps/media-monitor/mm2/media/monitor/eventcontractor.py index f832f6c62..bd0bd295d 100644 --- a/python_apps/media-monitor/media-monitor2/media/monitor/eventcontractor.py +++ b/python_apps/media-monitor/mm2/media/monitor/eventcontractor.py @@ -1,5 +1,5 @@ -from media.monitor.log import Loggable -from media.monitor.events import DeleteFile +from log import Loggable +from events import DeleteFile class EventContractor(Loggable): def __init__(self): diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/eventdrainer.py b/python_apps/media-monitor/mm2/media/monitor/eventdrainer.py similarity index 91% rename from python_apps/media-monitor/media-monitor2/media/monitor/eventdrainer.py rename to python_apps/media-monitor/mm2/media/monitor/eventdrainer.py index b551fae8e..85eb0d673 100644 --- a/python_apps/media-monitor/media-monitor2/media/monitor/eventdrainer.py +++ b/python_apps/media-monitor/mm2/media/monitor/eventdrainer.py @@ -1,7 +1,7 @@ import socket import time -from media.monitor.log import Loggable -from media.monitor.toucher import RepeatTimer +from log import Loggable +from toucher import RepeatTimer from amqplib.client_0_8.exceptions import AMQPConnectionException class EventDrainer(Loggable): diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/events.py b/python_apps/media-monitor/mm2/media/monitor/events.py similarity index 97% rename from python_apps/media-monitor/media-monitor2/media/monitor/events.py rename to python_apps/media-monitor/mm2/media/monitor/events.py index 4389bf27e..52f0662d0 100644 --- a/python_apps/media-monitor/media-monitor2/media/monitor/events.py +++ b/python_apps/media-monitor/mm2/media/monitor/events.py @@ -2,12 +2,12 @@ import os import abc import re -import media.monitor.pure as mmp -from media.monitor.pure import LazyProperty -from media.monitor.metadata import Metadata -from media.monitor.log import Loggable -from media.monitor.exceptions import BadSongFile -from media.saas.thread import getsig, user +import pure as mmp +from pure import LazyProperty +from metadata import Metadata +from log import Loggable +from exceptions import BadSongFile +from ..saas.thread import getsig, user class PathChannel(object): """ Simple struct to hold a 'signal' string and a related 'path'. diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/exceptions.py b/python_apps/media-monitor/mm2/media/monitor/exceptions.py similarity index 100% rename from python_apps/media-monitor/media-monitor2/media/monitor/exceptions.py rename to python_apps/media-monitor/mm2/media/monitor/exceptions.py diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/handler.py b/python_apps/media-monitor/mm2/media/monitor/handler.py similarity index 95% rename from python_apps/media-monitor/media-monitor2/media/monitor/handler.py rename to python_apps/media-monitor/mm2/media/monitor/handler.py index c67a437ef..7e00bfde9 100644 --- a/python_apps/media-monitor/media-monitor2/media/monitor/handler.py +++ b/python_apps/media-monitor/mm2/media/monitor/handler.py @@ -2,9 +2,9 @@ from pydispatch import dispatcher import abc -from media.monitor.log import Loggable -from media.saas.thread import getsig -import media.monitor.pure as mmp +from log import Loggable +from ..saas.thread import getsig +import pure as mmp # Defines the handle interface class Handles(object): diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/listeners.py b/python_apps/media-monitor/mm2/media/monitor/listeners.py similarity index 95% rename from python_apps/media-monitor/media-monitor2/media/monitor/listeners.py rename to python_apps/media-monitor/mm2/media/monitor/listeners.py index 86b74bcea..0437a7964 100644 --- a/python_apps/media-monitor/media-monitor2/media/monitor/listeners.py +++ b/python_apps/media-monitor/mm2/media/monitor/listeners.py @@ -3,13 +3,13 @@ import pyinotify from pydispatch import dispatcher from functools import wraps -import media.monitor.pure as mmp -from media.monitor.pure import IncludeOnly -from media.monitor.events import OrganizeFile, NewFile, MoveFile, DeleteFile, \ +import pure as mmp +from pure import IncludeOnly +from events import OrganizeFile, NewFile, MoveFile, DeleteFile, \ DeleteDir, MoveDir,\ DeleteDirWatch -from media.monitor.log import Loggable -from media.saas.thread import getsig, user +from log import Loggable +from ..saas.thread import getsig, user # Note: Because of the way classes that inherit from pyinotify.ProcessEvent # interact with constructors. you should only instantiate objects from them # using keyword arguments. For example: diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/log.py b/python_apps/media-monitor/mm2/media/monitor/log.py similarity index 96% rename from python_apps/media-monitor/media-monitor2/media/monitor/log.py rename to python_apps/media-monitor/mm2/media/monitor/log.py index 7e75c719d..ec9523d7f 100644 --- a/python_apps/media-monitor/media-monitor2/media/monitor/log.py +++ b/python_apps/media-monitor/mm2/media/monitor/log.py @@ -1,7 +1,7 @@ import logging import abc import traceback -from media.monitor.pure import LazyProperty +from pure import LazyProperty appname = 'root' diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/manager.py b/python_apps/media-monitor/mm2/media/monitor/manager.py similarity index 95% rename from python_apps/media-monitor/media-monitor2/media/monitor/manager.py rename to python_apps/media-monitor/mm2/media/monitor/manager.py index 6617ae416..c457b39b7 100644 --- a/python_apps/media-monitor/media-monitor2/media/monitor/manager.py +++ b/python_apps/media-monitor/mm2/media/monitor/manager.py @@ -1,16 +1,16 @@ import pyinotify import time import os -from pydispatch import dispatcher +from pydispatch import dispatcher -from os.path import normpath -from media.monitor.events import PathChannel -from media.monitor.log import Loggable -from media.monitor.listeners import StoreWatchListener, OrganizeListener -from media.monitor.handler import ProblemFileHandler -from media.monitor.organizer import Organizer -from media.saas.thread import InstanceInheritingThread, getsig -import media.monitor.pure as mmp +from os.path import normpath +from events import PathChannel +from log import Loggable +from listeners import StoreWatchListener, OrganizeListener +from handler import ProblemFileHandler +from organizer import Organizer +from ..saas.thread import InstanceInheritingThread, getsig +import pure as mmp class ManagerTimeout(InstanceInheritingThread,Loggable): diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/metadata.py b/python_apps/media-monitor/mm2/media/monitor/metadata.py similarity index 93% rename from python_apps/media-monitor/media-monitor2/media/monitor/metadata.py rename to python_apps/media-monitor/mm2/media/monitor/metadata.py index de70b0a99..2c0988257 100644 --- a/python_apps/media-monitor/media-monitor2/media/monitor/metadata.py +++ b/python_apps/media-monitor/mm2/media/monitor/metadata.py @@ -2,17 +2,17 @@ import mutagen import os import copy -from mutagen.easymp4 import EasyMP4KeyError -from mutagen.easyid3 import EasyID3KeyError +from mutagen.easymp4 import EasyMP4KeyError +from mutagen.easyid3 import EasyID3KeyError -from media.monitor.exceptions import BadSongFile, InvalidMetadataElement -from media.monitor.log import Loggable -from media.monitor.pure import format_length -import media.monitor.pure as mmp +from exceptions import BadSongFile, InvalidMetadataElement +from log import Loggable +from pure import format_length +import pure as mmp # emf related stuff -from media.metadata.process import global_reader -import media.metadata.definitions as defs +from ..metadata.process import global_reader +from ..metadata import definitions as defs defs.load_definitions() """ diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/organizer.py b/python_apps/media-monitor/mm2/media/monitor/organizer.py similarity index 90% rename from python_apps/media-monitor/media-monitor2/media/monitor/organizer.py rename to python_apps/media-monitor/mm2/media/monitor/organizer.py index 2407889f5..c4550bdfb 100644 --- a/python_apps/media-monitor/media-monitor2/media/monitor/organizer.py +++ b/python_apps/media-monitor/mm2/media/monitor/organizer.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -import media.monitor.pure as mmp -from media.monitor.handler import ReportHandler -from media.monitor.log import Loggable -from media.monitor.exceptions import BadSongFile -from media.monitor.events import OrganizeFile -from pydispatch import dispatcher -from os.path import dirname -from media.saas.thread import getsig, user +import pure as mmp +from handler import ReportHandler +from log import Loggable +from exceptions import BadSongFile +from events import OrganizeFile +from pydispatch import dispatcher +from os.path import dirname +from ..saas.thread import getsig, user import os.path class Organizer(ReportHandler,Loggable): diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/owners.py b/python_apps/media-monitor/mm2/media/monitor/owners.py similarity index 97% rename from python_apps/media-monitor/media-monitor2/media/monitor/owners.py rename to python_apps/media-monitor/mm2/media/monitor/owners.py index 48898c9aa..5fc3ad831 100644 --- a/python_apps/media-monitor/media-monitor2/media/monitor/owners.py +++ b/python_apps/media-monitor/mm2/media/monitor/owners.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -from media.monitor.log import Loggable +from log import Loggable class Owner(Loggable): def __init__(self): diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/pure.py b/python_apps/media-monitor/mm2/media/monitor/pure.py similarity index 99% rename from python_apps/media-monitor/media-monitor2/media/monitor/pure.py rename to python_apps/media-monitor/mm2/media/monitor/pure.py index 61ecaebeb..fc6692ba8 100644 --- a/python_apps/media-monitor/media-monitor2/media/monitor/pure.py +++ b/python_apps/media-monitor/mm2/media/monitor/pure.py @@ -21,7 +21,7 @@ try: from functools import reduce except: pass from configobj import ConfigObj -from media.monitor.exceptions import FailedToSetLocale, FailedToCreateDir +from exceptions import FailedToSetLocale, FailedToCreateDir supported_extensions = [u"mp3", u"ogg", u"oga", u"flac", u"wav", u'm4a', u'mp4', 'opus'] diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/request.py b/python_apps/media-monitor/mm2/media/monitor/request.py similarity index 93% rename from python_apps/media-monitor/media-monitor2/media/monitor/request.py rename to python_apps/media-monitor/mm2/media/monitor/request.py index e2c5fb5ef..71c0c1b54 100644 --- a/python_apps/media-monitor/media-monitor2/media/monitor/request.py +++ b/python_apps/media-monitor/mm2/media/monitor/request.py @@ -1,8 +1,8 @@ # -*- coding: utf-8 -*- -from media.monitor.exceptions import BadSongFile -from media.monitor.log import Loggable -from media.saas.thread import apc, InstanceInheritingThread +from exceptions import BadSongFile +from log import Loggable +from ..saas.thread import apc, InstanceInheritingThread class ThreadedRequestSync(InstanceInheritingThread, Loggable): def __init__(self, rs): diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/syncdb.py b/python_apps/media-monitor/mm2/media/monitor/syncdb.py similarity index 94% rename from python_apps/media-monitor/media-monitor2/media/monitor/syncdb.py rename to python_apps/media-monitor/mm2/media/monitor/syncdb.py index dd837b2a1..047e13b78 100644 --- a/python_apps/media-monitor/media-monitor2/media/monitor/syncdb.py +++ b/python_apps/media-monitor/mm2/media/monitor/syncdb.py @@ -1,10 +1,10 @@ # -*- coding: utf-8 -*- import os -from media.monitor.log import Loggable -from media.monitor.exceptions import NoDirectoryInAirtime -from media.saas.thread import user -from os.path import normpath, join -import media.monitor.pure as mmp +from log import Loggable +from exceptions import NoDirectoryInAirtime +from ..saas.thread import user +from os.path import normpath, join +import pure as mmp class AirtimeDB(Loggable): def __init__(self, apc, reload_now=True): diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/toucher.py b/python_apps/media-monitor/mm2/media/monitor/toucher.py similarity index 87% rename from python_apps/media-monitor/media-monitor2/media/monitor/toucher.py rename to python_apps/media-monitor/mm2/media/monitor/toucher.py index d94fd34f8..eb7a9df76 100644 --- a/python_apps/media-monitor/media-monitor2/media/monitor/toucher.py +++ b/python_apps/media-monitor/mm2/media/monitor/toucher.py @@ -1,9 +1,9 @@ # -*- coding: utf-8 -*- -import media.monitor.pure as mmp +import pure as mmp import os -from media.monitor.log import Loggable -from media.monitor.exceptions import CouldNotCreateIndexFile -from media.saas.thread import InstanceInheritingThread +from log import Loggable +from exceptions import CouldNotCreateIndexFile +from ..saas.thread import InstanceInheritingThread class Toucher(Loggable): """ diff --git a/python_apps/media-monitor/media-monitor2/media/monitor/watchersyncer.py b/python_apps/media-monitor/mm2/media/monitor/watchersyncer.py similarity index 93% rename from python_apps/media-monitor/media-monitor2/media/monitor/watchersyncer.py rename to python_apps/media-monitor/mm2/media/monitor/watchersyncer.py index 558759c89..dde859c05 100644 --- a/python_apps/media-monitor/media-monitor2/media/monitor/watchersyncer.py +++ b/python_apps/media-monitor/mm2/media/monitor/watchersyncer.py @@ -2,13 +2,13 @@ import time import copy -from media.monitor.handler import ReportHandler -from media.monitor.log import Loggable -from media.monitor.exceptions import BadSongFile -from media.monitor.eventcontractor import EventContractor -from media.monitor.events import EventProxy -from media.monitor.request import ThreadedRequestSync, RequestSync -from media.saas.thread import InstanceInheritingThread, getsig +from handler import ReportHandler +from log import Loggable +from exceptions import BadSongFile +from eventcontractor import EventContractor +from events import EventProxy +from request import ThreadedRequestSync, RequestSync +from ..saas.thread import InstanceInheritingThread, getsig class TimeoutWatcher(InstanceInheritingThread,Loggable): """ diff --git a/python_apps/media-monitor/mm2/media/saas/__init__.py b/python_apps/media-monitor/mm2/media/saas/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/python_apps/media-monitor/media-monitor2/media/saas/airtimeinstance.py b/python_apps/media-monitor/mm2/media/saas/airtimeinstance.py similarity index 89% rename from python_apps/media-monitor/media-monitor2/media/saas/airtimeinstance.py rename to python_apps/media-monitor/mm2/media/saas/airtimeinstance.py index b661eb152..4eeb8094e 100644 --- a/python_apps/media-monitor/media-monitor2/media/saas/airtimeinstance.py +++ b/python_apps/media-monitor/mm2/media/saas/airtimeinstance.py @@ -1,12 +1,12 @@ import os from os.path import join, basename, dirname -from media.monitor.exceptions import NoConfigFile -from media.monitor.pure import LazyProperty -from media.monitor.config import MMConfig -from media.monitor.owners import Owner -from media.monitor.events import EventRegistry -from media.monitor.listeners import FileMediator +from ..monitor.exceptions import NoConfigFile +from ..monitor.pure import LazyProperty +from ..monitor.config import MMConfig +from ..monitor.owners import Owner +from ..monitor.events import EventRegistry +from ..monitor.listeners import FileMediator from api_clients.api_client import AirtimeApiClient # poor man's phantom types... diff --git a/python_apps/media-monitor/media-monitor2/media/saas/launcher.py b/python_apps/media-monitor/mm2/media/saas/launcher.py similarity index 85% rename from python_apps/media-monitor/media-monitor2/media/saas/launcher.py rename to python_apps/media-monitor/mm2/media/saas/launcher.py index 496addcb4..a2bd95d5c 100644 --- a/python_apps/media-monitor/media-monitor2/media/saas/launcher.py +++ b/python_apps/media-monitor/mm2/media/saas/launcher.py @@ -2,21 +2,21 @@ import os, sys import logging import logging.config -import media.monitor.pure as mmp +from ..monitor import pure as mmp -from media.monitor.exceptions import FailedToObtainLocale, FailedToSetLocale -from media.monitor.log import get_logger, setup_logging +from ..monitor.exceptions import FailedToObtainLocale, FailedToSetLocale +from ..monitor.log import get_logger, setup_logging from std_err_override import LogWriter -from media.saas.thread import InstanceThread, user, apc, getsig -from media.monitor.log import Loggable -from media.monitor.exceptions import CouldNotCreateIndexFile -from media.monitor.toucher import ToucherThread -from media.monitor.airtime import AirtimeNotifier, AirtimeMessageReceiver -from media.monitor.watchersyncer import WatchSyncer -from media.monitor.eventdrainer import EventDrainer -from media.monitor.manager import Manager -from media.monitor.syncdb import AirtimeDB -from media.saas.airtimeinstance import AirtimeInstance +from ..saas.thread import InstanceThread, user, apc, getsig +from ..monitor.log import Loggable +from ..monitor.exceptions import CouldNotCreateIndexFile +from ..monitor.toucher import ToucherThread +from ..monitor.airtime import AirtimeNotifier, AirtimeMessageReceiver +from ..monitor.watchersyncer import WatchSyncer +from ..monitor.eventdrainer import EventDrainer +from ..monitor.manager import Manager +from ..monitor.syncdb import AirtimeDB +from airtimeinstance import AirtimeInstance class MM2(InstanceThread, Loggable): diff --git a/python_apps/media-monitor/media-monitor2/media/saas/thread.py b/python_apps/media-monitor/mm2/media/saas/thread.py similarity index 100% rename from python_apps/media-monitor/media-monitor2/media/saas/thread.py rename to python_apps/media-monitor/mm2/media/saas/thread.py diff --git a/python_apps/media-monitor/media-monitor2/mm2.py b/python_apps/media-monitor/mm2/mm2.py similarity index 100% rename from python_apps/media-monitor/media-monitor2/mm2.py rename to python_apps/media-monitor/mm2/mm2.py diff --git a/python_apps/media-monitor/media-monitor2/pyitest.py b/python_apps/media-monitor/mm2/pyitest.py similarity index 100% rename from python_apps/media-monitor/media-monitor2/pyitest.py rename to python_apps/media-monitor/mm2/pyitest.py diff --git a/python_apps/media-monitor/media-monitor2/tests/__init__.py b/python_apps/media-monitor/mm2/tests/__init__.py similarity index 100% rename from python_apps/media-monitor/media-monitor2/tests/__init__.py rename to python_apps/media-monitor/mm2/tests/__init__.py diff --git a/python_apps/media-monitor/media-monitor2/tests/api_client.cfg b/python_apps/media-monitor/mm2/tests/api_client.cfg similarity index 100% rename from python_apps/media-monitor/media-monitor2/tests/api_client.cfg rename to python_apps/media-monitor/mm2/tests/api_client.cfg diff --git a/python_apps/media-monitor/media-monitor2/tests/live_client.cfg b/python_apps/media-monitor/mm2/tests/live_client.cfg similarity index 100% rename from python_apps/media-monitor/media-monitor2/tests/live_client.cfg rename to python_apps/media-monitor/mm2/tests/live_client.cfg diff --git a/python_apps/media-monitor/media-monitor2/tests/prepare_tests.py b/python_apps/media-monitor/mm2/tests/prepare_tests.py similarity index 100% rename from python_apps/media-monitor/media-monitor2/tests/prepare_tests.py rename to python_apps/media-monitor/mm2/tests/prepare_tests.py diff --git a/python_apps/media-monitor/media-monitor2/tests/run_tests.pl b/python_apps/media-monitor/mm2/tests/run_tests.pl similarity index 100% rename from python_apps/media-monitor/media-monitor2/tests/run_tests.pl rename to python_apps/media-monitor/mm2/tests/run_tests.pl diff --git a/python_apps/media-monitor/media-monitor2/tests/test_api_client.py b/python_apps/media-monitor/mm2/tests/test_api_client.py similarity index 100% rename from python_apps/media-monitor/media-monitor2/tests/test_api_client.py rename to python_apps/media-monitor/mm2/tests/test_api_client.py diff --git a/python_apps/media-monitor/media-monitor2/tests/test_config.cfg b/python_apps/media-monitor/mm2/tests/test_config.cfg similarity index 100% rename from python_apps/media-monitor/media-monitor2/tests/test_config.cfg rename to python_apps/media-monitor/mm2/tests/test_config.cfg diff --git a/python_apps/media-monitor/media-monitor2/tests/test_config.py b/python_apps/media-monitor/mm2/tests/test_config.py similarity index 100% rename from python_apps/media-monitor/media-monitor2/tests/test_config.py rename to python_apps/media-monitor/mm2/tests/test_config.py diff --git a/python_apps/media-monitor/media-monitor2/tests/test_emf.py b/python_apps/media-monitor/mm2/tests/test_emf.py similarity index 100% rename from python_apps/media-monitor/media-monitor2/tests/test_emf.py rename to python_apps/media-monitor/mm2/tests/test_emf.py diff --git a/python_apps/media-monitor/media-monitor2/tests/test_eventcontractor.py b/python_apps/media-monitor/mm2/tests/test_eventcontractor.py similarity index 100% rename from python_apps/media-monitor/media-monitor2/tests/test_eventcontractor.py rename to python_apps/media-monitor/mm2/tests/test_eventcontractor.py diff --git a/python_apps/media-monitor/media-monitor2/tests/test_instance.py b/python_apps/media-monitor/mm2/tests/test_instance.py similarity index 100% rename from python_apps/media-monitor/media-monitor2/tests/test_instance.py rename to python_apps/media-monitor/mm2/tests/test_instance.py diff --git a/python_apps/media-monitor/media-monitor2/tests/test_listeners.py b/python_apps/media-monitor/mm2/tests/test_listeners.py similarity index 100% rename from python_apps/media-monitor/media-monitor2/tests/test_listeners.py rename to python_apps/media-monitor/mm2/tests/test_listeners.py diff --git a/python_apps/media-monitor/media-monitor2/tests/test_manager.py b/python_apps/media-monitor/mm2/tests/test_manager.py similarity index 100% rename from python_apps/media-monitor/media-monitor2/tests/test_manager.py rename to python_apps/media-monitor/mm2/tests/test_manager.py diff --git a/python_apps/media-monitor/media-monitor2/tests/test_metadata.py b/python_apps/media-monitor/mm2/tests/test_metadata.py similarity index 100% rename from python_apps/media-monitor/media-monitor2/tests/test_metadata.py rename to python_apps/media-monitor/mm2/tests/test_metadata.py diff --git a/python_apps/media-monitor/media-monitor2/tests/test_metadata_def.py b/python_apps/media-monitor/mm2/tests/test_metadata_def.py similarity index 100% rename from python_apps/media-monitor/media-monitor2/tests/test_metadata_def.py rename to python_apps/media-monitor/mm2/tests/test_metadata_def.py diff --git a/python_apps/media-monitor/media-monitor2/tests/test_notifier.py b/python_apps/media-monitor/mm2/tests/test_notifier.py similarity index 100% rename from python_apps/media-monitor/media-monitor2/tests/test_notifier.py rename to python_apps/media-monitor/mm2/tests/test_notifier.py diff --git a/python_apps/media-monitor/media-monitor2/tests/test_owners.py b/python_apps/media-monitor/mm2/tests/test_owners.py similarity index 100% rename from python_apps/media-monitor/media-monitor2/tests/test_owners.py rename to python_apps/media-monitor/mm2/tests/test_owners.py diff --git a/python_apps/media-monitor/media-monitor2/tests/test_pure.py b/python_apps/media-monitor/mm2/tests/test_pure.py similarity index 100% rename from python_apps/media-monitor/media-monitor2/tests/test_pure.py rename to python_apps/media-monitor/mm2/tests/test_pure.py diff --git a/python_apps/media-monitor/media-monitor2/tests/test_requestsync.py b/python_apps/media-monitor/mm2/tests/test_requestsync.py similarity index 100% rename from python_apps/media-monitor/media-monitor2/tests/test_requestsync.py rename to python_apps/media-monitor/mm2/tests/test_requestsync.py diff --git a/python_apps/media-monitor/media-monitor2/tests/test_syncdb.py b/python_apps/media-monitor/mm2/tests/test_syncdb.py similarity index 100% rename from python_apps/media-monitor/media-monitor2/tests/test_syncdb.py rename to python_apps/media-monitor/mm2/tests/test_syncdb.py diff --git a/python_apps/media-monitor/media-monitor2/tests/test_thread.py b/python_apps/media-monitor/mm2/tests/test_thread.py similarity index 100% rename from python_apps/media-monitor/media-monitor2/tests/test_thread.py rename to python_apps/media-monitor/mm2/tests/test_thread.py diff --git a/python_apps/media-monitor/media-monitor2/tests/test_toucher.py b/python_apps/media-monitor/mm2/tests/test_toucher.py similarity index 100% rename from python_apps/media-monitor/media-monitor2/tests/test_toucher.py rename to python_apps/media-monitor/mm2/tests/test_toucher.py diff --git a/python_apps/media-monitor/setup.py b/python_apps/media-monitor/setup.py index a39b1958a..4fac8644f 100644 --- a/python_apps/media-monitor/setup.py +++ b/python_apps/media-monitor/setup.py @@ -34,7 +34,11 @@ setup(name='airtime-media-monitor', url='http://github.com/sourcefabric/Airtime', author='sourcefabric', license='AGPLv3', - packages=['media-monitor', 'media-monitor2'], + packages=['media_monitor', 'mm2', 'mm2.configs', + 'mm2.media', 'mm2.media.monitor', + 'mm2.media.metadata', 'mm2.media.saas' + ], + package_data={'': ['*.cfg']}, scripts=['bin/airtime-media-monitor'], install_requires=[ 'amqplib', diff --git a/python_apps/pypo/bin/airtime-liquidsoap b/python_apps/pypo/bin/airtime-liquidsoap index 18e59d896..83322775d 100755 --- a/python_apps/pypo/bin/airtime-liquidsoap +++ b/python_apps/pypo/bin/airtime-liquidsoap @@ -1,38 +1,3 @@ #!/bin/bash -e -debug="f" - -showhelp () { - echo "Usage: airtime-liquidsoap [options] ---help|-h Displays usage information. ---debug|-d Print error messages to console" -} - -set -- $(getopt -l help,debug "hd" "$@") -while [ $# -gt 0 ] -do - case "$1" in - (-h|--help) showhelp; exit 0;; - (-d|--debug) debug="t";; - - (--) shift; break;; - (-*) echo "$0: error - unrecognized option $1" 1>&2; exit 1;; - (*) break;; - esac - shift -done - -export HOME="/var/tmp/airtime/pypo/" -if [ "$debug" = "t" ]; then - ls_path="/usr/bin/airtime-liquidsoap --verbose -f --debug" -else - ls_path="/usr/bin/airtime-liquidsoap --verbose -f" -fi - -export PYTHONPATH=/usr/lib/airtime/:/usr/lib/airtime/pypo/bin/:/usr/lib/airtime/std_err_override/:/usr/lib/airtime/api_clients:$PYTHONPATH -ls_param="/usr/lib/airtime/pypo/bin/liquidsoap_scripts/ls_script.liq" - -cd /usr/lib/airtime/pypo/bin/liquidsoap_scripts -python generate_liquidsoap_cfg.py - -exec ${ls_path} ${ls_param} 2>&1 +exec python -m liquidsoap 2>&1 diff --git a/python_apps/pypo/bin/airtime-playout b/python_apps/pypo/bin/airtime-playout index 4326e45dc..4cc3d6c35 100755 --- a/python_apps/pypo/bin/airtime-playout +++ b/python_apps/pypo/bin/airtime-playout @@ -9,8 +9,7 @@ if [ "$?" != "0" ]; then fi export HOME="/var/tmp/airtime/pypo/" -export PYTHONPATH=/usr/lib/airtime/:/usr/lib/airtime/pypo/bin/:/usr/lib/airtime/std_err_override/:/usr/lib/airtime/api_clients:$PYTHONPATH export LC_ALL=`cat /etc/default/locale | grep "LANG=" | cut -d= -f2 | tr -d "\n\""` export TERM=xterm -exec python /usr/lib/airtime/pypo/bin/pypocli.py > /var/log/airtime/pypo/py-interpreter.log 2>&1 +exec python -m pypo > /var/log/airtime/pypo/py-interpreter.log 2>&1 diff --git a/python_apps/pypo/pypo/pyponotify.py b/python_apps/pypo/bin/pyponotify similarity index 99% rename from python_apps/pypo/pypo/pyponotify.py rename to python_apps/pypo/bin/pyponotify index 32d56270d..fcbaf04bf 100644 --- a/python_apps/pypo/pypo/pyponotify.py +++ b/python_apps/pypo/bin/pyponotify @@ -1,3 +1,4 @@ +#!/usr/bin/env python # -*- coding: utf-8 -*- import traceback diff --git a/python_apps/pypo/liquidsoap/__init__.py b/python_apps/pypo/liquidsoap/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/python_apps/pypo/liquidsoap/__main__.py b/python_apps/pypo/liquidsoap/__main__.py new file mode 100644 index 000000000..55f6cd724 --- /dev/null +++ b/python_apps/pypo/liquidsoap/__main__.py @@ -0,0 +1,27 @@ +""" Runs Airtime liquidsoap +""" + +import argparse +import os +import generate_liquidsoap_cfg + +PYPO_HOME = '/var/tmp/airtime/pypo/' + +def run(): + '''Entry-point for this application''' + print "Airtime Liquidsoap" + parser = argparse.ArgumentParser() + parser.add_argument("-d", "--debug", help="run in debug mode", action="store_true") + args = parser.parse_args() + + os.environ["HOME"] = PYPO_HOME + + generate_liquidsoap_cfg.run() + script_path = os.path.join(os.path.dirname(__file__), 'ls_script.liq') + + if args.debug: + os.execl('/usr/bin/liquidsoap', 'airtime-liquidsoap', script_path, '--verbose', '-f', '--debug') + else: + os.execl('/usr/bin/liquidsoap', 'airtime-liquidsoap', script_path, '--verbose', '-f') + +run() \ No newline at end of file diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/aac.liq b/python_apps/pypo/liquidsoap/aac.liq similarity index 100% rename from python_apps/pypo/pypo/liquidsoap_scripts/aac.liq rename to python_apps/pypo/liquidsoap/aac.liq diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/aacplus.liq b/python_apps/pypo/liquidsoap/aacplus.liq similarity index 100% rename from python_apps/pypo/pypo/liquidsoap_scripts/aacplus.liq rename to python_apps/pypo/liquidsoap/aacplus.liq diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/airtime-liquidsoap.logrotate b/python_apps/pypo/liquidsoap/airtime-liquidsoap.logrotate similarity index 100% rename from python_apps/pypo/pypo/liquidsoap_scripts/airtime-liquidsoap.logrotate rename to python_apps/pypo/liquidsoap/airtime-liquidsoap.logrotate diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/fdkaac.liq b/python_apps/pypo/liquidsoap/fdkaac.liq similarity index 100% rename from python_apps/pypo/pypo/liquidsoap_scripts/fdkaac.liq rename to python_apps/pypo/liquidsoap/fdkaac.liq diff --git a/python_apps/pypo/pypo/liquidsoap_scripts/generate_liquidsoap_cfg.py b/python_apps/pypo/liquidsoap/generate_liquidsoap_cfg.py similarity index 55% rename from python_apps/pypo/pypo/liquidsoap_scripts/generate_liquidsoap_cfg.py rename to python_apps/pypo/liquidsoap/generate_liquidsoap_cfg.py index e0160181b..57e4342cf 100644 --- a/python_apps/pypo/pypo/liquidsoap_scripts/generate_liquidsoap_cfg.py +++ b/python_apps/pypo/liquidsoap/generate_liquidsoap_cfg.py @@ -25,24 +25,25 @@ def generate_liquidsoap_config(ss): fh.write('log_file = "/var/log/airtime/pypo-liquidsoap/