From: <jhe...@us...> - 2002-08-05 08:32:03
|
Update of /cvsroot/upcase-project/UpCase/lib In directory usw-pr-cvs1:/tmp/cvs-serv1142 Modified Files: uc_packages.php Log Message: Removed ftp recursive download, download a tgz archive and untar with PEAR Index: uc_packages.php =================================================================== RCS file: /cvsroot/upcase-project/UpCase/lib/uc_packages.php,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -d -r1.1.1.1 -r1.2 *** uc_packages.php 16 Jul 2002 15:31:53 -0000 1.1.1.1 --- uc_packages.php 5 Aug 2002 08:32:01 -0000 1.2 *************** *** 1,5 **** <?php ! include_once("lib/uc_ftp.php"); class UcPackage --- 1,5 ---- <?php ! include_once("lib/Tar.php"); class UcPackage *************** *** 12,15 **** --- 12,54 ---- var $tarball; var $status; + var $setup; + + function install($destDir) + { + global $ucConfig; + + $ar = parse_url($this->tarball); + $tbname = basename($ar["path"]); + + $from_fd = fopen($this->tarball, "rb"); + $to_fd = fopen($destDir . "/" . $tbname, "wb"); + $buffer = ''; + + while ($buffer = fread($from_fd, 1024)) + { + $res = fwrite($to_fd, $buffer, 1024); + flush(); + if ($res < 1024) + { + break; + } + } + + fclose($from_fd); + fclose($to_fd); + + if ($res > -1) + { + flush(); + $tar = new Archive_Tar($destDir . "/" . $tbname, true); + $tar->extract($destDir); + symlink($destDir . "/" . basename($tbname, ".tar.gz"), + $destDir . "/" . $this->name); + } + + $setupPage = $ucConfig->wwwRoot . "/modules/" . $this->name + . "/" . $this->setup; + header("Location: $setupPage"); + } } *************** *** 30,55 **** } - function download_package($local_dir, $package_url) - { - $ar = parse_url($package_url); - //if ($ar[scheme] == "ftp://") - //{ - $conn_id = ftp_connect($ar[host]); - if (!$conn_id) - { - return FALSE; - } - - //ftp_set_option($conn_id, FTP_TIMEOUT_SEC, 5); - - $login_res = ftp_login($conn_id, "anonymous", "blah"); - if (!$login_res) - { - return FALSE; - } - - return ftp_recursive_download($conn_id, $local_dir, $ar[path]); - //} - } class UcPackageListParser --- 69,72 ---- *************** *** 150,153 **** --- 167,171 ---- if (trim($data) == "" || trim($data) == "<?xml version=\"1.0\"?>") { + $this->xml_data = ""; return; } |