Esempio n. 1
0
  // 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);