function stats_report_course_use_summary
Search API
| 7.x stats.module | stats_report_course_use_summary() | 
| 6.x stats.module | stats_report_course_use_summary() | 
| 5.x stats.module | stats_report_course_use_summary() | 
This report will display everywhere a particular course is used in FlightPath (groups and degrees)
File
- modules/stats/ stats.module, line 333 
- This module displays statistics and reports for FlightPath
Code
function stats_report_course_use_summary() {
  $rtn = "";
  $draft = "";
  $use_draft = FALSE;
  $school_id = 0; // TODO: school is selectable / based on user's school?
  $subject_id = $course_num = $draft_check = "";
  if (isset($_GET ["subject_id"])) {
    $subject_id = trim($_GET ["subject_id"]);
    $course_num = trim($_GET ["course_num"]);
    // $school_id = intval($_GET["school_id"]);  // TODO: not supported yet.
    if (isset($_GET ['draft'])) {
      $draft_check = $_GET ["draft"];
    }
  }
  if ($draft_check == "checked") {
    $draft = "draft_";
    $use_draft = TRUE;
  }
  $rtn .= "<form action='" . fp_url("stats/reports/course-use-summary") . "' method='GET' >";
  $rtn .= "Please enter a course's subject ID and course number to search:<br>";
  if (module_enabled("schools")) {
    $options = schools_get_schools_for_fapi();
    $rtn .= "<select name='school_id'>";
    foreach ($options as $k => $v) {
      $sel = "";
      if (intval($k) === $school_id) {
        $sel = "selected";
      }
      $rtn .= "<option value='$k' $sel>" . t("School: ") . $v . "</option>";
    }
    $rtn .= "</select>   ";
  }
  $rtn .= " 
            <input type='text' name='subject_id' placeholder='Subject ID' size='10' value='$subject_id'>  
            <input type='text' name='course_num' placeholder='Course Num' size='10' value='$course_num'>  
            <input type='checkbox' name='draft' value='checked' $draft_check>Check draft tables?  
            <input type='submit' value='Search'>
            <br><b>Note:</b> This may take up to a minute to run, please be patient.";
  $rtn .= "</form>";
  if ($subject_id && $course_num) {
    $rtn .= "<hr>";
    // First, look up this course's ID.
    $db = get_global_database_handler();
    $course_id = $db->get_course_id($subject_id, $course_num, '', $use_draft, $school_id);
    if ($course_id) {
      $rtn .= "<h2>Course $subject_id $course_num (id is $course_id)</h2>";
      // Groups
      $rtn .= "<div><b>Groups:</b></div>
                <table border='1'>
                  <tr>
                    <th>ID</th>
                    <th>Name</th>
                    <th>Title</th>
                    <th>Year</th>
                    
                  </tr>";
      $res = db_query("SELECT * FROM {$draft}group_requirements WHERE course_id = ?
                        order by `id`", $course_id);
      while ($cur = db_fetch_array($res)) {
        $group_id = $cur ["group_id"];
        $group = new Group($group_id, $db, -1, false, $use_draft);
        if (!$group->title) {
          // This is possibly a child group.  Look for its parent.
          $res2 = db_query("SELECT * FROM {$draft}group_requirements WHERE child_group_id = ?", $group_id);
          $cur2 = db_fetch_array($res2);
          if ($cur2 ["group_id"] != "") {
            $group_id = $cur2 ["group_id"];
            $group = new Group($group_id, $db, -1, false, $use_draft);
          }
        }
        $rtn .= "<tr>
                    <td>$group_id</td>
                    <td>$group->group_name</td>
                    <td>$group->title</td>
                    <td>$group->catalog_year</td>
                  </tr>";
      }
      $rtn .= "</table>";
      // Now, look for degrees...
      $rtn .= "<br><br><br>
                <b>Degrees:</b>
               <table border='1'>
               <tr>
                <th>ID</th>
                <th>Title</th>
                <th>MAJR</th>
                <th>Track</th>
                <th>Sem</th>
                <th>Year</th>
               </tr>";
      $res = db_query("SELECT * FROM {$draft}degree_requirements WHERE course_id = ? ORDER BY `id`", $course_id);
      while ($cur = db_fetch_array($res)) {
        $degree_id = $cur ["degree_id"];
        $degree = new DegreePlan($degree_id, $db, TRUE, FALSE, $use_draft);
        $rtn .= "<tr>
                    <td>$degree_id</td>
                    <td>$degree->title</td>
                    <td>$degree->major_code</td>
                    <td>$degree->track_code</td>
                    <td>" . $cur ["semester_num"] . "</td>
                    <td>$degree->catalog_year</td>
                  </tr>";
      }
      $rtn .= '</table>';
    } // if course_id
    else {
      $rtn .= "<div>Course could not be found.  Check spelling.";
    }
  }
  watchdog('stats', "report_course_use_summary subject_id:$subject_id, course_num:$course_num, school_id:$school_id, draft_check:$draft_check", array());
  return $rtn;
}
