Changeset 154 for www/backup/index.php
- Timestamp:
- Feb 16, 2009, 7:54:34 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
www/backup/index.php
r150 r154 1 1 <?php 2 // Stránka pro řízení zálohování 3 include('../style.php'); 4 ShowHeader('Zálohovací systém', 'Nastavení zálohování'); 2 include_once('../global.php'); 5 3 6 $Database->select_db('backup'); 7 $zpet = '<p><a href="index.php">Zpět</a></p>'; 4 class 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>'; 8 15 9 if(!array_key_exists('action', $_GET)) $_GET['action'] = '';16 if(!array_key_exists('action', $_GET)) $_GET['action'] = ''; 10 17 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']) 28 20 { 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) 36 39 { 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; 39 62 } 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> '.$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()) 49 77 { 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>- '.$Except['name'].'</td><td> '.$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>'; 52 79 } 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 } 57 91 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> '.$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>- '.$Except['name'].'</td><td> '.$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 82 95 ?>
Note:
See TracChangeset
for help on using the changeset viewer.