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.
Device ID
Device Name
Device Description
Group
Active
";
while ($tablerow=mysqli_fetch_assoc($existingdata)) {
extract($tablerow);
if ($group_flag) {
$groupdef="";
} else {
$groupdef="";
}
if ($active_flag) {
$statdef="";
} else {
$statdef="";
}
printf("