X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Felements%2Fheader.html;h=0174e1f92e60689dcf85a52d4d9fceceb5123d2f;hb=df4a68099abfa067014f36f92874fccefdea662e;hp=9d062cf9a0932f635a71e279bc82eae7b3dfeb1d;hpb=a404926bbec025159de0611ce95783488a8bd241;p=freeside.git diff --git a/httemplate/elements/header.html b/httemplate/elements/header.html index 9d062cf9a..0174e1f92 100644 --- a/httemplate/elements/header.html +++ b/httemplate/elements/header.html @@ -1,297 +1,195 @@ +<%doc> + +Example: + + <& /elements/header.html', + { + 'title' => 'Title', + 'menubar' => \@menubar, + 'etc' => '', #included in <BODY> tag, for things like onLoad= + 'head' => '', #included before closing </HEAD> tag + 'nobr' => 0, #1 for no <BR><BR> after the title + } + &> + + %#old-style + <& /elements/header.html, 'Title', $menubar, $etc, $head &> + +</%doc> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +%#<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> +%# above is what RT declares, should we switch now? hopefully no glitches result +%# or just fuck it, XHTML died anyway, HTML 5 or bust? <HTML> <HEAD> <TITLE> - <% $title %> + <% $title_noescape || encode_entities($title) %> </TITLE> + <!-- per RT, to prevent IE compatibility mode --> + <meta http-equiv="X-UA-Compatible" content="IE=edge" /> + <!-- The X-UA-Compatible <meta> tag above must be very early in <head> --> <META HTTP-Equiv="Cache-Control" Content="no-cache"> <META HTTP-Equiv="Pragma" Content="no-cache"> <META HTTP-Equiv="Expires" Content="0"> +% if ( $mobile ) { + <META NAME="viewport" content="width=device-width height=device-height user-scalable=yes"> +% } <% include('menu.html', 'freeside_baseurl' => $fsurl, 'position' => $menu_position, 'nocss' => $nocss, + 'mobile' => $mobile, ) |n %> + <SCRIPT SRC="<% $fsurl %>elements/jquery.js"></SCRIPT> <% include('init_overlib.html') |n %> - - <SCRIPT TYPE="text/javascript"> - function clearhint_search_cust (what) { - if ( what.value == '(cust #, name, company or contact phone)' ) - what.value = ''; - } - - function clearhint_search_address2 (what) { - if ( what.value == '(Unit #)' ) - what.value = ''; - } - - function clearhint_search_invoice (what) { - if ( what.value == '(inv #)' ) - what.value = ''; - } - - function clearhint_search_svc (what) { - if ( what.value == '(user, email, ip, mac, domain or svc phone #)' ) - what.value = ''; - } - - function clearhint_search_ticket (what) { - if ( what.value == '(ticket #, subject, email or fulltext:text)' ) - what.value = ''; - } - </SCRIPT> + <% include('rs_init_object.html') |n %> <% $head |n %> </HEAD> - <BODY <% $menu_position eq 'left' ? qq( BACKGROUND="${fsurl}images/background-cheat.png" ) : ' BGCOLOR="#e8e8e8" ' %> <% $etc |n %> STYLE="margin-top:0; margin-bottom:0; margin-left:0; margin-right:0"> - <table width="100%" CELLPADDING=0 CELLSPACING=0 STYLE="padding-left:0; padding-right:4"> + <BODY BGCOLOR="#f8f8f8" <% $etc |n %> STYLE="margin-top:0; margin-bottom:0; margin-left:0px; margin-right:0px"> + <table width="100%" CELLPADDING=0 CELLSPACING=0 STYLE="padding-left:0px; padding-right:4px" CLASS="fshead"> <tr> - <td BGCOLOR="#ffffff"><IMG BORDER=0 ALT="freeside" HEIGHT="36" SRC="<%$fsurl%>view/REAL_logo.cgi"></td> + <td BGCOLOR="#ffffff"><% $company_url ? qq(<A HREF="$company_url">) : '' |n %><IMG BORDER=0 ALT="freeside" HEIGHT="36" SRC="<%$fsurl%>view/REAL_logo.cgi"><% $company_url ? '</A>' : '' |n %></td> <td align=left BGCOLOR="#ffffff"> <!-- valign="top" --> <font size=6><% $company_name || 'ExampleCo' %></font> </td> - <td align=right valign=top BGCOLOR="#ffffff"><FONT SIZE="-1">Logged in as <b><% getotaker %> </b><br></FONT><FONT SIZE="-2"><a href="<%$fsurl%>pref/pref.html">Preferences</a> + <td align=right valign=top BGCOLOR="#ffffff"><FONT SIZE="-1">Logged in as <b><% $FS::CurrentUser::CurrentUser->username |h %> </b> <FONT SIZE="-2"><a href="<%$fsurl%>loginout/logout.html">logout</a></FONT><br></FONT><FONT SIZE="-2"><a href="<%$fsurl%>pref/pref.html" STYLE="color: #000000">Preferences</a> % if ( $conf->config("ticket_system") % && FS::TicketSystem->access_right(\%session, 'ModifySelf') ) { - | <a href="<%$fsurl%>rt/User/Prefs.html">Ticketing preferences</a> + | <a href="<%$fsurl%>rt/Prefs/Other.html" STYLE="color: #000000">Ticketing preferences</a> % } <BR></FONT> </td> </tr> </table> -<style type="text/css"> -input.fsblackbutton { - background-color:#333333; - color: #ffffff; - border:1px solid; - border-top-color:#cccccc; - border-left-color:#cccccc; - border-right-color:#aaaaaa; - border-bottom-color:#aaaaaa; - font-family: Arial, Verdana, Helvetica, sans-serif; - font-weight:bold; - padding-left:12px; - padding-right:12px; - padding-top:0px; - padding-bottom:0px; - margin-left:0px; - margin-right:0px; - margin-top:2px; - margin-bottom:0px; - overflow:visible; - filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr='#ff333333',EndColorStr='#ff666666') -} - -input.fsblackbuttonselected { - background-color:#7e0079; - color: #ffffff; - border:1px solid; - border-top-color:#cccccc; - border-left-color:#cccccc; - border-right-color:#aaaaaa; - border-bottom-color:#aaaaaa; - font-family: Arial, Verdana, Helvetica, sans-serif; - font-weight:bold; - padding-left:12px; - padding-right:12px; - padding-top:0px; - padding-bottom:0px; - margin-left:0px; - margin-right:0px; - margin-top:2px; - margin-bottom:0px; - overflow:visible; - filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr='#ff330033',EndColorStr='#ff7e0079') -} - -input.fstext { - border: 2px inset #eee; - /*border-top-color:#aaaaaa; - border-left-color:#aaaaaa; - border-right-color:#cccccc; - border-bottom-color:#cccccc; - */ - vertical-align:bottom; - text-align:right; - font-family: Arial,Verdana,Helvetica,sans-serif; - padding-left: 0px; - padding-right: 0px; - padding-top: 0px; - padding-bottom: 0px; - margin-left:0px; - margin-right:0px; - margin-top:0px; - margin-bottom:1px; -} - -</style> - <TABLE WIDTH="100%" CELLSPACING=0 CELLPADDING=0> - <TR> - <TD COLSPAN=6 WIDTH="100%" STYLE="padding:0"><IMG BORDER=0 ALT="" SRC="<%$fsurl%>images/black-gradient.png" HEIGHT="13" WIDTH="100%"></TD> - </TR> + +<link href="<%$fsurl%>elements/freeside-menu.css" type="text/css" rel="stylesheet"> % if ( $menu_position eq 'top' ) { - <TR> + <TR CLASS="fsmenubar"> - <TD COLSPAN="4" WIDTH="100%" STYLE="padding:0" BGCOLOR="#000000"> +% if ( $mobile ) { + + <TD STYLE="padding:1px 0px 0px 0px;border-top: 1px solid #7e0079;width:auto" BGCOLOR="#dddddd"> <SCRIPT TYPE="text/javascript"> - document.write(myBar); + document.write(myBar.toString()); </SCRIPT> </TD> - - - <TD COLSPAN="2" ALIGN="right" STYLE="padding:0px 8px 0px 0px" BGCOLOR="#000000"> - <TABLE CELLSPACING=0 CELLPADDING=0 BGCOLOR="#000000" BORDER=0> - <TR> - <TD ALIGN="right" STYLE="padding-right:3px;padding-bottom:1px;border-right:1px solid #999999"><% include('/elements/about_freeside.html') |n %></TD> - <TD ALIGN="left" STYLE="padding-left:3px;padding-bottom:1px"><% include('/elements/about_rt.html') |n %></TD> - </TR> - </TABLE> + <TD STYLE="padding:1px 0px 0px 0px;border-top: 1px solid #7e0079;width:auto" BGCOLOR="#dddddd"> + <% include('searchbar-combined.html') |n %> </TD> - </TR> +% } else { - <TR> - <TD COLSPAN="6" WIDTH="100%" HEIGHT="2px" STYLE="padding:0" BGCOLOR="#000000"> - </TD> - </TR> - - <TR> - <TD COLSPAN="6" WIDTH="100%" HEIGHT="4px" STYLE="padding:0" BGCOLOR="#000000"> + <TD COLSPAN="7" WIDTH="100%" STYLE="padding:1px 0px 0px 0px;border-top: 1px solid #7e0079" BGCOLOR="#dddddd"> + <SCRIPT TYPE="text/javascript"> + document.write(myBar); + </SCRIPT> </TD> + </TR> -% } + <TR CLASS="fssearchbar"> - <TR> + <TD COLSPAN=1 BGCOLOR="#dddddd" ALIGN="right" STYLE="padding-left:2px"> + <% include('searchbar-prospect.html') |n %> + </TD> - <TD COLSPAN=1 BGCOLOR="#000000" ALIGN="right"> -% if ( $curuser->access_right('List customers') ) { - <FORM ACTION="<%$fsurl%>search/cust_main.cgi" METHOD="GET" STYLE="margin:0"> - <INPUT NAME="search_cust" TYPE="text" VALUE="(cust #, name, company or contact phone)" SIZE="29" onFocus="clearhint_search_cust(this);" onClick="clearhint_search_cust(this);" CLASS="fstext"><BR> - <A HREF="<%$fsurl%>search/report_cust_main.html" STYLE="color: #ffffff; font-size: 11px">Advanced</A> - <INPUT TYPE="submit" VALUE="Search customers" CLASS="fsblackbutton" onMouseOver="this.className='fsblackbuttonselected'; return true;" onMouseOut="this.className='fsblackbutton'; return true;" STYLE="font-size:11px"> - </FORM> -% } + <TD COLSPAN=1 BGCOLOR="#dddddd" ALIGN="right" STYLE="padding-left:2px"> + <% include('searchbar-cust_main.html') |n %> </TD> - <TD COLSPAN=1 BGCOLOR="#000000" ALIGN="center"> -% if ( $conf->exists('address2-search') ) { - <FORM ACTION="<%$fsurl%>search/cust_main.cgi" METHOD="GET" STYLE="margin:0;display:inline"> - <INPUT TYPE="hidden" NAME="address2_on" VALUE="1"> - <INPUT NAME="address2_text" TYPE="text" VALUE="(Unit #)" SIZE="4" onFocus="clearhint_search_address2(this);" onClick="clearhint_search_address2(this);" CLASS="fstext"> - <BR> - <INPUT TYPE="submit" VALUE="Search units" CLASS="fsblackbutton" onMouseOver="this.className='fsblackbuttonselected'; return true;" onMouseOut="this.className='fsblackbutton'; return true;" STYLE="font-size:11px;padding-left:2px;padding-right:2px"> - </FORM> -% } + <TD COLSPAN=1 BGCOLOR="#dddddd" ALIGN="center"> + <% include('searchbar-address2.html') |n %> </TD> - <TD COLSPAN=1 BGCOLOR="#000000" ALIGN="right"> -% if ( $curuser->access_right('View invoices') ) { - - <FORM ACTION="<%$fsurl%>search/cust_bill.html" METHOD="GET" STYLE="margin:0;display:inline"> - <INPUT NAME="invnum" TYPE="text" VALUE="(inv #)" SIZE="10" onFocus="clearhint_search_invoice(this);" onClick="clearhint_search_invoice(this);" CLASS="fstext"> - <BR> -% if ( $curuser->access_right('List invoices') ) { - <A HREF="<%$fsurl%>search/report_cust_bill.html" STYLE="color: #ffffff; font-size: 11px">Adv</A> -% } - <INPUT TYPE="submit" VALUE="Search invoices" CLASS="fsblackbutton" onMouseOver="this.className='fsblackbuttonselected'; return true;" onMouseOut="this.className='fsblackbutton'; return true;" STYLE="font-size:11px;padding-left:0px;padding-right:0px"> - </FORM> -% } + <TD COLSPAN=1 BGCOLOR="#dddddd" ALIGN="right"> + <% include('searchbar-cust_bill.html') |n %> </TD> - <TD COLSPAN=1 BGCOLOR="#000000" ALIGN="right"> -% if ( $curuser->access_right('View customer services') ) { - <FORM ACTION="<%$fsurl%>search/cust_svc.html" METHOD="GET" STYLE="margin:0"> - <INPUT NAME="search_svc" TYPE="text" VALUE="(user, email, ip, mac, domain or svc phone #)" SIZE="32" onFocus="clearhint_search_svc(this);" onClick="clearhint_search_svc(this);" CLASS="fstext"><BR> - <A NOTYET="<%$fsurl%>search/svc_Smarter.html" STYLE="color: #000000; font-size:11px">Advanced</A> - <INPUT TYPE="submit" VALUE="Search services" CLASS="fsblackbutton" onMouseOver="this.className='fsblackbuttonselected'; return true;" onMouseOut="this.className='fsblackbutton'; return true;" STYLE="font-size:11px"> - </FORM> -% } + <TD COLSPAN=1 BGCOLOR="#dddddd" ALIGN="right" STYLE="padding-left:2px"> + <% include('searchbar-cust_svc.html') |n %> </TD> - <TD COLSPAN=1 BGCOLOR="#000000" ALIGN="right" STYLE="padding-left:4px;padding-right:4px"> -% if ( $conf->config("ticket_system") ) { - <FORM ACTION="<% FS::TicketSystem->baseurl %>index.html" METHOD="GET" STYLE="margin:0"> - <INPUT NAME="q" TYPE="text" VALUE="(ticket #, subject, email or fulltext:text)" SIZE=26 onFocus="clearhint_search_ticket(this);" onClick="clearhint_search_ticket(this);" CLASS="fstext"><BR> - <A HREF="<% FS::TicketSystem->baseurl %>Search/Build.html" STYLE="color: #ffffff; font-size:11px">Advanced</A> - <INPUT TYPE="submit" VALUE="Search tickets" CLASS="fsblackbutton" onMouseOver="this.className='fsblackbuttonselected'; return true;" onMouseOut="this.className='fsblackbutton'; return true;" STYLE="font-size:11px"> - </FORM> -% } + <TD COLSPAN=1 BGCOLOR="#dddddd" ALIGN="right" STYLE="padding-left:2px;padding-right:2px"> + <% include('searchbar-ticket.html') |n %> </TD> +% } </TR> </TABLE> - <TABLE WIDTH="100%" HEIGHT="100%" CELLSPACING=0 CELLPADDING=4> +% } else { #$menu_position eq 'left' - <TR> + <TR CLASS="fsmenubar"> -% if ( $menu_position eq 'left' ) { + <TD COLSPAN="7" WIDTH="100%" STYLE="padding:1px 0px 0px 0px;border-top: 1px solid #7e0079" BGCOLOR="#dddddd"> + </TD> - <TD BGCOLOR="#000000" STYLE="padding:0" WIDTH="154"></TD> - <TD STYLE="padding:0" WIDTH="13"><IMG BORDER=0 ALT="" SRC="<%$fsurl%>images/black-gray-corner.png"></TD> + </TR> % } - <TD STYLE="padding:0" WIDTH="100%"><IMG BORDER=0 ALT="" SRC="<%$fsurl%>images/black-gray-top.png" HEIGHT="13" WIDTH="100%"></TD> - </TR> + <TABLE WIDTH="100%" HEIGHT="100%" CELLSPACING=0 CELLPADDING=4> <TR HEIGHT="100%"> % if ( $menu_position eq 'left' ) { - <TD BGCOLOR="#000000" ALIGN="left" HEIGHT="100%" WIDTH="154" VALIGN="top" ALIGN="right"> + <TD BGCOLOR="#dddddd" ALIGN="left" HEIGHT="100%" WIDTH="154" VALIGN="top" ALIGN="right" CLASS="fsmenubar"> <SCRIPT TYPE="text/javascript"> document.write(myBar); </SCRIPT> - <BR> - <IMG SRC="<%$fsurl%>images/32clear.gif" HEIGHT="1" WIDTH="154"> - <TABLE CELLSPACING=0 CELLPADDING=0 BGCOLOR="#000000" WIDTH="100%"> - <TR> - <TD ALIGN="left" STYLE="padding-bottom:1px;border-bottom:1px solid #999999"><% include('/elements/about_freeside.html') |n %></TD> - </TR> - <TR> - <TD ALIGN="right" STYLE="padding-bottom:1px"><% include('/elements/about_rt.html') |n %></TD> - </TR> - </TABLE> + <BR> + <% include('searchbar-prospect.html') |n %> + <% include('searchbar-cust_main.html') |n %> + <% include('searchbar-address2.html') |n %> + <% include('searchbar-cust_bill.html') |n %> + <% include('searchbar-cust_svc.html') |n %> + <% include('searchbar-ticket.html') |n %> </TD> - <TD STYLE="padding:0" HEIGHT="100%" WIDTH=13 VALIGN="top"><IMG WIDTH="13" HEIGHT="100%" BORDER=0 ALT="" SRC="<%$fsurl%>images/black-gray-side.png"></TD> +% } else { #$menu_position eq 'top' + <BR> % } +%# page content starts here + <TD CLASS="background" HEIGHT="100%" VALIGN="top"> <!-- WIDTH="100%"> --> - <TD BGCOLOR="#e8e8e8" HEIGHT="100%" VALIGN="top"> <!-- WIDTH="100%"> --> - - <FONT SIZE=6> - <% $title %> - </FONT> + <H1> + <% $title_noescape || encode_entities($title) %> + </H1> % unless ( $nobr ) { - <BR><BR> + <BR> % } <% $menubar !~ /^\s*$/ ? "$menubar<BR><BR>" : '' %> <%init> -my( $title, $menubar, $etc, $head ) = ( '', '', '', '' ); +my( $title, $title_noescape, $menubar, $etc, $head ) = ( '', '', '', '', '' ); my( $nobr, $nocss ) = ( 0, 0 ); + +my $mobile; + if ( ref($_[0]) ) { my $opt = shift; $title = $opt->{title}; + $title_noescape = $opt->{title_noescape}; $menubar = $opt->{menubar}; $etc = $opt->{etc}; $head = $opt->{head}; $nobr = $opt->{nobr}; $nocss = $opt->{nocss}; + $mobile = $opt->{mobile}; } else { ($title, $menubar) = ( shift, shift ); $etc = @_ ? shift : ''; #$etc is for things like onLoad= etc. @@ -305,12 +203,20 @@ my $curuser = $FS::CurrentUser::CurrentUser; my $menu_position = $curuser->option('menu_position') || 'top'; #new default for 1.9 -my $company_name; +if ( !defined($mobile) ) { + $mobile = $curuser->option('mobile_menu',1) && FS::UI::Web::is_mobile(); +} +if ( $cgi->param('mobile') =~ /^(\d)$/ ) { # allow client to override + $mobile = $1; +} + +my($company_name, $company_url); my @agentnums = $curuser->agentnums; if ( scalar(@agentnums) == 1 ) { $company_name = $conf->config('company_name', $agentnums[0] ); + $company_url = $conf->config('company_url', $agentnums[0] ); } else { $company_name = $conf->config('company_name'); + $company_url = $conf->config('company_url'); } - </%init>