1 |
8 |
ahitrov@rambler.ru |
<!-- Одна картинка --> |
2 |
119 |
ahitrov |
<table cellpadding="0" cellspacing="2" border="0" width="100%"> |
3 |
8 |
ahitrov@rambler.ru |
<tr><td><b><% $rusname %></b> / <font size="-1" color="#888888">name="<% $attr %>"</font> </td></tr> |
4 |
119 |
ahitrov |
<tr><td> |
5 |
|
|
<div><a href="javascript:void(0)" class="mm_act" id="<% $attr %>_file_prompt" style="padding:0 6px;" |
6 |
|
|
onclick="$('#<% $attr %>_url_loader').hide(); $('#<% $attr %>_file_loader').show(); $('#<% $attr %>_file_prompt').addClass('mm_act'); $('#<% $attr %>_url_prompt').removeClass('mm_act'); return false;">file</a> |
7 |
|
|
<a href="javascript:void(0)" class="mm_inact" id="<% $attr %>_url_prompt" style="padding:0 6px;" |
8 |
|
|
onclick="$('#<% $attr %>_file_loader').hide(); $('#<% $attr %>_url_loader').show(); $('#<% $attr %>_url_prompt').addClass('mm_act'); $('#<% $attr %>_file_prompt').removeClass('mm_act'); $('#<% $attr %>_ext_url')[0].focus(); return false;">url</a></div> |
9 |
|
|
<div id="<% $attr %>_file_loader" style="background:#d0d0d0; padding:2px;"> |
10 |
|
|
<input type="file" name="<% $attr %>" style="width:95%;font-family:arial;font-size:9pt;"></div> |
11 |
|
|
<div id="<% $attr %>_url_loader" style="display:none; background:#d0d0d0; padding:2px;"> URL: <input |
12 |
|
|
id="<% $attr %>_ext_url" type="text" name="<% $attr %>.ext_url" style="width:81%;font-family:arial;font-size:9pt;"></div> |
13 |
|
|
</td></tr> |
14 |
8 |
ahitrov@rambler.ru |
% if ( exists($IMAGE->{width}) && exists($IMAGE->{height}) && exists($IMAGE->{filename}) ) |
15 |
|
|
% { |
16 |
|
|
<tr><td style="font-size:95%;"><% $IMAGE->{filename} %></td></tr> |
17 |
|
|
% my $max_show_width = 200; |
18 |
|
|
% my $show_w = ( $IMAGE->{width} > $max_show_width ? $max_show_width : $IMAGE->{width} ); |
19 |
|
|
% my $show_h = ( $IMAGE->{width} > $max_show_width ? ($max_show_width*$IMAGE->{height}/$IMAGE->{width}) : $IMAGE->{height} ); |
20 |
|
|
% my $img_path = $state->{images_dir}.'/'.$IMAGE->{filename}; |
21 |
|
|
<tr><td> |
22 |
|
|
% $img_path =~ s|^/{2,}|/|; |
23 |
|
|
% my $u1 = URI->new($img_path); |
24 |
|
|
% my $path = $u1->path; |
25 |
|
|
% $path =~ s|/{2,}|/|g; |
26 |
|
|
% $u1->path($path); |
27 |
|
|
% $img_path = $u1->canonical; |
28 |
|
|
<font size="-1" color="#888888">ШИР x ВЫС: <% $IMAGE->{width} %>x<% $IMAGE->{height} %></font> |
29 |
|
|
<img src="<% $img_path %>" alt="<% html_escape($IMAGE->{alt}) %>" width="<% $show_w %>" height="<% $show_h %>"><br> |
30 |
|
|
</td></tr> |
31 |
|
|
% } |
32 |
|
|
% |
33 |
|
|
|
34 |
|
|
% foreach my $iattr (@{ $iattrs }) |
35 |
|
|
% { |
36 |
560 |
ahitrov |
% next if ( !ref $iattr && ($iattr eq 'filename') || ($iattr eq 'width') || ($iattr eq 'height') ); |
37 |
|
|
% if ( ref $iattr eq 'ARRAY' ) { |
38 |
|
|
<tr><td><font size="-1" color="#888888"><% $iattr->[1] %> (<% $iattr->[0] %>):</font></td></tr> |
39 |
|
|
<tr><td><input type="text" name="<% $attr %>.<% $iattr->[0] %>" size="60" value="<% html_escape($IMAGE->{$iattr->[0]}) %>" style="width:95%;font-family:arial;font-size:9pt;"></td></tr> |
40 |
|
|
% } elsif ( ref $iattr eq 'HASH' ) { |
41 |
|
|
<tr><td><font size="-1" color="#888888"><% $iattr->{name} %> (<% $iattr->{attr} %>):</font></td></tr> |
42 |
|
|
<tr><td><input type="text" name="<% $attr %>.<% $iattr->{attr} %>" size="60" value="<% html_escape($IMAGE->{$iattr->{attr}}) %>" style="width:95%;font-family:arial;font-size:9pt;"></td></tr> |
43 |
|
|
% } elsif ( $iattr eq 'mini' ) { |
44 |
8 |
ahitrov@rambler.ru |
<tr><td><font size="-1" color="#888888">name="<% $attr %>_mini"</font> </td></tr> |
45 |
|
|
<tr><td><input type="file" name="<% $attr %>_mini" style="width:95%;font-family:arial;font-size:9pt;"></td></tr> |
46 |
226 |
ahitrov |
% if (exists($IMAGE->{mini}->{filename}) ) |
47 |
|
|
% { |
48 |
8 |
ahitrov@rambler.ru |
<tr><td style="font-size:95%;"><% $IMAGE->{mini}->{filename} %></td></tr> |
49 |
|
|
% my $max_show_width = 200; |
50 |
|
|
% my $show_w = ( $IMAGE->{mini}->{width} > $max_show_width ? $max_show_width : $IMAGE->{mini}->{width} ); |
51 |
|
|
% my $show_h = ( $IMAGE->{mini}->{width} > $max_show_width ? ($max_show_width*$IMAGE->{mini}->{height}/$IMAGE->{mini}->{width}) : $IMAGE->{mini}->{height} ); |
52 |
|
|
<tr><td> |
53 |
|
|
<font size="-1" color="#888888">ШИР x ВЫС: <% $IMAGE->{mini}->{width} %>x<% $IMAGE->{mini}->{height} %></font> |
54 |
|
|
<img src="<% $state->{images_dir}.'/'.$IMAGE->{mini}->{filename} %>" alt="<% html_escape($IMAGE->{mini}->{alt}) %>" width="<% $show_w %>" height="<% $show_h %>"><br> |
55 |
|
|
</td></tr> |
56 |
226 |
ahitrov |
% } |
57 |
8 |
ahitrov@rambler.ru |
% } else { |
58 |
|
|
<tr><td><font size="-1" color="#888888"><% $ATTRNAMES->{$iattr} %> (<% $iattr %>):</font></td></tr> |
59 |
|
|
<tr><td><input type="text" name="<% $attr %>.<% $iattr %>" size="60" value="<% html_escape($IMAGE->{$iattr}) %>" style="width:95%;font-family:arial;font-size:9pt;"></td></tr> |
60 |
226 |
ahitrov |
% } |
61 |
|
|
% } |
62 |
8 |
ahitrov@rambler.ru |
|
63 |
|
|
<tr><td><input type="checkbox" name="_delete_image.<% $attr %>" value="1">Удалить<br><br></td></tr> |
64 |
|
|
</table> |
65 |
|
|
|
66 |
|
|
<%ARGS> |
67 |
|
|
|
68 |
|
|
$IMAGE => undef |
69 |
|
|
$rusname => undef |
70 |
|
|
$attr => undef |
71 |
|
|
$prop => {} |
72 |
|
|
|
73 |
|
|
</%ARGS> |
74 |
|
|
<%DOC> |
75 |
|
|
|
76 |
|
|
Компонента отображает одну картинку... |
77 |
|
|
|
78 |
|
|
</%DOC> |
79 |
|
|
<%INIT> |
80 |
|
|
|
81 |
|
|
my $iattrs = $prop->{iattrs}; |
82 |
560 |
ahitrov |
$iattrs = ['alt'] unless $iattrs; |
83 |
8 |
ahitrov@rambler.ru |
|
84 |
|
|
my $ATTRNAMES = { |
85 |
|
|
'alt' => 'Подпись', |
86 |
|
|
'btext' => 'Текст до картинки', |
87 |
|
|
'atext' => 'Текст после картинки', |
88 |
|
|
'url' => 'Ссылка с картинки', |
89 |
|
|
'copyright' => 'Копирайт', |
90 |
|
|
}; |
91 |
|
|
|
92 |
|
|
</%INIT> |