/** * @param ActionListItem[] $actions * @return Element */ private function renderList($actions) { $items = []; foreach ($actions as $action) { $caption = [$action->getCaption()]; if ($action->getDescription()) { $caption[] = new Element('small', [], ['- ' . $this->parser->shorten($action->getDescription())]); } $items[] = new Element('a', ['href' => $action->getId(), 'class' => 'list-group-item'], $caption); } return new Element('div', ['class' => 'list-group'], $items); }
private function assembleActions() { $actions = []; foreach ($this->actions->getAllActions() as $id => $action) { if ($id != WebApplication::INDEX_ACTION && $this->access->isPermitted($id)) { $actions[] = new ActionListItem($id, $action->caption(), $this->parser->shorten($action->description())); } } return $actions; }
private function shortDescription(Action $action) { $description = $this->parser->shorten($action->description()); return $description ? " ({$description})" : ''; }
public function shorten($description) { return strip_tags(explode('</p>', parent::shorten($description))[0], '<b><i><s><u><strong><em>'); }