diff options
-rw-r--r-- | mod/groups/groupprofile.php | 24 | ||||
-rw-r--r-- | mod/groups/start.php | 46 | ||||
-rw-r--r-- | mod/groups/views/default/groups/grouplinks.php | 29 | ||||
-rw-r--r-- | mod/groups/views/default/groups/groupprofile.php | 106 | ||||
-rw-r--r-- | mod/groups/views/default/groups/menu/actions.php | 8 | ||||
-rw-r--r-- | mod/groups/views/default/groups/menu/ownerlinks.php | 17 |
6 files changed, 202 insertions, 28 deletions
diff --git a/mod/groups/groupprofile.php b/mod/groups/groupprofile.php new file mode 100644 index 000000000..9d354ef0d --- /dev/null +++ b/mod/groups/groupprofile.php @@ -0,0 +1,24 @@ +<?php + /** + * Full group profile + * + * @package ElggGroups + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 + * @author Marcus Povey + * @copyright Curverider Ltd 2008 + * @link http://elgg.com/ + */ + + $group_guid = get_input('group_guid'); + + $group = get_entity($group_guid); + + + $body = elgg_view('group/group', array('entity' => $group, 'user' => $_SESSION['user'], 'full' => true)); + + + // TODO: Add widgets etc + + // Finally draw the page + page_draw($group->name, elgg_view_layout('one_column', $body)); +?>
\ No newline at end of file diff --git a/mod/groups/start.php b/mod/groups/start.php index b6b49b32c..f577b096c 100644 --- a/mod/groups/start.php +++ b/mod/groups/start.php @@ -21,9 +21,9 @@ if (isloggedin()) { add_menu(elgg_echo('groups'), $CONFIG->wwwroot . "pg/groups/" . $_SESSION['user']->username,array( - menu_item(elgg_echo('groups:new'), $CONFIG->wwwroot."pg/groups/" . $_SESSION['user']->username . "/new/"), - menu_item(elgg_echo('groups:yours'), $CONFIG->wwwroot . "pg/groups/" . $_SESSION['user']->username), - menu_item(elgg_echo('groups:all'), $CONFIG->wwwroot . "pg/groups/" . $_SESSION['user']->username . "/world/"), + menu_item(elgg_echo('groups:new'), $CONFIG->wwwroot."pg/groups/new/"), + menu_item(elgg_echo('groups:yours'), $CONFIG->wwwroot . "pg/groups/owned/" . $_SESSION['user']->username), + menu_item(elgg_echo('groups:all'), $CONFIG->wwwroot . "pg/groups/world/"), ),'groups'); } else @@ -50,6 +50,8 @@ register_action("groups/addtogroup",false, $CONFIG->pluginspath . "groups/actions/addtogroup.php"); + // Use group widgets + use_widgets('groups'); // For now, we'll hard code the groups profile items as follows: // TODO make this user configurable @@ -80,27 +82,31 @@ { global $CONFIG; - // The username should be the file we're getting - if (isset($page[0])) { - set_input('username',$page[0]); - } - if (isset($page[1])) + if (isset($page[0])) { - switch($page[1]) - { - case "new": - include($CONFIG->pluginspath . "groups/new.php"); + // See what context we're using + switch($page[0]) + { + case "new" : + include($CONFIG->pluginspath . "groups/new.php"); break; case "world": include($CONFIG->pluginspath . "groups/all.php"); break; - } - } - else - { - // Include the standard profile index - include($CONFIG->pluginspath . "groups/index.php"); + case "owned" : + // Owned by a user + if (isset($page[1])) + set_input('username',$page[1]); + + include($CONFIG->pluginspath . "groups/index.php"); + break; + + default: + set_input('group_guid', $page[0]); + include($CONFIG->pluginspath . "groups/groupprofile.php"); + break; + } } } @@ -115,7 +121,9 @@ global $CONFIG; - return $CONFIG->url . "pg/view/" . $entity->getGUID() . "/"; + $title = friendly_title($entity->title); + + return $CONFIG->url . "pg/groups/{$entity->guid}/$title/"; } diff --git a/mod/groups/views/default/groups/grouplinks.php b/mod/groups/views/default/groups/grouplinks.php new file mode 100644 index 000000000..0397cec08 --- /dev/null +++ b/mod/groups/views/default/groups/grouplinks.php @@ -0,0 +1,29 @@ +<?php + /** + * Group links + * + * @package ElggGroups + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 + * @author Marcus Povey + * @copyright Curverider Ltd 2008 + * @link http://elgg.com/ + */ + + //check to see if the user is looking at their own profile + if($_SESSION['user']->guid == $vars['entity']->owner_guid){ + + echo "<div id=\"profile_menu_wrapper\">"; //start the wrapper div + echo elgg_view("groups/menu/actions",$vars); + echo elgg_view("groups/menu/ownerlinks",$vars); + echo "</div>"; //close wrapper div + + } else { + + echo "<div id=\"profile_menu_wrapper\">"; //start the wrapper div + echo elgg_view("groups/menu/actions",$vars); //grab action links such as make friend + echo elgg_view("groups/menu/links",$vars); //passive links to items such as user blog etc + echo "</div>"; //close wrapper div + + } + +?>
\ No newline at end of file diff --git a/mod/groups/views/default/groups/groupprofile.php b/mod/groups/views/default/groups/groupprofile.php index bf0945c63..6eb403bb5 100644 --- a/mod/groups/views/default/groups/groupprofile.php +++ b/mod/groups/views/default/groups/groupprofile.php @@ -15,8 +15,110 @@ $iconsize = "medium"; } +?> +<table> + <tr> + <td> + + <div id="groups_info_column_left"> + <div id="groups_icon_wrapper"> + + <?php + echo elgg_view( + "groups/icon", array( + 'entity' => $vars['entity'], + //'align' => "left", + 'size' => $iconsize, + ) + ); + + // display relevant links + echo elgg_view("groups/grouplinks", array("entity" => $vars['entity'])); + ?> + + </div> + </div> + + </td> + + <td> + <div id="groups_info_column_right"> + + <?php + echo "<h2><a href=\"" . $vars['entity']->getURL() . "\">" . $vars['entity']->title . "</a></h2> <br />"; + + ?> + + <?php + + if ($vars['full'] == true) { + if (is_array($vars['config']->group) && sizeof($vars['config']->group) > 0) + { + + foreach($vars['config']->group as $shortname => $valtype) { + if ($shortname != "title") { + $value = $vars['entity']->$shortname; + + if (!empty($value)) { + + //This function controls the alternating class + $even_odd = ( 'odd' != $even_odd ) ? 'odd' : 'even'; + } + + echo "<p class=\"{$even_odd}\">"; + echo "<b>"; + echo elgg_echo("groups:{$shortname}"); + echo ": </b>"; + + echo elgg_view("output/{$valtype}",array('value' => $vars['entity']->$shortname)); + + echo "</p>"; + } + } + } + } + + + ?> + + <div id="groups_owner"> + <?php + + echo "<b>" . elgg_echo("groups:owner") . "</b>"; + + echo elgg_view( + "profile/icon", array( + 'entity' => get_entity($vars['entity']->owner_guid), + //'align' => "left", + 'size' => 'small', + ) + ); + + ?> + </div> + </div> + </td> + </tr> +</table> + +<div id="groups_info_wide"> + + <p class="groups_info_edit_buttons"> + +<?php + if ($vars['entity']->canEdit()) + { + +?> + + <a href="<?php echo $vars['url']; ?>mod/groups/edit.php?group_guid=<?php echo $vars['entity']->getGUID(); ?>"><?php echo elgg_echo("edit"); ?></a> + +<?php + + } +?> - // join / leave (if can join & leave) -?>
\ No newline at end of file + </p> +</div>
\ No newline at end of file diff --git a/mod/groups/views/default/groups/menu/actions.php b/mod/groups/views/default/groups/menu/actions.php index 21101ddb8..2c686fd95 100644 --- a/mod/groups/views/default/groups/menu/actions.php +++ b/mod/groups/views/default/groups/menu/actions.php @@ -33,12 +33,6 @@ } } - // edit - if ($_SESSION['user']->getGUID() == $vars['entity']->owner_guid) - { - ?> - <p><a href="<?php echo $vars['url']; ?>mod/groups/edit.php?group_guid=<?php echo $vars['entity']->getGUID(); ?>"><?php echo elgg_echo("edit"); ?></a></p> - <?php - } + } ?>
\ No newline at end of file diff --git a/mod/groups/views/default/groups/menu/ownerlinks.php b/mod/groups/views/default/groups/menu/ownerlinks.php index 15c5adc7f..aaa575bec 100644 --- a/mod/groups/views/default/groups/menu/ownerlinks.php +++ b/mod/groups/views/default/groups/menu/ownerlinks.php @@ -1,3 +1,20 @@ <?php + /** + * Owner links + * + * @package ElggGroups + * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2 + * @author Marcus Povey + * @copyright Curverider Ltd 2008 + * @link http://elgg.com/ + */ + + // edit + if (($_SESSION['user']->getGUID() == $vars['entity']->owner_guid) && ($vars['full'])) + { + ?> + <p><a href="<?php echo $vars['url']; ?>mod/groups/edit.php?group_guid=<?php echo $vars['entity']->getGUID(); ?>"><?php echo elgg_echo("edit"); ?></a></p> + <?php + } ?>
\ No newline at end of file |