Changeset:
        9adbc0e1770a
        
https://sourceforge.net/p/mrbs/hg-code/ci/9adbc0e1770afe5bbf8fcf42236744ce2e2ab8fb
Author:
        Campbell Morrison <[email protected]>
Date:
        Sun Oct 02 13:54:23 2016 +0100
Log message:

Interim commit before merge

diffstat:

 web/Themes/default/header.inc |  184 +++++++++++++++++++++++++++++++++++++----
 web/css/mrbs.css.php          |   49 ++++++++++-
 web/mrbs_sql.inc              |   31 +++++++
 3 files changed, 242 insertions(+), 22 deletions(-)

diffs (truncated from 317 to 300 lines):

diff -r 0aa8c77362ef -r 9adbc0e1770a web/Themes/default/header.inc
--- a/web/Themes/default/header.inc     Fri Sep 30 22:41:03 2016 +0100
+++ b/web/Themes/default/header.inc     Sun Oct 02 13:54:23 2016 +0100
@@ -3,6 +3,162 @@
 
 // $Id$
 
+function print_header_site_info()
+{
+  global $mrbs_company,
+         $mrbs_company_url,
+         $mrbs_company_logo,
+         $mrbs_company_more_info;
+  
+  echo "<div id=\"company\">\n";
+  
+  echo "<div id=\"logo\">\n";
+  if (!empty($mrbs_company_url))
+  {
+    echo "<a href=\"$mrbs_company_url\">\n";
+  }
+  if (empty($mrbs_company_logo))
+  {
+    echo "<span>$mrbs_company</span>\n";
+  }
+  else
+  {
+    // Suppress error messages in case the logo is a URL and allow_url_fopen
+    // is not enabled in php.ini
+    $logo_size = @getimagesize($mrbs_company_logo);
+    echo "<img src=\"$mrbs_company_logo\" " . $logo_size[3] . " 
alt=\"$mrbs_company\">\n";
+  }
+  if (!empty($mrbs_company_url))
+  {
+    echo "</a>\n";
+  }
+  echo "</div>\n";
+    
+  if (!empty($mrbs_company_more_info))
+  {
+    echo "<div id=\"more_info\">$mrbs_company_more_info</div>\n";
+  }
+
+  echo "<div id=\"mrbs\">\n";
+  echo "<a href=\"index.php\">" . get_vocab("mrbs") . "</a>\n";
+  echo "</div>\n";
+  
+  echo "</div>\n";
+}
+
+
+function print_goto_date($day, $month, $year)
+{
+  echo "<form action=\"day.php\" method=\"get\" id=\"Form1\">\n";
+
+  // Give the form id as the optional fifth parameter because we want
+  // the form to be automatically submitted when the datepicker is closed
+  genDateSelector("", $day, $month, $year, "Form1");
+  if (!empty($area))
+  {
+    echo "<input type=\"hidden\" name=\"area\" value=\"$area\">\n";
+  }
+  if (!empty($room))
+  {
+    echo "<input type=\"hidden\" name=\"room\" value=\"$room\">\n";
+  }
+  // Although the datepicker will automatically go to the new date when
+  // the date is changed, we still need a submit button because there
+  // are occasions when you want to go to the date without changing it -
+  // for example when you've been on a Search or Report page
+  echo "<input type=\"submit\" value=\"" . get_vocab("goto") . "\">\n";
+
+  echo "</form>\n";
+}
+
+
+function print_help($query_string)
+{
+  echo "<a href=\"help.php?$query_string\">" . get_vocab("help") . "</a>\n";
+}
+
+
+function print_rooms($query_string)
+{
+  echo "<a href=\"admin.php?$query_string\">" . get_vocab("rooms") . "</a>\n";
+}
+
+
+function print_report($query_string)
+{
+  echo "<a href=\"report.php?$query_string\">" . get_vocab("report") . 
"</a>\n";
+}
+
+
+function print_search($day, $month, $year, $room, $area, $search_str)
+{
+  echo "<form id=\"header_search\" method=\"get\" action=\"search.php\">\n";
+  echo "<div>\n";
+  echo "<a href=\"search.php?advanced=1\">" . get_vocab("search") . ":</a>\n";
+  echo "<input type=\"search\" name=\"search_str\" value=\"" . 
htmlspecialchars($search_str) . "\" required>\n";
+  echo "<input type=\"hidden\" name=\"day\" value=\"$day\">\n";
+  echo "<input type=\"hidden\" name=\"month\" value=\"$month\">\n";
+  echo "<input type=\"hidden\" name=\"year\" value=\"$year\">\n";
+  if (!empty($area))
+  {
+    echo "<input type=\"hidden\" name=\"area\" value=\"$area\">\n";
+  }
+  if (!empty($room))
+  {
+    echo "<input type=\"hidden\" name=\"room\" value=\"$room\">\n";
+  }
+  echo "</div>\n";
+  echo "</form>\n";
+}
+
+
+function print_logon()
+{
+    echo "<div id=\"logon_box\">\n";
+    PrintLogonBox(); 
+    echo "</div>\n";
+}
+
+
+function print_nav($day, $month, $year, $room, $area, $search_str)
+{
+  $query_string = "day=$day&amp;month=$month&amp;year=$year";
+  
+  echo "<nav>\n";
+  echo "<ul>\n";
+  
+  echo "<li>\n";
+  print_goto_date($day, $month, $year);
+  echo "</li>\n";
+  
+  echo "<li>\n";
+  print_help($query_string);
+  echo "</li>\n";
+  
+  echo "<li>\n";
+  print_rooms($query_string);
+  echo "</li>\n";
+  
+  echo "<li>\n";
+  print_report($query_string);
+  echo "</li>\n";
+  
+  echo "<li>\n";
+  print_search($day, $month, $year, $room, $area, $search_str);
+  echo "</li>\n";
+  
+  // For session protocols that define their own logon box...
+  if (function_exists(__NAMESPACE__ . "\PrintLogonBox"))
+  {
+    echo "<li>\n";
+    print_logon();
+    echo "</li>\n";
+  }
+  
+  echo "</ul>\n";
+  echo "</nav>\n";
+}
+
 
 // Print the page header
 function print_theme_header($day, $month, $year, $area, $room)
