Revision: 2765
          http://ipcop.svn.sourceforge.net/ipcop/?rev=2765&view=rev
Author:   riddles
Date:     2009-05-01 11:32:39 +0000 (Fri, 01 May 2009)

Log Message:
-----------
Template backup.cgi

Modified Paths:
--------------
    ipcop/branches/template-branch/html/cgi-bin/backup.cgi

Added Paths:
-----------
    ipcop/branches/template-branch/html/html/pages/backup.tpl
    ipcop/branches/template-branch/html/html/pages/backup2.tpl

Modified: ipcop/branches/template-branch/html/cgi-bin/backup.cgi
===================================================================
--- ipcop/branches/template-branch/html/cgi-bin/backup.cgi      2009-05-01 
10:37:31 UTC (rev 2764)
+++ ipcop/branches/template-branch/html/cgi-bin/backup.cgi      2009-05-01 
11:32:39 UTC (rev 2765)
@@ -11,10 +11,12 @@
 #
 #
 use strict;
+use Template;
 
 # enable only the following on debugging purpose
-#use warnings;
-#use CGI::Carp 'fatalsToBrowser';
+use warnings;
+#no warnings 'once';
+use CGI::Carp 'fatalsToBrowser';
 
 # to fully troubleshot your code, uncomment diagnostics, Carp and cluck lines
 # use diagnostics; # need to add the file 
/usr/lib/perl5/5.8.x/pods/perldiag.pod before to work
@@ -29,8 +31,6 @@
 require '/usr/lib/ipcop/lang.pl';
 require '/usr/lib/ipcop/header.pl';
 
-my $errormessage = '';
-my $warnmessage  = '';
 my $setdir       = '/home/httpd/html/backup';    # location where sets are 
stored and imported
 my $datafile     = hostname() . '.dat';          # file containing data backup 
after upload
 my $disabled     = '';                           # without key to disable many 
buttons
@@ -39,13 +39,8 @@
 my $umountdisabled = '';                         # usb mass-storage only need 
umount
 my $hostfilter     = '([\w-]+\.)+[\w-]+';        # regex for hostname
 
-#workaround to suppress a warning when a variable is used only once
-my @dummy = (${Header::table1colour}, ${Header::table2colour});
-undef(@dummy);
+my $page_vars = &Header::get_page_vars();
 
-# Get GUI values
-&General::getcgihash(\%settings, {'wantfile' => 1, 'filevar' => 'FH'});
-
 # Return device name of what is mounted under 'backup'
 sub findmounted() {
     my $mounted = `/bin/mount | /bin/grep " $setdir "`;
@@ -152,31 +147,47 @@
     }
 }
 
