diff --git a/_widgets.php b/_widgets.php index 72c1dc6..8adbed3 100644 --- a/_widgets.php +++ b/_widgets.php @@ -12,17 +12,16 @@ */ if (!defined('DC_RC_PATH')) { - return null; } $core->addBehavior( 'initWidgets', - array('zoneclearFeedServerWidget', 'adminSource') + ['zoneclearFeedServerWidget', 'adminSource'] ); $core->addBehavior( 'initWidgets', - array('zoneclearFeedServerWidget', 'adminNumber') + ['zoneclearFeedServerWidget', 'adminNumber'] ); /** @@ -39,61 +38,54 @@ class zoneclearFeedServerWidget */ public static function adminSource($w) { - $w->create( - 'zcfssource', - __('Feeds server: sources'), - array('zoneclearFeedServerWidget', 'publicSource'), - null, - __('List sources of feeds') - ); - $w->zcfssource->setting( - 'title', - __('Title:'), - __('Feeds sources'), - 'text' - ); - $w->zcfssource->setting( - 'sortby', - __('Order by:'), - 'feed_upd_last', - 'combo', - array( - __('Last update') => 'feed_upd_last', - __('Name') => 'lowername', - __('Create date') => 'feed_creadt' + $w + ->create( + 'zcfssource', + __('Feeds server: sources'), + ['zoneclearFeedServerWidget', 'publicSource'], + null, + __('List sources of feeds') ) - ); - $w->zcfssource->setting( - 'sort', - __('Sort:'), - 'desc', - 'combo', - array( - __('Ascending') => 'asc', - __('Descending') => 'desc' + ->addTitle( + __('Feeds sources'), ) - ); - $w->zcfssource->setting( - 'limit', - __('Limit:'), - 10, - 'text' - ); - $w->zcfssource->setting('pagelink',__('Link to the list of sources:'),__('All sources')); - $w->zcfssource->setting( - 'homeonly', - __('Display on:'), - 0, - 'combo', - array( - __('All pages') => 0, - __('Home page only') => 1, - __('Except on home page') => 2 + ->setting( + 'sortby', + __('Order by:'), + 'feed_upd_last', + 'combo', + [ + __('Last update') => 'feed_upd_last', + __('Name') => 'lowername', + __('Create date') => 'feed_creadt' + ] ) - ); - $w->zcfssource->setting('content_only',__('Content only'),0,'check'); - $w->zcfssource->setting('class',__('CSS class:'),''); - $w->zcfssource->setting('offline',__('Offline'),0,'check'); + ->setting( + 'sort', + __('Sort:'), + 'desc', + 'combo', + [ + __('Ascending') => 'asc', + __('Descending') => 'desc' + ] + ) + ->setting( + 'limit', + __('Limit:'), + 10, + 'text' + ) + ->setting( + 'pagelink', + __('Link to the list of sources:'), + __('All sources'), + 'text' + ) + ->addHomeOnly() + ->addContentOnly() + ->addClass() + ->addOffline(); } /** @@ -103,71 +95,51 @@ class zoneclearFeedServerWidget */ public static function adminNumber($w) { - $w->create( - 'zcfsnumber', - __('Feeds server: numbers'), - array('zoneclearFeedServerWidget', 'publicNumber'), - null, - __('Show some numbers about feeds') - ); - $w->zcfsnumber->setting( - 'title', - __('Title:') - ,__('Feeds numbers'), - 'text' - ); - - # Feed - $w->zcfsnumber->setting( - 'feed_show', - __('Show feeds count'), - 1, - 'check' - ); - $w->zcfsnumber->setting( - 'feed_title', - __('Title for feeds count:'), - __('Feeds:'), - 'text' - ); - - # Entry - $w->zcfsnumber->setting( - 'entry_show', - __('Show entries count'), - 1, - 'check' - ); - $w->zcfsnumber->setting( - 'entry_title', - __('Title for entries count:'), - __('Entries:'), - 'text' - ); - - $w->zcfsnumber->setting( - 'homeonly', - __('Display on:'), - 0, - 'combo', - array( - __('All pages') => 0, - __('Home page only') => 1, - __('Except on home page') => 2 + $w + ->create( + 'zcfsnumber', + __('Feeds server: numbers'), + ['zoneclearFeedServerWidget', 'publicNumber'], + null, + __('Show some numbers about feeds') ) - ); - $w->zcfsnumber->setting( - 'content_only', - __('Content only'), - 0, - 'check' - ); - $w->zcfsnumber->setting( - 'class', - __('CSS class:'), - '' - ); - $w->zcfsnumber->setting('offline',__('Offline'),0,'check'); + ->addTitle( + __('Feeds numbers'), + ) + ->setting( + 'title', + __('Title:') + ,__('Feeds numbers'), + 'text' + ) + ->setting( + 'feed_show', + __('Show feeds count'), + 1, + 'check' + ) + ->setting( + 'feed_title', + __('Title for feeds count:'), + __('Feeds:'), + 'text' + ) + ->setting( + 'entry_show', + __('Show entries count'), + 1, + 'check' + ) + ->setting( + 'entry_title', + __('Title for entries count:'), + __('Entries:'), + 'text' + ) + ->addHomeOnly() + ->addContentOnly() + ->addClass() + ->addOffline(); } /** @@ -179,19 +151,20 @@ class zoneclearFeedServerWidget { global $core; - if ($w->offline) - return; + if ($w->offline) { + return null; + } if (!$core->blog->settings->zoneclearFeedServer->zoneclearFeedServer_active - || $w->homeonly == 1 && $core->url->type != 'default' - || $w->homeonly == 2 && $core->url->type == 'default' + || $w->homeonly == 1 && !$core->url->isHome($core->url->type) + || $w->homeonly == 2 && $core->url->isHome($core->url->type) ) { return null; } - $p = array(); - $p['order'] = ($w->sortby && in_array($w->sortby, array('feed_upd_last', 'lowername', 'feed_creadt'))) ? - $w->sortby.' ' : 'feed_upd_last '; + $p = []; + $p['order'] = ($w->sortby && in_array($w->sortby, ['feed_upd_last', 'lowername', 'feed_creadt'])) ? + $w->sortby . ' ' : 'feed_upd_last '; $p['order'] .= $w->sort == 'desc' ? 'DESC' : 'ASC'; $p['limit'] = abs((integer) $w->limit); $p['feed_status'] = 1; @@ -200,30 +173,36 @@ class zoneclearFeedServerWidget $rs = $zc->getFeeds($p); if ($rs->isEmpty()) { - return null; } - $res = ''; + $lines = []; $i = 1; while($rs->fetch()) { - $res .= - '
'. - html::escapeHTML($w->pagelink).'
'; + $pub = ''; + if ($w->pagelink && $core->blog->settings->zoneclearFeedServer->zoneclearFeedServer_pub_active) { + $pub = sprintf( + '', + $core->blog->url . $core->url->getBase('zoneclearFeedsPage'), + html::escapeHTML($w->pagelink) + ); } - return $w->renderDiv($w->content_only,'zoneclear-sources '.$w->class,'',$res); + return $w->renderDiv( + $w->content_only, + 'zoneclear-sources ' . $w->class, + '', + ($w->title ? $w->renderTitle(html::escapeHTML($w->title)) : '') . + sprintf('