Changeset 154 for www/backup/index.php


Ignore:
Timestamp:
Feb 16, 2009, 7:54:34 PM (15 years ago)
Author:
george
Message:
  • Upraveno: Postupné odstraňování odkazů na tabulku users.
  • Upraveno: Některé stránky přepracovány do nového zobrazovacího systému.
  • Přidáno: Tabulka Subject rozdělena na tabulky Subject a Member. Transformační skript upraven.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • www/backup/index.php

    r150 r154  
    11<?php
    2 // Stránka pro řízení zálohování
    3 include('../style.php');
    4 ShowHeader('Zálohovací systém', 'Nastavení zálohování');
     2include_once('../global.php');
    53
    6 $Database->select_db('backup');
    7 $zpet = '<p><a href="index.php">Zpět</a></p>';
     4class BackupManagePage extends Page
     5{
     6  var $FullTitle = 'Zálohovací systém';
     7  var $ShortTitle = 'Nastavení zálohování';
     8 
     9  function Show()
     10  { 
     11        if(!$this->System->Modules['User']->CheckPermission('Network', 'Administration')) return('Nemáte oprávnění');
     12       
     13    $this->Database->select_db('backup');
     14    $zpet = '<p><a href="index.php">Zpět</a></p>';
    815
    9 if(!array_key_exists('action', $_GET)) $_GET['action'] = '';
     16    if(!array_key_exists('action', $_GET)) $_GET['action'] = '';
    1017
    11 switch($_GET['action'])
    12 {
    13   case 'add':
    14     $Database->insert('items', array('name' => $_POST['name'], 'parent' => $_POST['parent'], 'description' => $_POST['description']));
    15     echo('<p>Položka byla přidána.</p>'.$zpet);
    16     break;
    17   case 'backup_now':
    18     echo ('<pre>'.exec('/a/bin/backup-user.sh').'</pre>');
    19     echo('<p>Záloha byla vytvořena.</p>'.$zpet);
    20     break;
    21   case 'edit':
    22     $Database->update('items','id = '.$_POST['id'], array('name' => $_POST['name'], 'description' => $_POST['description']));
    23     echo('<p>Položka byla upravena.</p>'.$zpet);
    24     break;
    25   case 'update':
    26     //print_r($_POST);
    27     while(list($key, $val) = each($_POST))
     18    $Output = '';
     19    switch($_GET['action'])
    2820    {
    29       list($command, $id) = explode("_", $key);
    30       switch($command)
    31       {
    32         case 'edit':
    33           echo('<strong>Úprava položky:</strong><br/>');
    34           DB_Query('SELECT * FROM items WHERE id='.$id);
    35           while ($Item = DB_Row())
     21      case 'add':
     22        $this->Database->insert('items', array('name' => $_POST['name'], 'parent' => $_POST['parent'], 'description' => $_POST['description']));
     23        $Output .= '<p>Položka byla přidána.</p>'.$zpet;
     24        break;
     25      case 'backup_now':
     26        $Output .= '<pre>'.exec('/a/bin/backup-user.sh').'</pre>';
     27        $Output .= '<p>Záloha byla vytvořena.</p>'.$zpet;
     28        break;
     29      case 'edit':
     30        $this->Database->update('items','id = '.$_POST['id'], array('name' => $_POST['name'], 'description' => $_POST['description']));
     31        $Output .= '<p>Položka byla upravena.</p>'.$zpet;
     32        break;
     33      case 'update':
     34        //print_r($_POST);
     35        while(list($key, $val) = each($_POST))
     36        {
     37          list($command, $id) = explode("_", $key);
     38          switch($command)
    3639          {
    37             echo('<form action="index.php?action=edit" method="post"><input type="hidden" name="id" value="'.$id.'">');
    38             echo('Název/cesta<br/><input type="text" name="name" value="'.$Item['name'].'"><br/>Popis<br/><input type="text" name="description" value="'.$Item['description'].'"><br/><input type="submit" value="Odeslat"></form>');
     40            case 'edit':
     41              $Output .= '<strong>Úprava položky:</strong><br/>';
     42              $DbResult = $this->Database->query('SELECT * FROM items WHERE id='.$id);
     43              while ($Item = $DbResult->fetch_assoc())
     44              {
     45                $Output .= '<form action="index.php?action=edit" method="post"><input type="hidden" name="id" value="'.$id.'">';
     46                $Output .= 'Název/cesta<br/><input type="text" name="name" value="'.$Item['name'].'"><br/>Popis<br/><input type="text" name="description" value="'.$Item['description'].'"><br/><input type="submit" value="Odeslat"></form>';
     47              }
     48              break;
     49            case 'remove':
     50              $this->Database->query('DELETE FROM items WHERE id='.$id);
     51              $Output .= '<p>Položka byla smazána!</p>'.$zpet;
     52              break;
     53            case 'except':
     54              $Output .= '<strong>Přidání vyjímky:</strong><br/>';
     55              $DbResult = $this->Database->query('SELECT * FROM items WHERE id='.$id);
     56              while ($Item = $DbResult->fetch_array())
     57              {
     58                $Output .= '<form action="index.php?action=add" method="post"><input type="hidden" name="parent" value="'.$id.'">';
     59                $Output .= 'Název/cesta<br/><input type="text" name="name"><br/>Popis<br/><input type="text" name="description""><br/><input type="submit" value="Odeslat"></form>';
     60              }
     61              break;
    3962          }
    40           break;
    41         case 'remove':
    42           $Database->query("DELETE FROM items WHERE id=$id");
    43           echo('<p>Položka byla smazána!</p>'.$zpet);
    44           break;
    45         case 'except':
    46           echo('<strong>Přidání vyjímky:</strong><br/>');
    47           $DbResult = $Database->query("SELECT * FROM items WHERE id=$id");
    48           while ($Item = $DbResult->fetch_array())
     63          $Output .= $zpet;
     64        }
     65        break;
     66      default:
     67        $Output .= '<form action="index.php?action=update" method="post">';
     68        $Output .= '<table width="100%"><tr><td width="50%" valign="top">';
     69        // Seznam segmentů a zařízení
     70        $Output .= 'Seznam zálohovaných složek:<br><table border="1" cellspacing="0" cellpadding="3"><tr><th>Název/cesta</th><th>Popis</th><th>Operace</th></tr>';
     71        $DbResult = $this->Database->query('SELECT * FROM items WHERE parent=0');
     72        while($Row = $DbResult->fetch_array())
     73        {
     74          $Output .= '<tr><td>'.$Row['name'].'</td><td>&nbsp;'.$Row['description'].'</td><td><input type="submit" name="edit_'.$Row['id'].'" value="Upravit"/><input type="submit" name="remove_'.$Row['id'].'" value="Vymazat"/><input type="submit" name="except_'.$Row['id'].'" value="Přidat vyjímku"/></td></tr>';
     75          $DbResult2 = $this->Database->query("SELECT * FROM items WHERE parent=".$Row['id']);
     76          while($Except = $DbResult2->fetch_array())
    4977          {
    50             echo('<form action="index.php?action=add" method="post"><input type="hidden" name="parent" value="'.$id.'">');
    51             echo('Název/cesta<br/><input type="text" name="name"><br/>Popis<br/><input type="text" name="description""><br/><input type="submit" value="Odeslat"></form>');
     78            $Output .= '<tr><td>-&nbsp;&nbsp;'.$Except['name'].'</td><td>&nbsp;'.$Except['description'].'</td><td><input type="submit" name="edit_'.$Except['id'].'" value="Upravit vyjímku"/><input type="submit" name="remove_'.$Except['id'].'" value="Vymazat vyjímku"/></td></tr>';
    5279          }
    53           break;
    54       }
    55       echo($zpet);
    56     }
     80        }
     81        $Output .= '</table><br/></form>';
     82        $Output .= '<strong>Přidat položku</strong><br/>';
     83        $Output .= '<form action="index.php?action=add" method="post">Název/cesta<br/><input type="text" name="name"><br/>Popis<br/><input type="text" name="description"><br/><input type="submit" value="Odeslat"></form>';
     84        $Output .= '<strong>Provést zálohování</strong><br/>';
     85        $Output .= '<form action="index.php?action=backup_now" method="post"><input type="submit" value="Zálohuj"></form>';
     86        $Output .= '<strong>Popis zálohovacího systému</strong><br>Data jsou zálohována na pomocný 11 GB disk jako komprimovaný soubor. Zálohy dalších velkých souborů je nutné provádět ručně na klientské počítače správců sítě.<br/>Složky jsou kopírovány rekurzivně do hloubky (tzn. včetně podsložek). Pokud nechcete, aby složka byla procházena do hloubky, uveďte za její cestu "/*", jinak ale za názvem lomítko neuvádějte. Kromě toho je možné ke každé složce uvést seznam vyjímek. Ty jsou uváděny jako relativní cesty k souborům a složkám.<br>';
     87        }
     88        return($Output);
     89  }
     90}
    5791
    58     break;
    59   default:
    60     echo('<form action="index.php?action=update" method="post">');
    61     echo('<table width="100%"><tr><td width="50%" valign="top">');
    62     // Seznam segmentů a zařízení
    63     echo('Seznam zálohovaných složek:<br><table border="1" cellspacing="0" cellpadding="3"><tr><th>Název/cesta</th><th>Popis</th><th>Operace</th></tr>');
    64     $DbResult = $Database->query("SELECT * FROM items WHERE parent=0");
    65     while($Row = $DbResult->fetch_array())
    66     {
    67       echo('<tr><td>'.$Row['name'].'</td><td>&nbsp;'.$Row['description'].'</td><td><input type="submit" name="edit_'.$Row['id'].'" value="Upravit"/><input type="submit" name="remove_'.$Row['id'].'" value="Vymazat"/><input type="submit" name="except_'.$Row['id'].'" value="Přidat vyjímku"/></td></tr>');
    68       $DbResult2 = $Database->query("SELECT * FROM items WHERE parent=".$Row['id']);
    69       while($Except = $DbResult2->fetch_array())
    70       {
    71         echo('<tr><td>-&nbsp;&nbsp;'.$Except['name'].'</td><td>&nbsp;'.$Except['description'].'</td><td><input type="submit" name="edit_'.$Except['id'].'" value="Upravit vyjímku"/><input type="submit" name="remove_'.$Except['id'].'" value="Vymazat vyjímku"/></td></tr>');
    72       }
    73     }
    74     echo('</table><br/></form>');
    75     echo('<strong>Přidat položku</strong><br/>');
    76     echo('<form action="index.php?action=add" method="post">Název/cesta<br/><input type="text" name="name"><br/>Popis<br/><input type="text" name="description"><br/><input type="submit" value="Odeslat"></form>');
    77     echo('<strong>Provést zálohování</strong><br/>');
    78     echo('<form action="index.php?action=backup_now" method="post"><input type="submit" value="Zálohuj"></form>');
    79     echo('<strong>Popis zálohovacího systému</strong><br>Data jsou zálohována na pomocný 11 GB disk jako komprimovaný soubor. Zálohy dalších velkých souborů je nutné provádět ručně na klientské počítače správců sítě.<br/>Složky jsou kopírovány rekurzivně do hloubky (tzn. včetně podsložek). Pokud nechcete, aby složka byla procházena do hloubky, uveďte za její cestu "/*", jinak ale za názvem lomítko neuvádějte. Kromě toho je možné ke každé složce uvést seznam vyjímek. Ty jsou uváděny jako relativní cesty k souborům a složkám.<br>');
    80   }
    81 ShowFooter();
     92$System->AddModule(new BackupManagePage());
     93$System->Modules['BackupManagePage']->GetOutput();
     94
    8295?>
Note: See TracChangeset for help on using the changeset viewer.