/[webpac2]/branches/Sack/web/browse.cgi
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /branches/Sack/web/browse.cgi

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 46 by dpavlin, Mon Nov 14 16:13:17 2005 UTC revision 54 by dpavlin, Mon Nov 14 16:16:57 2005 UTC
# Line 1  Line 1 
1  #!/usr/bin/perl -w  #!/usr/bin/perl -w
2    
3    use strict;
4    
5  use Cwd qw/abs_path/;  use Cwd qw/abs_path/;
6  use CGI::Carp qw(fatalsToBrowser);  use CGI::Carp qw(fatalsToBrowser);
7  use CGI::Simple;  use CGI::Simple;
8    use File::Slurp;
9    use Data::Dumper;
10    use Text::Iconv;
11    
12  use lib '../lib';  use lib '../lib';
13    
# Line 13  my $abs_path = abs_path($0); Line 18  my $abs_path = abs_path($0);
18  $abs_path =~ s#/[^/]*$#/../#;  $abs_path =~ s#/[^/]*$#/../#;
19    
20  my $db_path = $abs_path . '/db/';  my $db_path = $abs_path . '/db/';
21    my $template = 'html_ffzg.tt';
22    
23    my $iconv_utf8 = new Text::Iconv('ISO-8859-2', 'UTF-8');
24    my $iconv_loc = new Text::Iconv('UTF-8', 'ISO-8859-2');
25    
26  my $db = new WebPAC::DB(  my $db = new WebPAC::DB(
27          path => $db_path,          path => $db_path,
# Line 30  my $self = $q->url( '-path_info'=>1, '-q Line 39  my $self = $q->url( '-path_info'=>1, '-q
39    
40  my $rec = $q->param('rec') || 1;  my $rec = $q->param('rec') || 1;
41    
42  print $q->header;  print $q->header( -charset    => 'utf-8' );
43    
44  if ($q->path_info =~ m#xml#) {  if ($q->path_info =~ m#xml#) {
45    
46          my @ds = $db->load_ds($rec);          my @ds = $db->load_ds($rec);
47    
48          if (@ds) {          if (@ds && $#ds > 0) {
49                  print qq{<response>                  print qq{<response>
50  <action type='html' target='divRecord' errorCode='' errorMessage='' >  <action type='html' target='div_record' errorCode='' errorMessage='' >
51                  }, $out->apply(                  }, $out->apply(
52                          template => 'html_ffzg.tt',                          template => $template,
53                          data => \@ds,                          data => \@ds,
54                  ), qq{                  ), qq{
55    
56  <script type='text/javascript'>  <script type='text/javascript'>
57  <!--  <!--
58          var el = iwfGetById('divRecordNr');          var el = iwfGetById('div_record_nr');
59          if (el) el.innerHTML = '# <b>$rec</b>';          if (el) el.innerHTML = '# <b>$rec</b>';
60          //iwfShow('divRecord');          //iwfShow('div_record');
61          iwfOpacity('divRecord', 100);          iwfOpacity('div_record', 100);
62  //-->  //-->
63  </script>  </script>
64    
# Line 58  if ($q->path_info =~ m#xml#) { Line 67  if ($q->path_info =~ m#xml#) {
67  };  };
68                  exit;                  exit;
69          } else {          } else {
70                  print qq{                  print qq{<response>
71                          <b>Record $rec not found!</b>  <action type='html' target='div_record' errorCode='' errorMessage='' >
72                  };  
73    <b>Record $rec not found!</b>
74    <script type='text/javascript'>
75    <!--
76            var el = iwfGetById('div_record_nr');
77            if (el) el.innerHTML = '<strike>$rec</strike>';
78    //-->
79    </script>
80    
81    </action>
82    </response>
83    };
84                    exit;
85          }          }
86    
87    } elsif ($q->path_info =~ m#template#) {
88    
89                    my @actions;
90    
91                    if ($q->param('save_template')) {
92    
93                            my $tmpl = $q->param('tt_template') || die "no template?";
94                            my $tmpl_file = $out->{'include_path'} . '/' . $template;
95                            write_file($tmpl_file . '.new', $iconv_loc->convert($tmpl)) || die "can't save $tmpl_file: $!";
96                            rename $tmpl_file . '.new', $tmpl_file || die "can't rename to $tmpl_file: $!";
97    
98                            print qq{<response>
99    <action type='html' target='div_status' errorCode='' errorMessage='' >
100    $template saved
101    </action>
102    <action type='js'>
103    <!--
104    reload_rec();
105    -->
106    </action>
107    </response>
108                            };
109                            exit;
110    
111                    }
112    
113                    my $tmpl = read_file($out->{'include_path'} . '/' . $template) || die "can't read template $template: $!";
114                    $tmpl = $q->escapeHTML($iconv_utf8->convert($tmpl));
115    
116                    print qq{<response>
117    <action type='html' target='div_template' errorCode='' errorMessage='' >
118    <pre>}, Dumper($q->Vars), qq{</pre>
119    
120    <form name="frmEditor" action="$self" method="post"
121    iwfTarget="div_status"
122    >
123    
124    <textarea name="tt_template" cols="80" rows="10" style="display: block;">
125    $tmpl
126    </textarea>
127    
128    <br/>
129    <input type="button" name="save_template" value="Save" onclick="javascript:iwfRequest(this);" />
130    <input type="checkbox" name="checkin_template" id="checkin_checkbox" label="checkin" />
131    <span id="div_status" style="color: #808080;">idle</span>
132    
133    <input type='hidden' value='hidden post value' name='hidValue' />
134    
135    </form>
136    </action>
137    </response>
138                    };
139    
140                    exit;
141    
142  } else {  } else {
143          print qq{          print qq{
144  <html>  <html>
# Line 78  var rec = $rec ; Line 154  var rec = $rec ;
154  var url = '$self';  var url = '$self';
155    
156  function update_status(text) {  function update_status(text) {
157          var el = iwfGetById('divRecordNr');          var el = iwfGetById('div_record_nr');
158          if (el) el.innerHTML = text;          if (el) el.innerHTML = text;
159  }  }
           
160    
161  function load_rec(nr) {  function load_rec(nr) {
162          update_status(nr+'...');          update_status(nr+'...');
163          iwfRequest( url+'/xml/?rec='+nr, 'divRecord' );          iwfRequest( url+'/xml/?rec='+nr, 'div_record' );
164          iwfOpacity('divRecord', 30);          iwfOpacity('div_record', 30);
165  }  }
166    
167  function inc_rec() {  function inc_rec() {
# Line 101  function dec_rec() { Line 176  function dec_rec() {
176          return false;          return false;
177  }  }
178    
179    function reload_rec() {
180            load_rec(rec);
181            return false;
182    }
183    
184    function init_page() {
185            load_rec(rec);
186            // load template
187            iwfRequest( url+'/template/', 'div_template' );
188    }
189    
190  </script>  </script>
191  </head>  </head>
192  <body onload="load_rec($rec);">  <body onload="init_page();">
193    
194  db_path = <tt>$db_path</tt><br/>  db_path = <tt>$db_path</tt><br/>
195    template = <tt>$template</tt><br/>
196    
197    <div id="iwfLog" style="display: none;">
198    </div>
199    
200  <div style="background: #e0e0e0; padding: 0.5em; display: block;">  <div style="background: #e0e0e0; padding: 0.5em; display: block;">
201          <a href="$self?rec=}, $rec - 1, qq{" onClick="return dec_rec();">&#8678;</a>&nbsp;          <a href="$self?rec=}, $rec - 1, qq{" onClick="return dec_rec();">&#8678;</a>&nbsp;
202          <span id="divRecordNr"> none </span>          <span id="div_record_nr"> none </span>
203    
204          <a href="$self?rec=}, $rec + 1, qq{" onClick="return inc_rec();">&#8680;</a>&nbsp;          <a href="$self?rec=}, $rec + 1, qq{" onClick="return inc_rec();">&#8680;</a>&nbsp;
205            <a href="$self?rec=}, $rec, qq{" onClick="return reload_rec();">&#8634;</a>&nbsp;
206            <a href="#" onClick="iwfRefreshLog(); return false;">&#9636;</a>&nbsp;
207    
208  </div>  </div>
209    
210  <div id="divRecord">  <div id="div_template">
211    <span style="color: #808080;"> no template loaded yet. </span>
212    </div>
213    
214    <div id="div_record" style="display: block;">
215  <span style="color: #808080;"> no record loaded yet. </span>  <span style="color: #808080;"> no record loaded yet. </span>
216  </div>  </div>
217    
218    
219  </body>  </body>
220  </html>};  </html>};
221    

Legend:
Removed from v.46  
changed lines
  Added in v.54

  ViewVC Help
Powered by ViewVC 1.1.26