/** * Get post Uri * * @return string */ public function getLink($type = 'default', $param = NULL) { switch ($type) { case 'edit': $uri = new Stack(array('name' => 'post.link.edit')); $uri->append('post'); $uri->append('edit'); break; case 'delete': $uri = new Stack(array('name' => 'post.link.edit')); $uri->append('post'); $uri->append('delete'); break; case 'hide': $uri = new Stack(array('name' => 'post.link.hide')); $uri->append('post'); $uri->append('hide'); break; case 'full': return '<a href="' . $this->getLink() . $param . '">' . $this->name . '</a>'; break; default: $uri = new Stack(array('name' => 'post.link')); $uri->append('post'); } $uri->append($this->id); return l('/' . $uri->render('/')); }
/** * Получение ссылки на страницу * * @return string */ public function getLink($type = 'default', $param = NULL) { switch ($type) { case 'edit': $uri = new Stack(array('name' => 'page.link.edit')); $uri->append('admin'); $uri->append('pages'); $uri->append($this->object()->id); break; default: if ($route = route($this->route, 'id')) { return l('/' . $route->route); } else { $uri = new Stack(array('name' => 'page.link.show')); $uri->append('pages'); $uri->append('show'); $uri->append($this->id); } } return l('/' . $uri->render('/')); }
<table class="table table-bordered table-striped"> <thead> <tr> <?php $thead = new Stack(array('name' => $options->name . '.thead')); $thead->append('<th>' . t('Имя пользователя') . '</th>'); $thead->append('<th>' . t('Постов') . '</th>'); cogear()->gears->Comments && $thead->append('<th>' . t('Комментариев') . '</th>'); $thead->append('<th>' . t('Зарегистрирован') . '</th>'); echo $thead->render(); ?> </tr> </thead> <tbody> <?php foreach ($users as $user) { $tr = new Stack(array('name' => $options->name . '.tr')); $tr->append('<td>' . $user->getLink('avatar') . ' ' . $user->getLink('profile') . '</td>'); $tr->append('<td>' . $user->posts . '</td>'); cogear()->gears->Comments && $tr->append('<td>' . $user->comments . '</td>'); $tr->append('<td>' . df($user->reg_date, 'd M Y') . '</td>'); echo '<tr>' . $tr->render() . '</tr>'; } ?> </tbody> </table>
/** * Get user profile link */ public function getLink($type = 'default', $param = NULL) { switch ($type) { case 'profile': $uri = new Stack(array('name' => 'user.link.profile')); $uri->append($this->getLink()); $name = $this->getName($param); if ($param) { $name = '<b>' . $name . '</b>'; } return HTML::a($uri->render('/'), $name); break; case 'avatar': $uri = new Stack(array('name' => 'user.link.avatar')); $uri->append($this->getLink()); $param or $param = 'avatar.small'; return HTML::a($uri->render('/'), $this->getAvatarImage($param), array('data-id' => $this->id)); break; case 'edit': $uri = new Stack(array('name' => 'user.link.edit')); $uri->append('user'); $uri->append('edit'); $uri->append($this->id); break; default: $uri = new Stack(array('name' => 'user.link')); $uri->append('user'); $uri->append($this->login); } return l('/' . $uri->render('/')); }
</div> <?php $before = new Stack(array('name' => 'post.before')); $before->object($item); echo '<div class="post-before">' . $before->render() . '</div>'; ?> <div class="post-body"> <?php echo $item->body; ?> </div> <?php $after = new Stack(array('name' => 'post.after')); $after->object($item); echo '<div class="post-after">' . $after->render() . '</div>'; ?> <div class="post-info"> <?php $info = new Stack(array('name' => 'post.info')); $info->object($item); $info->time = '<span class="post-time">' . df($item->created_date) . '</span>'; echo $info->render(); ?> </div> </article> <?php if (!($item->teaser or $item->preview)) { $after = new Stack(array('name' => 'post.full.after')); $after->object($item); echo $after->render(); }
<div class="page"> <div class="page-title"> <? $title = new Stack('Page.title') ?> <? $title->name = '<h1>' . ($item->in_grid ? HTML::a($item->getUrl(), $item->name) : $item->name) . '</h1>' ?> <? if ($cogear->user->id === $item->aid OR access('pages edit_all')) { $title->edit = HTML::a(Url::gear('pages') . 'edit/' . $item->id, t('[edit]'),array('class'=>'edit')); } ?> <?php echo $title; ?> </div> <div class="page-content"> <?php echo $item->body; ?> </div> <div class="page-info"> <? $info = new Stack('Page.info'); $info->object($item); $info->created_date = '<span class="created_date">' . df($item->created_date) . '</span>' ?> <? $user = new User_Object($item->aid); $info->author = '<span class="author">' .$user->getAvatarLinked().' '.$user->getLink() . '</span>'; ?> <?php echo $info->render(); ?> </div> </div>
/** * Get user panel — for profile and other pages * * @return string */ public function getPanel() { $cogear = getInstance(); $panel = new Stack('user.panel'); $avatar = $this->getAvatar(); $panel->avatar = $avatar; $panel->login = HTML::a($this->getProfileLink(), $this->login, array('class' => 'implicit login')); if (access('user edit_all') or $this->id == $cogear->user->id) { $panel->edit = HTML::a(Url::gear('user') . 'edit/' . $this->id, t('[edit]'), array('class' => 'edit')); } return $panel->render(); }