// tab options for Touch/Basic pages $tabs->hide('News'); $tabs->hide('Staff'); $tabs_html = $tabs->html($page->branch); $tab = $tabs->active(); require "$page->branch/detail.html"; } else { // tab options for Touch/Basic pages $tabs_html = $tabs->html($page->branch); $tab = $tabs->active(); $stellar_url = stellarURL($class); $announcements = StellarData::get_announcements($class_id); $has_news = count($announcements) > 0; $has_old_news = count($announcements) > 5; //start session (used to save class details) session_start(); $_SESSION['class'] = $class; $_SESSION['announcements'] = $announcements; if($_REQUEST['all']) { $all = true; $items = $announcements; } else { $all = false; $items = array_slice($announcements, 0, 5); }
$daemon = new DaemonWrapper("my_stellar"); $daemon->start($argv); require_once $docRoot . "/mobi-config/mobi_lib_constants.php"; require_once LIBDIR . "db.php"; require_once LIBDIR . "StellarData.php"; require_once "apns_lib.php"; while($daemon->sleep(STELLAR_FEED_CACHE_TIMEOUT)) { db::ping(); //make sure the db keeps running $term = StellarData::get_term(); $subject_ids = StellarData::check_subscriptions($term); foreach($subject_ids as $subject_id) { $announcements = StellarData::get_announcements($subject_id); if(count($announcements) > 0 ) { $notification_types = array( 'apple' => new StellarAppleNotification($subject_id, $announcements) ); foreach(StellarData::subscriptions_for_subject($subject_id, $term) as $subscription) { $notification_types[$subscription['device_type']]->queue_notification($subscription['device_id']); } } } } $daemon->stop();
} if(isset($_REQUEST['checksum'])) { $checksum = md5(json_encode($data)); if(isset($_REQUEST['full'])) { $data = array('checksum' => $checksum, 'classes' => $data); } else { $data = array('checksum' => $checksum); } } break; case 'subjectInfo': $subjectId = urldecode($_REQUEST['id']); $data = StellarData::get_subject_info($subjectId); if($data) { $data['announcements'] = StellarData::get_announcements($subjectId); // some classes dont have stellar announcements if($data['announcements'] === False) { unset($data['announcements']); } $data['term'] = StellarData::get_term(); } else { $data = array('error' => 'SubjectNotFound', 'message' => 'Stellar could not find this subject'); } break; case 'search': $query = urldecode($_REQUEST['query']); $data = StellarData::search_subjects($query);