function ExtractZip($ZipFile, $Directory = NULL)
 {
     if ($Directory === NULL) {
         $Directory = dirname($ZipFile);
     }
     if (class_exists('ZipArchive')) {
         $Zip = new ZipArchive();
         $Zip->Open($ZipFile);
         $Result = $Zip->ExtractTo($Directory);
         $Zip->Close();
         return $Result;
     } else {
         $Command = '/usr/local/bin/unzip';
         if (PHP_OS == 'WINNT') {
             $Command = 'unzip';
         }
         $Exec = "{$Command} -oX {$ZipFile} -d {$Directory}";
         $Result = exec($Exec, $Out, $ReturnCode);
         if ($ReturnCode === 0) {
             return TRUE;
         }
     }
     return FALSE;
 }