Fix and update widgets
This commit is contained in:
parent
b21e286961
commit
02d56c5c96
377
_widgets.php
377
_widgets.php
@ -12,17 +12,16 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
if (!defined('DC_RC_PATH')) {
|
if (!defined('DC_RC_PATH')) {
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
$core->addBehavior(
|
$core->addBehavior(
|
||||||
'initWidgets',
|
'initWidgets',
|
||||||
array('cinecturlink2Widget', 'adminLinks')
|
['cinecturlink2Widget', 'adminLinks']
|
||||||
);
|
);
|
||||||
$core->addBehavior(
|
$core->addBehavior(
|
||||||
'initWidgets',
|
'initWidgets',
|
||||||
array('cinecturlink2Widget', 'adminCats')
|
['cinecturlink2Widget', 'adminCats']
|
||||||
);
|
);
|
||||||
|
|
||||||
class cinecturlink2Widget
|
class cinecturlink2Widget
|
||||||
@ -33,140 +32,128 @@ class cinecturlink2Widget
|
|||||||
|
|
||||||
$C2 = new cinecturlink2($core);
|
$C2 = new cinecturlink2($core);
|
||||||
|
|
||||||
$categories_combo = array('' => '', __('Uncategorized') => 'null');
|
$categories_combo = ['' => '', __('Uncategorized') => 'null'];
|
||||||
$categories = $C2->getCategories();
|
$categories = $C2->getCategories();
|
||||||
while($categories->fetch()) {
|
while($categories->fetch()) {
|
||||||
$cat_title = html::escapeHTML($categories->cat_title);
|
$cat_title = html::escapeHTML($categories->cat_title);
|
||||||
$categories_combo[$cat_title] = $categories->cat_id;
|
$categories_combo[$cat_title] = $categories->cat_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
$sortby_combo = array(
|
$sortby_combo = [
|
||||||
__('Update date') => 'link_upddt',
|
__('Update date') => 'link_upddt',
|
||||||
__('My rating') => 'link_note',
|
__('My rating') => 'link_note',
|
||||||
__('Title') => 'link_title',
|
__('Title') => 'link_title',
|
||||||
__('Random') => 'RANDOM',
|
__('Random') => 'RANDOM',
|
||||||
__('Number of views') => 'COUNTER'
|
__('Number of views') => 'COUNTER'
|
||||||
);
|
];
|
||||||
$order_combo = array(
|
$order_combo = [
|
||||||
__('Ascending') => 'asc',
|
__('Ascending') => 'asc',
|
||||||
__('Descending') => 'desc'
|
__('Descending') => 'desc'
|
||||||
);
|
];
|
||||||
|
|
||||||
$w->create(
|
$w
|
||||||
'cinecturlink2links',
|
->create(
|
||||||
__('My cinecturlink'),
|
'cinecturlink2links',
|
||||||
array('cinecturlink2Widget', 'publicLinks'),
|
__('My cinecturlink'),
|
||||||
'null',
|
['cinecturlink2Widget', 'publicLinks'],
|
||||||
__('Show selection of cinecturlinks')
|
null,
|
||||||
);
|
__('Show selection of cinecturlinks')
|
||||||
$w->cinecturlink2links->setting(
|
|
||||||
'title',
|
|
||||||
__('Title:'),
|
|
||||||
__('My cinecturlink'),
|
|
||||||
'text'
|
|
||||||
);
|
|
||||||
$w->cinecturlink2links->setting(
|
|
||||||
'category',
|
|
||||||
__('Category:'),
|
|
||||||
'',
|
|
||||||
'combo',
|
|
||||||
$categories_combo
|
|
||||||
);
|
|
||||||
$w->cinecturlink2links->setting(
|
|
||||||
'sortby',
|
|
||||||
__('Order by:'),
|
|
||||||
'link_upddt',
|
|
||||||
'combo',
|
|
||||||
$sortby_combo
|
|
||||||
);
|
|
||||||
$w->cinecturlink2links->setting(
|
|
||||||
'sort',
|
|
||||||
__('Sort: (only for date, note and title)'),
|
|
||||||
'desc',
|
|
||||||
'combo',
|
|
||||||
$order_combo
|
|
||||||
);
|
|
||||||
$w->cinecturlink2links->setting(
|
|
||||||
'limit',
|
|
||||||
__('Limit:'),
|
|
||||||
10,
|
|
||||||
'text'
|
|
||||||
);
|
|
||||||
$w->cinecturlink2links->setting(
|
|
||||||
'withlink',
|
|
||||||
__('Enable link'),
|
|
||||||
1,
|
|
||||||
'check'
|
|
||||||
);
|
|
||||||
$w->cinecturlink2links->setting(
|
|
||||||
'showauthor',
|
|
||||||
__('Show author'),
|
|
||||||
1,
|
|
||||||
'check'
|
|
||||||
);
|
|
||||||
$w->cinecturlink2links->setting(
|
|
||||||
'shownote',
|
|
||||||
__('Show my rating'),
|
|
||||||
0,
|
|
||||||
'check'
|
|
||||||
);
|
|
||||||
$w->cinecturlink2links->setting(
|
|
||||||
'showdesc',
|
|
||||||
__('Show description'),
|
|
||||||
0,
|
|
||||||
'check'
|
|
||||||
);
|
|
||||||
$w->cinecturlink2links->setting(
|
|
||||||
'showpagelink',
|
|
||||||
__('Show a link to cinecturlink page'),
|
|
||||||
0,
|
|
||||||
'check'
|
|
||||||
);
|
|
||||||
$w->cinecturlink2links->setting(
|
|
||||||
'homeonly',
|
|
||||||
__('Display on:'),
|
|
||||||
1,
|
|
||||||
'combo',
|
|
||||||
array(
|
|
||||||
__('All pages') => 0,
|
|
||||||
__('Home page only') => 1,
|
|
||||||
__('Except on home page') => 2
|
|
||||||
)
|
)
|
||||||
);
|
->addTitle(
|
||||||
|
__('My cinecturlink'),
|
||||||
|
)
|
||||||
|
->setting(
|
||||||
|
'category',
|
||||||
|
__('Category:'),
|
||||||
|
'',
|
||||||
|
'combo',
|
||||||
|
$categories_combo
|
||||||
|
)
|
||||||
|
->setting(
|
||||||
|
'sortby',
|
||||||
|
__('Order by:'),
|
||||||
|
'link_upddt',
|
||||||
|
'combo',
|
||||||
|
$sortby_combo
|
||||||
|
)
|
||||||
|
->setting(
|
||||||
|
'sort',
|
||||||
|
__('Sort: (only for date, note and title)'),
|
||||||
|
'desc',
|
||||||
|
'combo',
|
||||||
|
$order_combo
|
||||||
|
)
|
||||||
|
->setting(
|
||||||
|
'limit',
|
||||||
|
__('Limit:'),
|
||||||
|
10,
|
||||||
|
'text'
|
||||||
|
)
|
||||||
|
->setting(
|
||||||
|
'withlink',
|
||||||
|
__('Enable link'),
|
||||||
|
1,
|
||||||
|
'check'
|
||||||
|
)
|
||||||
|
->setting(
|
||||||
|
'showauthor',
|
||||||
|
__('Show author'),
|
||||||
|
1,
|
||||||
|
'check'
|
||||||
|
)
|
||||||
|
->setting(
|
||||||
|
'shownote',
|
||||||
|
__('Show my rating'),
|
||||||
|
0,
|
||||||
|
'check'
|
||||||
|
)
|
||||||
|
->setting(
|
||||||
|
'showdesc',
|
||||||
|
__('Show description'),
|
||||||
|
0,
|
||||||
|
'check'
|
||||||
|
)
|
||||||
|
->setting(
|
||||||
|
'showpagelink',
|
||||||
|
__('Show a link to cinecturlink page'),
|
||||||
|
0,
|
||||||
|
'check'
|
||||||
|
)
|
||||||
|
->addHomeOnly()
|
||||||
|
->addContentOnly()
|
||||||
|
->addClass()
|
||||||
|
->addOffline();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function adminCats($w)
|
public static function adminCats($w)
|
||||||
{
|
{
|
||||||
$w->create(
|
$w
|
||||||
'cinecturlink2cats',
|
->create(
|
||||||
__('List of categories of cinecturlink'),
|
'cinecturlink2cats',
|
||||||
array('cinecturlink2Widget', 'publicCats'),
|
__('List of categories of cinecturlink'),
|
||||||
null,
|
['cinecturlink2Widget', 'publicCats'],
|
||||||
__('List of categories of cinecturlink')
|
null,
|
||||||
);
|
__('List of categories of cinecturlink')
|
||||||
$w->cinecturlink2cats->setting(
|
|
||||||
'title',
|
|
||||||
__('Title:'),
|
|
||||||
__('My cinecturlink by categories'),
|
|
||||||
'text'
|
|
||||||
);
|
|
||||||
$w->cinecturlink2cats->setting(
|
|
||||||
'shownumlink',
|
|
||||||
__('Show number of links'),
|
|
||||||
0,
|
|
||||||
'check'
|
|
||||||
);
|
|
||||||
$w->cinecturlink2cats->setting(
|
|
||||||
'homeonly',
|
|
||||||
__('Display on:'),
|
|
||||||
1,
|
|
||||||
'combo',
|
|
||||||
array(
|
|
||||||
__('All pages') => 0,
|
|
||||||
__('Home page only') => 1,
|
|
||||||
__('Except on home page') => 2
|
|
||||||
)
|
)
|
||||||
);
|
->addTitle(
|
||||||
|
__('My cinecturlink by categories')
|
||||||
|
)
|
||||||
|
->setting(
|
||||||
|
'title',
|
||||||
|
__('Title:'),
|
||||||
|
__('My cinecturlink by categories'),
|
||||||
|
'text'
|
||||||
|
)
|
||||||
|
->setting(
|
||||||
|
'shownumlink',
|
||||||
|
__('Show number of links'),
|
||||||
|
0,
|
||||||
|
'check'
|
||||||
|
)
|
||||||
|
->addHomeOnly()
|
||||||
|
->addContentOnly()
|
||||||
|
->addClass()
|
||||||
|
->addOffline();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function publicLinks($w)
|
public static function publicLinks($w)
|
||||||
@ -175,9 +162,9 @@ class cinecturlink2Widget
|
|||||||
|
|
||||||
$core->blog->settings->addNamespace('cinecturlink2');
|
$core->blog->settings->addNamespace('cinecturlink2');
|
||||||
|
|
||||||
if (!$core->blog->settings->cinecturlink2->cinecturlink2_active
|
if (!$core->blog->settings->cinecturlink2->cinecturlink2_active
|
||||||
|| $w->homeonly == 1 && $core->url->type != 'default'
|
|| $w->homeonly == 1 && !$core->url->isHome($core->url->type)
|
||||||
|| $w->homeonly == 2 && $core->url->type == 'default'
|
|| $w->homeonly == 2 && $core->url->isHome($core->url->type)
|
||||||
) {
|
) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -195,33 +182,29 @@ class cinecturlink2Widget
|
|||||||
|
|
||||||
$limit = abs((integer) $w->limit);
|
$limit = abs((integer) $w->limit);
|
||||||
|
|
||||||
# Tirage aléatoire
|
// Tirage aléatoire: Consomme beaucoup de ressources!
|
||||||
# Consomme beaucoup de ressources!
|
|
||||||
if ($w->sortby == 'RANDOM') {
|
if ($w->sortby == 'RANDOM') {
|
||||||
$big_rs = $C2->getLinks($params);
|
$big_rs = $C2->getLinks($params);
|
||||||
|
|
||||||
if ($big_rs->isEmpty()) {
|
if ($big_rs->isEmpty()) {
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
$ids= array();
|
$ids= [];
|
||||||
while($big_rs->fetch()) {
|
while($big_rs->fetch()) {
|
||||||
$ids[] = $big_rs->link_id;
|
$ids[] = $big_rs->link_id;
|
||||||
}
|
}
|
||||||
shuffle($ids);
|
shuffle($ids);
|
||||||
$ids = array_slice($ids, 0, $limit);
|
$ids = array_slice($ids, 0, $limit);
|
||||||
|
|
||||||
$params['link_id'] = array();
|
$params['link_id'] = [];
|
||||||
foreach($ids as $id) {
|
foreach($ids as $id) {
|
||||||
$params['link_id'][] = $id;
|
$params['link_id'][] = $id;
|
||||||
}
|
}
|
||||||
}
|
} elseif ($w->sortby == 'COUNTER') {
|
||||||
elseif ($w->sortby == 'COUNTER') {
|
|
||||||
$params['order'] = 'link_count asc';
|
$params['order'] = 'link_count asc';
|
||||||
$params['limit'] = $limit;
|
$params['limit'] = $limit;
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
$params['order'] = $w->sortby;
|
$params['order'] = $w->sortby;
|
||||||
$params['order'] .= $w->sort == 'asc' ? ' asc' : ' desc';
|
$params['order'] .= $w->sort == 'asc' ? ' asc' : ' desc';
|
||||||
$params['limit'] = $limit;
|
$params['limit'] = $limit;
|
||||||
@ -230,50 +213,48 @@ class cinecturlink2Widget
|
|||||||
$rs = $C2->getLinks($params);
|
$rs = $C2->getLinks($params);
|
||||||
|
|
||||||
if ($rs->isEmpty()) {
|
if ($rs->isEmpty()) {
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
$widthmax = (integer) $core->blog->settings->cinecturlink2->cinecturlink2_widthmax;
|
$widthmax = (integer) $core->blog->settings->cinecturlink2->cinecturlink2_widthmax;
|
||||||
$style = $widthmax ? ' style="width:'.$widthmax.'px;"' : '';
|
$style = $widthmax ? ' style="width:' . $widthmax . 'px;"' : '';
|
||||||
|
|
||||||
$entries = array();
|
$entries = [];
|
||||||
while($rs->fetch()) {
|
while($rs->fetch()) {
|
||||||
$url = $rs->link_url;
|
$url = $rs->link_url;
|
||||||
$img = $rs->link_img;
|
$img = $rs->link_img;
|
||||||
$title = html::escapeHTML($rs->link_title);
|
$title = html::escapeHTML($rs->link_title);
|
||||||
$author = html::escapeHTML($rs->link_author);
|
$author = html::escapeHTML($rs->link_author);
|
||||||
$cat = html::escapeHTML($rs->cat_title);
|
$cat = html::escapeHTML($rs->cat_title);
|
||||||
$note = $w->shownote ? ' <em>('.$rs->link_note.'/20)</em>' : '';
|
$note = $w->shownote ? ' <em>(' . $rs->link_note . '/20)</em>' : '';
|
||||||
$desc = $w->showdesc ? '<br /><em>'.html::escapeHTML($rs->link_desc).'</em>' : '';
|
$desc = $w->showdesc ? '<br /><em>' . html::escapeHTML($rs->link_desc) . '</em>' : '';
|
||||||
$lang = $rs->link_lang ? ' hreflang="'.$rs->link_lang.'"' : '';
|
$lang = $rs->link_lang ? ' hreflang="' . $rs->link_lang . '"' : '';
|
||||||
$count = abs((integer) $rs->link_count);
|
$count = abs((integer) $rs->link_count);
|
||||||
|
|
||||||
# --BEHAVIOR-- cinecturlink2WidgetLinks
|
# --BEHAVIOR-- cinecturlink2WidgetLinks
|
||||||
$bhv = $core->callBehavior('cinecturlink2WidgetLinks', $rs->link_id);
|
$bhv = $core->callBehavior('cinecturlink2WidgetLinks', $rs->link_id);
|
||||||
|
|
||||||
$entries[] =
|
$entries[] =
|
||||||
'<p style="text-align:center;">'.
|
'<p style="text-align:center;">' .
|
||||||
($w->withlink && !empty($url) ? '<a href="'.$url.'"'.$lang.' title="'.$cat.'">' : '').
|
($w->withlink && !empty($url) ? '<a href="' . $url . '"' . $lang . ' title="' . $cat . '">' : '') .
|
||||||
'<strong>'.$title.'</strong>'.$note.'<br />'.
|
'<strong>' . $title . '</strong>' . $note . '<br />' .
|
||||||
($w->showauthor ? $author.'<br />' : '').'<br />'.
|
($w->showauthor ? $author . '<br />' : '') . '<br />' .
|
||||||
'<img src="'.$img.'" alt="'.$title.' - '.$author.'"'.$style.' />'.
|
'<img src="' . $img . '" alt="' . $title . ' - ' . $author . '"' . $style . ' />' .
|
||||||
$desc.
|
$desc .
|
||||||
($w->withlink && !empty($url) ? '</a>' : '').
|
($w->withlink && !empty($url) ? '</a>' : '') .
|
||||||
'</p>'.$bhv;
|
'</p>' . $bhv;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
$cur = $core->con->openCursor($C2->table);
|
$cur = $core->con->openCursor($C2->table);
|
||||||
$cur->link_count = ($count + 1);
|
$cur->link_count = ($count + 1);
|
||||||
$C2->updLink($rs->link_id, $cur, false);
|
$C2->updLink($rs->link_id, $cur, false);
|
||||||
}
|
} catch (Exception $e) {
|
||||||
catch (Exception $e) {
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
# Tirage aléatoire
|
# Tirage aléatoire
|
||||||
if ($w->sortby == 'RANDOM'
|
if ($w->sortby == 'RANDOM'
|
||||||
|| $w->sortby == 'COUNTER'
|
|| $w->sortby == 'COUNTER'
|
||||||
) {
|
) {
|
||||||
shuffle($entries);
|
shuffle($entries);
|
||||||
if ($core->blog->settings->cinecturlink2->cinecturlink2_triggeronrandom) {
|
if ($core->blog->settings->cinecturlink2->cinecturlink2_triggeronrandom) {
|
||||||
@ -281,14 +262,15 @@ class cinecturlink2Widget
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return
|
return $w->renderDiv(
|
||||||
'<div class="cinecturlink2list">'.
|
$w->content_only,
|
||||||
($w->title ? '<h2>'.html::escapeHTML($w->title).'</h2>' : '').
|
'cinecturlink2list '. $w->class,
|
||||||
implode(' ',$entries).
|
'',
|
||||||
($w->showpagelink && $core->blog->settings->cinecturlink2->cinecturlink2_public_active ?
|
($w->title ? $w->renderTitle(html::escapeHTML($w->title)) : '') . implode(' ',$entries) .
|
||||||
'<p><a href="'.$core->blog->url.$core->url->getBase('cinecturlink2').'" title="'.__('view all links').'">'.__('More links').'</a></p>' : ''
|
($w->showpagelink && $core->blog->settings->cinecturlink2->cinecturlink2_public_active ?
|
||||||
).
|
'<p><a href="' . $core->blog->url . $core->url->getBase('cinecturlink2') . '" title="' . __('view all links') . '">' . __('More links') . '</a></p>' : ''
|
||||||
'</div>';
|
)
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function publicCats($w)
|
public static function publicCats($w)
|
||||||
@ -297,50 +279,47 @@ class cinecturlink2Widget
|
|||||||
|
|
||||||
$core->blog->settings->addNamespace('cinecturlink2');
|
$core->blog->settings->addNamespace('cinecturlink2');
|
||||||
|
|
||||||
if (!$core->blog->settings->cinecturlink2->cinecturlink2_active
|
if (!$core->blog->settings->cinecturlink2->cinecturlink2_active
|
||||||
|| !$core->blog->settings->cinecturlink2->cinecturlink2_public_active
|
|| !$core->blog->settings->cinecturlink2->cinecturlink2_public_active
|
||||||
|| $w->homeonly == 1 && $core->url->type != 'default'
|
|| $w->homeonly == 1 && !$core->url->isHome($core->url->type)
|
||||||
|| $w->homeonly == 2 && $core->url->type == 'default'
|
|| $w->homeonly == 2 && $core->url->isHome($core->url->type)
|
||||||
) {
|
) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
$C2 = new cinecturlink2($core);
|
$C2 = new cinecturlink2($core);
|
||||||
|
$rs = $C2->getCategories([]);
|
||||||
$rs = $C2->getCategories(array());
|
|
||||||
|
|
||||||
if ($rs->isEmpty()) {
|
if ($rs->isEmpty()) {
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
$res =
|
$res = [];
|
||||||
'<li><a href="'.
|
$res[] =
|
||||||
$core->blog->url.$core->url->getBase('cinecturlink2').
|
'<li><a href="' .
|
||||||
'" title="'.__('view all links').'">'.__('all links').
|
$core->blog->url . $core->url->getBase('cinecturlink2') .
|
||||||
'</a>';
|
'" title="' . __('view all links') . '">' . __('all links') .
|
||||||
if ($w->shownumlink) {
|
'</a>'. ($w->shownumlink ? ' ('. ($C2->getLinks([], true)->f(0)) . ')' : '') .
|
||||||
$res .= ' ('.($C2->getLinks(array(), true)->f(0)).')';
|
'</li>';
|
||||||
}
|
|
||||||
$res .= '</li>';
|
|
||||||
|
|
||||||
while($rs->fetch()) {
|
while($rs->fetch()) {
|
||||||
$res .=
|
$res[] =
|
||||||
'<li><a href="'.
|
'<li><a href="' .
|
||||||
$core->blog->url.$core->url->getBase('cinecturlink2').'/'.$core->blog->settings->cinecturlink2->cinecturlink2_public_caturl.'/'.urlencode($rs->cat_title).
|
$core->blog->url . $core->url->getBase('cinecturlink2') . '/' .
|
||||||
'" title="'.__('view links of this category').'">'.
|
$core->blog->settings->cinecturlink2->cinecturlink2_public_caturl . '/' .
|
||||||
html::escapeHTML($rs->cat_title).
|
urlencode($rs->cat_title) .
|
||||||
'</a>';
|
'" title="'.__('view links of this category') . '">' .
|
||||||
if ($w->shownumlink) {
|
html::escapeHTML($rs->cat_title) .
|
||||||
$res .= ' ('.($C2->getLinks(array('cat_id'=>$rs->cat_id), true)->f(0)).')';
|
'</a>'. ($w->shownumlink ? ' (' .
|
||||||
}
|
($C2->getLinks(['cat_id' => $rs->cat_id], true)->f(0)) . ')' : '') .
|
||||||
$res .= '</li>';
|
'</li>';
|
||||||
}
|
}
|
||||||
|
|
||||||
return
|
return $w->renderDiv(
|
||||||
'<div class="cinecturlink2cat">'.
|
$w->content_only,
|
||||||
($w->title ? '<h2>'.html::escapeHTML($w->title).'</h2>' : '').
|
'cinecturlink2cat '. $w->class,
|
||||||
'<ul>'.$res.'</ul>'.
|
'',
|
||||||
'</div>';
|
($w->title ? $w->renderTitle(html::escapeHTML($w->title)) : '') .
|
||||||
|
'<ul>' . implode(' ',$res) . '</ul>'
|
||||||
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user