]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Fixes #3171 added river widget using same name as 1.7 riverdashboard plugin
authorcash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Sat, 19 Mar 2011 18:37:25 +0000 (18:37 +0000)
committercash <cash@36083f99-b078-4883-b0ff-0f9b5a30f544>
Sat, 19 Mar 2011 18:37:25 +0000 (18:37 +0000)
git-svn-id: http://code.elgg.org/elgg/trunk@8774 36083f99-b078-4883-b0ff-0f9b5a30f544

engine/lib/river.php
languages/en.php
views/default/widgets/river_widget/content.php [new file with mode: 0644]
views/default/widgets/river_widget/edit.php [new file with mode: 0644]

index c0100bb813bc7b1c8f0b9588e08c57e52281a490..50663c966443b9a7265b98ffa3ce53f477994864 100644 (file)
@@ -534,6 +534,8 @@ function elgg_river_init() {
        elgg_register_page_handler('activity', 'elgg_river_page_handler');
        $item = new ElggMenuItem('activity', elgg_echo('activity'), 'activity');
        elgg_register_menu_item('site', $item);
+
+       add_widget_type('river_widget', elgg_echo('river:widget:title'), elgg_echo('river:widget:description'));
 }
 
 elgg_register_event_handler('init', 'system', 'elgg_river_init');
index 6ccdbaecbcc7c9686c9432edca97d2372dfa5af7..ab4abc00b74e0b11ed4d8f754223bee482b3469b 100644 (file)
@@ -411,6 +411,13 @@ $english = array(
        'riveritem:single:user' => 'a user',
        'riveritem:plural:user' => 'some users',
        'river:ingroup' => 'to the group %s',
+       'river:none' => 'No activity',
+
+       'river:widget:title' => "Activity",
+       'river:widget:description' => "Display latest activity",
+       'river:widget:type' => "Type of activity",
+       'river:widgets:friends' => 'Friends activity',
+       'river:widgets:all' => 'All site activity',
 
 /**
  * Notifications
diff --git a/views/default/widgets/river_widget/content.php b/views/default/widgets/river_widget/content.php
new file mode 100644 (file)
index 0000000..427fd92
--- /dev/null
@@ -0,0 +1,27 @@
+<?php
+/**
+ * Activity widget content view
+ */
+
+$num = (int) $vars['entity']->num_display;
+
+$options = array(
+       'limit' => $num,
+       'pagination' => false,
+);
+
+if (elgg_in_context('profile')) {
+       $options['subject_guid'] = elgg_get_page_owner_guid();
+} else {
+       if ($vars['entity']->content_type == 'friends') {
+               $options['relationship_guid'] = elgg_get_logged_in_user_guid();
+               $options['relationship'] = 'friend';
+       }
+}
+
+$content = elgg_list_river($options);
+if (!$content) {
+       $content = elgg_echo('river:none');
+}
+
+echo $content;
diff --git a/views/default/widgets/river_widget/edit.php b/views/default/widgets/river_widget/edit.php
new file mode 100644 (file)
index 0000000..e0351e8
--- /dev/null
@@ -0,0 +1,45 @@
+<?php
+/**
+ * Edit settings for river widget
+ */
+
+// dashboard widget has type parameter
+if (elgg_in_context('dashboard')) {
+       if (!isset($vars['entity']->content_type)) {
+               $vars['entity']->content_type = 'friends';
+       }
+       $params = array(
+               'name' => 'params[content_type]',
+               'value' => $vars['entity']->content_type,
+               'options_values' => array(
+                       'friends' => elgg_echo('river:widgets:friends'),
+                       'all' => elgg_echo('river:widgets:all'),
+               ),
+       );
+       $type_dropdown = elgg_view('input/dropdown', $params);
+       ?>
+       <div>
+               <?php echo elgg_echo('river:widget:type'); ?>:
+               <?php echo $type_dropdown; ?>
+       </div>
+       <?php
+}
+
+
+// set default value for number to display
+if (!isset($vars['entity']->num_display)) {
+       $vars['entity']->num_display = 8;
+}
+
+$params = array(
+       'name' => 'params[num_display]',
+       'value' => $vars['entity']->num_display,
+       'options' => array(5, 8, 10, 12, 15, 20),
+);
+$num_dropdown = elgg_view('input/dropdown', $params);
+
+?>
+<div>
+       <?php echo elgg_echo('widget:numbertodisplay'); ?>:
+       <?php echo $num_dropdown; ?>
+</div>