class _SubstitutionList

  1. 4.x classes/_SubstitutionList.php _SubstitutionList
  2. 5.x classes/_SubstitutionList.php _SubstitutionList

Hierarchy

Expanded class hierarchy of _SubstitutionList

File

classes/_SubstitutionList.php, line 3

View source
class _SubstitutionList extends ObjList
 {


  function find_requirement($course_requirement, $bool_exclude_has_been_applied = false, $group_id = 0, $degree_id = 0, $exclude_ids = array()) {

    // Look through the array for a substitution which has this
    // course requirement.
    // If group_id == -1, no particular group is required.
    for ($t = 0; $t < count($this->array_list); $t++) 
     {
      $substitution = $this->array_list [$t];

      // Skip if this substitution id is in our list to exclude.
      if (in_array($substitution->db_substitution_id, $exclude_ids)) {
        continue;
      }


      if ($bool_exclude_has_been_applied == true && $substitution->bool_has_been_applied == true) 
       {
        // Skip substitutions which we have already applied.
        continue;
      }


      if ($degree_id != 0 && $substitution->db_required_degree_id != $degree_id) {
        // Skip substitutions which are for a different degree_id than the one supplied.
        continue;
      }


      $cr = $substitution->course_requirement;
      //adminDebug($cr->course_id . " " . $course_requirement->course_id);
      if ($group_id == -1) 
       { // No particular group_id is required...
        if ($cr->course_id == $course_requirement->course_id) 
         {
          return $substitution;
        }
      }
      else {
        // ONLY check if it's in the supplied group_id...
        if ($cr->course_id == $course_requirement->course_id && $cr->get_bool_assigned_to_group_id($group_id)) 
         {
          return $substitution;
        }

      }
    }

    return false;
  }

  function find_group_additions(Group $group) 
   {
    $group_id = $group->group_id;
    $rtn_list = new CourseList();
    // Find additions for this group_id and return them.
    for ($t = 0; $t < count($this->array_list); $t++) 
     {
      $substitution = $this->array_list [$t];
      if ($substitution->bool_group_addition == true) 
       {
        $c = $substitution->course_requirement;
        if ($c->get_bool_assigned_to_group_id($group_id)) 
         {
          $cc = $substitution->course_list_substitutions->get_first();
          //adminDebug("~~ $cc->course_id");
          $rtn_list->add($cc);
        }
      }

    }

    if (!$rtn_list->is_empty) 
     {
      return $rtn_list;
    }
    else {
      return false;
    }

  }


}

Members

Contains filters are case sensitive