function fp_display_page

7.x theme.inc fp_display_page($page)
6.x theme.inc fp_display_page($page)
4.x theme.inc fp_display_page($page)
5.x theme.inc fp_display_page($page)

Output the contents of the $page variable to the screen. $page is an array containing details about the page, as well as its original menu item (router_item) definition.

3 calls to fp_display_page()
display_access_denied in includes/theme.inc
display_not_found in includes/theme.inc
index.php in ./index.php
The primary entry point for FlightPath.

File

includes/theme.inc, line 106

Code

function fp_display_page($page) {
  global $current_student_id, $screen;
  $page_title = $page ["title"];
  if ($GLOBALS ["fp_set_title"] != "") {
    $page_title = $GLOBALS ["fp_set_title"];
  }

  if (!is_object($screen)) {
    $screen = new AdvisingScreen("", null, "not_advising");
  }
  $screen->page_title = $page_title;
  $screen->page_has_search = $page ["router_item"]["page_settings"]["page_has_search"];

  // If we don't have permission to search, then hide the little search.
  if (!user_has_permission("view_any_advising_session")) {
    $screen->page_has_search = FALSE;
  }

  // mobile screens never have the search box
  if (fp_screen_is_mobile()) {
    $screen->page_has_search = FALSE;
  }

  $screen->page_banner_is_link = $page ["router_item"]["page_settings"]["page_banner_is_link"];
  $screen->page_hide_report_error = $page ["router_item"]["page_settings"]["page_hide_report_error"];
  $screen->page_is_popup = $page ["router_item"]["page_settings"]["page_is_popup"];
  if (isset($page ["router_item"]["page_settings"]["screen_mode"])) {
    $screen->screen_mode = $page ["router_item"]["page_settings"]["screen_mode"];
  }
  if (isset($page ["router_item"]["page_settings"]["bool_print"])) {
    $screen->bool_print = $page ["router_item"]["page_settings"]["bool_print"];
  }

  if ($_REQUEST ["scroll_top"] != "") {
    $screen->page_scroll_top = $_REQUEST ["scroll_top"];
  }

  // Was this page a tab?  And if so, are there any other tabs we need to display? //
  if ($page ["router_item"]["type"] == MENU_TYPE_TAB || $page ["router_item"]["tab_parent"] != "") {
    // We know we should have at least 1 tab for this page.
    $tab_array = fp_build_tab_array($page);
    $screen->page_tabs = fp_render_tab_array($tab_array);
  }

  // Should we override the page_tabs with what is in "fp_set_page_tabs" ?
  if (is_array($GLOBALS ["fp_set_page_tabs"])) {
    //fpm($GLOBALS["fp_set_page_tabs"]);
    $screen->page_tabs = fp_render_tab_array($GLOBALS ["fp_set_page_tabs"]);
  }


  // Build up the content //

  $content_top = "";
  $page_show_title = $page ["router_item"]["page_settings"]["page_show_title"];
  if (isset($GLOBALS ["fp_set_show_title"])) {
    $page_show_title = $GLOBALS ["fp_set_show_title"];
  }

  if ($page_show_title == TRUE) {
    $content_top .= "<h2 class='title'>" . $page_title . "</h2>";
  }

  if ($page ["router_item"]["page_settings"]["display_greeting"] == TRUE) {
    $content_top .= fp_render_greeting();
  }

  // Are there any "menu_link"s for this?  In order words, little links at the top of the page,
  // where breadcrumbs might appear.
  if (!$screen->bool_print && is_array($page ["router_item"]["page_settings"]["menu_links"])) {
    $content_top .= "<ul class='top-menu-links'>";
    foreach ($page ["router_item"]["page_settings"]["menu_links"] as $item) {
      $lclass = "";
      if ($c == 0) {
        $lclass = 'first';
      }

      $p = menu_convert_replacement_pattern($item ["path"]);
      $q = menu_convert_replacement_pattern($item ["query"]);
      $t = $item ["text"];
      $a = $item ["attributes"];
      if (!is_array($a)) {
        $a = array();
      }

      // Make sure the current user has access to view this link.  Otherwise, do not even
      // bother showing it.
      $test_item = menu_get_item($p);
      if (!menu_check_user_access($test_item)) {
        continue;
      }


      $content_top .= "<li class='$lclass'>" . l($t, $p, $q, $a) . "</li>";
      $c++;
    }
    $content_top .= "</ul>";
  }


  if (!$screen->bool_print) {
    // Any sub-tabs we need to render?
    if ($page ["router_item"]["type"] == MENU_TYPE_SUB_TAB) {
      $sub_tab_array = fp_build_sub_tab_array($page);
      $content_top .= fp_render_sub_tab_array($sub_tab_array);
    }

    // Should we override the page sub-tabs with what is in "fp_set_page_sub_tabs" ?
    if (is_array($GLOBALS ["fp_set_page_sub_tabs"])) {
      $content_top .= fp_render_sub_tab_array($GLOBALS ["fp_set_page_sub_tabs"]);
    }
  }




  // If there are "messages" waiting, then let's add them to the top of content.
  if (count($_SESSION ["fp_messages"]) > 0) {
    $content_top .= "<div class='fp-messages'>";
    foreach ($_SESSION ["fp_messages"] as $key => $tmsg) {
      $type = $tmsg ["type"];
      $message = $tmsg ["msg"];
      $content_top .= "<div class='fp-message fp-message-$type'>$message</div>";
    }
    $content_top .= "</div>";
    unset($_SESSION ["fp_messages"]);
  }

  // content_top gets the Currently Advising box.
  if ($page ["router_item"]["page_settings"]["display_currently_advising"] == TRUE) {
    $content_top .= fp_render_currently_advising_box(false, $screen->bool_blank, $screen->bool_print, NULL, $screen->screen_mode);
  }

  $screen->page_content = $content_top .= $page ["content"];
  // If there are CSS files to add, add those.


  // Add in the body classes
  $screen->page_body_classes .= " " . $GLOBALS ["fp_add_body_classes"];

  // Add in our URL
  $screen->page_body_classes .= " page-" . str_replace("/", "-", $_REQUEST ["q"]);


  $screen->output_to_browser();
}