diff options
Diffstat (limited to 'Zotlabs/Widget/Rating.php')
-rw-r--r-- | Zotlabs/Widget/Rating.php | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/Zotlabs/Widget/Rating.php b/Zotlabs/Widget/Rating.php new file mode 100644 index 000000000..5e09f457b --- /dev/null +++ b/Zotlabs/Widget/Rating.php @@ -0,0 +1,67 @@ +<?php + +namespace Zotlabs\Widget; + +class Rating { + + 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; + + } +} + |