r8881@llin: dpavlin | 2005-11-14 21:11:41 +0100
[webpac2] / web / browse.cgi
index bf5cd61..901d399 100755 (executable)
@@ -48,20 +48,19 @@ if ($q->path_info =~ m#xml#) {
        if (@ds && $#ds > 0) {
                print qq{<response>
 <action type='html' target='div_record' errorCode='' errorMessage='' >
-               }, $out->apply(
+               }, $iconv_utf8->convert( $out->apply(
                        template => $template,
                        data => \@ds,
-               ), qq{
+               ) ), qq{
 
-<script type='text/javascript'>
+</action>
+<action type='javascript' errorCode='' errorMessage='' >
 <!--
        var el = iwfGetById('div_record_nr');
        if (el) el.innerHTML = '# <b>$rec</b>';
        //iwfShow('div_record');
        iwfOpacity('div_record', 100);
 //-->
-</script>
-
 </action>
 </response>
 };
@@ -71,13 +70,12 @@ if ($q->path_info =~ m#xml#) {
 <action type='html' target='div_record' errorCode='' errorMessage='' >
 
 <b>Record $rec not found!</b>
-<script type='text/javascript'>
+</action>
+<action type='javascript' errorCode='' errorMessage='' >
 <!--
        var el = iwfGetById('div_record_nr');
-       if (el) el.innerHTML = '<strike>$rec</strike>';
+       if (el) el.innerHTML = '<strike>&nbsp;$rec&nbsp;</strike>';
 //-->
-</script>
-
 </action>
 </response>
 };
@@ -90,9 +88,15 @@ if ($q->path_info =~ m#xml#) {
 
                if ($q->param('save_template')) {
 
-                       my $tmpl = $q->param('tt_template') || die "no template?";
+                       my $tmpl = $iconv_loc->convert( $q->param('tt_template') ) || die "no template?";
+                       sub _conv_js {
+                               my $t = shift || return;
+                               return $iconv_loc->convert(chr(hex($t)));
+                       }
+                       $tmpl =~ s/%u([a-fA-F0-9]{4})/_conv_js($1)/gex;
+
                        my $tmpl_file = $out->{'include_path'} . '/' . $template;
-                       write_file($tmpl_file . '.new', $iconv_loc->convert($tmpl)) || die "can't save $tmpl_file: $!";
+                       write_file($tmpl_file . '.new', $tmpl) || die "can't save $tmpl_file: $!";
                        rename $tmpl_file . '.new', $tmpl_file || die "can't rename to $tmpl_file: $!";
 
                        print qq{<response>
@@ -159,6 +163,11 @@ function update_status(text) {
 }
 
 function load_rec(nr) {
+       if (nr == 1) {
+               iwfHide('a_left_arr', 1);
+       } else {
+               iwfShow('a_left_arr', 1);
+       }
        update_status(nr+'...');
        iwfRequest( url+'/xml/?rec='+nr, 'div_record' );
        iwfOpacity('div_record', 30);
@@ -171,8 +180,10 @@ function inc_rec() {
 }
 
 function dec_rec() {
-       rec--;
-       load_rec(rec);
+       if (rec > 1) {
+               rec--;
+               load_rec(rec);
+       }
        return false;
 }
 
@@ -198,12 +209,12 @@ template = <tt>$template</tt><br/>
 </div>
 
 <div style="background: #e0e0e0; padding: 0.5em; display: block;">
-       <a href="$self?rec=}, $rec - 1, qq{" onClick="return dec_rec();">&#8678;</a>&nbsp;
+       <a id="a_left_arr" href="$self?rec=}, $rec - 1, qq{" onClick="return dec_rec();">&#8678;</a>
        <span id="div_record_nr"> none </span>
 
-       <a href="$self?rec=}, $rec + 1, qq{" onClick="return inc_rec();">&#8680;</a>&nbsp;
-       <a href="$self?rec=}, $rec, qq{" onClick="return reload_rec();">&#8634;</a>&nbsp;
-       <a href="#" onClick="iwfRefreshLog(); return false;">&#9636;</a>&nbsp;
+       <a id="a_right_arr" href="$self?rec=}, $rec + 1, qq{" onClick="return inc_rec();">&#8680;</a>
+       <a id="a_reload" href="$self?rec=}, $rec, qq{" onClick="return reload_rec();">&#8634;</a>
+       <a href="#" onClick="iwfRefreshLog(); return false;">&#9636;</a>
 
 </div>