diff --git a/airtime_mvc/application/controllers/ScheduleController.php b/airtime_mvc/application/controllers/ScheduleController.php index 6e8e445fa..cc4acd49e 100644 --- a/airtime_mvc/application/controllers/ScheduleController.php +++ b/airtime_mvc/application/controllers/ScheduleController.php @@ -310,13 +310,9 @@ class ScheduleController extends Zend_Controller_Action return; } - $start = explode(" ", $start_timestamp); - $end = explode(" ", $end_timestamp); - $startTime = explode(":", $start[1]); - $endTime = explode(":", $end[1]); - $dateInfo_s = getDate(strtotime($start_timestamp)); - $dateInfo_e = getDate(strtotime($end_timestamp)); - + $dateInfo_s = getDate(strtotime(Application_Model_DateHelper::ConvertToLocalDateTimeString($start_timestamp))); + $dateInfo_e = getDate(strtotime(Application_Model_DateHelper::ConvertToLocalDateTimeString($end_timestamp))); + $this->view->showContent = $show->getShowContent(); $this->view->timeFilled = $show->getTimeScheduled(); $this->view->showName = $show->getName(); @@ -329,8 +325,8 @@ class ScheduleController extends Zend_Controller_Action $this->view->e_wday = $dateInfo_e['weekday']; $this->view->e_month = $dateInfo_e['month']; $this->view->e_day = $dateInfo_e['mday']; - $this->view->startTime = sprintf("%d:%02d", $startTime[0], $startTime[1]); - $this->view->endTime = sprintf("%d:%02d", $endTime[0], $endTime[1]); + $this->view->startTime = sprintf("%02d:%02d", $dateInfo_s['hours'], $dateInfo_s['minutes']); + $this->view->endTime = sprintf("%02d:%02d", $dateInfo_e['hours'], $dateInfo_e['minutes']); $this->view->chosen = $this->view->render('schedule/scheduled-content.phtml'); $this->view->dialog = $this->view->render('schedule/schedule-show-dialog.phtml'); diff --git a/airtime_mvc/application/models/Preference.php b/airtime_mvc/application/models/Preference.php index f7fca885e..af7ea4924 100644 --- a/airtime_mvc/application/models/Preference.php +++ b/airtime_mvc/application/models/Preference.php @@ -7,7 +7,7 @@ class Application_Model_Preference global $CC_CONFIG, $CC_DBC; //called from a daemon process - if(!Zend_Auth::getInstance()->hasIdentity()) { + if(!class_exists("Zend_Auth", false) || !Zend_Auth::getInstance()->hasIdentity()) { $id = NULL; } else { @@ -369,11 +369,16 @@ class Application_Model_Preference $outputArray['NUM_OF_SCHEDULED_PLAYLISTS'] = Application_Model_Schedule::getSchduledPlaylistCount(); $outputArray['NUM_OF_PAST_SHOWS'] = Application_Model_ShowInstance::GetShowInstanceCount(date("Y-m-d H:i:s")); $outputArray['UNIQUE_ID'] = self::GetUniqueId(); + $outputArray['SAAS'] = self::GetPlanLevel(); + $outputArray['INSTALL_METHOD'] = self::GetInstallMethod(); $outputArray = array_merge($systemInfoArray, $outputArray); $outputString = "\n"; foreach($outputArray as $key => $out){ + if($key == 'SAAS' && ($out != '' || $out != 'disabled')){ + continue; + } if($out != ''){ $outputString .= $key.' : '.$out."\n"; } @@ -386,6 +391,20 @@ class Application_Model_Preference return $outputString; } } + + public static function GetInstallMethod(){ + $easy_install = file_exists('/usr/bin/airtime-easy-install'); + $debian_install = file_exists('/var/lib/dpkg/info/airtime.config'); + if($debian_install){ + if($easy_install){ + return "easy_install"; + }else{ + return "debian_install"; + } + }else{ + return "manual_install"; + } + } public static function SetRemindMeDate($now){ $weekAfter = mktime(0, 0, 0, date("m") , date("d")+7, date("Y")); @@ -446,7 +465,11 @@ class Application_Model_Preference } public static function GetPlanLevel(){ - return self::GetValue("plan_level"); + $plan = self::GetValue("plan_level"); + if(trim($plan) == ''){ + $plan = 'disabled'; + } + return $plan; } public static function SetTrialEndingDate($date){ diff --git a/python_apps/media-monitor/airtimefilemonitor/airtimeprocessevent.py b/python_apps/media-monitor/airtimefilemonitor/airtimeprocessevent.py index af8658c2a..cfd605cf2 100644 --- a/python_apps/media-monitor/airtimefilemonitor/airtimeprocessevent.py +++ b/python_apps/media-monitor/airtimefilemonitor/airtimeprocessevent.py @@ -274,7 +274,8 @@ class AirtimeProcessEvent(ProcessEvent): # check if file exist # When whole directory is copied to the organized dir, # inotify doesn't fire IN_CLOSE_WRITE, hench we need special way of - # handling those cases. + # handling those cases. We are manully calling handle_created_file + # function. if os.path.exists(k): # check if file is open command = "lsof "+k diff --git a/utils/airtime-check-system.php b/utils/airtime-check-system.php index f5b71df51..562a87fc7 100644 --- a/utils/airtime-check-system.php +++ b/utils/airtime-check-system.php @@ -20,6 +20,7 @@ if (substr($sapi_type, 0, 3) == 'cli') { class AirtimeCheck { private static $AIRTIME_STATUS_OK = true; + CONST UNKNOWN = "UNKNOWN"; /** * Ensures that the user is running this PHP script with root @@ -29,11 +30,29 @@ class AirtimeCheck { public static function ExitIfNotRoot() { // Need to check that we are superuser before running this. - if(exec("whoami") != "root"){ + $user = exec("whoami"); + if($user != "root" && $user != "www-data"){ echo "Must be root user.\n"; exit(1); } } + + public static function GetCpuInfo() + { + $command = "cat /proc/cpuinfo |grep -m 1 'model name' "; + exec($command, $output, $rv); + + if ($rv != 0 || !isset($output[0])) + return self::UNKNOWN; + + $choppedStr = explode(":", $output[0]); + + if (!isset($choppedStr[1])) + return self::UNKNOWN; + + $status = trim($choppedStr[1]); + return $status; + } public static function GetAirtimeConf() { @@ -46,6 +65,37 @@ class AirtimeCheck { return $ini; } + + public static function CheckOsTypeVersion(){ + + exec("lsb_release -ds", $output, $rv); + if ($rv != 0 || !isset($output[0])){ + $os_string = self::UNKNOWN; + } else { + $os_string = $output[0]; + } + + unset($output); + + // Figure out if 32 or 64 bit + exec("uname -m", $output, $rv); + if ($rv != 0 || !isset($output[0])){ + $machine = self::UNKNOWN; + } else { + $machine = $output[0]; + } + + return $os_string." ".$machine; + } + + public static function GetServerType(){ + $headerInfo = get_headers("http://localhost",1); + + if (!isset($headerInfo['Server'][0])) + return self::UNKNOWN; + else + return $headerInfo['Server'][0]; + } public static function GetStatus($p_apiKey){ @@ -82,6 +132,9 @@ class AirtimeCheck { self::output_status("TOTAL_MEMORY_MBYTES", $data->platform->memory); self::output_status("TOTAL_SWAP_MBYTES", $data->platform->swap); self::output_status("AIRTIME_VERSION", $data->airtime_version); + self::output_status("OS", self::CheckOsTypeVersion()); + self::output_status("CPU", self::GetCpuInfo()); + self::output_status("WEB_SERVER", self::GetServerType()); if ($data->services->pypo){ self::output_status("PLAYOUT_ENGINE_PROCESS_ID", $data->services->pypo->process_id); self::output_status("PLAYOUT_ENGINE_RUNNING_SECONDS", $data->services->pypo->uptime_seconds);