protected function _initCensor() { $bannedWords = null; // caching $cache = $this->getContainer()->cache; if ($cache instanceof Zend_Cache_Core && ($data = $cache->load('bannedwords')) && is_string($data)) { $bannedWords = $data; } else { $bannedWords = Engine_Api::_()->getApi('settings', 'core')->core_spam_censor; $db = $this->getContainer()->db; if ($db instanceof Zend_Db_Adapter_Abstract) { $dbBannedWords = $db->select()->from('engine4_core_bannedwords', 'word')->query()->fetchAll(Zend_Db::FETCH_COLUMN); $bannedWords .= ',' . join(',', $dbBannedWords); } $bannedWords = trim($bannedWords, ' ,'); // save $cache->save($bannedWords, 'bannedwords'); } Engine_Filter_Censor::setDefaultForbiddenWords($bannedWords); }
protected function _initCensor() { // inject filtered words into the filter censor Engine_Filter_Censor::setDefaultForbiddenWords(Engine_Api::_()->getApi('settings', 'core')->core_spam_censor); }