You are here

function opigno_class_app_views_query_alter in Opigno Class App 7

Implements hook_views_query_alter().

File

./opigno_class_app.module, line 403
Module hooks.

Code

function opigno_class_app_views_query_alter(&$view, &$query) {

  //Removes the courses that are part of classes that you are part of
  if ($view->name == "active_trainings") {
    global $user;
    $memberships = og_get_groups_by_user($user, "node");
    foreach ($memberships as $membership) {
      $courses = opigno_class_app_courses_of_class_that_user_is_part_of($membership);
      foreach ($courses as $course) {
        if (og_is_member("node", $course, 'user', $user, $states = array(
          OG_STATE_ACTIVE,
        ))) {
          unset($memberships[$course]);
        }
      }
    }
    if (!empty($memberships)) {
      $view->query->where[] = array(
        'conditions' => array(
          array(
            'field' => 'og_membership.gid',
            'value' => $memberships,
            'operator' => 'IN',
          ),
        ),
        'args' => array(),
        'type' => 'AND',
      );
    }
  }
}