function opigno_sort_groups_node_update in Opigno Class App 7
File
- opigno_sort_groups/
opigno_sort_groups.module, line 249 - Contains all hook_implementations and module specific functions.
Code
function opigno_sort_groups_node_update($node) {
if (isset($node->original)) {
if ($node->type == "class") {
/// If courses inside the class changed
foreach ($node->opigno_class_courses[LANGUAGE_NONE] as $index => $target) {
if (!in_array($target['target_id'], $node->original->opigno_class_courses[LANGUAGE_NONE][$index])) {
/// Insert into opigno sort groups
db_insert('opigno_sort_groups')
->fields(array(
'cgid' => $node->nid,
'gid' => $target['target_id'],
'weight' => 0,
))
->execute();
///////////////////////////////////
/// If course is alone delete it
db_delete('opigno_sort_groups')
->condition('gid', $target['target_id'])
->condition('cgid', NULL, 'IS')
->execute();
////////////////////////////////
}
}
foreach ($node->original->opigno_class_courses[LANGUAGE_NONE] as $index => $target) {
if (!in_array($target['target_id'], $node->opigno_class_courses[LANGUAGE_NONE][$index], TRUE)) {
//// Deletes from opigno_sort_groups
db_delete('opigno_sort_groups')
->condition('gid', $target['target_id'])
->condition('cgid', $node->nid)
->execute();
////////////////////////////////////
if (opigno_sort_group_node_course_is_alone($target['target_id'])) {
db_insert('opigno_sort_groups')
->fields(array(
'gid' => $target['target_id'],
'weight' => 99,
))
->execute();
}
}
}
}
}
}