Merge branch 'master' of git.uio.no:usit-rt
[usit-rt.git] / share / html / Elements / MessageBox
CommitLineData
84fb5b46
MKG
1%# BEGIN BPS TAGGED BLOCK {{{
2%#
3%# COPYRIGHT:
4%#
320f0092 5%# This software is Copyright (c) 1996-2014 Best Practical Solutions, LLC
84fb5b46
MKG
6%# <sales@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., 51 Franklin Street, Fifth Floor, Boston, MA
26%# 02110-1301 or visit their web page on the internet at
27%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
28%#
29%#
30%# CONTRIBUTION SUBMISSION POLICY:
31%#
32%# (The following paragraph is not intended to limit the rights granted
33%# to you to modify and distribute this software under the terms of
34%# the GNU General Public License and is only of importance to you if
35%# you choose to contribute your changes and enhancements to the
36%# community by submitting them to Best Practical Solutions, LLC.)
37%#
38%# By intentionally submitting any modifications, corrections or
39%# derivatives to this work, or any other work intended for use with
40%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
41%# you are the copyright holder for those contributions and you grant
42%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable,
43%# royalty-free, perpetual, license to use, copy, create derivative
44%# works based on those contributions, and sublicense and distribute
45%# those contributions and any derivatives thereof.
46%#
47%# END BPS TAGGED BLOCK }}}
c33a4027 48<textarea autocomplete="off" class="messagebox <% $Type eq 'text/html' ? 'richtext' : '' %>" <% $width_attr %>="<% $Width %>" rows="<% $Height %>" <% $wrap_type |n %> name="<% $Name %>" id="<% $Name %>">\
dab09ea8 49% $m->comp('/Articles/Elements/IncludeArticle', %ARGS) if $IncludeArticle;
84fb5b46
MKG
50% $m->callback( %ARGS, SignatureRef => \$signature );
51<% $Default || '' %><% $message %><% $signature %></textarea>
52% $m->callback( %ARGS, CallbackName => 'AfterTextArea' );
c33a4027
MKG
53% if ($Type eq 'text/html') {
54<input type="text" style="display:none" name="<% $Name %>Type" id="<% $Name %>Type" value="<% $m->request_args->{$Name."Type"}||$Type %>" />
320f0092 55% }
84fb5b46
MKG
56<%INIT>
57
58my $message = '';
59
60if ( $QuoteTransaction ) {
61 my $transaction = RT::Transaction->new( $session{'CurrentUser'} );
62 $transaction->Load( $QuoteTransaction );
c33a4027 63 $message = $transaction->Content( Quote => 1, Type => $Type );
84fb5b46
MKG
64}
65
66my $signature = '';
67if ( $IncludeSignature and my $text = $session{'CurrentUser'}->UserObj->Signature ) {
af59614d 68 $signature = "-- \n". $text;
c33a4027 69 if ($Type eq 'text/html') {
320f0092
MKG
70 $signature =~ s/&/&amp;/g;
71 $signature =~ s/</&lt;/g;
72 $signature =~ s/>/&gt;/g;
73 $signature =~ s/"/&quot;/g; # "//;
74 $signature =~ s/'/&#39;/g; # '//;
75 $signature =~ s{\n}{<br />}g;
76 $signature = "<p>$signature</p>";
77 }
84fb5b46
MKG
78}
79
80# wrap="something" seems to really break IE + richtext
c33a4027 81my $wrap_type = $Type eq 'text/html' ? '' : 'wrap="soft"';
84fb5b46
MKG
82
83# If there's no cols specified, we want to set the width to 100% in CSS
84my $width_attr;
85if ($Width) {
86 $width_attr = 'cols';
87} else {
88 $width_attr = 'style';
89 $Width = 'width: 100%';
90}
91
92</%INIT>
93<%ARGS>
94$QuoteTransaction => undef
95$Name => 'Content'
96$Default => ''
97$Width => RT->Config->Get('MessageBoxWidth', $session{'CurrentUser'} )
98$Height => RT->Config->Get('MessageBoxHeight', $session{'CurrentUser'} ) || 15
84fb5b46 99$IncludeSignature => RT->Config->Get('MessageBoxIncludeSignature');
dab09ea8 100$IncludeArticle => 1;
c33a4027 101$Type => RT->Config->Get('MessageBoxRichText', $session{'CurrentUser'}) ? 'text/html' : 'text/plain';
84fb5b46 102</%ARGS>