Esempio n. 1
0
/**
 * Adds selected filter ranges to the breadcrumbs
 *
 * @param array $request Request data
 * @param string $url Breadcrumb url
 * @return boolean Always true
 */
function fn_add_filter_ranges_breadcrumbs($request, $url = '')
{
    /**
     * Adds additional actions before adding filter ranges breadcrumbs
     *
     * @param array  $request Request data
     * @param string $url     Breadcrumb url
     */
    fn_set_hook('add_filter_ranges_breadcrumbs_pre', $request, $url);
    if (empty($request['features_hash'])) {
        return false;
    }
    $parsed_ranges = fn_parse_features_hash($request['features_hash'], false);
    if (!empty($parsed_ranges[1])) {
        $features_hash = '';
        $last_type = array_pop($parsed_ranges[1]);
        $last_range_id = array_pop($parsed_ranges[2]);
        if (!empty($parsed_ranges)) {
            foreach ($parsed_ranges[1] as $k => $v) {
                $range = fn_get_filter_range_name($v, $parsed_ranges[2][$k]);
                $features_hash = fn_add_range_to_url_hash($features_hash, array('range_id' => $parsed_ranges[2][$k]), $v);
                fn_add_breadcrumb(html_entity_decode($range, ENT_COMPAT, 'UTF-8'), "{$url}&features_hash=" . $features_hash . (!empty($request['subcats']) ? '&subcats=Y' : ''), true, true);
            }
        }
        $range = fn_get_filter_range_name($last_type, $last_range_id);
        fn_add_breadcrumb(html_entity_decode($range, ENT_COMPAT, 'UTF-8'), '', false, true);
    }
    /**
     * Adds additional actions after adding filter ranges breadcrumbs
     *
     * @param array  $request Request data
     * @param string $url     Breadcrumb url
     */
    fn_set_hook('add_filter_ranges_breadcrumbs_post', $request, $url);
    return true;
}
Esempio n. 2
0
function fn_add_filter_ranges_breadcrumbs($request, $url = '')
{
    if (empty($request['features_hash'])) {
        return false;
    }
    $parsed_ranges = fn_parse_features_hash($request['features_hash'], false);
    if (!empty($parsed_ranges[1])) {
        $features_hash = '';
        $last_type = array_pop($parsed_ranges[1]);
        $last_range_id = array_pop($parsed_ranges[2]);
        if (!empty($parsed_ranges)) {
            foreach ($parsed_ranges[1] as $k => $v) {
                $range = fn_get_filter_range_name($v, $parsed_ranges[2][$k]);
                $features_hash = fn_add_range_to_url_hash($features_hash, array('range_id' => $parsed_ranges[2][$k]), $v);
                fn_add_breadcrumb(html_entity_decode($range), "{$url}&features_hash=" . $features_hash . (!empty($request['subcats']) ? '&subcats=Y' : ''));
            }
        }
        $range = fn_get_filter_range_name($last_type, $last_range_id);
        fn_add_breadcrumb(html_entity_decode($range));
    }
    return true;
}