public static function deleteTemplate($id)
{
$id = (int) $id;
$templates = self::getTemplates();
// we can't delete a template that doesn't exist
if (!isset($templates[$id])) {
return false;
}
// we can't delete the last template
if (count($templates) == 1) {
return false;
}
// we can't delete the default template
if ($id == BackendModel::get('fork.settings')->get('Pages', 'default_template')) {
return false;
}
if (self::isTemplateInUse($id)) {
return false;
}
$db = BackendModel::getContainer()->get('database');
$db->delete('themes_templates', 'id = ?', $id);
$ids = (array) $db->getColumn('SELECT i.revision_id
FROM pages AS i
WHERE i.template_id = ? AND i.status != ?', array($id, 'active'));
if (!empty($ids)) {
// delete those pages and the linked blocks
$db->delete('pages', 'revision_id IN(' . implode(',', $ids) . ')');
$db->delete('pages_blocks', 'revision_id IN(' . implode(',', $ids) . ')');
}
return true;
}