include_once 'lib/syncobjects/syncsendmail.php'; include_once 'lib/syncobjects/syncsendmailsource.php'; include_once 'lib/default/backend.php'; include_once 'lib/default/searchprovider.php'; 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();