diff options
Diffstat (limited to 'mod/settings.php')
-rw-r--r-- | mod/settings.php | 48 |
1 files changed, 43 insertions, 5 deletions
diff --git a/mod/settings.php b/mod/settings.php index 721468437..40fa55eea 100644 --- a/mod/settings.php +++ b/mod/settings.php @@ -75,6 +75,11 @@ EOT; 'label' => t('Export personal data'), 'url' => $a->get_baseurl(true) . '/uexport', 'selected' => '' + ), + array( + 'label' => t('Remove account'), + 'url' => $a->get_baseurl(true) . '/removeme', + 'selected' => '' ) ); @@ -325,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); @@ -347,9 +353,9 @@ function settings_post(&$a) { $hide_friends = (($_POST['hide-friends'] == 1) ? 1: 0); $hidewall = (($_POST['hidewall'] == 1) ? 1: 0); $post_newfriend = (($_POST['post_newfriend'] == 1) ? 1: 0); + $post_joingroup = (($_POST['post_joingroup'] == 1) ? 1: 0); $post_profilechange = (($_POST['post_profilechange'] == 1) ? 1: 0); - $notify = 0; if(x($_POST,'notify1')) @@ -431,10 +437,24 @@ function settings_post(&$a) { set_pconfig(local_user(),'system','suggestme', $suggestme); set_pconfig(local_user(),'system','post_newfriend', $post_newfriend); + set_pconfig(local_user(),'system','post_joingroup', $post_joingroup); 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", + if($page_flags == PAGE_PRVGROUP) { + $hidewall = 1; + if((! str_contact_allow) && (! str_group_allow) && (! str_contact_deny) && (! $str_group_deny)) { + if($def_gid) { + info( t('Private forum has no privacy permissions. Using default privacy group.'). EOL); + $str_group_allow = '<' . $def_gid . '>'; + } + else { + notice( t('Private forum has no privacy permissions and no default privacy group.') . EOL); + } + } + } + + $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), @@ -450,6 +470,7 @@ function settings_post(&$a) { intval($maxreq), intval($expire), dbesc($openidserver), + intval($def_gid), intval($blockwall), intval($hidewall), intval($blocktags), @@ -696,8 +717,8 @@ function settings_content(&$a) { $allowed_themes_raw = explode(',',$allowed_themes_str); $allowed_themes = array(); if(count($allowed_themes_raw)) - foreach($allowed_themes_raw as $x) - if(strlen(trim($x))) + foreach($allowed_themes_raw as $x) + if(strlen(trim($x)) && is_dir("view/theme/$x")) $allowed_themes[] = trim($x); @@ -797,6 +818,9 @@ function settings_content(&$a) { $post_newfriend = get_pconfig(local_user(), 'system','post_newfriend'); $post_newfriend = (($post_newfriend===false)? '0': $post_newfriend); // default if not set: 0 + $post_joingroup = get_pconfig(local_user(), 'system','post_joingroup'); + $post_joingroup = (($post_joingroup===false)? '0': $post_joingroup); // default if not set: 0 + $post_profilechange = get_pconfig(local_user(), 'system','post_profilechange'); $post_profilechange = (($post_profilechange===false)? '0': $post_profilechange); // default if not set: 0 @@ -823,6 +847,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'); @@ -924,6 +955,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'), @@ -931,7 +965,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'), @@ -958,6 +991,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_select' => $group_select, + + '$expire' => $expire_arr, '$profile_in_dir' => $profile_in_dir, @@ -971,6 +1008,7 @@ function settings_content(&$a) { '$h_not' => t('Notification Settings'), '$activity_options' => t('By default post a status message when:'), '$post_newfriend' => array('post_newfriend', t('accepting a friend request'), $post_newfriend, ''), + '$post_joingroup' => array('post_joingroup', t('joining a forum/community'), $post_joingroup, ''), '$post_profilechange' => array('post_profilechange', t('making an <em>interesting</em> profile change'), $post_profilechange, ''), '$lbl_not' => t('Send a notification email when:'), '$notify1' => array('notify1', t('You receive an introduction'), ($notify & NOTIFY_INTRO), NOTIFY_INTRO, ''), |