aboutsummaryrefslogtreecommitdiff
path: root/mod/subgroups/views/default/subgroups
diff options
context:
space:
mode:
Diffstat (limited to 'mod/subgroups/views/default/subgroups')
-rw-r--r--mod/subgroups/views/default/subgroups/group_module.php51
-rw-r--r--mod/subgroups/views/default/subgroups/groups_i_can_edit.php71
-rw-r--r--mod/subgroups/views/default/subgroups/subgroups_icons.php11
3 files changed, 133 insertions, 0 deletions
diff --git a/mod/subgroups/views/default/subgroups/group_module.php b/mod/subgroups/views/default/subgroups/group_module.php
new file mode 100644
index 000000000..083e50b16
--- /dev/null
+++ b/mod/subgroups/views/default/subgroups/group_module.php
@@ -0,0 +1,51 @@
+<?php
+/**
+ * List subgroups on group profile page
+ *
+ * @package ElggSubgroups
+ */
+
+$group = elgg_get_page_owner_entity();
+
+if ($group->subgroups_enable != "yes") {
+ return true;
+}
+
+$all_link = elgg_view('output/url', array(
+ 'href' => "subgroups/owner/$group->guid/all",
+ 'text' => elgg_echo('link:view:all'),
+ 'is_trusted' => true,
+));
+
+$options = array(
+ 'type' => 'group',
+ 'container_guid' => $group->guid,
+ 'type' => 'group',
+ 'limit' => 6,
+ 'full_view' => false,
+ 'pagination' => false,
+);
+
+elgg_push_context('widgets');
+$content = elgg_list_entities($options);
+elgg_pop_context();
+
+if (!$content) {
+ $content = '<p>' . elgg_echo('subgroups:none') . '</p>';
+}
+if($group->canEdit()) {
+ $new_link = elgg_view('output/url', array(
+ 'href' => "subgroups/add/$group->guid",
+ 'text' => elgg_echo('subgroups:add'),
+ 'is_trusted' => true,
+ ));
+} else {
+ $new_link = false;
+}
+
+echo elgg_view('groups/profile/module', array(
+ 'title' => elgg_echo('subgroups:group'),
+ 'content' => $content,
+ 'all_link' => $all_link,
+ 'add_link' => $new_link,
+));
diff --git a/mod/subgroups/views/default/subgroups/groups_i_can_edit.php b/mod/subgroups/views/default/subgroups/groups_i_can_edit.php
new file mode 100644
index 000000000..45b0c9e6e
--- /dev/null
+++ b/mod/subgroups/views/default/subgroups/groups_i_can_edit.php
@@ -0,0 +1,71 @@
+<?php
+
+if (!elgg_is_logged_in()) {
+ exit();
+}
+
+$q = sanitise_string(get_input('term'));
+
+// replace mysql vars with escaped strings
+$q = str_replace(array('_', '%'), array('\_', '\%'), $q);
+
+$user_guid = elgg_get_logged_in_user_guid();
+$entities = elgg_get_entities(array(
+ 'type' => 'group',
+ 'owner_guid' => $user_guid,
+ 'limit' => 0,
+));
+$entities = array_merge(
+ $entities,
+ elgg_get_entities_from_relationship(array(
+ 'type' => 'group',
+ 'relationship' => 'operator',
+ 'relationship_guid' => $user_guid,
+ 'limit' => 0,
+ ))
+);
+
+$all_entities = array();
+while (!empty($entities)) {
+ $entity = array_pop($entities);
+ $childs = elgg_get_entities(array(
+ 'type' => 'group',
+ 'container_guid' => $entity->guid,
+ ));
+ foreach ($childs as $child) {
+ array_push($entities, $child);
+ }
+ $all_entities[] = $entity;
+}
+
+$results = array();
+foreach ($all_entities as $entity) {
+
+ if (!preg_match("/^{$q}/i", $entity->name)) {
+ continue;
+ }
+
+ $output = elgg_view_list_item($entity, array(
+ 'use_hover' => false,
+ 'class' => 'elgg-autocomplete-item',
+ ));
+
+ $icon = elgg_view_entity_icon($entity, 'tiny', array(
+ 'use_hover' => false,
+ ));
+ $results[$entity->name . $entity->guid] = array(
+ 'type' => 'group',
+ 'name' => $entity->name,
+ 'desc' => strip_tags($entity->description),
+ 'guid' => $entity->guid,
+ 'label' => $output,
+ 'value' => $entity->guid,
+ 'icon' => $icon,
+ 'url' => $entity->getURL(),
+ );
+}
+
+ksort($results);
+header("Content-Type: application/json");
+echo json_encode(array_values($results));
+exit;
diff --git a/mod/subgroups/views/default/subgroups/subgroups_icons.php b/mod/subgroups/views/default/subgroups/subgroups_icons.php
new file mode 100644
index 000000000..dfd5b29fa
--- /dev/null
+++ b/mod/subgroups/views/default/subgroups/subgroups_icons.php
@@ -0,0 +1,11 @@
+<?php
+elgg_load_library('elgg:subgroups');
+
+$subgroups = get_subgroups($vars['entity']);
+foreach ($subgroups as $subgroup) {
+ echo elgg_view('icon/default', array(
+ 'entity' => $subgroup,
+ 'size' => 'tiny'
+ ));
+ echo " ";
+}