Example #1
0
            die('Check log\\n');
        }
    }
} else {
    $redis = false;
}
require "Lib/phpMQTT.php";
$mqtt = new phpMQTT($mqtt_server['host'], $mqtt_server['port'], "Emoncms input subscriber");
require "Modules/user/user_model.php";
$user = new User($mysqli, $redis, null);
require_once "Modules/feed/feed_model.php";
$feed = new Feed($mysqli, $redis, $feed_settings);
require_once "Modules/input/input_model.php";
$input = new Input($mysqli, $redis, $feed);
require_once "Modules/process/process_model.php";
$process = new Process($mysqli, $input, $feed, $user->get_timezone($mqttsettings['userid']));
if (!$mqtt->connect(true, NULL, $mqtt_server['user'], $mqtt_server['password'])) {
    $log->error("Cannot connect to MQTT Server");
    die('Check log\\n');
}
$topic = $mqttsettings['basetopic'] . "/#";
echo "Subscribing to: " . $topic . "\n";
$topics[$topic] = array("qos" => 0, "function" => "procmsg");
$mqtt->subscribe($topics, 0);
while ($mqtt->proc()) {
}
$mqtt->close();
function procmsg($topic, $value)
{
    $time = time();
    echo $topic . " " . $value . "\n";
            die('Check log\\n');
        }
    }
} else {
    $redis = false;
}
require "Modules/user/user_model.php";
$user = new User($mysqli, $redis, null);
include "Modules/feed/feed_model.php";
$feed = new Feed($mysqli, $redis, $feed_settings);
require_once "Modules/feed/engine/shared_helper.php";
$helperclass = new SharedHelper();
$session['userid'] = $userid;
// required
$emailto = $user->get_email($session['userid']);
$usertimezone = $user->get_timezone($session['userid']);
$now = DateTime::createFromFormat("U", $time);
$now->setTimezone(new DateTimeZone($usertimezone));
$now->setTime(23, 59, 59);
// at 23:59:59
$now->modify("last day of previous month");
$end = $now->format("U");
$endText = $now->format("YmdHis");
// today
$now->setTime(0, 0);
// at 00:00
$now->modify("first day of this month");
$start = $now->format("U");
$startText = $now->format("YmdHis");
// Get user feeds
$userfeeds = $feed->get_user_feeds($session['userid']);
Example #3
0
        if (!$redis->auth($redis_server['auth'])) {
            $log->error("Cannot connect to redis at " . $redis_server['host'] . ", autentication failed");
            die('Check log\\n');
        }
    }
} else {
    $redis = false;
}
require "Modules/user/user_model.php";
$user = new User($mysqli, $redis, null);
require_once "Modules/feed/feed_model.php";
$feed = new Feed($mysqli, $redis, $feed_settings);
require_once "Modules/input/input_model.php";
$input = new Input($mysqli, $redis, $feed);
require_once "Modules/process/process_model.php";
$process = new Process($mysqli, $input, $feed, $user->get_timezone($mqtt_server['userid']));
$mqtt_client = new Mosquitto\Client();
$mqtt_client->setCredentials($mqtt_server['user'], $mqtt_server['password']);
$connected = false;
$mqtt_client->onConnect('connect');
$mqtt_client->onDisconnect('disconnect');
$mqtt_client->onSubscribe('subscribe');
$mqtt_client->onMessage('message');
$mqtt_client->connect($mqtt_server['host'], $mqtt_server['port'], 5);
$topic = $mqtt_server['basetopic'] . "/#";
echo "Subscribing to: " . $topic . "\n";
$log->warn("Subscribing to: " . $topic);
$mqtt_client->subscribe($topic, 2);
while (true) {
    $mqtt_client->loop();
}
Example #4
0
 /**
  * Logs the user in
  * @param string $uname username
  * @param string $pass password
  * @param string $cookieVal y or n if we are using cookie
  * @param string $isCookie id value of user stored in the cookie
  * @param string $resume page to forward the user to after a login
  * @param string $lang language code to set
  * @return any error message that occured during login
  */
 function doLogin($uname, $pass, $cookieVal = null, $isCookie = false, $resume = '', $lang = '')
 {
     global $conf;
     $msg = '';
     if (empty($resume)) {
         $resume = 'ctrlpnl.php';
     }
     // Go to control panel by default
     $_SESSION['sessionID'] = null;
     $_SESSION['sessionName'] = null;
     $_SESSION['sessionAdmin'] = null;
     $_SESSION['hourOffset'] = null;
     $uname = stripslashes($uname);
     $pass = stripslashes($pass);
     $ok_user = $ok_pass = false;
     $use_logonname = (bool) $conf['app']['useLogonName'];
     $adminemail = strtolower($conf['app']['adminEmail']);
     if ($isCookie !== false) {
         // Cookie is set
         $cookieValue = $isCookie;
         if (($id = $this->verifyCookie($cookieValue)) !== false) {
             $ok_user = $ok_pass = true;
         } else {
             $ok_user = $ok_pass = false;
             setcookie('ID', '', time() - 3600, '/');
             // Clear out all cookies
             $msg .= translate('That cookie seems to be invalid') . '<br/>';
         }
     } else {
         if ($conf['ldap']['authentication']) {
             // Include LDAPEngine class
             include_once 'LDAPEngine.class.php';
             $ldap = new LDAPEngine($uname, $pass);
             if ($ldap->connected()) {
                 $mail = $ldap->getUserEmail();
                 if ($mail) {
                     $id = $this->db->userExists($mail);
                     if ($id) {
                         // check if LDAP and local DB are in consistancy.
                         $updates = $ldap->getUserData();
                         if ($this->db->check_updates($id, $updates)) {
                             $this->db->update_user($id, $updates);
                         }
                     } else {
                         $data = $ldap->getUserData();
                         $id = $this->do_register_user($data, false);
                     }
                     $ok_user = true;
                     $ok_pass = true;
                 } else {
                     $msg .= translate('This system requires that you have an email address.');
                 }
             } else {
                 $msg .= translate('Invalid User Name/Password.');
             }
             $ldap->disconnect();
         } else {
             // If we cant find email, set message and flag
             if (!($id = $this->db->userExists($uname, $use_logonname))) {
                 $msg .= translate('We could not find that logon in our database.') . '<br/>';
                 $ok_user = false;
             } else {
                 $ok_user = true;
             }
             // If password is incorrect, set message and flag
             if ($ok_user && !$this->db->isPassword($uname, $pass, $use_logonname)) {
                 $msg .= translate('That password did not match the one in our database.') . '<br/>';
                 $ok_pass = false;
             } else {
                 $ok_pass = true;
             }
         }
     }
     // If the login failed, notify the user and quit the app
     if (!$ok_user || !$ok_pass) {
         $msg .= translate('You can try');
         return $msg;
     } else {
         $this->is_loggedin = true;
         $user = new User($id);
         // Get user info
         // If the user wants to set a cookie, set it
         // for their ID and fname.  Expires in 30 days (2592000 seconds)
         if (!empty($cookieVal)) {
             //die ('Setting cookie');
             setcookie('ID', $this->generateCookie($user->get_id()), time() + 2592000, '/');
         }
         // If it is the admin, set session variable
         if ($user->get_email() == $adminemail || $user->get_isadmin()) {
             $_SESSION['sessionAdmin'] = $user->get_email();
         }
         // Set other session variables
         $_SESSION['sessionID'] = $user->get_id();
         $_SESSION['sessionName'] = $user->get_fname();
         $_SESSION['hourOffset'] = $user->get_timezone() - $conf['app']['timezone'];
         if ($lang != '') {
             set_language($lang);
             if ($lang != $user->get_lang()) {
                 $user->set_lang($lang);
                 // Language changed so update the DB
             }
         }
         // Send them to the control panel
         CmnFns::redirect(urldecode($resume));
     }
 }
