Example #1
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);
}