private function install($dir, $ptHandle, $pkgID) { if (is_dir($dir)) { $db = Loader::db(); $cnt = $db->getOne("select count(ptID) from PageThemes where ptHandle = ?", array($ptHandle)); if ($cnt > 0) { throw new Exception(PageTheme::E_THEME_INSTALLED); } $res = PageTheme::getThemeNameAndDescription($dir); $ptName = $res->ptName; $ptDescription = $res->ptDescription; $db->query("insert into PageThemes (ptHandle, ptName, ptDescription, pkgID) values (?, ?, ?, ?)", array($ptHandle, $ptName, $ptDescription, $pkgID)); return PageTheme::getByID($db->Insert_ID()); } }