From: <jhe...@us...> - 2002-11-20 15:50:31
|
Update of /cvsroot/upcase-project/UpCase/lib In directory sc8-pr-cvs1:/tmp/cvs-serv14504 Modified Files: uc_installer.php Log Message: added unregister function, uninstall function remove every trace of a package Index: uc_installer.php =================================================================== RCS file: /cvsroot/upcase-project/UpCase/lib/uc_installer.php,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** uc_installer.php 20 Nov 2002 12:50:28 -0000 1.4 --- uc_installer.php 20 Nov 2002 15:50:27 -0000 1.5 *************** *** 34,38 **** // Return an array of ! // [pkgversion, pkgurl, pkgstatus] function getStatus($packageName, $pkgVersion = '%', $pkgPath = '%') { --- 34,38 ---- // Return an array of ! // [pkgversion, pkgurl, tblprefix, pkgstatus] function getStatus($packageName, $pkgVersion = '%', $pkgPath = '%') { *************** *** 52,55 **** --- 52,56 ---- $pkg["version"] = $o->PKGVERSION; $pkg["url"] = $o->PKGPATH; + $pkg["prefix"] = $o->TBLPREFIX; if ($o->INSTALLED == 1) $pkg["status"] = PACKAGE_FULLY_INSTALLED; *************** *** 163,166 **** --- 164,176 ---- } + function unregisterPackage($packageName, $packageVersion, $relPath, $tblPrefix) + { + $query = sprintf($GLOBALS["ucsql_packageunregister"], + $packageName, $packageVersion, $relPath, $tblPrefix); + $this->db->Execute($query) + or die("Unable to unregister package: " . $this->db->ErrorMsg()); + return true; + } + function setInstallComplete($package, $relPath, $tblPrefix) { *************** *** 200,208 **** $metaData = $this->metaBackup . "/" . $packageName . "-" . $packageVersion . ".inc"; include($metaData); ! $tablesList = ''; foreach ($tables as $table) ! $tablesList .= $tblPrefix . "_" . $table . ', '; $query = "DROP TABLE " . $tablesList; rrmdir($cfg->siteRoot . "/" . $relUrl); } --- 210,224 ---- $metaData = $this->metaBackup . "/" . $packageName . "-" . $packageVersion . ".inc"; + $pkgAr = $this->getStatus($packageName, $packageVersion, $relUrl); + $tblPrefix = $pkgAr[0]["prefix"]; include($metaData); ! $tablesAr = array(); foreach ($tables as $table) ! $tablesAr[] = $tblPrefix . "_" . $table; ! $tablesList = join(',', $tablesAr); $query = "DROP TABLE " . $tablesList; + $this->db->Execute($query) + or die("Unable to drop package tables: " . $this->db->ErrorMsg()); + $this->unregisterPackage($packageName, $packageVersion, $relUrl, $tblPrefix); rrmdir($cfg->siteRoot . "/" . $relUrl); } |