aboutsummaryrefslogtreecommitdiffstats
path: root/mod
diff options
context:
space:
mode:
authorFriendika <info@friendika.com>2011-08-02 22:39:35 -0700
committerFriendika <info@friendika.com>2011-08-02 22:39:35 -0700
commite22e823e93756fbfbb175f4f9f182aee64c1f5b1 (patch)
tree04aba82a020894da4e9ea8bd0e933cd96a0d25e3 /mod
parent6bf800c6c8ea90d86cadb58b862ecddcf40e7b2a (diff)
downloadvolse-hubzilla-e22e823e93756fbfbb175f4f9f182aee64c1f5b1.tar.gz
volse-hubzilla-e22e823e93756fbfbb175f4f9f182aee64c1f5b1.tar.bz2
volse-hubzilla-e22e823e93756fbfbb175f4f9f182aee64c1f5b1.zip
allow group selection from contact edit page
Diffstat (limited to 'mod')
-rw-r--r--mod/contactgroup.php50
-rw-r--r--mod/contacts.php21
2 files changed, 63 insertions, 8 deletions
diff --git a/mod/contactgroup.php b/mod/contactgroup.php
new file mode 100644
index 000000000..bf81afe07
--- /dev/null
+++ b/mod/contactgroup.php
@@ -0,0 +1,50 @@
+<?php
+
+require_once('include/group.php');
+
+function contactgroup_content(&$a) {
+
+
+ if(! local_user()) {
+ killme();
+ }
+
+ if(($a->argc > 2) && intval($a->argv[1]) && intval($a->argv[2])) {
+ $r = q("SELECT `id` FROM `contact` WHERE `id` = %d AND `uid` = %d and `self` = 0 and `blocked` = 0 AND `pending` = 0 LIMIT 1",
+ intval($a->argv[2]),
+ intval(local_user())
+ );
+ if(count($r))
+ $change = intval($a->argv[2]);
+ }
+
+ if(($a->argc > 1) && (intval($a->argv[1]))) {
+
+ $r = q("SELECT * FROM `group` WHERE `id` = %d AND `uid` = %d AND `deleted` = 0 LIMIT 1",
+ intval($a->argv[1]),
+ intval(local_user())
+ );
+ if(! count($r)) {
+ killme();
+ }
+
+ $group = $r[0];
+ $members = group_get_members($group['id']);
+ $preselected = array();
+ if(count($members)) {
+ foreach($members as $member)
+ $preselected[] = $member['id'];
+ }
+
+ if($change) {
+ if(in_array($change,$preselected)) {
+ group_rmv_member(local_user(),$group['name'],$change);
+ }
+ else {
+ group_add_member(local_user(),$group['name'],$change);
+ }
+ }
+ }
+
+ killme();
+} \ No newline at end of file
diff --git a/mod/contacts.php b/mod/contacts.php
index 2fc01a0d8..4f5a49acd 100644
--- a/mod/contacts.php
+++ b/mod/contacts.php
@@ -6,10 +6,22 @@ function contacts_init(&$a) {
if(! local_user())
return;
+ $contact_id = 0;
+ if(($a->argc == 2) && intval($a->argv[1])) {
+ $contact_id = intval($a->argv[1]);
+ $r = q("SELECT * FROM `contact` WHERE `uid` = %d and `id` = %d LIMIT 1",
+ intval(local_user()),
+ intval($contact_id)
+ );
+ if(! count($r)) {
+ $contact_id = 0;
+ }
+ }
+
require_once('include/group.php');
if(! x($a->page,'aside'))
$a->page['aside'] = '';
- $a->page['aside'] .= group_side();
+ $a->page['aside'] .= group_side('contacts','group',false,0,$contact_id);
$inv = '<div class="side-link" id="side-invite-link" ><a href="invite" >' . t("Invite Friends") . '</a></div>';
@@ -264,13 +276,6 @@ function contacts_content(&$a) {
}
$grps = '';
- $member_of = member_of($r[0]['id']);
- if(is_array($member_of) && count($member_of)) {
- $grps = t('Member of: ') . EOL . '<ul>';
- foreach($member_of as $member)
- $grps .= '<li><a href="group/' . $member['id'] . '" title="' . t('Edit') . '" ><img src="images/spencil.gif" alt="' . t('Edit') . '" /></a> <a href="network/' . $member['id'] . '">' . $member['name'] . '</a></li>';
- $grps .= '</ul>';
- }
$insecure = '<div id="profile-edit-insecure"><p><img src="images/unlock_icon.gif" alt="' . t('Privacy Unavailable') . '" />&nbsp;'
. t('Private communications are not available for this contact.') . '</p></div>';