Example #5
0
 /**
  * @desc Update user
  * @param User $user 
  * @param string $condition the SQL condition update user
  * @param array $parameters 
  */
 public static function update(User $user, $extended_fields = null)
 {
     $condition = 'WHERE user_id=:user_id';
     $parameters = array('user_id' => $user->get_id());
     self::$querier->update(DB_TABLE_MEMBER, array('display_name' => TextHelper::htmlspecialchars($user->get_display_name()), 'level' => $user->get_level(), 'groups' => implode('|', $user->get_groups()), 'email' => $user->get_email(), 'show_email' => (int) $user->get_show_email(), 'locale' => $user->get_locale(), 'timezone' => $user->get_timezone(), 'theme' => $user->get_theme(), 'editor' => $user->get_editor()), $condition, $parameters);
     if ($extended_fields !== null) {
         if ($extended_fields instanceof MemberExtendedFieldsService) {
             $fields_data = $extended_fields->get_data($user->get_id());
         } elseif (is_array($extended_fields)) {
             $fields_data = $extended_fields;
         } else {
             $fields_data = array();
         }
         self::$querier->update(DB_TABLE_MEMBER_EXTENDED_FIELDS, $fields_data, $condition, $parameters);
     }
     SessionData::recheck_cached_data_from_user_id($user->get_id());
     self::regenerate_cache();
 }