]> git.mxchange.org Git - friendica.git/blobdiff - mod/settings.php
Merge remote branch 'upstream/master'
[friendica.git] / mod / settings.php
index 2dd9fb9a682bd99750a491ea6e13229160ed31db..40fa55eeaae08a13c97cb2d55ab3f629ed18f1fa 100644 (file)
@@ -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);
@@ -346,7 +352,9 @@ function settings_post(&$a) {
        $suggestme        = ((x($_POST,'suggestme')) ? intval($_POST['suggestme'])  : 0);  
        $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;
 
@@ -428,9 +436,25 @@ function settings_post(&$a) {
        set_pconfig(local_user(),'expire','photos', $expire_photos);
 
        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);
+
 
+       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', `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),
@@ -446,6 +470,7 @@ function settings_post(&$a) {
                        intval($maxreq),
                        intval($expire),
                        dbesc($openidserver),
+                       intval($def_gid),
                        intval($blockwall),
                        intval($hidewall),
                        intval($blocktags),
@@ -692,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);
 
                
@@ -790,6 +815,14 @@ function settings_content(&$a) {
        $suggestme = get_pconfig(local_user(), 'system','suggestme');
        $suggestme = (($suggestme===false)? '0': $suggestme); // default if not set: 0
 
+       $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
 
        
        if(! strlen($a->user['timezone']))
@@ -814,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');
@@ -878,6 +918,8 @@ function settings_content(&$a) {
        ));
 
 
+
+
        $invisible = (((! $profile['publish']) && (! $profile['net-publish']))
                ? true : false);
 
@@ -913,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'),
 
@@ -920,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'),
@@ -947,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,
@@ -958,6 +1006,10 @@ 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, ''),
                '$notify2'      => array('notify2', t('Your introductions are confirmed'), ($notify & NOTIFY_CONFIRM), NOTIFY_CONFIRM, ''),