diff --git a/airtime_mvc/application/controllers/ApiController.php b/airtime_mvc/application/controllers/ApiController.php index 62908dec1..c7cbbc0bc 100644 --- a/airtime_mvc/application/controllers/ApiController.php +++ b/airtime_mvc/application/controllers/ApiController.php @@ -103,7 +103,7 @@ class ApiController extends Zend_Controller_Action //flush the file contents 16 KBytes at a time. In the future we may //want to use the "X-Sendfile header" method instead. while (!feof($fp)) { - echo fread($fp, 16*1024); + echo fread($fp, 64*1024); ob_end_flush(); } fclose($fp); diff --git a/utils/airtime-check-system.php b/utils/airtime-check-system.php index d2dbef6f7..107822dbc 100644 --- a/utils/airtime-check-system.php +++ b/utils/airtime-check-system.php @@ -1,20 +1,18 @@ 0 bytes. - -//echo "*** Airtime System Check Script ***".PHP_EOL; - set_error_handler("myErrorHandler"); AirtimeCheck::CheckOsTypeVersion(); AirtimeCheck::CheckConfigFilesExist(); + $airtimeIni = AirtimeCheck::GetAirtimeConf(); $pypoCfg = AirtimeCheck::GetPypoCfg(); AirtimeCheck::GetDbConnection($airtimeIni); -//AirtimeCheck::CheckRabbitMqVersion(); +AirtimeCheck::PythonLibrariesInstalled(); + AirtimeCheck::CheckRabbitMqConnection($airtimeIni); AirtimeCheck::CheckApacheVHostFiles(); @@ -31,7 +29,6 @@ class AirtimeCheck{ const CHECK_FAILED = "FAILED"; public static function CheckPypoRunning(){ - //check using svstat $command = "sudo svstat /etc/service/pypo"; exec($command, $output, $result); @@ -61,7 +58,6 @@ class AirtimeCheck{ } public static function CheckLiquidsoapRunning(){ - //connect via telnet $command = "sudo svstat /etc/service/pypo-liquidsoap"; exec($command, $output, $result); @@ -101,13 +97,12 @@ class AirtimeCheck{ foreach ($confFiles as $cf){ $fullPath = "/etc/airtime/$cf"; - //echo "\t".$fullPath." ... "; if (!file_exists($fullPath)){ $allFound = AirtimeCheck::CHECK_FAILED; } } - echo "AIRTIME_CONFIG=$allFound".PHP_EOL; + echo "AIRTIME_CONFIG_FILES=$allFound".PHP_EOL; } @@ -141,8 +136,6 @@ class AirtimeCheck{ $dbconn = pg_connect("host=$host port=5432 dbname=$dbname user=$dbuser password=$dbpass"); - //echo PHP_EOL."Verifying Airtime Database".PHP_EOL; - if ($dbconn === false){ $status = AirtimeCheck::CHECK_FAILED; } else { @@ -151,6 +144,31 @@ class AirtimeCheck{ echo "TEST_PGSQL_DATABASE=$status".PHP_EOL; } + + public static function PythonLibrariesInstalled(){ + $command = "pip freeze | grep kombu"; + exec($command, $output, $result); + + $status = AirtimeCheck::CHECK_FAILED; + if (count($output[0]) > 0){ + $key_value = split("==", $output[0]); + $status = trim($key_value[1]); + } + + echo "PYTHON_KOMBU_VERSION=$status".PHP_EOL; + + unset($output); + $command = "pip freeze | grep poster"; + exec($command, $output, $result); + + $status = AirtimeCheck::CHECK_FAILED; + if (count($output[0]) > 0){ + $key_value = split("==", $output[0]); + $status = trim($key_value[1]); + } + + echo "PYTHON_POSTER_VERSION=$status".PHP_EOL; + } public static function CheckDbTables(){ @@ -184,7 +202,6 @@ class AirtimeCheck{ * */ public static function CheckRabbitMqConnection($airtimeIni){ - //echo PHP_EOL."Verifying RabbitMQ Service".PHP_EOL; try { $status = AirtimeCheck::CHECK_OK; $conn = new AMQPConnection($airtimeIni["rabbitmq"]["host"], @@ -192,19 +209,14 @@ class AirtimeCheck{ $airtimeIni["rabbitmq"]["user"], $airtimeIni["rabbitmq"]["password"]); } catch (Exception $e){ - //echo "\tConnection ... [Failed!]".PHP_EOL; - //exit; $status = AirtimeCheck::CHECK_FAILED; } - //echo "\tConnection ... [OK]".PHP_EOL; - + echo "TEST_RABBITMQ_SERVER=$status".PHP_EOL; } public static function GetAirtimeServerVersion($pypoCfg){ - //echo PHP_EOL."Checking Airtime Server Version".PHP_EOL; - $baseUrl = $pypoCfg["base_url"]; $basePort = $pypoCfg["base_port"]; $apiKey = "%%api_key%%"; @@ -221,20 +233,14 @@ class AirtimeCheck{ while (($buffer = fgets($rh)) !== false) { $json = json_decode(trim($buffer), true); if (!is_null($json)){ - //echo "\t\tAirtime Version ".$json["version"]." ... [OK] ".PHP_EOL; $version = $json["version"]; echo "AIRTIME_VERSION_STRING=$version".PHP_EOL; } } - } else { - //echo "\t\tConnection ... [Failed!]".PHP_EOL; - //exit; - } + } } public static function CheckApacheVHostFiles(){ - //echo PHP_EOL."Checking for Airtime Apache config files".PHP_EOL; - $fileNames = array("/etc/apache2/sites-available/airtime", "/etc/apache2/sites-enabled/airtime"); diff --git a/utils/airtime-clean-storage.php b/utils/airtime-clean-storage.php index 9424d35f3..11eee7f40 100644 --- a/utils/airtime-clean-storage.php +++ b/utils/airtime-clean-storage.php @@ -9,15 +9,28 @@ if (isset($arr["DOCUMENT_ROOT"]) && ($arr["DOCUMENT_ROOT"] != "") ) { exit(1); } -set_include_path('/var/www/airtime/library' . PATH_SEPARATOR . get_include_path()); -set_include_path('/var/www/airtime/application/models' . PATH_SEPARATOR . get_include_path()); -require_once('/var/www/airtime/application/configs/conf.php'); -require_once('/var/www/airtime/application/models/StoredFile.php'); +$ini = get_ini_file(); +$airtime_base_dir = $ini['general']['airtime_dir']; + +set_include_path("$airtime_base_dir/library" . PATH_SEPARATOR . get_include_path()); +set_include_path("$airtime_base_dir/application/models" . PATH_SEPARATOR . get_include_path()); +require_once("$airtime_base_dir/application/configs/conf.php"); +require_once('StoredFile.php'); require_once('DB.php'); require_once 'propel/runtime/lib/Propel.php'; -Propel::init('/var/www/airtime/application/configs/airtime-conf.php'); +Propel::init("$airtime_base_dir/application/configs/airtime-conf.php"); +function get_ini_file(){ + $ini = parse_ini_file("/etc/airtime/airtime.conf", true); + if ($ini === FALSE || !array_key_exists('airtime_dir', $ini['general'])){ + echo "Could not open /etc/airtime/airtime.conf. Is Airtime installed?".PHP_EOL; + exit; + } + + return $ini; +} + /** * * Look through all the files in the database and remove the rows diff --git a/utils/airtime-import.php b/utils/airtime-import.php index 5c11165c3..616ef3fbd 100644 --- a/utils/airtime-import.php +++ b/utils/airtime-import.php @@ -12,10 +12,13 @@ set_time_limit(0); error_reporting(E_ALL); set_error_handler("import_error_handler", E_ALL & !E_NOTICE); -set_include_path('/var/www/airtime/library' . PATH_SEPARATOR . get_include_path()); +$ini = get_ini_file(); +$airtime_base_dir = $ini['general']['airtime_dir']; -require_once("/var/www/airtime/application/configs/conf.php"); -require_once("/var/www/airtime/application/models/StoredFile.php"); +set_include_path("$airtime_base_dir/library" . PATH_SEPARATOR . get_include_path()); + +require_once("$airtime_base_dir/application/configs/conf.php"); +require_once("$airtime_base_dir/application/models/StoredFile.php"); require_once('DB.php'); require_once('Console/Getopt.php'); @@ -25,6 +28,16 @@ function import_error_handler() exit(); } +function get_ini_file(){ + $ini = parse_ini_file("/etc/airtime/airtime.conf", true); + if ($ini === FALSE || !array_key_exists('airtime_dir', $ini['general'])){ + echo "Could not open /etc/airtime/airtime.conf. Is Airtime installed?".PHP_EOL; + exit; + } + + return $ini; +} + function printUsage() {