blog->settings->addNamespace('enhancePostContent'); if ($core->blog->settings->enhancePostContent->enhancePostContent_active) { $core->addBehavior( 'publicHeadContent', array('publicEnhancePostContent', 'publicHeadContent') ); $core->addBehavior( 'publicBeforeContentFilter', array('publicEnhancePostContent', 'publicContentFilter') ); } /** * @ingroup DC_PLUGIN_ENHANCEPOSTCONTENT * @brief Filter posts content - public methods. * @since 2.6 */ class publicEnhancePostContent { /** * Add filters CSS to page header * * @param dcCore $core dcCore instance */ public static function publicHeadContent(dcCore $core) { $filters = libEPC::blogFilters(); foreach($filters as $name => $filter) { if (empty($filter['class']) || empty($filter['style']) ) { continue; } $res = ''; foreach($filter['class'] as $k => $class) { $style = html::escapeHTML(trim($filter['style'][$k])); if ('' != $style) { $res .= $class." {".$style."} "; } } if (!empty($res)) { echo "\n \n". " \n"; } } } /** * Filter template blocks content * * @param dcCore $core dcCore instance * @param string $tag Tempalte block name * @param array $args Tempalte Block arguments */ public static function publicContentFilter(dcCore $core, $tag, $args) { $filters = libEPC::blogFilters(); $records = new epcRecords($core); foreach($filters as $name => $filter) { if (!isset($filter['publicContentFilter']) || !is_callable($filter['publicContentFilter']) || !libEPC::testContext($tag,$args,$filter) ) { continue; } if ($filter['has_list']) { $filter['list'] = $records->getRecords(array( 'epc_filter' => $name) ); if ($filter['list']->isEmpty()) { continue; } } call_user_func_array( $filter['publicContentFilter'], array($core, $filter, $tag, $args) ); } } }