Project

General

Profile

« Previous | Next » 

Revision e2bb3424

Added by Steve Beaver about 4 years ago

Revise firewall schedule delete for MVC

View differences:

src/usr/local/www/firewall_schedule.php
40 40
require_once("guiconfig.inc");
41 41
require_once("filter.inc");
42 42
require_once("shaper.inc");
43
require_once("firewall_schedule.inc");
43 44

  
44 45
$pgtitle = array(gettext("Firewall"), gettext("Schedules"));
45 46

  
......
47 48
$a_schedules = &$config['schedules']['schedule'];
48 49

  
49 50
if ($_POST['act'] == "del") {
50
	if ($a_schedules[$_POST['id']]) {
51
		/* make sure rule is not being referenced by any nat or filter rules */
52
		$is_schedule_referenced = false;
53
		$referenced_by = false;
54
		$schedule_name = $a_schedules[$_POST['id']]['name'];
55

  
56
		if (is_array($config['filter']['rule'])) {
57
			foreach ($config['filter']['rule'] as $rule) {
58
				//check for this later once this is established
59
				if ($rule['sched'] == $schedule_name) {
60
					$referenced_by = $rule['descr'];
61
					$is_schedule_referenced = true;
62
					break;
63
				}
64
			}
65
		}
66

  
67
		if ($is_schedule_referenced == true) {
68
			$savemsg = sprintf(gettext("Cannot delete schedule. Currently in use by %s."), $referenced_by);
69
		} else {
70
			unset($a_schedules[$_POST['id']]);
71
			write_config(gettext("Firewall schedule deleted."));
72
			header("Location: firewall_schedule.php");
73
			exit;
74
		}
75
	}
51
	$errmsg = deleteSchedule($_POST);
76 52
}
77 53

  
78 54
include("head.inc");
79 55

  
80
if ($savemsg) {
81
	print_info_box($savemsg, 'success');
56
if ($errmsg) {
57
	print_info_box($errmsg, 'danger');
82 58
}
83 59
?>
84 60

  

Also available in: Unified diff