protected function prepareAttributesForHtml(array $attributes) { $attributes = parent::prepareAttributesForHtml($attributes); if (!sfConfig::get('dm_search_populating')) { // inactive page if ($this->user && !$this->page->_getI18n('is_active') && !$this->user->can('site_view')) { $attributes['class'][] = 'dm_inactive'; $attributes['tag'] = 'span'; } // current page if ($this->isCurrent() && empty($attributes['anchor'])) { $attributes['class'][] = $attributes['current_class']; if ($attributes['current_span']) { $attributes['tag'] = 'span'; } } elseif ($this->isParent()) { $attributes['class'][] = $attributes['parent_class']; } } return $attributes; }
protected function prepareAttributesForHtml(array $attributes) { $attributes = parent::prepareAttributesForHtml($attributes); list($attributes['href'], $attributes['params']) = $this->getBaseHref(true); if (array_key_exists('params', $attributes)) { if (!empty($attributes['params'])) { $attributes['href'] = $this->buildUrl(dmString::getBaseFromUrl($attributes['href']), array_merge(dmString::getDataFromUrl($attributes['href']), $attributes['params'])); /* * if last href char is a =, remove it * fixes http://github.com/diem-project/diem/issues/#issue/6 */ if ('=' === substr($attributes['href'], -1)) { $attributes['href'] = substr($attributes['href'], 0, strlen($attributes['href']) - 1); } } unset($attributes['params']); } if (isset($attributes['anchor'])) { $attributes['href'] .= '#' . $attributes['anchor']; } // makes unit testing easier ksort($attributes); return $attributes; }