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&month=$month&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