src/FilterSetting/Tags.php
public function getParameterFilterWidgets(
        $arrIds,
        $arrFilterUrl,
        $arrJumpTo,
        FrontendFilterOptions $objFrontendFilterOptions
    ) {
        $objAttribute = $this->getMetaModel()->getAttributeById($this->get('attr_id'));

        $arrCount   = array();
        $arrOptions = $this->getParameterFilterOptions($objAttribute, $arrIds, $arrCount);

        $arrParamValue  = null;
        $strParamName   = $this->getParamName();
        $arrMyFilterUrl = $arrFilterUrl;
        // If we have a value, we have to explode it by comma to have a valid value which the active checks may cope
        // with.
        if (array_key_exists($strParamName, $arrFilterUrl) && !empty($arrFilterUrl[$strParamName])) {
            if (is_array($arrFilterUrl[$strParamName])) {
                $arrParamValue = $arrFilterUrl[$strParamName];
            } else {
                $arrParamValue = explode(',', $arrFilterUrl[$strParamName]);
            }

            // Ok, this is rather hacky here. The magic value of '--none--' means clear in the widget.
            if (in_array('--none--', $arrParamValue)) {
                $arrParamValue = null;
            }

            // Also hacky, the magic value of '--all--' means check all items in the widget.
            if (is_array($arrParamValue) && in_array('--all--', $arrParamValue)) {
                $arrParamValue = array_keys($arrOptions);
            }

            if ($arrParamValue) {
                $arrMyFilterUrl[$strParamName] = $arrParamValue;
            }
        }

        $GLOBALS['MM_FILTER_PARAMS'][] = $strParamName;

        return $this->buildParameterFilterWidgets(
            $arrJumpTo,
            $objFrontendFilterOptions,
            $objAttribute,
            $strParamName,
            $arrOptions,
            $arrCount,
            $arrParamValue,
            $arrMyFilterUrl
        );
    }
public function getParameterFilterWidgets(
        $arrIds,
        $arrFilterUrl,
        $arrJumpTo,
        FrontendFilterOptions $objFrontendFilterOptions
    ) {
        $objAttribute = $this->getMetaModel()->getAttributeById($this->get('attr_id'));

        $arrCount   = array();
        $arrOptions = $this->getParameterFilterOptions($objAttribute, $arrIds, $arrCount);

        $arrParamValue  = null;
        $strParamName   = $this->getParamName();
        $arrMyFilterUrl = $arrFilterUrl;
        // If we have a value, we have to explode it by comma to have a valid value which the active checks may cope
        // with.
        if (array_key_exists($strParamName, $arrFilterUrl) && !empty($arrFilterUrl[$strParamName])) {
            if (is_array($arrFilterUrl[$strParamName])) {
                $arrParamValue = $arrFilterUrl[$strParamName];
            } else {
                $arrParamValue = explode(',', $arrFilterUrl[$strParamName]);
            }

            // Ok, this is rather hacky here. The magic value of '--none--' means clear in the widget.
            if (in_array('--none--', $arrParamValue)) {
                $arrParamValue = null;
            }

            // Also hacky, the magic value of '--all--' means check all items in the widget.
            if (is_array($arrParamValue) && in_array('--all--', $arrParamValue)) {
                $arrParamValue = array_keys($arrOptions);
            }

            if ($arrParamValue) {
                $arrMyFilterUrl[$strParamName] = $arrParamValue;
            }
        }

        $GLOBALS['MM_FILTER_PARAMS'][] = $strParamName;

        return $this->buildParameterFilterWidgets(
            $arrJumpTo,
            $objFrontendFilterOptions,
            $objAttribute,
            $strParamName,
            $arrOptions,
            $arrCount,
            $arrParamValue,
            $arrMyFilterUrl
        );
    }
{@inheritdoc}

@SuppressWarnings(PHPMD.Superglobals)
@SuppressWarnings(PHPMD.CamelCaseVariableName)