<?php $bootstrap_settings['freepbx_auth'] = false; $bootstrap_settings['skip_astman'] = true; if (!@(include_once getenv('FREEPBX_CONF') ? getenv('FREEPBX_CONF') : '/etc/freepbx.conf')) { include_once '/etc/asterisk/freepbx.conf'; } $network = polycomphones_get_networks_ip($_SERVER['REMOTE_ADDR']); polycomphones_check_network($network); if ($network['settings']['prov_uploads'] != '1') { header('HTTP/1.0 405 Method Not Allowed'); polycomphones_send_error('405 Method Not Allowed', 'The requested method PUT is not allowed for the URL.'); } $file = str_replace('/polycom/', '', $_SERVER['REQUEST_URI']); $putdata = fopen("php://input", "r"); $fp = fopen($file, "w"); while ($data = fread($putdata, 1024)) { fwrite($fp, $data); } fclose($fp); fclose($putdata);
function polycomphones_check_network($network) { if ($network['settings']['prov_ssl'] == '1' && empty($_SERVER['HTTPS'])) { header('HTTP/1.0 403 Forbidden'); polycomphones_send_error('403 Forbidden', 'SSL is required to view this page.'); } if (empty($network['settings']['prov_username'])) { return; } if (!isset($_SERVER['PHP_AUTH_USER']) || !($network['settings']['prov_username'] == $_SERVER['PHP_AUTH_USER'] && $network['settings']['prov_password'] == $_SERVER['PHP_AUTH_PW'])) { header('WWW-Authenticate: Basic realm="Authentication Required"'); header('HTTP/1.0 401 Unauthorized'); polycomphones_send_error('401 Unathorized', 'Authentication is required to view this page.'); } }