<?php

$ip_check = $_SERVER['REMOTE_ADDR'];
$allow = false;

if(!isset($_GET['tkn'])) {
    die("Nope");
}

$ips_allowed = array(
    '13.52.5.96/28',
    '13.236.8.224/28',
    '18.136.214.96/28',
    '18.184.99.224/28',
    '18.234.32.224/28',
    '52.215.192.224/28',
    '104.192.137.240/28',
    '104.192.138.240/28',
    '104.192.140.240/28',
    '104.192.142.240/28',
    '104.192.143.240/28',
    '185.166.143.240/28',
    '185.166.142.240/28',
    '52.41.219.63/32',
    '34.216.18.129/32',
    '13.236.8.128/25',
    '18.246.31.128/25',
    '34.236.25.177/32',
    '185.166.140.0/22',
    '34.199.54.113/32',
    '35.155.178.254/32',
    '52.204.96.37/32',
    '35.160.177.10/32',
    '52.203.14.55/32',
    '18.184.99.128/25',
    '52.215.192.128/25',
    '104.192.136.0/21',
    '18.205.93.0/27',
    '35.171.175.212/32',
    '18.136.214.0/25',
    '52.202.195.162/32',
    '13.52.5.0/25',
    '34.218.168.212/32',
    '18.234.32.128/25',
    '34.218.156.209/32',
    '52.54.90.98/32',
    '34.232.119.183/32',
    '34.232.25.90/32',
);

function ip_in_range($ip, $range) {
    list($range, $netmask) = explode('/', $range, 2);
    $ip_decimal = ip2long($ip);
    $range_decimal = ip2long($range);
    $wildcard_decimal = pow(2, (32 - $netmask)) - 1;
    $netmask_decimal = ~ $wildcard_decimal;

    return (($ip_decimal & $netmask_decimal) == ($range_decimal & $netmask_decimal));
}

foreach ($ips_allowed as $range) {
    $allow = ip_in_range($ip_check, $range);
    if ($allow) {
        break;
    }
}

//if (!$allow) {
//      die('IP not allowed: '.$ip_check);
//}

function get_url($url){
    $c = curl_init();
    curl_setopt($c, CURLOPT_URL, $url);
    curl_setopt($c, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($c, CURLOPT_POST, true);
    $result = curl_exec($c);
    curl_close($c);

    return $result;
}

switch ($_GET['tkn']) {
    case 'EXAMPLE_TOKEN':
        echo "testing";
        break;
    case '629860ff-5b06-4c93-8f45-0053dfa51710': // label deploy
        get_url("https://lui.sawisonline.co.za/deploy.php?tkn=6hrFDATxrG9w14QY9wwnmVhLE0Wg6LIvwOwUaxz761m1JfRp4rs8Mzozk5xhSkw0_MQz6bpcJnrFUDwp5lPPFC157dHxbkKlDiQ9XY3ZIP8zAGCsS8ruN2uKjIaIargX");
        echo "Deploying to Label";
        break;
    case '92dcb970-3296-4be2-9c1c-d722309c8e89': // BIQA deploy
        get_url("http://biqa.sawisonline.co.za/api/public/deploy.php?tkn=6hrFDATxrG9w14QY9wwnmVhLE0Wg6LIvwOwUaxz761m1JfRp4rs8Mzozk5xhSkw0_MQz6bpcJnrFUDwp5lPPFC157dHxbkKlDiQ9XY3ZIP8zAGCsS8ruN2uKjIaIargX");
        echo "Deploying to BIQA";
        break;
    case 'defa2690-449e-4ac9-be7b-e53979710008': // BI deploy
        get_url("http://biqa.sawisonline.co.za/api/public/deploy.php?tkn=6hrFDATxrG9w14QY9wwnmVhLE0Wg6LIvwOwUaxz761m1JfRp4rs8Mzozk5xhSkw0_MQz6bpcJnrFUDwp5lPPFC157dHxbkKlDiQ9XY3ZIP8zAGCsS8ruN2uKjIaIargX");
        echo "Deploying to BI";
        break;    
    case 'timmy':
        file_get_contents("");
        break;
}