source: www/backup/index.php@ 154

Last change on this file since 154 was 154, checked in by george, 16 years ago
  • 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.
  • Property svn:executable set to *
File size: 5.3 KB
Line 
1<?php
2include_once('../global.php');
3
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>';
15
16 if(!array_key_exists('action', $_GET)) $_GET['action'] = '';
17
18 $Output = '';
19 switch($_GET['action'])
20 {
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)
39 {
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;
62 }
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())
77 {
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>';
79 }
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}
91
92$System->AddModule(new BackupManagePage());
93$System->Modules['BackupManagePage']->GetOutput();
94
95?>
Note: See TracBrowser for help on using the repository browser.