aboutsummaryrefslogtreecommitdiffstats
path: root/Zotlabs/Widget/Notifications.php
diff options
context:
space:
mode:
authorMario Vavti <mario@mariovavti.com>2017-10-08 17:19:29 +0200
committerMario Vavti <mario@mariovavti.com>2017-10-08 17:19:29 +0200
commit991db280be4c3cbbff4fb1e4dae8f303a487ed3f (patch)
tree77b85421af0e0052f5b0ab23fc95abd51bc89728 /Zotlabs/Widget/Notifications.php
parent71c206fdb9d8ccdd0b65feb49db93a58ea51e0e6 (diff)
downloadvolse-hubzilla-991db280be4c3cbbff4fb1e4dae8f303a487ed3f.tar.gz
volse-hubzilla-991db280be4c3cbbff4fb1e4dae8f303a487ed3f.tar.bz2
volse-hubzilla-991db280be4c3cbbff4fb1e4dae8f303a487ed3f.zip
experimental new notifications - needs pconfig experimental_notif set to 1 for your channel to work.
Diffstat (limited to 'Zotlabs/Widget/Notifications.php')
-rw-r--r--Zotlabs/Widget/Notifications.php152
1 files changed, 152 insertions, 0 deletions
diff --git a/Zotlabs/Widget/Notifications.php b/Zotlabs/Widget/Notifications.php
new file mode 100644
index 000000000..85e8e6cac
--- /dev/null
+++ b/Zotlabs/Widget/Notifications.php
@@ -0,0 +1,152 @@
+<?php
+
+namespace Zotlabs\Widget;
+
+class Notifications {
+
+ function widget($arr) {
+
+ if(! get_pconfig(local_channel(), 'system', 'experimental_notif'))
+ return;
+
+ $channel = \App::get_channel();
+
+ if(local_channel()) {
+ $notifications[] = [
+ 'type' => 'network',
+ 'icon' => 'th',
+ 'severity' => 'secondary',
+ 'label' => t('Activity'),
+ 'title' => t('Network Activity Notifications'),
+ 'viewall' => [
+ 'url' => 'network',
+ 'label' => t('View your network activity')
+ ],
+ 'markall' => [
+ 'url' => '#',
+ 'label' => t('Mark all notifications seen')
+ ]
+ ];
+
+ $notifications[] = [
+ 'type' => 'home',
+ 'icon' => 'home',
+ 'severity' => 'danger',
+ 'label' => t('Home'),
+ 'title' => t('Channel Home Notifications'),
+ 'viewall' => [
+ 'url' => 'channel/' . $channel['channel_address'],
+ 'label' => t('View your home activity')
+ ],
+ 'markall' => [
+ 'url' => '#',
+ 'label' => t('Mark all notifications seen')
+ ]
+ ];
+
+ $notifications[] = [
+ 'type' => 'messages',
+ 'icon' => 'envelope',
+ 'severity' => 'danger',
+ 'label' => t('Mail'),
+ 'title' => t('Private mail'),
+ 'viewall' => [
+ 'url' => 'mail/combined',
+ 'label' => t('View your private mails')
+ ],
+ 'markall' => [
+ 'url' => '#',
+ 'label' => t('Mark all messages seen')
+ ]
+ ];
+
+ $notifications[] = [
+ 'type' => 'all_events',
+ 'icon' => 'calendar',
+ 'severity' => 'secondary',
+ 'label' => t('Events'),
+ 'title' => t('Event Calendar'),
+ 'viewall' => [
+ 'url' => 'mail/combined',
+ 'label' => t('View events')
+ ],
+ 'markall' => [
+ 'url' => '#',
+ 'label' => t('Mark all events seen')
+ ]
+ ];
+
+ $notifications[] = [
+ 'type' => 'intros',
+ 'icon' => 'users',
+ 'severity' => 'danger',
+ 'label' => t('New Connections'),
+ 'title' => t('New Connections'),
+ 'viewall' => [
+ 'url' => 'connections',
+ 'label' => t('View all connections')
+ ]
+ ];
+
+ $notifications[] = [
+ 'type' => 'files',
+ 'icon' => 'folder',
+ 'severity' => 'danger',
+ 'label' => t('New Files'),
+ 'title' => t('New files shared with me'),
+ ];
+
+ $notifications[] = [
+ 'type' => 'notify',
+ 'icon' => 'exclamation',
+ 'severity' => 'danger',
+ 'label' => t('Notices'),
+ 'title' => t('Notices'),
+ 'viewall' => [
+ 'url' => 'notifications/system',
+ 'label' => t('View all notices')
+ ],
+ 'markall' => [
+ 'url' => '#',
+ 'label' => t('Mark all notices seen')
+ ]
+ ];
+ }
+
+ if(local_channel() && is_site_admin()) {
+ $notifications[] = [
+ 'type' => 'register',
+ 'icon' => 'user-o',
+ 'severity' => 'danger',
+ 'label' => t('New Registrations'),
+ 'title' => t('New Registrations'),
+ ];
+ }
+
+ $notifications[] = [
+ 'type' => 'pubs',
+ 'icon' => 'globe',
+ 'severity' => 'secondary',
+ 'label' => t('Public Stream'),
+ 'title' => t('Public Stream Notifications'),
+ 'viewall' => [
+ 'url' => 'pubstream',
+ 'label' => t('View the public stream')
+ ],
+ 'markall' => [
+ 'url' => '#',
+ 'label' => t('Mark all notifications seen')
+ ]
+ ];
+
+
+ $o = replace_macros(get_markup_template('notifications_widget.tpl'), array(
+ '$notifications' => $notifications,
+ '$loading' => t('Loading...')
+ ));
+
+ return $o;
+
+ }
+}
+