+##
+## Initialize Template
+##
+my $tt = Template->new({
+    INCLUDE_PATH => '/home/httpd/html/pages:/home/httpd/html/themes',
+    FILTERS => { 'loc' => \&Header::maketext }
+}) || die "$Template::ERROR\n";
+
+##
+## Start Page
+##
+&General::getcgihash(\%settings, {'wantfile' => 1, 'filevar' => 'FH'});
+
 # Export the key.
 # backup password is required to disallow user 'noboby' to export the key
 # and create a fake backup.
 if ($settings{'ACTION'} eq $Lang::tr{'backup export key'}) {
     if (!defined($settings{'PASSWORD'})) {
-        $errormessage = $Lang::tr{'password not set'};
+        push(@{$page_vars->{'errormessages'}}, $Lang::tr{'password not set'});
     }
     elsif ($settings{'PASSWORD'} =~ m/[\s\"']/) {
-        $errormessage = $Lang::tr{'password contains illegal characters'};
+        push(@{$page_vars->{'errormessages'}}, $Lang::tr{'password contains 
illegal characters'});
     }
     elsif (length($settings{'PASSWORD'}) < 6) {
-        $errormessage = $Lang::tr{'passwords must be at least 6 characters in 
length'};
+        push(@{$page_vars->{'errormessages'}}, $Lang::tr{'passwords must be at 
least 6 characters in length'});
     }
     else {
         my $size     = 0;
         my $filename = 'backup.' . &hostname() . '.key';
         (my $fh, my $tmpfilename) = tempfile('/tmp/logfile.XXXXXX');
-        $errormessage =
+        my $errormessage =
             &get_bk_error(system('/usr/local/bin/ipcopbkcfg', '--keycat', 
"$settings{'PASSWORD'}", "$tmpfilename"));
-        if (!$errormessage) {
+        if ($errormessage) {
+                   push(@{$page_vars->{'errormessages'}}, $errormessage);
+               }
+               else {
             open FH, "< $tmpfilename" or die "Unable to open tmp key file !";
             my @lines = <FH>;
             close FH;
             if (scalar @lines != 2) {
-                $errormessage = "Bad tmp key file : wrong lines number!";
+                push(@{$page_vars->{'errormessages'}}, "Bad tmp key file : 
wrong lines number!");
             }
             else {
                 $lines[0] = &Header::cleanhtml($lines[0]);
@@ -197,23 +208,16 @@
 
 my $cryptkeymissing = system('/usr/local/bin/ipcopbkcfg', '--keyexist') >> 8;
 
-# disable 'create key' or other buttons
-if ($cryptkeymissing) {
-    $disabled = "disabled='disabled'";
-}
-else {
-    $disabled = '';
-}
-
 # Create new archive set
 if ($settings{'ACTION'} eq $Lang::tr{'create new backup'}) {
     $settings{'DESCRIPTION'} =~ s/[^ \w'_-]//g;    # remove everything 
potentially bad
                                                    # just because of the page 
layout
     if (length($settings{'DESCRIPTION'}) > 80) {
-        $errormessage = "$Lang::tr{'description'}" . $Lang::tr{'too long 80 
char max'};
+        push(@{$page_vars->{'errormessages'}}, "$Lang::tr{'description'}" . 
$Lang::tr{'too long 80 char max'});
     }
     else {
-        $errormessage = &get_bk_error(system('/usr/local/bin/ipcopbkcfg', 
'--write', "$settings{'DESCRIPTION'}"));
+               my $errormessage = 
&get_bk_error(system('/usr/local/bin/ipcopbkcfg', '--write', 
"$settings{'DESCRIPTION'}"));
+        if ($errormessage) {push(@{$page_vars->{'errormessages'}}, 
$errormessage)};
     }
 }
 
@@ -222,7 +226,7 @@
 
     #check form input before erase files
     if ($settings{'KEY'} !~ 
m!^$setdir/$hostfilter\d{4}-\d{2}-\d{2}_\d{2}-\d{2}-\d{2}\.dat$!) {
-        $errormessage = $Lang::tr{'bad characters in'} . 'KEY';
+        push(@{$page_vars->{'errormessages'}}, $Lang::tr{'bad characters in'} 
. $settings{'KEY'});
     }
     else {
         unlink $settings{'KEY'};
@@ -233,13 +237,14 @@
 # Import an archive set
 if ($settings{'ACTION'} eq $Lang::tr{'import'}) {
     if (ref($settings{'FH'}) ne 'Fh') {
-        $errormessage = $Lang::tr{'no cfg upload'};
+        push(@{$page_vars->{'errormessages'}}, $Lang::tr{'no cfg upload'});
     }
     elsif (!copy($settings{'FH'}, "$setdir/$datafile")) {
-        $errormessage = $Lang::tr{'save error'};
+        push(@{$page_vars->{'errormessages'}}, $Lang::tr{'save error'});
     }
     else {
-        $errormessage = &get_rs_error(system('/usr/local/bin/ipcoprscfg', 
'--import') >> 8);
+        my $errormessage = &get_rs_error(system('/usr/local/bin/ipcoprscfg', 
'--import') >> 8);
+               if ($errormessage) {push(@{$page_vars->{'errormessages'}}, 
$errormessage)};
     }
 }
 
@@ -250,6 +255,7 @@
     if ($settings{'ACTION'} eq $Lang::tr{'restore'}) {
 
         # if keyfile does not exist
+               my $errormessage = '';
         if ($cryptkeymissing) {
             $errormessage = $Lang::tr{'backup missing key'};
         }
@@ -267,40 +273,25 @@
         else {
             $errormessage = get_rs_error(system('/usr/local/bin/ipcoprscfg', 
'--restore', "$settings{'KEY'}") >> 8);
         }
-        if (!$errormessage) {
-
+        if ($errormessage) {
+                       push(@{$page_vars->{'errormessages'}}, $errormessage);
+        } else {
             # restored ok, recommend restarting system
-            $warnmessage = $Lang::tr{'cfg restart'};
+                       push(@{$page_vars->{'warnmessages'}}, $Lang::tr{'cfg 
restart'});
         }
     }
     else {
+               my $settime = read_timefile($settings{'KEY'});
+        ##
+        ## Process Template and Exit
+        ##
         &Header::showhttpheaders();
-        &Header::openpage($Lang::tr{'backup'}, 1, '');
-        &Header::openbigbox('100%', 'left');
-        &Header::openbox('100%', 'left', $Lang::tr{'are you sure'});
-        my $settime = read_timefile($settings{'KEY'});
-        print <<END
-<form method='post' action='$ENV{'SCRIPT_NAME'}'>
-<input type='hidden' name='KEY' value="$settings{'KEY'}" />
-<table align='center' border='0'>
-<tr>
-    <td>$Lang::tr{'restore'}:</td>
-    <td>$settime</td>
-</tr>
-<tr>
-    <td>$Lang::tr{'restore hardware settings'}: <input type='checkbox' 
name='RESTOREHW' /></td>
-</tr>
-<tr>
-    <td align='center'><input type='submit' name='ACTION' 
value='$Lang::tr{'restore'}' /></td>
-    <td><input type='submit' name='ACTION' value='$Lang::tr{'cancel'}' /></td>
-</tr>
-</table>
-</form>
-END
-            ;
-        &Header::closebox();
-        &Header::closebigbox();
-        &Header::closepage();
+        $tt->process('backup2.tpl', {
+            'page'   => $page_vars,
+            'system'  => \&Header::get_system_vars,
+            'key' => $settings{'KEY'},
+            'settime' => $settime,
+        }) || die $tt->error(), "\n";
         exit(0);
     }
 }
@@ -346,7 +337,7 @@
 # Mount a media
 if ($settings{'ACTION'} eq $Lang::tr{'mount'}) {
     if ($settings{'MEDIA'} !~ /^sd[a-z]\d{1,2}$/ && $settings{'DESCRIPTION'} 
ne '') {
-        $errormessage = $Lang::tr{'bad characters in'} . 'MEDIA';
+        push(@{$page_vars->{'errormessages'}}, $Lang::tr{'bad characters in'} 
. 'MEDIA');
     }
     else {
 
@@ -357,7 +348,7 @@
             # $errormessage = $Lang::tr{'cannot mount local hard disk'};
         }
         elsif (grep (/$settings{'MEDIA'}/, %partitions)) {
-            $errormessage = `/usr/local/bin/ipcopbkcfg --mount 
$settings{'MEDIA'}`;
+            push(@{$page_vars->{'errormessages'}}, `/usr/local/bin/ipcopbkcfg 
--mount $settings{'MEDIA'}`);
         }
     }
 }
@@ -367,9 +358,13 @@
     system('/usr/local/bin/ipcopbkcfg', '--umount');
 }
 
-my $mounted = &findmounted();
+my $floppyresult = '';
+if ($settings{'ACTION'} eq $Lang::tr{'backup to floppy'}) {
+    $floppyresult = `/usr/local/bin/ipcopbackup`;
+}
 
 # For current media, compute a full description of device
+my $mounted = &findmounted();
 my $media_des = $mounted;    # Description
 if ($mounted eq $Lang::tr{'local hard disk'}) {
     $umountdisabled = "disabled='disabled'";
@@ -408,240 +403,43 @@
     }
     return $space;
 }
-my $freespace = &readfreespace();
 
-&Header::showhttpheaders();
-&Header::openpage($Lang::tr{'backup'}, 1, '');
-&Header::openbigbox('100%', 'left', '');
-
-if ($errormessage) {
-    &Header::openbox('100%', 'left', "$Lang::tr{'error messages'}:", 'error');
-    print "<font class='base'>$errormessage&nbsp;</font>";
-    &Header::closebox();
-}
-
-# after a restore
-if ($warnmessage) {
-    &Header::openbox('100%', 'left', '', 'warning');
-    $warnmessage = "<font 
color='${Header::colourred}'><b>$Lang::tr{'capswarning'}</b></font>: 
$warnmessage";
-    print "<b>$Lang::tr{'alt information'}</b><br />$warnmessage";
-    &Header::closebox();
-}
-&Header::openbox('100%', 'left', $Lang::tr{'backup'});
-
-print <<END
-<form method='post' action='$ENV{'SCRIPT_NAME'}' enctype='multipart/form-data'>
-<table width='100%' border='0'>
-<tr>
-    <td><input type='submit' name='ACTION' value='$Lang::tr{'backup to 
floppy'}' /></td>
-    <td> &nbsp; </td>
-    <td><p>$Lang::tr{'insert floppy'}</p></td>
-    <td width='10%' align='right'><a 
href='${General::adminmanualurl}/system.html#backup' target='_blank'><img 
src='/images/web-support.png' alt='$Lang::tr{'online help en'}' 
title='$Lang::tr{'online help en'}' /></a></td>
-</tr>
-</table>
-<table width='100%' border='0'>
-<tr>
-    <td colspan='3'><hr /></td>
-</tr>
-<tr>
-    <td colspan='3'><table width='100%' border='0'>
-        <tr>
-            <td valign='top' colspan='2'><table width='100%' border='0'>
-                <tr>
-                    <th colspan='2' align='left'>$Lang::tr{'select media'}</th>
-                </tr>
-END
-    ;
-
-my $checked = '';
-foreach my $media (keys %medias) {
-
-    # Care only of device attached to USB bus
-    if ($medias{$media}{'Attached'} eq 'Yes') {
-        $checked = $medias{$media}{'Host'} eq $mounted ? "checked='checked'" : 
'';
-        my $devname = "<b>$medias{$media}{'Vendor'} 
$medias{$media}{'Product'}</b>";
-        $devname = $devname . "&nbsp;$medias{$media}{'Host'} 
($partitions{$medias{$media}{'Host'}})";
-        if ($devcount{$medias{$media}{'Host'}} > 0) {
-            print "<tr><td>&nbsp;</td><td><input type='radio' name='MEDIA' ";
-            print "value='$medias{$media}{'Host'}' disabled='disabled' 
/>$devname</td></tr>\n";
-        }
-        else {
-            if ($checked ne '') {
-                print "<tr><td><img src='/blob.gif' alt='*' /></td>";
-            }
-            else {
-                print "<tr><td>&nbsp;</td>";
-            }
-            print "<td><input type='radio' name='MEDIA' ";
-            print "value='$medias{$media}{'Host'}' $checked 
/>$devname</td></tr>\n";
-        }
-
-        # list attached partitions to this media
-        foreach my $part (sort (keys(%partitions))) {
-            if ($part =~ /$medias{$media}{'Host'}./) {
-                $checked = $part eq $mounted ? "checked='checked'" : '';
-                if ($checked ne '') {
-                    print "<tr><td><img src='/blob.gif' alt='*' /></td>";
-                }
-                else {
-                    print "<tr><td>&nbsp;</td>";
-                }
-                print "<td><input type='radio' name='MEDIA' ";
-                print "value='$part' $checked />&nbsp;&nbsp;$part 
($partitions{$part})</td></tr>\n";
-            }
-        }
-    }
-}
-
-#Add an entry for the local disk, next is key interface management
-$checked = $Lang::tr{'local hard disk'} eq $mounted ? "checked='checked'" : '';
-print <<END
-                <tr>
-                    <td>&nbsp;</td>
-                    <th align='left'><input type='radio' name='MEDIA' 
value='$Lang::tr{'local hard disk'}' $checked />
-                        $Lang::tr{'local hard disk'}
-                    </th>
-                </tr>
-END
-    ;
-
-# after a umount
-if ($settings{'ACTION'} eq $Lang::tr{'umount'}) {
-    print "<tr><td colspan='2'>$Lang::tr{'safe removal of umounted 
device'}</td></tr>";
-}
-elsif ($checked ne '') {
-    print "<tr><td colspan='2'>$Lang::tr{'removable device advice'}</td></tr>";
-}
-else {
-    print <<END
-                <tr>
-                    <td><img src='/blob.gif' alt='*' /></td>
-                    <td nowrap='nowrap'>$Lang::tr{'umount removable media 
before to unplug'}</td>
-                </tr>
-END
-        ;
-}
-print <<END
-                <tr>
-                    <td colspan='2' align='center'>
-                        <input type='submit' name='ACTION' 
value='$Lang::tr{'refresh'}' />&nbsp;
-                        <input type='submit' name='ACTION' 
value='$Lang::tr{'mount'}' />&nbsp;
-                        <input type='submit' name='ACTION' 
value='$Lang::tr{'umount'}' $umountdisabled />&nbsp;
-                    </td>
-                </tr>
-                </table>
-            </td>
-            <td valign='top'>
-                <table border='0' align='center'>
-                <tr>
-                    <th align='left'>$Lang::tr{'backup key'}</th>
-                </tr>
-                <tr>
-                    <td nowrap='nowrap'>$Lang::tr{'backup password'}:&nbsp;
-                        <input type='password' name='PASSWORD' size='15' />
-                    </td>
-                </tr>
-                <tr>
-                    <td align='center'>
-                        <input type='submit' name='ACTION' 
value='$Lang::tr{'backup export key'}' />
-                    </td>
-                </tr>
-END
-    ;
-print <<END
-                </table>
-            </td>
-        </tr>
-        <tr>
-            <td colspan='3'><hr /></td>
-        </tr>
-        <tr>
-            <th colspan='3' align='left'>$Lang::tr{'current media'}:
-                <font color='${Header::colourred}'>$media_des &nbsp;</font>
-                $Lang::tr{'free'}:$freespace M
-            </th>
-        </tr>
-        <tr>
-            <td colspan='3'>&nbsp;</td>
-        </tr>
-        <tr>
-            <td colspan='3'><b>$Lang::tr{'create new backup'}</b></td>
-        </tr>
-        <tr>
-            <td colspan='3' nowrap='nowrap'>$Lang::tr{'description'}:&nbsp;
-                <input type='text' name='DESCRIPTION' size='30' $disabled 
/>&nbsp;&nbsp;
-                <input type='submit' name='ACTION' value='$Lang::tr{'create 
new backup'}' $disabled />
-            </td>
-        </tr>
-        <tr>
-            <td colspan='3'>&nbsp;</td>
-        </tr>
-        <tr>
-            <td colspan='3'><b>$Lang::tr{'backup import dat file'}:</b></td>
-        </tr>
-        <tr>
-            <td colspan='3'><input type='file' name='FH' size='40' 
/>&nbsp;&nbsp;
-                <input type='submit' name='ACTION' value='$Lang::tr{'import'}' 
/>
-            </td>
-        </tr>
-        <tr>
-            <td colspan='3'>&nbsp;</td>
-        </tr>
-        <tr>
-            <td colspan='3'><b>$Lang::tr{'backup sets'}:</b>
-                <table width='100%' border='0'>
-                <tr>
-                    <th width='90%' class='boldbase' 
align='center'>$Lang::tr{'description'}</th>
-                    <th class='boldbase' align='center' 
colspan='3'>$Lang::tr{'action'}</th>
-                </tr>
-END
-    ;
-
 # get list of available sets by globbing directories under $setdir
 # External device (usk key) are mounted in $setdir. -R permits finding sets in 
hierarchy.
-my $i   = 0;
-my $set = '';
-foreach $set (`/bin/ls -t1 $setdir/*.dat 2>/dev/null`) {
+my @sets = ();
+foreach my $file (`/bin/ls -t1 $setdir/*.dat 2>/dev/null`) {
+    chop($file);
 
-    #remove newline from line
-    chop($set);
-
     # filter files out of name format
-    if ($set =~ 
m!^$setdir/$hostfilter\d{4}-\d{2}-\d{2}_\d{2}-\d{2}-\d{2}\.dat$!) {
-        if ($i++ % 2) {
-            print " <tr bgcolor='$Header::table2colour'>\n";
-        }
-        else {
-            print " <tr bgcolor='$Header::table1colour'>\n";
-        }
-
-        # read time with comment and reformat time
-        my $settime = read_timefile($set);
-        my $name = substr($set, length($setdir) + 1);
-        print <<END
-                <td>$settime</td>
-                <td align='center'><form method='post' 
action='$ENV{'SCRIPT_NAME'}'>
-                    <input type='image' name='$Lang::tr{'restore'}' 
src='/images/reload.gif' alt='$Lang::tr{'restore'}' 
title='$Lang::tr{'restore'}' />
-                    <input type='hidden' name='KEY' value='$set' /></form></td>
-                <td align='center'><a href='/backup/$name'><img 
src='/images/floppy.gif' alt='$Lang::tr{'export'}' title='$Lang::tr{'export'}' 
/></a></td>
-                <td align='center'><form method='post' 
action='$ENV{'SCRIPT_NAME'}'>
-                    <input type='image' name='$Lang::tr{'remove'}' 
src='/images/delete.gif' alt='$Lang::tr{'remove'}' title='$Lang::tr{'remove'}' 
/>
-                    <input type='hidden' name='KEY' value='$set' /></form></td>
-            </tr>
-END
-            ;
+    if ($file =~ 
m!^$setdir/$hostfilter\d{4}-\d{2}-\d{2}_\d{2}-\d{2}-\d{2}\.dat$!) {
+        my %set = ();
+        $set{'set'} = $file;
+        $set{'filetime'} = read_timefile($file);
+        $set{'name'} = substr($file, length($setdir) + 1);
+        push (@sets, \%set);
     }
 }
-print "</table>\n</td></tr><tr><td colspan='3'>" . ($i ? "<br />" : 
"$Lang::tr{'empty'}!<br /><br />");
 
-# after a floppy backup
-if ($settings{'ACTION'} eq $Lang::tr{'backup to floppy'}) {
-    print "<hr /><b>$Lang::tr{'alt information'}</b><pre>" . 
`/usr/local/bin/ipcopbackup` . '&nbsp;</pre>';
-}
-print "</td></tr></table></td></tr></table></form>";
+my $freespace = &readfreespace();
 
-&Header::closebox();
-&Header::closebigbox();
-&Header::closepage();
+##
+## Process Template and Exit
+##
+&Header::showhttpheaders();
+$tt->process('backup.tpl', {
+    'page'       => $page_vars,
+    'system'     => \&Header::get_system_vars,
+    'partitions' => \%partitions,
+    'medias'     => \%medias,
+       'devcount'   => \%devcount,
+    'sets'       => \...@sets,
+    'mounted'    => $mounted,
+    'umountdisabled' => $umountdisabled,
+    'cryptkeymissing' => $cryptkeymissing,
+    'floppyresult' => $floppyresult,
+    'media_des'  => $media_des,
+    'freespace'  => $freespace,
+    'action'     => $settings{'ACTION'},
+}) || die $tt->error(), "\n";
 
 1;

Added: ipcop/branches/template-branch/html/html/pages/backup.tpl
===================================================================
--- ipcop/branches/template-branch/html/html/pages/backup.tpl                   
        (rev 0)
+++ ipcop/branches/template-branch/html/html/pages/backup.tpl   2009-05-01 
11:32:39 UTC (rev 2765)
@@ -0,0 +1,176 @@
+[% location = 'alt system' | loc %] 
+[% sublocation = 'backup' | loc %]
+[% title = 'backup' | loc %]
+
+[% PROCESS "$page.theme/vars.tpl" %]
+[% INCLUDE "$page.theme/header.tpl" %]
+[% INCLUDE "$page.theme/openbigbox.tpl" 
+    width = '100%'
+    align = 'left' %]
+
+[% INCLUDE "$page.theme/errorbox.tpl" %]
+[% INCLUDE "$page.theme/warningbox.tpl" %]
+
+[%# Display main form %]
+[% caption = 'backup' | loc %]
+[% INCLUDE "$page.theme/openbox.tpl"
+    width = '100%'
+    align = 'left'
+    caption = caption %]
+
+<form method='post' action='[% page.url %]' enctype='multipart/form-data'>
+<table width='100%' border='0'>
+<tr><td><input type='submit' name='ACTION' value='[% 'backup to floppy' | loc 
%]' /></td>
+    <td> &nbsp; </td>
+    <td><p>[% 'insert floppy' | loc %]</p></td>
+    <td width='10%' align='right'><a href='[% system.adminmanualurl 
%]/system.html#backup' target='_blank'><img src='/images/web-support.png' 
alt='[% 'online help en' | loc %]' title='[% 'online help en' | loc %]' 
/></a></td>
+</tr></table>
+<table width='100%' border='0'>
+<tr><td colspan='3'><hr /></td></tr>
+<tr><td colspan='3'>
+        <table width='100%' border='0'>
+        <tr><td valign='top' colspan='2'>
+                       <table width='100%' border='0'>
+                <tr><th colspan='2' align='left'>[% 'select media' | loc 
%]</th></tr>
+                [% FOREACH media IN media.keys %]
+                    [% IF medias.media.Attached == 'Yes' %]
+                        [% IF devcount.${medias.media.Host} > 0 %]
+                            <tr><td>&nbsp;</td><td><input type='radio' 
name='MEDIA' 
+                                    value='[% medias.media.Host %]' 
disabled='disabled' />
+                                    <b>[% medias.media.Vendor %] [% 
medias.media.Product %]</b>&nbsp;[% medias.media.Host %] [% 
partitions.${medias.media.Host} %]
+                            </td></tr>
+                        [% ELSE %]
+                            [% IF medias.media.Host == mounted %]
+                                <tr><td><img src='/blob.gif' alt='*' /></td>
+                            [% ELSE %]
+                                <tr><td>&nbsp;</td>
+                            [% END %]
+                            <td><input type='radio' name='MEDIA' value='[% 
medias.media.Host %]' [% 'CHECKED' IF medias.media.Host == mounted %]/>
+                                <b>[% medias.media.Vendor %] [% 
medias.media.Product %]</b>&nbsp;[% medias.media.Host %] [% 
partitions.${medias.media.Host} %]
+                            </td></tr>
+                        [% END %]
+                        [% FOREACH part IN partitions.keys.sort %]
+                            [% IF part.search("${medias.media.Host}") %]
+                                [% IF part == mounted %]
+                                    <tr><td><img src='/blob.gif' alt='*' 
/></td>
+                                [% ELSE %]
+                                    <tr><td>&nbsp;</td>
+                                [% END %]
+                                <td><input type='radio' name='MEDIA' value='[% 
part %]' [% 'CHECKED' IF part == mounted %] />
+                                    &nbsp;&nbsp;[% part %] ([% partitions.part 
%])
+                                </td></tr>
+                            [% END %]
+                        [% END %]
+                    [% END %]
+                [% END %]
+                [% lhd = 'local hard disk' | loc %]
+                <tr><td>&nbsp;</td>
+                    <th align='left'><input type='radio' name='MEDIA' value=' 
[% lhd %]' [% 'CHECKED' IF mounted == lhd %]/>[% lhd %]</th>
+                </tr>
+                [% umount = 'umount' | loc %]
+                [% IF action == umount %]
+                    <tr><td colspan='2'>[% 'safe removal of umounted device' | 
loc %]</td></tr>
+                [% ELSIF mounted == lhd %]
+                    <tr><td colspan='2'>[% 'removable device advice' | loc 
%]</td></tr>
+                [% ELSE %]
+                    <tr><td><img src='/blob.gif' alt='*' /></td>
+                        <td nowrap='nowrap'>[% 'umount removable media before 
to unplug' | loc %]</td>
+                    </tr>
+                [% END %]
+                <tr><td colspan='2' align='center'>
+                        <input type='submit' name='ACTION' value='[% 'refresh' 
| loc %]' />&nbsp;
+                        <input type='submit' name='ACTION' value='[% 'mount'   
| loc %]' />&nbsp;
+                        <input type='submit' name='ACTION' value='[% 'umount'  
| loc %]' [% umountdisabled %]/>&nbsp;
+                    </td>
+                </tr>
+                </table>
+            </td>
+            <td valign='top'>
+                <table border='0' align='center'>
+                <tr><th align='left'>[% 'backup key' | loc %]</th></tr>
+                <tr><td nowrap='nowrap'>[% 'backup password' | loc %]:&nbsp;
+                        <input type='password' name='PASSWORD' size='15' />
+                    </td>
+                </tr>
+                <tr><td align='center'>
+                        <input type='submit' name='ACTION' value='[% 'backup 
export key' | loc %]' />
+                    </td>
+                </tr>
+                </table>
+            </td>
+        </tr>
+        <tr>
+            <td colspan='3'><hr /></td>
+        </tr>
+        <tr>
+            <th colspan='3' align='left'>[% 'current media' | loc %]:
+                <font color='[% mytheme.colourred %]'>[% media_des 
%]&nbsp;</font>[% 'free' | loc %]:[% freespace %] M
+            </th>
+        </tr>
+        <tr><td colspan='3'>&nbsp;</td></tr>
+        <tr><td colspan='3'><b>[% 'create new backup' | loc %]</b></td>
+        </tr>
+        <tr>
+            <td colspan='3' nowrap='nowrap'>[% 'description' | loc %]:<
+                <input type='text' name='DESCRIPTION' size='40' [% 
"disabled='disabled'" IF cryptkeymissing %]/>
+                <input type='submit' name='ACTION' value='[% 'create new 
backup'| loc %]' [% "disabled='disabled'" IF cryptkeymissing %]/>
+            </td>
+        </tr>
+        <tr>
+            <td colspan='3'>&nbsp;</td>
+        </tr>
+        <tr>
+            <td colspan='3'><b>[% 'backup import dat file' | loc %]:</b></td>
+        </tr>
+        <tr>
+            <td colspan='3'><input type='file' name='FH' size='40' 
/>&nbsp;&nbsp;
+                <input type='submit' name='ACTION' value='[% 'import' | loc 
%]' />
+            </td>
+        </tr>
+        <tr>
+            <td colspan='3'>&nbsp;</td>
+        </tr>
+        <tr>
+            <td colspan='3'><b>[% 'backup sets' | loc %]:</b>
+                <table width='100%' border='0'>
+                <tr>
+                    <th width='90%' class='boldbase' align='center'>[% 
'description' | loc %]</th>
+                    <th class='boldbase' align='center' colspan='3'>[% 
'action' | loc %]</th>
+                </tr>
+                [% FOREACH set IN sets %]
+                    [% tid = (loop.index % 2) + 1 %]
+                    [<tr class='table[% tid %]colour'>
+                    <td>[% set.filetime %]</td>
+                    <td align='center'><form method='post' action='[% page.url 
%]'>
+                        <input type='image' name='[% 'restore' | loc %]' 
src='/images/reload.gif' alt='[% 'restore' | loc %]' title='[% 'restore' | loc 
%]' />
+                        <input type='hidden' name='KEY' value='[% set.set %]' 
/></form></td>
+                    <td align='center'><a href='/backup/[% set.name %]'><img 
src='/images/floppy.gif' alt='[% 'export' | loc %]' title='[% 'export' | loc 
%]' /></a></td>
+                    <td align='center'><form method='post' action='[% page.url 
%]'>
+                        <input type='image' name='[% 'remove' | loc %]' 
src='/images/delete.gif' alt='[% 'remove' | loc %]' title='[% 'remove' | loc 
%]' />
+                        <input type='hidden' name='KEY' value='[% set.set %]' 
/></form></td>
+                    </tr>
+                [% END %]
+
+                </table>
+             </td>
+        </tr>
+        <tr><td colspan='3'>
+            [% IF ! sets.size %]
+                [% 'empty' | loc %]!<br /><br />
+            [% ELSE %]
+                <br /><br /><br />
+            [% END %]
+            [% fbackup = 'backup to floppy' | loc %]
+            [% IF action == fbackup %]
+                <hr /><b>[% 'alt information' | loc %]</b><pre>[% floppyresult 
%]&nbsp;</pre>
+            [% END %]
+            </td></tr>
+        </table>
+    </td></tr>
+</table>
+</form>
+
+[% INCLUDE "$page.theme/closebox.tpl" %]
+
+[% INCLUDE "$page.theme/closebigbox.tpl" %]
+[% INCLUDE "$page.theme/footer.tpl" %]

Added: ipcop/branches/template-branch/html/html/pages/backup2.tpl
===================================================================
--- ipcop/branches/template-branch/html/html/pages/backup2.tpl                  
        (rev 0)
+++ ipcop/branches/template-branch/html/html/pages/backup2.tpl  2009-05-01 
11:32:39 UTC (rev 2765)
@@ -0,0 +1,39 @@
+[% location = 'alt system' | loc %] 
+[% sublocation = 'backup' | loc %]
+[% title = 'backup' | loc %]
+
+[% PROCESS "$page.theme/vars.tpl" %]
+[% INCLUDE "$page.theme/header.tpl" %]
+[% INCLUDE "$page.theme/openbigbox.tpl" 
+    width = '100%'
+    align = 'left' %]
+
+[% INCLUDE "$page.theme/errorbox.tpl" %]
+[% INCLUDE "$page.theme/warningbox.tpl" %]
+
+[% caption = 'are you sure' | loc %]
+[% INCLUDE "$page.theme/openbox.tpl"
+    width = '100%'
+    align = 'left'
+    caption = caption %]
+
+       <form method='post' action='[% page.url %]'>
+       <input type='hidden' name='KEY' value='[% key %]' />
+       <table align='center' border='0'>
+       <tr>
+        <td>[% 'restore' | loc %]:</td>
+        <td>[% settime %] </td>
+       </tr>
+       <tr>
+        <td>[% 'restore hardware settings' | loc %]: <input type='checkbox' 
name='RESTOREHW' /></td>
+    </tr>
+    <tr>
+        <td align='center'><input type='submit' name='ACTION' value='[% 
'restore' | loc %]' /></td>
+        <td><input type='submit' name='ACTION' value='[% 'cancel' | loc %]' 
/></td>
+    </tr>
+    </table>
+    </form>
+[% INCLUDE "$page.theme/closebox.tpl" %]
+
+[% INCLUDE "$page.theme/closebigbox.tpl" %]
+[% INCLUDE "$page.theme/footer.tpl" %]


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
Register Now & Save for Velocity, the Web Performance & Operations 
Conference from O'Reilly Media. Velocity features a full day of 
expert-led, hands-on workshops and two days of sessions from industry 
leaders in dedicated Performance & Operations tracks. Use code vel09scf 
and Save an extra 15% before 5/3. http://p.sf.net/sfu/velocityconf
_______________________________________________
Ipcop-svn mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ipcop-svn

Reply via email to