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];
}