function check_device_key($devicekey) { global $mysqli, $redis; include "Modules/device/device_model.php"; $device = new Device($mysqli, $redis); $session = $device->devicekey_session($devicekey); if (empty($session)) { header($_SERVER["SERVER_PROTOCOL"] . " 401 Unauthorized"); header('WWW-Authenticate: Bearer realm="Device KEY", error="invalid_devicekey", error_description="Invalid device key"'); print "Invalid device key"; $log = new EmonLogger(__FILE__); $log->error("Invalid device key '" . $devicekey . "'"); exit; } return $session; }
} } if ($apikey) { $session = $user->apikey_session($apikey); if (empty($session)) { header($_SERVER["SERVER_PROTOCOL"] . " 401 Unauthorized"); header('WWW-Authenticate: Bearer realm="API KEY", error="invalid_apikey", error_description="Invalid API key"'); print "Invalid API key"; $log = new EmonLogger(__FILE__); $log->error("Invalid API key '" . $apikey . "'"); exit; } } else { if ($devicekey && @(include "Modules/device/device_model.php")) { $device = new Device($mysqli, $redis); $session = $device->devicekey_session($devicekey); if (empty($session)) { header($_SERVER["SERVER_PROTOCOL"] . " 401 Unauthorized"); header('WWW-Authenticate: Bearer realm="Device KEY", error="invalid_devicekey", error_description="Invalid device key"'); print "Invalid device key"; $log = new EmonLogger(__FILE__); $log->error("Invalid device key '" . $devicekey . "'"); exit; } } else { $session = $user->emon_session_start(); } } // 4) Language if (!isset($session['lang'])) { $session['lang'] = '';