]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Fixes #3139 DRYs up group modules
authorcash <cash.costello@gmail.com>
Sat, 25 Jun 2011 01:03:45 +0000 (21:03 -0400)
committercash <cash.costello@gmail.com>
Sat, 25 Jun 2011 01:10:05 +0000 (21:10 -0400)
mod/blog/views/default/blog/group_module.php
mod/bookmarks/views/default/bookmarks/group_module.php
mod/file/views/default/file/group_module.php
mod/groups/views/default/discussion/group_module.php
mod/groups/views/default/groups/profile/activity_module.php
mod/groups/views/default/groups/profile/module.php [new file with mode: 0644]
mod/pages/views/default/pages/group_module.php

index 6cfe6c98ebc6f2c93aecd6ab7c354f5b59e1b18c..d769fbd59b64357999154640b90f76d5d78d51ff 100644 (file)
@@ -14,10 +14,6 @@ $all_link = elgg_view('output/url', array(
        'text' => elgg_echo('link:view:all'),
 ));
 
-$header = "<span class=\"groups-widget-viewall\">$all_link</span>";
-$header .= '<h3>' . elgg_echo('blog:group') . '</h3>';
-
-
 elgg_push_context('widgets');
 $options = array(
        'type' => 'object',
@@ -34,12 +30,14 @@ if (!$content) {
        $content = '<p>' . elgg_echo('blog:none') . '</p>';
 }
 
-if ($group->canWriteToContainer()) {
-       $new_link = elgg_view('output/url', array(
-               'href' => "blog/add/$group->guid",
-               'text' => elgg_echo('blog:write'),
-       ));
-       $content .= "<span class='elgg-widget-more'>$new_link</span>";
-}
+$new_link = elgg_view('output/url', array(
+       'href' => "blog/add/$group->guid",
+       'text' => elgg_echo('blog:write'),
+));
 
-echo elgg_view_module('info', '', $content, array('header' => $header));
+echo elgg_view('groups/profile/module', array(
+       'title' => elgg_echo('blog:group'),
+       'content' => $content,
+       'all_link' => $all_link,
+       'add_link' => $new_link,
+));
index 3166fc0f0cbd3cf349093908f27afa4c6e41c4f7..3797de01015dde371e58e03515b8b87ed53da7db 100644 (file)
@@ -16,9 +16,6 @@ $all_link = elgg_view('output/url', array(
        'text' => elgg_echo('link:view:all'),
 ));
 
-$header = "<span class=\"groups-widget-viewall\">$all_link</span>";
-$header .= '<h3>' . elgg_echo('bookmarks:group') . '</h3>';
-
 elgg_push_context('widgets');
 $options = array(
        'type' => 'object',
@@ -35,12 +32,14 @@ if (!$content) {
        $content = '<p>' . elgg_echo('bookmarks:none') . '</p>';
 }
 
-if ($group->canWriteToContainer()) {
-       $new_link = elgg_view('output/url', array(
-               'href' => "bookmarks/add/$group->guid",
-               'text' => elgg_echo('bookmarks:add'),
-       ));
-       $content .= "<span class='elgg-widget-more'>$new_link</span>";
-}
+$new_link = elgg_view('output/url', array(
+       'href' => "bookmarks/add/$group->guid",
+       'text' => elgg_echo('bookmarks:add'),
+));
 
-echo elgg_view_module('info', '', $content, array('header' => $header));
+echo elgg_view('groups/profile/module', array(
+       'title' => elgg_echo('bookmarks:group'),
+       'content' => $content,
+       'all_link' => $all_link,
+       'add_link' => $new_link,
+));
index 830b1096c8b723180a56e60c2474d40d0c16555a..c37b13927602127a32ff05ee318ee8138e9ce3ce 100644 (file)
@@ -14,10 +14,6 @@ $all_link = elgg_view('output/url', array(
        'text' => elgg_echo('link:view:all'),
 ));
 
-$header = "<span class=\"groups-widget-viewall\">$all_link</span>";
-$header .= '<h3>' . elgg_echo('file:group') . '</h3>';
-
-
 elgg_push_context('widgets');
 $options = array(
        'type' => 'object',
@@ -34,12 +30,14 @@ if (!$content) {
        $content = '<p>' . elgg_echo('file:none') . '</p>';
 }
 
-if ($group->canWriteToContainer()) {
-       $new_link = elgg_view('output/url', array(
-               'href' => "file/add/$group->guid",
-               'text' => elgg_echo('file:add'),
-       ));
-       $content .= "<span class='elgg-widget-more'>$new_link</span>";
-}
+$new_link = elgg_view('output/url', array(
+       'href' => "file/add/$group->guid",
+       'text' => elgg_echo('file:add'),
+));
 
-echo elgg_view_module('info', '', $content, array('header' => $header));
+echo elgg_view('groups/profile/module', array(
+       'title' => elgg_echo('file:group'),
+       'content' => $content,
+       'all_link' => $all_link,
+       'add_link' => $new_link,
+));
index 165d9b1be15a39eff40cfbf1579cc45ab511503a..3a46e336ecf8206ccda89804da3e8e0dd9c93e00 100644 (file)
@@ -17,10 +17,6 @@ $all_link = elgg_view('output/url', array(
        'text' => elgg_echo('link:view:all'),
 ));
 
-$header = "<span class=\"groups-widget-viewall\">$all_link</span>";
-$header .= '<h3>' . elgg_echo('discussion:group') . '</h3>';
-
-
 elgg_push_context('widgets');
 $options = array(
        'type' => 'object',
@@ -37,12 +33,14 @@ if (!$content) {
        $content = '<p>' . elgg_echo('grouptopic:notcreated') . '</p>';
 }
 
-if ($group->canWriteToContainer()) {
-       $new_link = elgg_view('output/url', array(
-               'href' => "discussion/add/" . $group->getGUID(),
-               'text' => elgg_echo('groups:addtopic'),
-       ));
-       $content .= "<span class='elgg-widget-more'>$new_link</span>";
-}
+$new_link = elgg_view('output/url', array(
+       'href' => "discussion/add/" . $group->getGUID(),
+       'text' => elgg_echo('groups:addtopic'),
+));
 
-echo elgg_view_module('info', '', $content, array('header' => $header));
+echo elgg_view('groups/profile/module', array(
+       'title' => elgg_echo('discussion:group'),
+       'content' => $content,
+       'all_link' => $all_link,
+       'add_link' => $new_link,
+));
\ No newline at end of file
index 4ea97cad66ce20fdb7ccfffa125aead557424645..5e557b443a4bf37d3078a9f5fe7ff1f224f197cc 100644 (file)
@@ -21,16 +21,13 @@ $all_link = elgg_view('output/url', array(
        'text' => elgg_echo('link:view:all'),
 ));
 
-$header = "<span class=\"groups-widget-viewall\">$all_link</span>";
-$header .= '<h3>' . elgg_echo('groups:activity') . '</h3>';
-
 
 elgg_push_context('widgets');
 $db_prefix = elgg_get_config('dbprefix');
 $content = elgg_list_river(array(
        'limit' => 4,
        'pagination' => false,
-       'joins' => array("join {$db_prefix}entities e1 on e1.guid = rv.object_guid"),
+       'joins' => array("JOIN {$db_prefix}entities e1 ON e1.guid = rv.object_guid"),
        'wheres' => array("(e1.container_guid = $group->guid)"),
 ));
 elgg_pop_context();
@@ -39,4 +36,8 @@ if (!$content) {
        $content = '<p>' . elgg_echo('groups:activity:none') . '</p>';
 }
 
-echo elgg_view_module('info', '', $content, array('header' => $header));
+echo elgg_view('groups/profile/module', array(
+       'title' => elgg_echo('groups:activity'),
+       'content' => $content,
+       'all_link' => $all_link,
+));
diff --git a/mod/groups/views/default/groups/profile/module.php b/mod/groups/views/default/groups/profile/module.php
new file mode 100644 (file)
index 0000000..69854e5
--- /dev/null
@@ -0,0 +1,20 @@
+<?php
+/**
+ * Group module (also called a group widget)
+ *
+ * @uses $vars['title']    The title of the module
+ * @uses $vars['content']  The module content
+ * @uses $vars['all_link'] A link to list content
+ * @uses $vars['add_link'] A link to create content
+ */
+
+$group = elgg_get_page_owner_entity();
+
+$header = "<span class=\"groups-widget-viewall\">{$vars['all_link']}</span>";
+$header .= '<h3>' . $vars['title'] . '</h3>';
+
+if ($group->canWriteToContainer() && isset($vars['add_link'])) {
+       $vars['content'] .= "<span class='elgg-widget-more'>{$vars['add_link']}</span>";
+}
+
+echo elgg_view_module('info', '', $vars['content'], array('header' => $header));
index 1d3437e18b0cda6411f488b9a34f885a3c746687..7e2656ca3bf600ef8ef968c2530230b637fa8a3d 100644 (file)
@@ -17,9 +17,6 @@ $all_link = elgg_view('output/url', array(
        'text' => elgg_echo('link:view:all'),
 ));
 
-$header = "<span class=\"groups-widget-viewall\">$all_link</span>";
-$header .= '<h3>' . elgg_echo('pages:group') . '</h3>';
-
 
 elgg_push_context('widgets');
 $options = array(
@@ -37,12 +34,14 @@ if (!$content) {
        $content = '<p>' . elgg_echo('pages:none') . '</p>';
 }
 
-if ($group->canWriteToContainer()) {
-       $new_link = elgg_view('output/url', array(
-               'href' => "pages/add/$group->guid",
-               'text' => elgg_echo('pages:add'),
-       ));
-       $content .= "<span class='elgg-widget-more'>$new_link</span>";
-}
+$new_link = elgg_view('output/url', array(
+       'href' => "pages/add/$group->guid",
+       'text' => elgg_echo('pages:add'),
+));
 
-echo elgg_view_module('info', '', $content, array('header' => $header));
+echo elgg_view('groups/profile/module', array(
+       'title' => elgg_echo('pages:group'),
+       'content' => $content,
+       'all_link' => $all_link,
+       'add_link' => $new_link,
+));