/** * installs a core or root level BlockType (from /blocks or /concrete/blocks, not a package) * should likely be a static method * @param string $btHandle * @param int $btID btID if it's an existing block type */ public function installBlockType($btHandle, $btID = 0) { if ($btID == 0) { // then we don't allow one to already exist $db = Loader::db(); $cnt = $db->GetOne("select btID from BlockTypes where btHandle = ?", array($btHandle)); if ($cnt > 0) { return false; } } if (file_exists(DIR_FILES_BLOCK_TYPES . '/' . $btHandle . '/' . FILENAME_BLOCK_CONTROLLER)) { $dir = DIR_FILES_BLOCK_TYPES; } else { $dir = DIR_FILES_BLOCK_TYPES_CORE; } if (file_exists(DIR_FILES_BLOCK_TYPES . '/' . $btHandle . '/' . FILENAME_BLOCK_DB)) { $dirDbXml = DIR_FILES_BLOCK_TYPES; } else { $dirDbXml = DIR_FILES_BLOCK_TYPES_CORE; } $bt = new BlockType; $bt->btHandle = $btHandle; $bt->pkgHandle = null; $bt->pkgID = 0; return BlockType::doInstallBlockType($btHandle, $bt, $dir, $btID, $dirDbXml); }
function installBlockType($btHandle, $btID = 0) { if ($btID == 0) { // then we don't allow one to already exist $db = Loader::db(); $cnt = $db->GetOne("select btID from BlockTypes where btHandle = ?", array($btHandle)); if ($cnt > 0) { return false; } } if (is_dir(DIR_FILES_BLOCK_TYPES_CORE . '/' . $btHandle)) { $dir = DIR_FILES_BLOCK_TYPES_CORE; } else { $dir = DIR_FILES_BLOCK_TYPES; } $bt = new BlockType(); $bt->btHandle = $btHandle; $bt->pkgHandle = null; $bt->pkgID = 0; return BlockType::doInstallBlockType($btHandle, $bt, $dir, $btID); }