--- sites/all/modules/cck_scorm/SCORM.module	Wed Feb 08 13:48:08 2012
+++ sites/all/modules/cck_scorm/SCORM.module	Tue Feb 28 23:06:20 2012
@@ -1289,16 +1289,31 @@
  * @param
  */
 function unzip_file($zipfile, $destination = '', $showstatus = TRUE) {
- $zip = new ZipArchive;
- $res = $zip->open($zipfile);
-     if ($res === TRUE) {
-         $zip->extractTo($destination);
-         $zip->close();
-         return TRUE;
-     } 
-     else {
-       return FALSE;
-     }
+  if (class_exists(ZipArchive)) {
+	$zip = new ZipArchive;
+    $res = $zip->open($zipfile);
+    if ($res === TRUE) {
+        $zip->extractTo($destination);
+        $zip->close();
+        return TRUE;
+    }
+    else {
+      return FALSE;
+    }
+  }
+  elseif (file_exists('sites/all/libraries/pclzip/pclzip.lib.php')) {
+    require_once('sites/all/libraries/pclzip/pclzip.lib.php');
+    $archive = new PclZip($zipfile);
+    if ($archive->extract(PCLZIP_OPT_PATH, $destination)) {
+	  return TRUE;
+    }
+    else {
+	  return FALSE;
+    }
+  }
+  else {
+    drupal_set_message(t('For this module to work, PHP has to be compiled with zip support, or you have to install <a href="http://www.phpconcept.net/pclzip/">pclzip</a>'));
+  }
 }
 
 /**
