You didn't select a task. ";
}
// check for device selected
if ($device) {
$deviceselected = true;
} else {
$deviceselected = false;
$errorstack[] = " You didn't select a device. ";
}
// sanitize text data
$start_date = mysqli_real_escape_string($db, $start_date);
$last_date = mysqli_real_escape_string($db, $last_date);
$deferred_date = mysqli_real_escape_string($db, $deferred_date);
if ($taskselected && $deviceselected) {
// determine if device represents a group and break out individual devices
if (dblookup($db, "devices", "deviceid", "group_flag", $device)) {
$memberqry = mysqli_query($db, "select memberdevice from devicegroups where groupdevice=\"$device\"");
$memberlist = array();
while ($memberrow = mysqli_fetch_row($memberqry)) {
$memberlist[] = $memberrow[0];
}
} else {
$memberlist = array($device);
}
// run through the memberlist and modify the table
foreach ($memberlist as $memberdev) {
if ($start_date == NULL) $start_date = $today;
if ($last_date == NULL) $last_date = "0000-00-00";
if ($deferred_date == NULL) $deferred_date = "0000-00-00";
$addqry = ("insert into events(task,device,start_date,last_date,deferred_flag,deferred_date,active_flag)
values(\"$task\",\"$memberdev\",\"$start_date\",\"$last_date\",\"$deferred_flag\",\"$deferred_date\",\"$active_flag\")");
mysqli_query($db, $addqry);
}
}
}
if ($tasks) {
// do error checking
// test for name supplied
if (strlen(trim($taskname))) {
$namesuppld = true;
} else {
$namesuppld = false;
$errorstack[] = " Task name cannot be blank. ";
}
// test for name unique
if (mysqli_num_rows(mysqli_query($db, "select taskid from tasks where taskname=\"$taskname\""))) {
$nameunique = false;
$errorstack[] = " Task name already exists. ";
} else {
$nameunique = true;
}
// sanitize text data
$taskname = mysqli_real_escape_string($db, $taskname);
$taskdesc = mysqli_real_escape_string($db, $taskdesc);
$refdoc_name = mysqli_real_escape_string($db, $refdoc_name);
$refdoc_url = mysqli_real_escape_string($db, $refdoc_url);
if ($namesuppld && $nameunique) {
// modify the table
$addqry = ("insert into tasks(taskname,taskdesc,frequency,period,weekdays_only,nextdue_relative,refdoc_name,refdoc_url,active_flag)
values(\"$taskname\",\"$taskdesc\",\"$frequency\",\"$period\",\"$weekdays_only\",\"$nextdue_relative\",\"$refdoc_name\",\"$refdoc_url\",\"$active_flag\")");
mysqli_query($db, $addqry);
}
}
if ($devices) {
// do error checking
// test for name supplied
if (strlen(trim($devicename))) {
$namesuppld = true;
} else {
$namesuppld = false;
$errorstack[] = " Device name cannot be blank. ";
}
// test for name unique
if (mysqli_num_rows(mysqli_query($db, "select deviceid from devices where devicename=\"$devicename\""))) {
$nameunique = false;
$errorstack[] = " Device name already exists. ";
} else {
$nameunique = true;
}
// sanitize name and description
$devicename = mysqli_real_escape_string($db, $devicename);
$devicedesc = mysqli_real_escape_string($db, $devicedesc);
if ($namesuppld && $nameunique) {
// modify the table
$addqry = ("insert into devices(devicename,devicedesc,group_flag,active_flag) values(\"$devicename\",\"$devicedesc\",\"$group_flag\",\"$active_flag\")");
mysqli_query($db, $addqry);
}
}
}
if ($edit) {
if ($schedule) {
if ($delete) {
// delete entity
mysqli_query($db, "delete from events where eventid=\"$id\"");
}
if ($update) {
// do error checking
// sanitize text data
$start_date = mysqli_real_escape_string($db, $start_date);
$last_date = mysqli_real_escape_string($db, $last_date);
$deferred_date = mysqli_real_escape_string($db, $deferred_date);
// update the tasks table
if ($start_date == NULL) $start_date = $today;
if ($last_date == NULL) $last_date = "0000-00-00";
if ($deferred_date == NULL) $deferred_date = "0000-00-00";
mysqli_query($db, "update events
set task=\"$task\",device=\"$device\",start_date=\"$start_date\",last_date=\"$last_date\",deferred_flag=\"$deferred_flag\",
deferred_date=\"$deferred_date\",active_flag=\"$active_flag\"
where eventid=\"$id\"");
}
}
if ($tasks) {
if ($delete) {
// check for scheduled maintenance for this entity
if (mysqli_num_rows(mysqli_query($db, "select eventid from events where task=\"$id\""))) {
$hasevents = true;
$errorstack[] = " Task has been scheduled maintenance and cannot be deleted. ";
} else {
$hasevents = false;
}
if (!$hasevents) {
// delete entity
mysqli_query($db, "delete from tasks where taskid=\"$id\"");
}
}
if ($update) {
// do error checking
// test for name supplied
if (strlen(trim($taskname))) {
$namesuppld = true;
} else {
$namesuppld = false;
$errorstack[] = " Task name cannot be blank. ";
}
// test for name unique
if (mysqli_num_rows(mysqli_query($db, "select taskid from tasks where taskname=\"$taskname\" and taskid!=\"$id\""))) {
if (mysqli_num_rows(mysqli_query($db, "select taskid from tasks where taskname=\"$taskname\""))) {
$nameunique = false;
$errorstack[] = " Task name already exists. ";
} else {
$nameunique = true;
}
} else {
$nameunique = true;
}
// sanitize text data
$taskname = mysqli_real_escape_string($db, $taskname);
$taskdesc = mysqli_real_escape_string($db, $taskdesc);
$refdoc_name = mysqli_real_escape_string($db, $refdoc_name);
$refdoc_url = mysqli_real_escape_string($db, $refdoc_url);
if ($namesuppld && $nameunique) {
// update the tasks table
mysqli_query($db, "update tasks
set taskname=\"$taskname\",taskdesc=\"$taskdesc\",frequency=\"$frequency\",period=\"$period\",weekdays_only=\"$weekdays_only\",
nextdue_relative=\"$nextdue_relative\",refdoc_name=\"$refdoc_name\",refdoc_url=\"$refdoc_url\",active_flag=\"$active_flag\"
where taskid=\"$id\"");
}
}
}
if ($devices) {
if ($delete) {
// check for scheduled maintenance for this device
if (mysqli_num_rows(mysqli_query($db, "select eventid from events where device=\"$id\""))) {
$hasevents = true;
$errorstack[] = " Device has scheduled maintenance and cannot be deleted. ";
} else {
$hasevents = false;
}
if (!$hasevents) {
// delete entity
mysqli_query($db, "delete from devices where deviceid=\"$id\"");
}
}
if ($update) {
// do error checking
// test for name supplied
if (strlen(trim($devicename))) {
$namesuppld = true;
} else {
$namesuppld = false;
$errorstack[] = " Device name cannot be blank. ";
}
// test for name unique
if (mysqli_num_rows(mysqli_query($db, "select deviceid from devices where devicename=\"$devicename\" and deviceid!=\"$id\""))) {
if (mysqli_num_rows(mysqli_query($db, "select deviceid from devices where devicename=\"$devicename\""))) {
$nameunique = false;
$errorstack[] = " Device name already exists. ";
} else {
$nameunique = true;
}
} else {
$nameunique = true;
}
// sanitize name and description
$devicename = mysqli_real_escape_string($db, $devicename);
$devicedesc = mysqli_real_escape_string($db, $devicedesc);
if ($namesuppld && $nameunique) {
// update the devices table
mysqli_query($db, "update devices set devicename=\"$devicename\",devicedesc=\"$devicedesc\",group_flag=\"$group_flag\",active_flag=\"$active_flag\" where deviceid=\"$id\"");
// update the devicegroups table
mysqli_query($db, "delete from devicegroups where groupdevice=\"$id\"");
if ($group_flag) {
foreach ($members as $member) {
mysqli_query($db, "insert into devicegroups(groupdevice,memberdevice) values(\"$id\",\"$member\")");
}
}
}
}
}
}
// **** END DATABASE OPERATIONS ****
framework("begin", "$logname", "Scheduled Maintenance", $print);
//var_dump($_REQUEST);
pagetable("begin");
pageblock("left", "begin");
sidemenu();
pageblock("left", "end");
pageblock("right", "begin");
banner($print);
if ($loggedin) {
echo "
";
}
// display any errors from database operations
if (count($errorstack)) {
foreach ($errorstack as $errorline) {
echo "$errorline ";
}
}
if ($action) {
// pull current values from database
$currentvalues = mysqli_fetch_assoc(mysqli_query($db, "select * from events where eventid=$id"));
extract($currentvalues);
$taskname = dblookup($db, "tasks", "taskid", "taskname", $task);
$devicename = dblookup($db, "devices", "deviceid", "devicename", $device);
// display form to complete or defer
echo "
Task : $taskname
Device : $devicename
Complete Scheduled Maintenance
Defer Scheduled Maintenance
";
} else if ($schedule) {
// manage maintenance schedule
if ($edit) {
// set form options for editing
$sectiontitle = "Modify Event
";
$formtag = "
";
// show table of current devices
$existingdata = mysqli_query($db, "select * from devices");
echo "
Existing Devices Click on the Device ID to edit.