Example #1
0
<?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.');
    }
}