function CheckLocation($url, &$locations)
{
    $doc = new MyDOMDocument();
    if ($doc) {
        $response = file_get_contents($url);
        if (strlen($response)) {
            $response = preg_replace('/[^(\\x20-\\x7F)]*/', '', $response);
            $doc->loadXML($response);
            $data = $doc->toArray();
            $status = (int) $data['response']['statusCode'];
            if ($status == 200) {
                foreach ($locations as $location => &$testers) {
                    foreach ($testers as $tester => &$cmd) {
                        CheckTester($data, $location, $tester, $cmd);
                    }
                }
            }
        }
    }
}
Example #2
0
/**
* Go through and update the status of all of the tests
* 
* @param mixed $results
*/
function UpdateResults(&$results, $testCount)
{
    global $server;
    $count = 0;
    $changed = false;
    foreach ($results as &$result) {
        if (array_key_exists('id', $result) && strlen($result['id']) && (!array_key_exists('result', $result) || !strlen($result['result']))) {
            $count++;
            echo "\rUpdating the status of test {$count} of {$testCount}...                  ";
            $doc = new MyDOMDocument();
            if ($doc) {
                $url = "{$server}xmlResult/{$result['id']}/";
                $response = file_get_contents($url);
                if (strlen($response)) {
                    $response = preg_replace('/[^(\\x20-\\x7F)]*/', '', $response);
                    $doc->loadXML($response);
                    $data = $doc->toArray();
                    $status = (int) $data['response']['statusCode'];
                    if ($status == 200) {
                        $changed = true;
                        // test is complete, get the actual result
                        GetTestResult($data['response']['data'], $result);
                    }
                    unset($doc);
                }
            }
        }
    }
    // clear the progress text
    echo "\r                                                     \r";
}
Example #3
0
 /**
  * @param array( "mime" <string>, "length" int, "content" string)
  * @return mixed string|array|boolean
  */
 private function _convertToArray($response_array = array())
 {
     if (!$response_array) {
         return array();
     } else {
         if (strpos($response_array["mime"], 'xml')) {
             $output = new DOMDocument();
             $output->loadXML($response_array["data"]);
             $out = new MyDOMDocument();
             $output = $out->toArray($output);
         } elseif (strpos($response_array["mime"], 'json')) {
             if (!($output = json_decode($response_array["data"], true))) {
                 $this->error = "Error: json parse error. ";
                 return false;
             }
         } else {
             // if something else - return source
             $output = $response_array["data"];
         }
     }
     return $output;
 }