Exemplo n.º 1
0
    /**
     * Loads all email templates that are to be pre-cached from the DB.
     * They will be placed on the local email cache.
     */
    protected function _loadEmailTemplatesFromDb()
    {
        if (!self::$_preCache) {
            return;
        }
        $db = XenForo_Application::get('db');
        if ($this->_preCacheAllLanguages) {
            $languageClause = '';
        } else {
            $languageClause = 'AND language_id = ' . $db->quote($this->_languageId);
        }
        $templateResult = $db->query('
			SELECT language_id, title, template_compiled
			FROM xf_email_template_compiled
			WHERE title IN (' . $db->quote(array_keys(self::$_preCache)) . ')
				' . $languageClause . '
		');
        while ($template = $templateResult->fetch()) {
            self::$_emailCache[$template['title']][$template['language_id']] = $template['template_compiled'];
        }
        self::$_preCache = array();
    }