root/modules/branches/2.6/backup/page.backup.php

Revision 7470, 7.4 kB (checked in by mickecarlsson, 4 years ago)

Added missing GPL text, corrected license version

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1 <?php
2 //This file is part of FreePBX.
3 //
4 //    FreePBX is free software: you can redistribute it and/or modify
5 //    it under the terms of the GNU General Public License as published by
6 //    the Free Software Foundation, either version 2 of the License, or
7 //    (at your option) any later version.
8 //
9 //    FreePBX is distributed in the hope that it will be useful,
10 //    but WITHOUT ANY WARRANTY; without even the implied warranty of
11 //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 //    GNU General Public License for more details.
13 //
14 //    You should have received a copy of the GNU General Public License
15 //    along with FreePBX.  If not, see <http://www.gnu.org/licenses/>.
16 //
17 // backup.php Copyright (C) 2005 VerCom Systems, Inc. & Ron Hartmann (rhartmann@vercomsystems.com)
18 // Asterisk Management Portal Copyright (C) 2004 Coalescent Systems Inc. (info@coalescentsystems.ca)
19 //
20 ?>
21
22 <?php
23 include_once "schedule_functions.php";
24 global $asterisk_conf;
25 $action = isset($_REQUEST['action'])?$_REQUEST['action']:'';
26 $display='backup';
27 $type = 'tool';
28
29 $dir=isset($_REQUEST['dir'])?$_REQUEST['dir']:'';
30 $extdisplay=isset($_REQUEST['extdisplay'])?$_REQUEST['extdisplay']:'';
31 $file=isset($_REQUEST['file'])?$_REQUEST['file']:'';
32 $filetype=isset($_REQUEST['filetype'])?$_REQUEST['filetype']:'';
33 $ID=isset($_REQUEST['backupid'])?$_REQUEST['backupid']:'';
34 $name=isset($_REQUEST['name'])?$_REQUEST['name']:'backup';
35
36 // Santity check passed params
37 if (strstr($dir, '..') || strpos($dir, '\'') || strpos($dir, '"') || strpos($dir, '\'') || strpos($dir,'\`') ||
38     strstr($file, '..') || strpos($file, '\'') || strpos($file, '"') || strpos($file, '\'') || strpos($file,'\`') ||
39     strpos($ID, '.') || strpos($ID, '\'') || strpos($ID, '"') || strpos($ID, '\'') || strpos($ID,'\`') ||
40     strpos($filetype, '.') || strpos($filetype, '\'') || strpos($filetype, '"') || strpos($filetype, '\'') || strpos($filetype,'\`')) {
41     print "You're trying to use an invalid character. Please don't.\n";
42     exit;
43 }
44
45
46 switch ($action) {
47     case "addednew":
48         $ALL_days=isset($_POST['all_days'])?$_POST['all_days']:'';
49         $ALL_months=isset($_POST['all_months'])?$_POST['all_months']:'';
50         $ALL_weekdays=isset($_POST['all_weekdays'])?$_POST['all_weekdays']:'';
51
52         $backup_schedule=isset($_REQUEST['backup_schedule'])?$_REQUEST['backup_schedule']:'';
53         $name=(empty($_REQUEST['name'])?'backup':$_REQUEST['name']);
54         $mins=isset($_REQUEST['mins'])?$_REQUEST['mins']:'';
55         $hours=isset($_REQUEST['hours'])?$_REQUEST['hours']:'';
56         $days=isset($_REQUEST['days'])?$_REQUEST['days']:'';
57         $months=isset($_REQUEST['months'])?$_REQUEST['months']:'';
58         $weekdays=isset($_REQUEST['weekdays'])?$_REQUEST['weekdays']:'';
59         
60         $backup_options[]=$_REQUEST['bk_voicemail'];
61         $backup_options[]=$_REQUEST['bk_sysrecordings'];
62         $backup_options[]=$_REQUEST['bk_sysconfig'];
63         $backup_options[]=$_REQUEST['bk_cdr'];
64         $backup_options[]=$_REQUEST['bk_fop'];
65     
66         $Backup_Parms=Get_Backup_String($name,$backup_schedule, $ALL_days, $ALL_months, $ALL_weekdays, $mins, $hours, $days, $months, $weekdays);
67         Save_Backup_Schedule($Backup_Parms, $backup_options);
68     break;
69     case "edited":
70         Delete_Backup_set($ID);
71         $ALL_days=$_REQUEST['all_days'];
72         $ALL_months=$_REQUEST['all_months'];
73         $ALL_weekdays=$_REQUEST['all_weekdays'];
74
75         $backup_schedule=$_REQUEST['backup_schedule'];
76         $mins=$_REQUEST['mins'];
77         $hours=$_REQUEST['hours'];
78         $days=$_REQUEST['days'];
79         $months=$_REQUEST['months'];
80         $weekdays=$_REQUEST['weekdays'];
81         
82         $backup_options[]=$_REQUEST['bk_voicemail'];
83         $backup_options[]=$_REQUEST['bk_sysrecordings'];
84         $backup_options[]=$_REQUEST['bk_sysconfig'];
85         $backup_options[]=$_REQUEST['bk_cdr'];
86         $backup_options[]=$_REQUEST['bk_fop'];
87     
88         $Backup_Parms=Get_Backup_String($name,$backup_schedule, $ALL_days, $ALL_months, $ALL_weekdays, $mins, $hours, $days, $months, $weekdays);
89         Save_Backup_Schedule($Backup_Parms, $backup_options);
90     break;
91     case "delete":
92         Delete_Backup_set($ID);
93     break;
94     case "deletedataset":
95         exec("/bin/rm -rf '$dir'");
96     break;
97     case "deletefileset":
98         exec("/bin/rm -rf '$dir'");
99     break;
100     case "restored":
101         $Message=Restore_Tar_Files($dir, $file, $filetype, $display);
102         // Regenerate all the ASTDB stuff. Note, we need a way to do speedials and other astdb stuff here.
103         needreload();
104         redirect_standard();
105     break;
106 }
107
108
109 ?>
110 </div>
111 <div class="rnav"><ul>
112     <li><a href="config.php?type=<?php echo urlencode($type)?>&display=<?php echo urlencode($display)?>&action=add"><?php echo _("Add Backup Schedule")?></a></li>
113     <li><a href="config.php?type=<?php echo urlencode($type)?>&display=<?php echo urlencode($display)?>&action=restore"><?php echo _("Restore from Backup")?></a></li>
114
115 <?php
116 //get unique account rows for navigation menu
117 $results = Get_Backup_Sets();
118
119 if (isset($results)) {
120     foreach ($results as $result) {
121         echo "<li><a id=\"".($extdisplay==$result[13] ? 'current':'')."\" href=\"config.php?type=".urlencode($type)."&display=".urlencode($display)."&action=edit&backupid=".urlencode($result[13])."&backupname=".urlencode($result[0])."\">{$result[0]}</a></li>";
122     }
123 }
124 ?>
125 </ul></div>
126
127
128 <div class="content">
129
130 <?php
131 if ($action == 'add')
132 {
133     ?>
134     <h2><?php echo _("System Backup")?></h2>
135     <form name="addbackup" action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
136     <input type="hidden" name="display" value="<?php echo $display?>">
137     <input type="hidden" name="type" value="<?php echo $type?>">
138     <input type="hidden" name="action" value="addednew">
139         <table>
140     <?php Show_Backup_Options(); ?>
141         </table>
142     <h5><?php echo _("Run Schedule")?><hr></h5>
143         <table>
144     <?php show_schedule("yes",""); ?>
145     <tr>
146         <td colspan="5" align="center"><input name="Submit" type="submit" value="<?php echo _("Submit Changes")?>" ></td>
147         </tr>
148         </table>
149     </form>
150     <br><br><br><br><br>
151
152 <?php
153 }
154 else if ($action == 'edit')
155 {
156     ?>
157     <h2><?php echo _("System Backup")?></h2>
158 <?php
159     $delURL = $_SERVER['PHP_SELF'].'?type='.urlencode($type).'&display='.urlencode($display).'&action=delete&backupid='.urlencode($_REQUEST['backupid']);
160     $tlabel = sprintf(_("Delete Backup Schedule %s"),$_REQUEST['backupname']);
161     $label = '<span><img width="16" height="16" border="0" title="'.$tlabel.'" alt="" src="images/core_delete.png"/>&nbsp;'.$tlabel.'</span>';
162 ?>
163     <p><a href="<?php echo $delURL ?>"><?php echo $label; ?></a></p>
164
165     <form name="addbackup" action="<?php $_SERVER['PHP_SELF'] ?>" method="post">
166     <input type="hidden" name="display" value="<?php echo $display?>">
167     <input type="hidden" name="action" value="edited">
168     <input type="hidden" name="backupid" value="<?php echo $_REQUEST['backupid']; ?>">
169     <input type="hidden" name="type" value="<?php echo $type?>">
170         <table>
171     <?php Show_Backup_Options($_REQUEST['backupid']); ?>
172         </table>
173     <h5><?php echo _("Run Schedule")?><hr></h5>
174         <table>
175     <?php show_schedule("yes", "$_REQUEST[backupid]"); ?>
176     <tr>
177         <td colspan="5" align="center"><input name="Submit" type="submit" value="<?php echo _("Submit Changes")?>" ></td>
178         </tr>
179         </table>
180     </form>
181     <br><br><br><br><br>
182
183 <?php
184 }
185 else if ($action == 'restore')
186 {
187 ?>
188     <h2><?php echo _("System Restore")?></h2>
189 <?php
190     if (empty($dir)) {
191         $dir = $asterisk_conf['astvarlibdir']."/backups";
192         if(!is_dir($dir)) mkdir($dir);
193     }
194     Get_Tar_Files($dir, $display, $file);
195 }
196 else
197 {
198     if (isset($Message)){
199     ?>
200         <h3><?php echo $Message ?></h3>
201     <?php }
202     else{
203     ?>
204         <h2><?php echo _("System Backup") ?></h2>
205     <?php }
206 ?>
207
208    
209
210     <br><br><br><br><br><br>
211     <br><br><br><br><br><br>
212 <?php
213 }
214 ?>
215
Note: See TracBrowser for help on using the browser.