X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=lib%2Fsection.php;h=9154bd3e664602540794152294992fc849366cd8;hb=5a235ffbf905fe16105b5ecf9db3a040f04034b2;hp=d605d458d73fc2114ef359eb26a4f6376fac6088;hpb=be5d113fc684fcbe41b8374c62bfeb0f267216b7;p=quix0rs-gnu-social.git diff --git a/lib/section.php b/lib/section.php index d605d458d7..9154bd3e66 100644 --- a/lib/section.php +++ b/lib/section.php @@ -27,11 +27,7 @@ * @link http://status.net/ */ -if (!defined('STATUSNET')) { - exit(1); -} - -require_once INSTALLDIR.'/lib/widget.php'; +if (!defined('GNUSOCIAL') && !defined('STATUSNET')) { exit(1); } /** * Base class for sections @@ -45,8 +41,7 @@ require_once INSTALLDIR.'/lib/widget.php'; * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 * @link http://status.net/ */ - -class Section extends Widget +abstract class Section extends Widget { /** * Show the form @@ -56,42 +51,62 @@ class Section extends Widget * @return void * @see Widget::show() */ - function show() { $this->out->elementStart('div', array('id' => $this->divId(), 'class' => 'section')); - $this->out->element('h2', null, - $this->title()); + $this->showTitle(); $have_more = $this->showContent(); if ($have_more) { - $this->out->elementStart('p'); - $this->out->element('a', array('href' => $this->moreUrl(), - 'class' => 'more'), - $this->moreTitle()); - $this->out->elementEnd('p'); + $this->showMore(); } $this->out->elementEnd('div'); } - function divId() + function showTitle() { - return 'generic_section'; + $link = $this->link(); + if (!empty($link)) { + $this->out->elementStart('h2'); + $this->out->element('a', array('href' => $link), $this->title()); + $this->out->elementEnd('h2'); + } else { + $this->out->element('h2', null, + $this->title()); + } } + function showMore() + { + $this->out->elementStart('p'); + $this->out->element('a', array('href' => $this->moreUrl(), + 'class' => 'more'), + $this->moreTitle()); + $this->out->elementEnd('p'); + } + + abstract public function divId(); + function title() { + // TRANS: Default title for section/sidebar widget. return _('Untitled section'); } + function link() + { + return null; + } + function showContent() { $this->out->element('p', null, + // TRANS: Default content for section/sidebar widget. _('(None)')); return false; } @@ -103,6 +118,7 @@ class Section extends Widget function moreTitle() { + // TRANS: Default "More..." title for section/sidebar widget. return _('More...'); } }