aboutsummaryrefslogtreecommitdiffstats
path: root/mod
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2012-05-17 22:44:52 -0700
committerfriendica <info@friendica.com>2012-05-17 22:44:52 -0700
commit7b0ded3f1478553e1fe93c95c272b99d78f0132b (patch)
tree2afc3fccae7d3f698ad89dc7c77386ac93890080 /mod
parent7cfa7a7671f0bf8316bc63912452e156fc48129e (diff)
downloadvolse-hubzilla-7b0ded3f1478553e1fe93c95c272b99d78f0132b.tar.gz
volse-hubzilla-7b0ded3f1478553e1fe93c95c272b99d78f0132b.tar.bz2
volse-hubzilla-7b0ded3f1478553e1fe93c95c272b99d78f0132b.zip
more private forums, default privacy group for new contacts
Diffstat (limited to 'mod')
-rw-r--r--mod/dfrn_request.php8
-rw-r--r--mod/follow.php10
-rw-r--r--mod/settings.php22
3 files changed, 38 insertions, 2 deletions
diff --git a/mod/dfrn_request.php b/mod/dfrn_request.php
index 2169c494c..b809929d7 100644
--- a/mod/dfrn_request.php
+++ b/mod/dfrn_request.php
@@ -370,6 +370,14 @@ function dfrn_request_post(&$a) {
if(count($r)) {
$contact_id = $r[0]['id'];
+ $g = q("select def_gid from user where uid = %d limit 1",
+ intval($uid)
+ );
+ if($g && intval($g[0]['def_gid'])) {
+ require_once('include/group.php');
+ group_add_member($uid,'',$contact_id,$g[0]['def_gid']);
+ }
+
$photo = avatar_img($addr);
$r = q("UPDATE `contact` SET
diff --git a/mod/follow.php b/mod/follow.php
index 4a7f99bf0..cdecd5f2a 100644
--- a/mod/follow.php
+++ b/mod/follow.php
@@ -109,6 +109,7 @@ function follow_init(&$a) {
dbesc($ret['poll'])
);
+
if(count($r)) {
// update contact
if($r[0]['rel'] == CONTACT_IS_FOLLOWER || ($network === NETWORK_DIASPORA && $r[0]['rel'] == CONTACT_IS_SHARING)) {
@@ -165,6 +166,15 @@ function follow_init(&$a) {
$contact = $r[0];
$contact_id = $r[0]['id'];
+
+ $g = q("select def_gid from user where uid = %d limit 1",
+ intval($uid)
+ );
+ if($g && intval($g[0]['def_gid'])) {
+ require_once('include/group.php');
+ group_add_member($uid,'',$contact_id,$g[0]['def_gid']);
+ }
+
require_once("Photo.php");
$photos = import_profile_photo($ret['photo'],$uid,$contact_id);
diff --git a/mod/settings.php b/mod/settings.php
index 5f5b2ab2e..23dde3f2a 100644
--- a/mod/settings.php
+++ b/mod/settings.php
@@ -330,6 +330,7 @@ function settings_post(&$a) {
$openid = ((x($_POST,'openid_url')) ? notags(trim($_POST['openid_url'])) : '');
$maxreq = ((x($_POST,'maxreq')) ? intval($_POST['maxreq']) : 0);
$expire = ((x($_POST,'expire')) ? intval($_POST['expire']) : 0);
+ $def_gid = ((x($_POST,'group-selection')) ? intval($_POST['group-selection']) : 0);
$expire_items = ((x($_POST,'expire_items')) ? intval($_POST['expire_items']) : 0);
@@ -355,6 +356,9 @@ function settings_post(&$a) {
$post_joingroup = (($_POST['post_joingroup'] == 1) ? 1: 0);
$post_profilechange = (($_POST['post_profilechange'] == 1) ? 1: 0);
+ if($page_flags == PAGE_PRVGROUP) {
+ $hidewall = 1;
+ }
$notify = 0;
@@ -441,7 +445,7 @@ function settings_post(&$a) {
set_pconfig(local_user(),'system','post_profilechange', $post_profilechange);
- $r = q("UPDATE `user` SET `username` = '%s', `email` = '%s', `openid` = '%s', `timezone` = '%s', `allow_cid` = '%s', `allow_gid` = '%s', `deny_cid` = '%s', `deny_gid` = '%s', `notify-flags` = %d, `page-flags` = %d, `default-location` = '%s', `allow_location` = %d, `maxreq` = %d, `expire` = %d, `openidserver` = '%s', `blockwall` = %d, `hidewall` = %d, `blocktags` = %d, `unkmail` = %d, `cntunkmail` = %d WHERE `uid` = %d LIMIT 1",
+ $r = q("UPDATE `user` SET `username` = '%s', `email` = '%s', `openid` = '%s', `timezone` = '%s', `allow_cid` = '%s', `allow_gid` = '%s', `deny_cid` = '%s', `deny_gid` = '%s', `notify-flags` = %d, `page-flags` = %d, `default-location` = '%s', `allow_location` = %d, `maxreq` = %d, `expire` = %d, `openidserver` = '%s', `def_gid` = %d, `blockwall` = %d, `hidewall` = %d, `blocktags` = %d, `unkmail` = %d, `cntunkmail` = %d WHERE `uid` = %d LIMIT 1",
dbesc($username),
dbesc($email),
dbesc($openid),
@@ -457,6 +461,7 @@ function settings_post(&$a) {
intval($maxreq),
intval($expire),
dbesc($openidserver),
+ intval($def_gid),
intval($blockwall),
intval($hidewall),
intval($blocktags),
@@ -833,6 +838,13 @@ function settings_content(&$a) {
'$page_freelove' => array('page-flags', t('Automatic Friend Account'), PAGE_FREELOVE,
t('Automatically approve all connection/friend requests as friends'),
($a->user['page-flags'] == PAGE_FREELOVE)),
+
+ '$page_prvgroup' => array('page-flags', t('Private Forum'), PAGE_PRVGROUP,
+ t('Private forum - approved members only [Experimental]'),
+ ($a->user['page-flags'] == PAGE_PRVGROUP)),
+
+ '$experimental' => ( (intval(get_config('system','prvgroup_testing'))) ? 'true' : ''),
+
));
$noid = get_config('system','no_openid');
@@ -934,6 +946,9 @@ function settings_content(&$a) {
'photos' => array('expire_photos', t("Expire photos:"), $expire_photos, '', array(t('No'),t('Yes'))),
);
+ require_once('include/group.php');
+ $group_select = mini_group_select(local_user(),$a->user['def_gid']);
+
$o .= replace_macros($stpl,array(
'$ptitle' => t('Account Settings'),
@@ -941,7 +956,6 @@ function settings_content(&$a) {
'$baseurl' => $a->get_baseurl(true),
'$uid' => local_user(),
'$form_security_token' => get_form_security_token("settings"),
-
'$nickname_block' => $prof_addr,
'$h_pass' => t('Password Settings'),
@@ -968,6 +982,10 @@ function settings_content(&$a) {
'$suggestme' => $suggestme,
'$blockwall'=> $blockwall, // array('blockwall', t('Allow friends to post to your profile page:'), !$blockwall, ''),
'$blocktags'=> $blocktags, // array('blocktags', t('Allow friends to tag your posts:'), !$blocktags, ''),
+ '$group_lbl_select' => t('Default privacy group for new contacts'),
+ '$group_select' => $group_select,
+
+
'$expire' => $expire_arr,
'$profile_in_dir' => $profile_in_dir,