@@ -82,8 +238,14 @@
   {
     echo "[Warning: ".$locale_warning."]";
   }
+  
+  echo "<header id=\"banner\">\n";
+  print_header_site_info();
+  print_nav($day, $month, $year, $room, $area, $search_str);
+  echo "</header>\n";
 ?>
 
+  
   <table id="banner">
     <tr>
       <td id="company">
@@ -150,27 +312,7 @@
         $approval_somewhere = some_area('approval_enabled', TRUE);
         if ($approval_somewhere && (authGetUserLevel($user) >= 1))
         {
-          $sql_approval_enabled = some_area_predicate('approval_enabled');
-
-          $sql_params = array();
-
-          // Find out how many bookings are awaiting approval
-          // (but only for areas where approval is required)
-          $sql = "SELECT COUNT(*)
-                    FROM $tbl_entry E, $tbl_room R, $tbl_area A
-                   WHERE (status&" . STATUS_AWAITING_APPROVAL . " != 0)
-                     AND E.room_id = R.id
-                     AND R.area_id = A.id
-                     AND R.disabled = 0
-                     AND A.disabled = 0
-                     AND $sql_approval_enabled";
-          if (!$is_admin)
-          {
-            // Ordinary users can only see their own
-            $sql .= " AND create_by=?";
-            $sql_params[] = $user;
-          }
-          $n_outstanding = db()->query1($sql, $sql_params);
+          $n_outstanding = get_entries_n_outstanding($user);
           echo "<div id=\"n_outstanding\"" .
                (($n_outstanding > 0) ? " class=\"outstanding\"" : '') .
                ">\n";
diff -r 0aa8c77362ef -r 9adbc0e1770a web/css/mrbs.css.php
--- a/web/css/mrbs.css.php      Fri Sep 30 22:41:03 2016 +0100
+++ b/web/css/mrbs.css.php      Sun Oct 02 13:54:23 2016 +0100
@@ -844,6 +844,53 @@
 
 
 /* ------------ FUNCTIONS.INC -------------------*/
+
+header#banner {
+  display: table;
+  width: 100%;
+  background-color: <?php echo $banner_back_color ?>;
+  color: <?php echo $banner_font_color ?>;
+  border-color: <?php echo $banner_border_color ?>;
+  border-width: <?php echo $banner_border_width ?>px;
+  border-style: solid;
+}
+
+#banner #company {
+  display: table-cell;
+  font-size: large;
+  padding: 0.3em 1em;
+  text-align: center;
+  vertical-align: middle;
+}
+
+#banner #company div {
+  width: 100%;
+}
+
+#banner nav {
+  display: table-cell;
+  height: 100%;
+}
+
+#banner ul {
+  list-style: none;
+  display: table;
+  width: 100%;
+  height: 100%;
+  margin: 0;
+  padding-left: 0;
+}
+
+#banner li {
+  display: table-cell;
+  text-align: center;
+  vertical-align: middle;
+  border-color: <?php echo $banner_border_color ?>;
+  border-style: solid;
+  border-width: 0 0 0 <?php echo $banner_border_cell_width ?>px;
+  padding: 0.3em 0.5em;
+}
+
 #logon_box a {display: block; width: 100%; padding-top: 0.3em; padding-bottom: 
0.3em}
 table#banner {width: 100%; border-spacing: 0; border-collapse: collapse;
     border-color: <?php echo $banner_border_color ?>;
@@ -855,7 +902,7 @@
     padding: 6px; color: <?php echo $banner_font_color ?>}
 #banner td:first-child {border-left-width: 0}
 #banner td#company {font-size: large}
-#banner #company div {width: 100%}
+
 #banner a:link    {color: <?php echo $anchor_link_color_banner ?>;    
text-decoration: none; font-weight: normal}
 #banner a:visited {color: <?php echo $anchor_visited_color_banner ?>; 
text-decoration: none; font-weight: normal}
 #banner a:hover   {color: <?php echo $anchor_hover_color_banner ?>;   
text-decoration:underline; font-weight: normal}
diff -r 0aa8c77362ef -r 9adbc0e1770a web/mrbs_sql.inc
--- a/web/mrbs_sql.inc  Fri Sep 30 22:41:03 2016 +0100
+++ b/web/mrbs_sql.inc  Sun Oct 02 13:54:23 2016 +0100
@@ -498,6 +498,37 @@
 }
 
 
+// Get the number of outstanding (ie waiting to be approved) for a user
+function get_entries_n_outstanding($user)
+{
+  global $tbl_entry, $tbl_room, $tbl_area,
+         $max_level;
+  
+  $is_admin = (authGetUserLevel($user) >= $max_level);
+  $sql_approval_enabled = some_area_predicate('approval_enabled');
+  $sql_params = array();
+
+  // Find out how many bookings are awaiting approval
+  // (but only for areas where approval is required)
+  $sql = "SELECT COUNT(*)
+            FROM $tbl_entry E, $tbl_room R, $tbl_area A
+           WHERE (status&" . STATUS_AWAITING_APPROVAL . " != 0)
+             AND E.room_id = R.id
+             AND R.area_id = A.id

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Mrbs-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mrbs-commits

Reply via email to