plugin = $plugin; } /** * @param array $filter_suffixes */ function apply($filter_suffixes = array('', 'widget')) { foreach ($filter_suffixes as $suffix) { $this->addActionsAndFilters($suffix); } } /** * @param $suffix */ private function addActionsAndFilters($suffix) { $filter_name = 'arlima_template_object'; $action_suffix = ''; if ( !empty($suffix) ) { $filter_name .= '-' . $suffix; $action_suffix = '-' . $suffix; } add_filter('arlima_list_content' . $action_suffix, array($this, 'listContentContainer'), 10, 2); add_action('arlima_list_begin' . $action_suffix, array($this, 'listBegins'), 10, 2); add_action('arlima_list_end' . $action_suffix, array($this, 'listEnds'), 10, 2); add_filter($filter_name, array($this, 'filterTemplateObject'), 10, 3); } /** * @param string $content * @param Arlima_AbstractListRenderingManager $renderer * @return string */ function listContentContainer($content, $renderer) { if ( !empty($content) ) { $content = $this->generateOpeningContainerDiv($renderer->getList()) . $content . ''; } return $content; } /** * @param Arlima_AbstractListRenderingManager $renderer * @param array $args */ function listBegins($renderer, $args) { if ( !empty($args['echo']) ) { echo $this->generateOpeningContainerDiv($renderer->getList()); } } /** * @param Arlima_AbstractListRenderingManager $renderer * @param array $args */ function listEnds($renderer, $args) { if ( !empty($args['echo']) ) { echo ''; } } /** * @param Arlima_List $list * @return string */ private function generateOpeningContainerDiv($list) { return '