You are here

function theme_opigno_live_meetings_course_lessons in Opigno Moxtra App 7

Theme callback: display course quizes and results.

1 call to theme_opigno_live_meetings_course_lessons()
opigno_live_meetings_preprocess_page in modules/opigno_live_meetings/opigno_live_meetings.module

File

modules/opigno_live_meetings/opigno_live_meetings.module, line 147

Code

function theme_opigno_live_meetings_course_lessons($gid) {
  global $user;
  $elements = array(
    'header' => array(
      t('Live meeting'),
      t('Start datetime'),
      t('Status'),
    ),
    'attributes' => array(),
  );
  $live_meetings_nids = opigno_live_meetings_db_get_live_meetings_nids_from_group($gid);
  foreach ($live_meetings_nids as $live_meeting_nid) {
    $live_meeting = node_load($live_meeting_nid);
    $live_meeting_info = opigno_live_meetings_api_get_live_meeting_info($live_meeting->uid, $live_meeting->session_key[LANGUAGE_NONE][0]['value']);
    $defaultValues = opigno_live_meetings_score_get_default_value($live_meeting->nid, array(
      $user,
    ), opigno_live_meetings_get_participants_uid_from_meeting_info($live_meeting_info));
    $participantDefaultStatusLiteral = $defaultValues[$user->uid]['status'] == 1 ? t('Attended') : t('Absent');
    if ($live_meeting_info->data->status == 'SESSION_SCHEDULED') {
      $startTime = format_date(strtotime($live_meeting_info->data->scheduled_starts), 'short');
      $literalStatus = t('Scheduled');
      $participantStatus = '-';
    }
    else {
      $startTime = format_date(strtotime($live_meeting_info->data->starts), 'short');
      if ($live_meeting_info->data->status == 'SESSION_STARTED') {
        $literalStatus = t('Started');
        $participantStatus = '-';
      }
      else {
        $literalStatus = t('Ended');
        $participantStatus = $participantDefaultStatusLiteral;
      }
    }
    $title = l($live_meeting_info->data->topic . ' (' . $literalStatus . ')', 'node/' . $live_meeting->nid);
    $elements['rows'][] = array(
      $title,
      $startTime,
      $participantStatus,
    );
  }
  if (count($live_meetings_nids) > 0) {
    return theme("table", $elements);
  }
  else {
    return '';
  }
}