/**
  * @return current server time
  */
 public function getServerTime()
 {
     $query = new Elios_Service_Thetvdb_QueryBuilder();
     $query->select("Time");
     $query->from("/api/Updates.php?type=none");
     $query->getQueryAsString();
     foreach ($query->execute() as $t) {
         return $t->nodeValue;
     }
 }
 /**
  * 
  * Returns Mixed: xml document with loaded elements/ZIP file
  * @param Elios_Service_Thetvdb_QueryBuilder $query
  */
 public function executeQuery($query)
 {
     //@todo check user rights
     if (strpos($query->getQueryAsString(), '.zip')) {
         //put zip file in cache folder
         $dirname = md5(rand(1, time()));
         mkdir(dirname(__FILE__) . '/cache/' . $dirname, 0770);
         $file = fopen(dirname(__FILE__) . '/cache/' . $dirname . '/file.zip', 'a+');
         fwrite($file, file_get_contents($query->getQueryAsString()));
         fclose($file);
         $zip = new ZipArchive();
         if ($zip->open(dirname(__FILE__) . '/cache/' . $dirname . '/file.zip')) {
             $zip->extractTo(dirname(__FILE__) . '/cache/' . $dirname);
             $files = array();
             for ($i = 0; $i < $zip->numFiles; $i++) {
                 $c = $zip->statIndex($i);
                 $files[] = basename($c['name']);
             }
             $zip->close();
             $XmlReader = new Elios_Xml_Reader();
             $xmlFiles = array();
             $xmlFiles['dir'] = dirname(__FILE__) . '/cache/' . $dirname;
             foreach ($files as $f) {
                 if ($query->select == '*') {
                     $xmlFiles[$f] = dirname(__FILE__) . '/cache/' . $dirname . '/' . $f;
                 } else {
                     //@todo
                 }
             }
             unlink(dirname(__FILE__) . '/cache/' . $dirname . '/file.zip');
             return $xmlFiles;
         } else {
             //@todo throw exeception
             return false;
         }
     } else {
         $XmlReader = new Elios_Xml_Reader();
         $XmlReader->loadXml($query->getQueryAsString());
         //print_r($XmlReader->getXml());
         if ($query->select == '*') {
             return $XmlReader;
         } else {
             return $XmlReader->getElements($query->select);
         }
     }
 }