You are here

function opigno_sort_group_courses in Opigno Class App 7

Helper function to fetch all class courses.

Parameters

stdClass $node:

Return value

array

2 calls to opigno_sort_group_courses()
opigno_class_app_get_class_courses in ./opigno_class_app.module
opigno_sort_groups_form in opigno_sort_groups/opigno_sort_groups.pages.inc
@file Defines all page callbacks.

File

opigno_sort_groups/opigno_sort_groups.module, line 123
Contains all hook_implementations and module specific functions.

Code

function opigno_sort_group_courses($node) {
  $courses =& drupal_static(__FUNCTION__);
  if (!isset($courses[$node->nid])) {
    $courses[$node->nid] = array();
    $query = db_select('node', 'n');
    $query
      ->fields('n', array(
      'nid',
    ));
    $query
      ->condition('n.type', "course", '=');
    $query
      ->join('field_data_opigno_class_courses', 'fd', 'fd.opigno_class_courses_target_id = n.nid');
    $query
      ->fields('fd', array());
    $query
      ->condition('fd.entity_id', $node->nid, '=');
    $result = $query
      ->execute();
    while ($record = $result
      ->fetchAssoc()) {
      $courses[$node->nid][$record['nid']] = $record['nid'];
    }
    $temp = array();
    foreach ($courses[$node->nid] as $index => $crs) {
      $temp[$index] = opigno_sort_groups_get_groups_weight($node->nid, $index);
    }
    asort($temp);
    $courses[$node->nid] = array_keys($temp);
  }
  return $courses[$node->nid];
}