summaryrefslogtreecommitdiff
blob: 502e2e33c6ff0b32ab5bb4a10f4b677031dce02b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
<?php
include('.lib/common.php');

$smarty->assign('leftbar', "on");
$leftbar_menu = array();
$leftbar_submenu = array();
$smarty->assign('desc', "Manage scripts.");
#add_leftbar($leftbar_menu, "Main Settings", "settings.php");
#add_leftbar($leftbar_menu, "Clients Page", "settings.php?View=Clients");
$smarty->assign('leftbar_submenu_title', "Actions");
add_leftbar($leftbar_submenu, "Add Script", "script.php?Action=create");

if ($_POST['add_script']) {
	#What are the required fields?
	#name, description, location, script_data,log_location, success_code, run_as, priority, permission, pp_location, pp_script_data.
	if ($_POST['addname'] and $_POST['desc']) {
		$script['name'] = $_POST['addname'];
		$script['desc'] = $_POST['desc'];
	} else {
		$status .= "Error: name or description missing!";
	}
	if ($_POST['script_data_type']) {
		$script['location'] = "Embedded";
		if ($_POST['script_data_type'] == "load") {
			$script['script_data'] = $_POST['script_data_upload']; #FIXME how is this done?
		} elseif ($_POST['script_data_type'] == "manual") {
			$script['script_data'] = $_POST['script_data_manual'];
		}
	} else {
		$status .= "Error: You must select a script type (Load from file or manual input!";
	}
	if ($_POST['runas_radio']) {
		$script['run_as'] = $_POST['runas_radio'];
	} elseif ($_POST['runas']) {
		$script['run_as'] = $_POST['runas'];
	} else {
		$status .= "No run_as selected, defaulting to root!!! ";
		$script['run_as'] = "root";
	}
	if ($_POST['priority']) {
		$script['priority'] = $_POST['priority'];
	} else {
		$status .= "No priority selected, defaulting to 5. ";
		$script['priority'] = "5";
	}
	if ($_POST['success_code']) {
		$script['success_code'] = $_POST['success_code'];
	} else {
		$status .= "No success code selected, defaulting to 0. ";
		$script['success_code'] = "0";
	}
	if ($_POST['permission']) {
		$script['permission'] = $_POST['permission'];
	}
	if ($_POST['pps_type']) {
		$script['pp_location'] = "Embedded";
		if ($_POST['pps_type'] == "load") {
			$script['pp_script_data'] = $_POST['pps_load']; #FIXME how is this done?
		} elseif ($_POST['pps_type'] == "manual") {
			$script['pp_script_data'] = $_POST['pps_data'];
		}
	}
	#Ok, i think we got everything, now lets add it
	$result = scire_add_script($script['name'], $script['desc'], $script['location'], $script['script_data'], $script['log_location'], $script['success_code'], $script['run_as'], $script['priority'], $script['permission'], $script['pp_location'], $script['pp_script_data']);
	if ($result) { #success
		$status .= "Scipt addition successfull!";
	} else {
		$status .= "BAD BAD! Error during query. $result";
	}
}

$permissions = array();
$perm_categories = array();
$smarty->assign('priorities', get_priorities() );
$all_permissions = $acl->get_objects(NULL, 1, 'ACO');
foreach ($all_permissions as $categoryname => $cat) {
	#print "Perm: $perm<br>Permname: $permname<br>";
	if ($categoryname != $scire_ui_section) {
		foreach ($cat as $perm) {
			array_push($permissions, $perm);
		}
		array_push($perm_categories, $categoryname);
	}
}
$smarty->assign('perm_categories',$perm_categories);
$smarty->assign('perms', $permissions);

$smarty->assign('leftbar_menu', $leftbar_menu);
$smarty->assign('leftbar_submenu', $leftbar_submenu);
$smarty->assign('View', $_GET['View']);
$smarty->assign('Action', $_GET['Action']);
$smarty->assign('status', $status);
$smarty->display('script.tpl');
var_dump($_POST);
?>