function advise_popup_display_summary

6.x advise.history.inc advise_popup_display_summary($advising_session_id = NULL, $bool_html = TRUE, $bool_show_as_group = FALSE, $bool_minimal_text = TRUE)
4.x advise.history.inc advise_popup_display_summary()
5.x advise.history.inc advise_popup_display_summary($advising_session_id = NULL, $bool_html = TRUE)

Displays the printable advising summary.

If the advising_session_id is null, it gets that value from the REQUEST. Otherwise, we expect it to be a csv of the sessions we are interested in.

If bool_html is set to FALSE, then we will return results in plain text, suitable for email.

File

modules/advise/advise.history.inc, line 390

Code

function advise_popup_display_summary($advising_session_id = NULL, $bool_html = TRUE) {
  $rtn = "";
  $txt = "";

  $db = get_global_database_handler();

  if ($advising_session_id == NULL) {
    $advising_session_id = rtrim(trim($_REQUEST ["advising_session_id"]), ",");
  }

  $bool_multiple = FALSE;

  // If we have commas in our advising_session_id, it means we had more than one that were passed to us!  We want to show
  // them all. 

  if (!strstr($advising_session_id, ",")) {
    $res = db_query("SELECT * FROM advising_sessions
                     WHERE advising_session_id = ? ", $advising_session_id);
  }
  else {

    $bool_multiple = TRUE;
    $session_array = csv_to_array($advising_session_id);

    $where = "";
    foreach ($session_array as $sid) {
      $where .= " advising_session_id = ? OR";
    }
    $where = rtrim($where, "OR");
    $res = db_query("SELECT * FROM advising_sessions
                     WHERE $where 
                     ORDER BY `posted` DESC ", $session_array);

  }
  while ($cur = db_fetch_array($res)) {
    extract($cur, 3, "db");

    $dt = format_date($db_posted, "pretty");

    $term = get_term_description($db_term_id);

    $degree_title_line = "";
    $ds = "";
    $degree_plan = new DegreePlan();
    if ($db_degree_id != _DegreePlan::DEGREE_ID_FOR_COMBINED_DEGREE) {
      $degree_plan->degree_id = $db_degree_id;
      $degree_plan->load_descriptive_data();
      $degree_title_line = $degree_plan->get_title(true);
    }
    else {
      // This is a set of combined degrees.  We need to load all of the
      // degrees in the major_code_csv to get their titles.
      $temp = explode(",", $db_major_code_csv);
      $ds = "s";
      foreach ($temp as $major_code) {
        if ($major_code == "") {
          continue;
        }
        $dp = $db->get_degree_plan($major_code, $db_catalog_year);
        if ($dp != null) {
          $degree_title_line .= $dp->get_title2(TRUE, TRUE) . ", ";
        }
      }
      $degree_title_line = rtrim($degree_title_line, ", ");
    }

    $student = new Student($db_student_id, $db);

    $what_if_message = "";
    if ($db_is_whatif == 1) {

      $official_degree_title = "";
      $odsverb = " is";
      $c = 0;
      $majors = $db->get_student_majors_from_db($student->student_id);
      foreach ($majors as $major_code) {
        if ($major_code == "") {
          continue;
        }

        $dp = $db->get_degree_plan($major_code, $db_catalog_year);
        if ($dp != null) {
          $c++;
          $official_degree_title .= $dp->get_title2(TRUE, TRUE) . ", ";
        }
      }
      if ($c > 1) {
        $odsverb = "s are";
      }

      $official_degree_title = rtrim($official_degree_title, ", ");

      $what_if_message = "<b>" . t("Note:") . "</b>
                " . t("This advising was saved using <b>What If</b> mode
                for the degree$ds %degree_title.  According to @initials records,
                the student's official degree$odsverb %official.", array("%degree_title" => $degree_title_line,
        "@initials" => $GLOBALS ["fp_system_settings"]["school_initials"],
        "%official" => $official_degree_title));
    }

    $page_is_mobile = fp_screen_is_mobile();

    $w = ($page_is_mobile) ? "100%" : "500";

    $rtn .= "<table width='$w'><td valign='top'>";

    if ($page_is_mobile) {

    }
    else {

      $rtn .= "
        <table class='tenpt summary-transaction-details' border='0' width='100%' cellpadding='3' cellspacing='0' style='border-width: 2px; border-style: solid; border-color: black;'>
         <tr height='7'>
          <td> </td>
         </tr>
         <tr>
          <td valign='top' width='15%'>" . t("Student:") . "</td>
          <td valign='top' width='40%'>" . $db->get_student_name($db_student_id, false) . " ($db_student_id)</td>
          <td valign='top' rowspan='3'>
            <table width='100%' cellpadding='0' cellspacing='0'>
          <tr height='20'>
           <td width='100%' id='student-signature-line' valign='bottom'><hr noshade size='1' width='100%' color='black' style='margin: 0px;'></td>
          </tr>
          <tr height='20'>
           <td width='100%' id='student-signature-caption' valign='top' align='right'><span style='font-size: 8pt;'>" . t("Student signature") . "</span></td>
          </tr>
  
          <tr height='20'>
           <td width='100%'  id='advisor-signature-line' valign='bottom'><hr noshade size='1' width='100%' color='black' style='margin: 0px;'></td>
          </tr>
          <tr>
           <td width='100%'  id='advisor-signature-caption'valign='bottom' align='right'><span style='font-size: 8pt;'>" . t("Advisor signature") . "</span></td>
          </tr>
         <tr height='7'>
          <td> </td>
         </tr>
    
          
          </table> ";

      $txt .= "\n-----  Advising Summary for $term -----\n";
      $txt .= "Student: " . $db->get_student_name($db_student_id, false) . " ($db_student_id) \n";

    } // else 

    $rtn .= "
          </td>
         </tr>
         <tr>
          <td valign='top' width='10%'>" . t("Advisor:") . "</td>
          <td valign='top'>" . fp_get_faculty_name($db_faculty_id, false) . "</td>
  
         </tr>
         <tr>
          <td valign='top'>" . t("Term:") . "</td>
          <td valign='top'>$term</td>
  
         </tr>
         ";

    $txt .= "Advisor: " . fp_get_faculty_name($db_faculty_id, false) . "\n";
    $txt .= "Term: " . $term . "\n";

    if (!$page_is_mobile) {
      $rtn .= "
         <tr>
          <td valign='top' colspan='2'  id='summary-alternate-term'>
          " . t("Alternate Term:") . " _____________________
          </td>
         </tr>";
    }

    $rtn .= "   
         <tr>
          <td valign='top' colspan='4'>
          ";

    if ($degree_title_line != "") 
     {
      $rtn .= t("Degree$ds:") . " $degree_title_line";

      $txt .= "Degree$ds: " . $degree_title_line . "\n";

    }

    $rtn .= "
         </tr>
         </table>
         <div class='tenpt'><i>" . t("Submitted on") . " $dt.</i></div>
         <div class='tenpt'>$what_if_message</div>
         <br>
      ";

    $txt .= "Submitted on $dt \n";
    if ($what_if_message) {
      $txt .= "  " . fp_reduce_whitespace(strip_tags($what_if_message)) . "\n";
    }

    $rtn .= fp_render_curved_line(t("Advised Courses"));

    $txt .= "\nAdvised Courses:\n";

    $fp = new FlightPath($student, $degree_plan, $db);

    $fp->load_advising_session_from_database("", "", false, false, $db_advising_session_id);

    $rtn .= "<table border='0' cellpadding='3' class='summary-advised-courses'>
        <tr>
          <td class='tenpt course-si-cn' valign='top' width='25%'>
            <b>" . t("Course") . "</b>
          </td>
          <td class='tenpt course-title' valign='top' width='70%'>
            <b>" . t("Title") . "</b>
          </td>
          <td class='tenpt course-hours' valign='top'>
            <b>" . t("Hours") . "</b>
          </td>
        </tr>";



    // Get a courseList of all the courses which are set as advised to take.
    $advised_courses_list = $fp->course_list_advised_courses;
    $advised_courses_list->load_course_descriptive_data();
    $advised_courses_list->sort_alphabetical_order();
    $advised_courses_list->reset_counter();
    while ($advised_courses_list->has_more()) {
      $course = $advised_courses_list->get_next();
      // set the catalogYear from the term_id.
      $course->term_id = $db_term_id;
      $course->set_catalog_year_from_term_id();
      $course->load_descriptive_data(false);

      $rtn .= "<tr>
            <td class='tenpt course-si-cn' valign='top'>
            $course->subject_id $course->course_num
            </td>
            <td class='tenpt course-title' valign='top'>
            $course->title
            </td>
            <td class='tenpt course-hours' valign='top' align='center'>
            " . $course->get_hours() . " 
            </td>
            
          </tr>
        ";

      $txt .= "  $course->subject_id $course->course_num - $course->title - " . $course->get_hours() . "hrs \n";
    }

    $rtn .= "</table>
        <div align='right' class='tenpt total-advised-hours' style='padding-top: 10px; padding-right: 15px;'>
          <b>" . t("Total advised hours:") . " &nbsp; " . $advised_courses_list->count_hours() . "</b>
        </div>
        ";

    $txt .= "Total advised hours: " . $advised_courses_list->count_hours() . "\n";
    $txt .= "\n\n";

    if (!$page_is_mobile) {
      $rtn .= "<br>";
      $rtn .= "<div class='summary-alternate-courses'>";
      $rtn .= fp_render_curved_line(t("Alternate Courses"));
      $rtn .= "<div class='tenpt alt-courses-desc-and-lines'>
          " . t("You may use this space to write in alternate courses 
          the student should enroll in, in the event that an 
          advised course is full or unavailable.") . "
          <br><br>
          ___________________________________________________________________ <br><br>
          ___________________________________________________________________
          </div>  ";
      $rtn .= "</div>";
    }

    $rtn .= "</table>";

  } // while, for the query itself!    

  // Are we NOT returning html?
  if (!$bool_html) {
    return $txt;
  }

  fp_set_title($db->get_student_name($db_student_id, FALSE) . " ($db_student_id) $term " . t("Advising Summary"));
  return $rtn;
}