Example #1
0
include_once 'lib/request/request.php';
include_once 'lib/request/requestprocessor.php';
include_once 'config.php';
include_once 'version.php';
// Attempt to set maximum execution time
ini_set('max_execution_time', SCRIPT_TIMEOUT);
set_time_limit(SCRIPT_TIMEOUT);
try {
    // check config & initialize the basics
    ZPush::CheckConfig();
    Request::Initialize();
    ZLog::Initialize();
    ZLog::Write(LOGLEVEL_DEBUG, "-------- Start");
    ZLog::Write(LOGLEVEL_INFO, sprintf("Version='%s' method='%s' from='%s' cmd='%s' getUser='******' devId='%s' devType='%s'", @constant('ZPUSH_VERSION'), Request::GetMethod(), Request::GetRemoteAddr(), Request::GetCommand(), Request::GetGETUser(), Request::GetDeviceID(), Request::GetDeviceType()));
    // Stop here if this is an OPTIONS request
    if (Request::IsMethodOPTIONS()) {
        throw new NoPostRequestException("Options request", NoPostRequestException::OPTIONS_REQUEST);
    }
    ZPush::CheckAdvancedConfig();
    // Process request headers and look for AS headers
    Request::ProcessHeaders();
    // Check required GET parameters
    if (Request::IsMethodPOST() && (Request::GetCommandCode() === false || !Request::GetGETUser() || !Request::GetDeviceID() || !Request::GetDeviceType())) {
        throw new FatalException("Requested the Z-Push URL without the required GET parameters");
    }
    // Load the backend
    $backend = ZPush::GetBackend();
    // always request the authorization header
    if (!Request::AuthenticationInfo()) {
        throw new AuthenticationRequiredException("Access denied. Please send authorisation information");
    }