sprinkle some magic ajax fairy dust on referring customer SELEKTAH. rewind! make...
[freeside.git] / rt / html / Elements / PageLayout
1 %# BEGIN BPS TAGGED BLOCK {{{
2 %# 
3 %# COPYRIGHT:
4 %#  
5 %# This software is Copyright (c) 1996-2005 Best Practical Solutions, LLC 
6 %#                                          <jesse@bestpractical.com>
7 %# 
8 %# (Except where explicitly superseded by other copyright notices)
9 %# 
10 %# 
11 %# LICENSE:
12 %# 
13 %# This work is made available to you under the terms of Version 2 of
14 %# the GNU General Public License. A copy of that license should have
15 %# been provided with this software, but in any event can be snarfed
16 %# from www.gnu.org.
17 %# 
18 %# This work is distributed in the hope that it will be useful, but
19 %# WITHOUT ANY WARRANTY; without even the implied warranty of
20 %# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
21 %# General Public License for more details.
22 %# 
23 %# You should have received a copy of the GNU General Public License
24 %# along with this program; if not, write to the Free Software
25 %# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
26 %# 
27 %# 
28 %# CONTRIBUTION SUBMISSION POLICY:
29 %# 
30 %# (The following paragraph is not intended to limit the rights granted
31 %# to you to modify and distribute this software under the terms of
32 %# the GNU General Public License and is only of importance to you if
33 %# you choose to contribute your changes and enhancements to the
34 %# community by submitting them to Best Practical Solutions, LLC.)
35 %# 
36 %# By intentionally submitting any modifications, corrections or
37 %# derivatives to this work, or any other work intended for use with
38 %# Request Tracker, to Best Practical Solutions, LLC, you confirm that
39 %# you are the copyright holder for those contributions and you grant
40 %# Best Practical Solutions,  LLC a nonexclusive, worldwide, irrevocable,
41 %# royalty-free, perpetual, license to use, copy, create derivative
42 %# works based on those contributions, and sublicense and distribute
43 %# those contributions and any derivatives thereof.
44 %# 
45 %# END BPS TAGGED BLOCK }}}
46 <table class="black" border=0 cellspacing=0 cellpadding=0 width="100%">
47 <tr>
48   <TD colspan=5 WIDTH="100%" STYLE="padding:0"><IMG BORDER=0 ALT="" SRC="<% $RT::URI::freeside::URL %>/images/black-gradient.png" HEIGHT="13" WIDTH="100%"></TD>
49 </tr>
50 <tr>
51 %#  <th class="black" align="left" width=15%><span class="rtname"><%$AppName%></span>
52 %#  </th>
53       <span class="topactions">
54 % my $notfirst = 0; foreach my $action (sort keys %{$topactions}) {
55         <td class="blackright" ALIGN="right" VALIGN="center">
56         <%$topactions->{"$action"}->{'html'} |n %>
57         </td>
58 % }
59       </span>
60 </tr>
61 </table>
62 <table border=0 cellspacing=0 cellpadding=0 width="100%" height="100%">
63 <TR>
64   <TD BGCOLOR="#000000" STYLE="padding:0" WIDTH="154"></TD>
65   <TD STYLE="padding:0" WIDTH="13"><IMG BORDER=0 ALT="" SRC="<% $RT::URI::freeside::URL %>/images/black-gray-corner.png"></TD>
66   <TD STYLE="padding:0"><IMG BORDER=0 ALT="" SRC="<% $RT::URI::freeside::URL %>/images/black-gray-top.png" HEIGHT="13" WIDTH="100%"></TD>
67 </TR>
68 %# Vertical menu
69 <TR height="100%">
70 <TD valign="top" width="140" class="black">
71           <& /Elements/Menu, toptabs => $toptabs, current_toptab => $current_toptab &>
72 </TD>
73 <TD STYLE="padding:0" HEIGHT="100%" WIDTH=13 VALIGN="top"><IMG WIDTH="13" HEIGHT="100%" BORDER=0 ALT="" SRC="<% $RT::URI::freeside::URL %>/images/black-gray-side.png"></TD>
74 <td valign="top">
75 <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
76 <tr>
77   <td class="<% $actions ? 'darkmediumgray' : 'bggray' %>" valign="top">
78     <span class="title"><%$title%></span>
79 </td>
80 </tr>
81 <tr>
82 <td class="<% $actions ? 'darkmediumgrayright' : 'bggrayright' %>" valign="top">
83     <span class="nav"> 
84 % if ($actions) {
85 % my @actions;
86 % foreach my $action (sort keys %{$actions}) {
87 % if ($actions->{"$action"}->{'html'}) {
88 % push @actions, $actions->{"$action"}->{'html'}; 
89 % } else {
90 % push @actions,  qq|<a class="nav" href="|.$RT::WebPath."/".$actions->{$action}->{'path'}.qq|">|.$actions->{$action}->{'title'}."</a>";
91 % }
92 %  }
93 %#<% join(" | ", @actions) | n %>
94 <% '['. join("] [", @actions). ']&nbsp;' | n %>
95 % if ($subactions) {
96 % my @actions;
97 % foreach my $action (sort keys %{$subactions}) {
98 % push @actions, $subactions->{"$action"}->{'html'}; 
99 %  }
100 <% join(" | ", @actions) | n %>
101 % }
102 % }
103     </span>
104   </td>
105 </tr>
106 <TR valign="top">
107 <TD valign="top" width="100%" height="100%" class="mainbody" >
108 <& /Elements/Callback, _CallbackName => 'BeforeBody',  %ARGS &>
109 %$m->flush_buffer(); # we've got the page laid out, let's flush the buffer;
110 <%INIT>
111
112   foreach my $tab (sort keys %{$toptabs}) {
113     if ($current_toptab && $toptabs->{$tab}->{'path'} eq $current_toptab) {
114       $toptabs->{$tab}->{"subtabs"} = $tabs;
115       $toptabs->{$tab}->{"current_subtab"} = $current_tab;
116     }
117   }
118
119 if (! defined($AppName)) {
120   $AppName = loc("RT for [_1]", $RT::rtname);
121 }
122
123 </%INIT>
124 <%ARGS>
125 $current_toptab => undef
126 $current_tab => undef
127 $toptabs => undef
128 $topactions => undef
129 $tabs => undef
130 $actions => undef
131 $subactions => undef
132 $title => $m->callers(-1)->path
133 $AppName => ''
134 </%ARGS>