diff --git a/install/airtime-install.php b/install/airtime-install.php index 17e0ddadf..b1c1019ac 100644 --- a/install/airtime-install.php +++ b/install/airtime-install.php @@ -7,11 +7,11 @@ echo "******************************** Install Begin *********************************".PHP_EOL; -require_once(dirname(__FILE__).'/include/installInit.php'); +require_once(dirname(__FILE__).'/include/AirtimeIni.php'); -ExitIfNotRoot(); -CreateINIFile(); -UpdateINIFiles(); +AirtimeIni::ExitIfNotRoot(); +AirtimeIni::CreateIniFile(); +AirtimeIni::UpdateIniFiles(); require_once(dirname(__FILE__).'/../application/configs/conf.php'); require_once(dirname(__FILE__).'/include/AirtimeInstall.php'); diff --git a/install/airtime-uninstall.php b/install/airtime-uninstall.php index 69dd2d641..0065052f9 100644 --- a/install/airtime-uninstall.php +++ b/install/airtime-uninstall.php @@ -5,9 +5,9 @@ * @license http://www.gnu.org/licenses/gpl.txt */ -require_once(dirname(__FILE__).'/include/installInit.php'); +require_once(dirname(__FILE__).'/include/AirtimeIni.php'); // Need to check that we are superuser before running this. -ExitIfNotRoot(); +AirtimeIni::ExitIfNotRoot(); require_once(dirname(__FILE__).'/../application/configs/conf.php'); require_once(dirname(__FILE__).'/include/AirtimeInstall.php'); @@ -75,7 +75,7 @@ if ($results == 0) { // Delete files //------------------------------------------------------------------------ AirtimeInstall::DeleteFilesRecursive($CC_CONFIG['storageDir']); -RemoveINIFile(); +AirtimeIni::RemoveIniFiles(); $command = "python ".__DIR__."/../python_apps/pypo/install/pypo-uninstall.py"; system($command); diff --git a/install/airtime-upgrade.php b/install/airtime-upgrade.php index 7d6fd3bdb..6db722fa2 100644 --- a/install/airtime-upgrade.php +++ b/install/airtime-upgrade.php @@ -6,27 +6,20 @@ * @license http://www.gnu.org/licenses/gpl.txt */ -// Do not allow remote execution -$arr = array_diff_assoc($_SERVER, $_ENV); -if (isset($arr["DOCUMENT_ROOT"]) && ($arr["DOCUMENT_ROOT"] != "") ) { - header("HTTP/1.1 400"); - header("Content-type: text/plain; charset=UTF-8"); - echo "400 Not executable\r\n"; - exit(1); -} +require_once(dirname(__FILE__).'/include/AirtimeIni.php'); +require_once(dirname(__FILE__).'/include/AirtimeInstall.php'); -require_once(dirname(__FILE__).'/installInit.php'); - -AirtimeInstall::ExitIfNotRoot(); +AirtimeIni::ExitIfNotRoot(); echo "******************************** Update Begin *********************************".PHP_EOL; -AirtimeInstall::UpdateIniValue('../build/build.properties', 'project.home', realpath(__dir__.'/../')); +AirtimeIni::CreateIniFile(); +AirtimeIni::UpdateIniFiles(); echo PHP_EOL."*** Updating Database Tables ***".PHP_EOL; AirtimeInstall::MigrateTables(__DIR__); echo PHP_EOL."*** Updating Pypo ***".PHP_EOL; -system("python ".__DIR__."/../pypo/install/pypo-install.py"); +system("python ".__DIR__."/../python_apps/pypo/install/pypo-install.py"); echo "******************************* Update Complete *******************************".PHP_EOL; diff --git a/install/include/AirtimeIni.php b/install/include/AirtimeIni.php new file mode 100644 index 000000000..cea643cf9 --- /dev/null +++ b/install/include/AirtimeIni.php @@ -0,0 +1,115 @@ + strlen($property)) + if ($property == substr($lines[$i], 0, strlen($property))){ + $lines[$i] = "$property = $value\n"; + } + } + + $fp=fopen($filename, 'w'); + for($i=0; $i<$n; $i++){ + fwrite($fp, $lines[$i]); + } + fclose($fp); + } + + static function UpdateIniFiles() + { + $api_key = AirtimeIni::GenerateRandomString(); + AirtimeIni::UpdateIniValue('/etc/airtime/airtime.conf', 'api_key', $api_key); + AirtimeIni::UpdateIniValue('/etc/airtime/airtime.conf', 'baseFilesDir', realpath(__DIR__.'/../../files')); + AirtimeIni::UpdateIniValue('/etc/airtime/pypo.cfg', 'api_key', "'$api_key'"); + AirtimeIni::UpdateIniValue('/etc/airtime/recorder.cfg', 'api_key', "'$api_key'"); + AirtimeIni::UpdateIniValue(__DIR__.'/../../build/build.properties', 'project.home', realpath(__dir__.'/../../')); + } +} diff --git a/install/include/installInit.php b/install/include/installInit.php deleted file mode 100644 index b1ccb8219..000000000 --- a/install/include/installInit.php +++ /dev/null @@ -1,100 +0,0 @@ - strlen($property)) - if ($property == substr($lines[$i], 0, strlen($property))){ - $lines[$i] = "$property = $value\n"; - } - } - - $fp=fopen($filename, 'w'); - for($i=0; $i<$n; $i++){ - fwrite($fp, $lines[$i]); - } - fclose($fp); -} - -function UpdateINIFiles() -{ - $api_key = GenerateRandomString(); - UpdateIniValue('/etc/airtime/airtime.conf', 'api_key', $api_key); - UpdateIniValue('/etc/airtime/airtime.conf', 'baseFilesDir', realpath(__DIR__.'/../../files')); - UpdateIniValue('/etc/airtime/pypo.cfg', 'api_key', "'$api_key'"); - UpdateIniValue('/etc/airtime/recorder.cfg', 'api_key', "'$api_key'"); - UpdateIniValue(__DIR__.'/../../build/build.properties', 'project.home', realpath(__dir__.'/../../')); -} diff --git a/public/css/images/icon_finishedplaying_m.png b/public/css/images/icon_finishedplaying_m.png new file mode 100644 index 000000000..5b221d29d Binary files /dev/null and b/public/css/images/icon_finishedplaying_m.png differ diff --git a/public/css/images/icon_nowplaying_m.png b/public/css/images/icon_nowplaying_m.png new file mode 100644 index 000000000..844f80193 Binary files /dev/null and b/public/css/images/icon_nowplaying_m.png differ diff --git a/public/css/images/icon_soundcloud.png b/public/css/images/icon_soundcloud.png new file mode 100644 index 000000000..03c943309 Binary files /dev/null and b/public/css/images/icon_soundcloud.png differ diff --git a/public/css/images/icon_soundcloud_m.png b/public/css/images/icon_soundcloud_m.png new file mode 100644 index 000000000..553f4df98 Binary files /dev/null and b/public/css/images/icon_soundcloud_m.png differ diff --git a/public/css/styles.css b/public/css/styles.css index 7d0dc8690..3f11e491e 100644 --- a/public/css/styles.css +++ b/public/css/styles.css @@ -1211,6 +1211,10 @@ ul.errors { margin:0; } +.formrow-repeat ul.errors { + width:278px; +} + ul.errors li { color:#902d2d; font-size:11px; @@ -1440,7 +1444,7 @@ div.success{ list-style-type:none; margin:0 0 7px 0; padding:0; - height:26px; + /*height:26px;*/ display:block; } .formrow-repeat li .ui-button-icon-only { @@ -1501,7 +1505,10 @@ div.success{ .small-icon.rebroadcast { background:url(images/icon_rebroadcast.png) no-repeat 0 0; } - +.small-icon.soundcloud { + background:url(images/icon_soundcloud.png) no-repeat 0 0; + width:21px; +} .medium-icon { display:block; width:25px; @@ -1511,8 +1518,23 @@ div.success{ } .medium-icon.recording { background:url(images/icon_record_m.png) no-repeat 0 0; + width:20px; } .medium-icon.rebroadcast { background:url(images/icon_rebroadcast_m.png) no-repeat 0 0; } - +.medium-icon.soundcloud { + background:url(images/icon_soundcloud_m.png) no-repeat 0 0; + width:21px; +} +.medium-icon.nowplaying, .medium-icon.finishedplaying { + background:url(images/icon_nowplaying_m.png) no-repeat 0 0; + width:12px; + height:9px; + float:left; + margin-left:6px; + margin-right:0; +} +.medium-icon.finishedplaying { + background:url(images/icon_finishedplaying_m.png) no-repeat 0 0; +}