Example #1
0
    public function deleteTemplatesInStyle($styleId)
    {
        $db = $this->_getDb();
        $titles = $db->fetchPairs('
			SELECT template_id, title
			FROM xf_template
			WHERE style_id = ?
		', $styleId);
        if (!$titles) {
            return;
        }
        $templateIds = array_keys($titles);
        $this->_deleteTemplates($templateIds);
        $db->query('
			DELETE FROM xf_template_compiled
			WHERE style_id = ?
				AND title IN (' . $db->quote($titles) . ')
		', $styleId);
        if (XenForo_Application::get('options')->templateFiles) {
            XenForo_Template_FileHandler::delete($titles, $styleId, null);
        }
        XenForo_Template_Compiler::resetTemplateCache();
    }
Example #2
0
    public function deleteTemplatesInStyle($styleId)
    {
        $db = $this->_getDb();
        $db->query('
			DELETE FROM xf_template_include
			WHERE source_map_id IN (
				SELECT template_map_id
				FROM xf_template AS template
				INNER JOIN xf_template_map AS template_map ON
					(template.template_id = template_map.template_id)
				WHERE template.style_id = ?
			)
		', $styleId);
        $db->query('
			DELETE FROM xf_template_phrase
			WHERE template_map_id IN (
				SELECT template_map_id
				FROM xf_template AS template
				INNER JOIN xf_template_map AS template_map ON
					(template.template_id = template_map.template_id)
				WHERE template.style_id = ?
			)
		', $styleId);
        $db->query('
			DELETE FROM xf_template_map
			WHERE template_id IN (
				SELECT template_id
				FROM xf_template
				WHERE style_id = ?
			)
		', $styleId);
        $db->query('
			DELETE FROM xf_template_compiled
			WHERE style_id = 0
				AND title IN (
					SELECT title
					FROM xf_template
					WHERE style_id = ?
				)
		', $styleId);
        $db->delete('xf_template', 'style_id = ' . $db->quote($styleId));
        XenForo_Template_Compiler::resetTemplateCache();
    }