public function unserialize($config)
 {
     if (!is_array($config)) {
         return false;
     }
     $urls = new Urls();
     foreach ($config['URL'] as $key => $val) {
         $urls->addUrl($key, $val, $config['DIRECTORY'][$key]);
     }
     return $urls;
 }
 public function unserialize($xml)
 {
     $urls_xml = simplexml_load_string($xml);
     $urls = new Urls($urls);
     foreach ($urls_xml->{'url'} as $url_elem_xml) {
         $url_key = (string) $url_elem_xml['key'];
         $url_val = (string) $url_elem_xml->value;
         $url_directory = (string) $url_elem_xml->directory;
         $urls->addUrl($url_key, $url_val, $url_directory);
     }
     return $urls;
 }
function getTopResults($queries, $todown, $msnkey, $culture_info)
{
    // create list of URLs
    $allURLs = new Urls();
    $i = 0;
    foreach ($queries as $query) {
        $query = mb_ereg_replace("/[^\\w\\d]/g", "", $query);
        $query = "'" . trim($query) . "'";
        $i++;
        try {
            $searchres = fetchBingResults($query, $todown, $msnkey, $culture_info);
        } catch (Exception $e) {
            print_error("exception in querying MSN!\n");
        }
        foreach ($searchres as $hit) {
            $ahit = new oneUrl();
            $ahit->mainUrl = $hit;
            $ahit->queryID = md5($hit);
            $ahit->msUrl = $hit;
            $ahit->counter = 1;
            $allURLs->addUrl($ahit);
        }
        // end parsing results
    }
    // end sending queries: we have top x results
    return $allURLs->getMax($todown);
}