streams/Zotlabs/Widget/Rating.php
2021-12-03 14:01:39 +11:00

73 lines
1.9 KiB
PHP

<?php
namespace Zotlabs\Widget;
use App;
class Rating
{
public function widget($arr)
{
$rating_enabled = get_config('system', 'rating_enabled');
if (!$rating_enabled) {
return;
}
if ($arr['target']) {
$hash = $arr['target'];
} else {
$hash = App::$poi['xchan_hash'];
}
if (!$hash) {
return;
}
$url = '';
$remote = false;
if (remote_channel() && !local_channel()) {
$ob = App::get_observer();
if ($ob && $ob['xchan_url']) {
$p = parse_url($ob['xchan_url']);
if ($p) {
$url = $p['scheme'] . '://' . $p['host'] . (($p['port']) ? ':' . $p['port'] : '');
$url .= '/rate?f=&target=' . urlencode($hash);
}
$remote = true;
}
}
$self = false;
if (local_channel()) {
$channel = App::get_channel();
if ($hash == $channel['channel_hash']) {
$self = true;
}
head_add_js('ratings.js');
}
$o = '<div class="widget">';
$o .= '<h3>' . t('Rating Tools') . '</h3>';
if ((($remote) || (local_channel())) && (!$self)) {
if ($remote) {
$o .= '<a class="btn btn-block btn-primary btn-sm" href="' . $url . '"><i class="fa fa-pencil"></i> ' . t('Rate Me') . '</a>';
} else {
$o .= '<div class="btn btn-block btn-primary btn-sm" onclick="doRatings(\'' . $hash . '\'); return false;"><i class="fa fa-pencil"></i> ' . t('Rate Me') . '</div>';
}
}
$o .= '<a class="btn btn-block btn-default btn-sm" href="ratings/' . $hash . '"><i class="fa fa-eye"></i> ' . t('View Ratings') . '</a>';
$o .= '</div>';
return $o;
}
}