Example #1
0
include_once "classes/Check.php";
include_once "classes/Property.php";
// Base dir for scripts
$script_dir = "check-scripts";
// Get check info
// Create check object
$check = new Check($check_id);
// Start timer and exec check script
$time_start = microtime(true);
$script = "{$script_dir}/" . $check->get_parsed_check_script();
$check_result = exec_check($script);
// Now create a new Event object
// Store the info we know from Check object
// and check results
$event = new Event();
$event->set_status($check_result['status']);
$event->set_info_msg($check_result['message']);
$event->set_performance_data($check_result['perf_data']);
$event->set_check_id($check->get_check_id());
$event->set_script($script);
$event->set_check_name($check->get_name());
$event->set_hostname($check->get_hostname());
$event->set_key1($check->get_key1());
$event->set_key2($check->get_key2());
// Now  we can use handle_event() to figure out if this is a new
// or exitsing event. It will do all the updating for us
// and call notify() in the event class
$event->handle_event();
$time_end = microtime(true);
$time = $time_end - $time_start;
//print status line
Example #2
0
}
// New verify if we have enough info
if (!is_numeric($mydata['status'])) {
    $msg = "Invalid request: status not numeric";
    header("HTTP/1.0 400 {$msg}");
    print $msg;
    exit;
} else {
    // If return status > 3, means invalid status, rewrite to unknown (3)
    if ($mydata['status'] > 3) {
        //print "Warning rewrote status value from ". $mydata['status'] ." to 3\n";
        $mydata['status'] = 3;
    }
}
$event = new Event();
$event->set_status($mydata['status']);
$event->set_info_msg($mydata['message']);
$event->set_script("Submitted Check");
if (is_numeric($mydata['check_id'])) {
    // if this is the case we have the check_id that makes live easy.
    $event->set_check_id($mydata['check_id']);
    $event->set_check_name($mydata['checkname']);
    $event->set_hostname($mydata['hostname']);
} else {
    // Then we need hostname with checkname and keys
    if (!isset($mydata['hostname']) || $mydata['hostname'] == '' || !isset($mydata['checkname']) || $mydata['checkname'] == '') {
        $msg = "Invalid request: Expecting either check_id or hostname AND checkname";
        header("HTTP/1.0 400 {$msg}");
        print $msg;
        exit;
    }
Example #3
0
function event_controller()
{
    global $mysqli, $redis, $user, $session, $route, $timestore_adminkey;
    global $feed;
    include "Modules/feed/feed_model.php";
    $feed = new Feed($mysqli, $redis, $timestore_adminkey);
    require "Modules/event/event_model.php";
    $event = new Event($mysqli, $redis);
    $userid = $session['userid'];
    if ($route->action == 'add' && $session['write']) {
        $eventfeed = intval(get('eventfeed'));
        $eventtype = intval(get('eventtype'));
        $eventvalue = floatval(get('eventvalue'));
        $action = intval(get('action'));
        $setfeed = intval(get('setfeed'));
        $setemail = get('setemail');
        $setvalue = floatval(get('setvalue'));
        $callcurl = get('callcurl');
        $mutetime = get('mutetime');
        $priority = get('priority');
        $message = get('message');
        $mqtttopic = get('mqtttopic');
        $mqttqos = get('mqttqos');
        $event->add($userid, $eventfeed, $eventtype, $eventvalue, $action, $setfeed, $setemail, $setvalue, $callcurl, $message, $mutetime, $priority, $mqtttopic, $mqttqos);
        $result = "Event added";
    }
    if ($route->action == 'edit' && $session['write']) {
        $eventid = intval(get('eventid'));
        $eventfeed = intval(get('eventfeed'));
        $eventtype = intval(get('eventtype'));
        $eventvalue = floatval(get('eventvalue'));
        $action = intval(get('action'));
        $setfeed = intval(get('setfeed'));
        $setemail = get('setemail');
        $setvalue = floatval(get('setvalue'));
        $callcurl = get('callcurl');
        $mutetime = get('mutetime');
        $priority = get('priority');
        $message = get('message');
        $mqtttopic = get('mqtttopic');
        $mqttqos = get('mqttqos');
        $event->update($userid, $eventid, $eventfeed, $eventtype, $eventvalue, $action, $setfeed, $setemail, $setvalue, $callcurl, $message, $mutetime, $priority, $mqtttopic, $mqttqos);
        $result = "Event updated";
    } else {
        if ($route->action == 'delete' && $session['write']) {
            $id = intval(get('id'));
            $event->delete($userid, $id);
            $result = "Event deleted";
        } else {
            if ($route->action == 'status' && $session['write']) {
                $id = intval(get('id'));
                $status = intval(get('status'));
                $event->set_status($userid, $id, $status);
                $result = "Event deleted";
            } else {
                if ($route->action == 'test' && $session['write']) {
                    $id = intval(get('id'));
                    $feedid = intval(get('feedid'));
                    $event->test($userid, $id, $feedid);
                    $result = "Event Test Sent";
                } else {
                    if ($route->action == 'settings' && $session['write']) {
                        $settings = $event->get_settings($session['userid']);
                        $result = view("Modules/event/event_settings_view.php", array('settings' => $settings));
                    } else {
                        if ($route->action == 'savesettings' && $session['write']) {
                            // Store userlang in database
                            $prowlkey = post('prowlkey');
                            $nmakey = post('nmakey');
                            $smtpserver = post('smtpserver');
                            $smtpuser = post('smtpuser');
                            $salt = $user->get_salt($session['userid']);
                            $smtppassword = trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $salt, post('smtppassword'), MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND))));
                            $smtpport = preg_replace('/[^\\w\\s-]/', '', post('smtpport'));
                            $consumerkey = post('consumerkey');
                            $consumersecret = post('consumersecret');
                            $usertoken = post('usertoken');
                            $usersecret = post('usersecret');
                            $mqttbrokerip = post('mqttbrokerip');
                            $mqttbrokerport = post('mqttbrokerport');
                            $mqttusername = post('mqttusername');
                            $mqttpassword = trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $salt, post('mqttpassword'), MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND))));
                            $result = $event->set_settings($session['userid'], $prowlkey, $consumerkey, $consumersecret, $usertoken, $usersecret, $smtpserver, $smtpuser, $smtppassword, $smtpport, $nmakey, $mqttbrokerip, $mqttbrokerport, $mqttusername, $mqttpassword);
                        } else {
                            if ($session['write']) {
                                $list = $event->eventlist($userid);
                                $feeds = $feed->get_user_feeds($userid);
                                $result = view("Modules/event/event_list.php", array('event_list' => $list, 'feeds' => $feeds));
                            }
                        }
                    }
                }
            }
        }
    }
    return array('content' => $result);
}