]> git.mxchange.org Git - friendica.git/blobdiff - mod/settings.php
Merge pull request #3861 from annando/direct-forum-post
[friendica.git] / mod / settings.php
index a626e67f5f6c6c97d041195bf5369e3aa018ec11..e8d24f43de51941fd4312acdea1a04a209ea6c13 100644 (file)
@@ -1,5 +1,8 @@
 <?php
 
+use Friendica\App;
+use Friendica\Core\System;
+
 require_once('include/group.php');
 require_once('include/socgraph.php');
 
@@ -47,7 +50,7 @@ function settings_init(App $a) {
                ),
        );
 
-       if (get_features()) {
+       if(get_features()) {
                $tabs[] =       array(
                                        'label' => t('Additional features'),
                                        'url'   => 'settings/features',
@@ -140,7 +143,7 @@ function settings_post(App $a) {
                q("DELETE FROM tokens WHERE id='%s' AND uid=%d",
                        dbesc($key),
                        local_user());
-               goaway(App::get_baseurl(true)."/settings/oauth/");
+               goaway(System::baseUrl(true)."/settings/oauth/");
                return;
        }
 
@@ -185,27 +188,27 @@ function settings_post(App $a) {
                                                local_user());
                        }
                }
-               goaway(App::get_baseurl(true)."/settings/oauth/");
+               goaway(System::baseUrl(true)."/settings/oauth/");
                return;
        }
 
-       if (($a->argc > 1) && ($a->argv[1] == 'addon')) {
+       if(($a->argc > 1) && ($a->argv[1] == 'addon')) {
                check_form_security_token_redirectOnErr('/settings/addon', 'settings_addon');
 
                call_hooks('plugin_settings_post', $_POST);
                return;
        }
 
-       if (($a->argc > 1) && ($a->argv[1] == 'connectors')) {
+       if(($a->argc > 1) && ($a->argv[1] == 'connectors')) {
 
                check_form_security_token_redirectOnErr('/settings/connectors', 'settings_connectors');
 
-               if (x($_POST, 'general-submit')) {
+               if(x($_POST, 'general-submit')) {
                        set_pconfig(local_user(), 'system', 'no_intelligent_shortening', intval($_POST['no_intelligent_shortening']));
                        set_pconfig(local_user(), 'system', 'ostatus_autofriend', intval($_POST['snautofollow']));
                        set_pconfig(local_user(), 'ostatus', 'default_group', $_POST['group-selection']);
                        set_pconfig(local_user(), 'ostatus', 'legacy_contact', $_POST['legacy_contact']);
-               } elseif (x($_POST, 'imap-submit')) {
+               } elseif(x($_POST, 'imap-submit')) {
 
                        $mail_server       = ((x($_POST,'mail_server')) ? $_POST['mail_server'] : '');
                        $mail_port         = ((x($_POST,'mail_port')) ? $_POST['mail_port'] : '');
@@ -219,26 +222,21 @@ function settings_post(App $a) {
 
 
                        $mail_disabled = ((function_exists('imap_open') && (! get_config('system','imap_disabled'))) ? 0 : 1);
-                       if (get_config('system','dfrn_only'))
+                       if(get_config('system','dfrn_only'))
                                $mail_disabled = 1;
 
-                       if (! $mail_disabled) {
+                       if(! $mail_disabled) {
                                $failed = false;
                                $r = q("SELECT * FROM `mailacct` WHERE `uid` = %d LIMIT 1",
                                        intval(local_user())
                                );
                                if (! dbm::is_result($r)) {
-                                       q("INSERT INTO `mailacct` (`uid`) VALUES (%d)",
-                                               intval(local_user())
-                                       );
+                                       dba::insert('mailacct', array('uid' => local_user()));
                                }
-                               if (strlen($mail_pass)) {
+                               if(strlen($mail_pass)) {
                                        $pass = '';
                                        openssl_public_encrypt($mail_pass,$pass,$a->user['pubkey']);
-                                       q("UPDATE `mailacct` SET `pass` = '%s' WHERE `uid` = %d",
-                                               dbesc(bin2hex($pass)),
-                                               intval(local_user())
-                                       );
+                                       dba::update('mailacct', array('pass' => bin2hex($pass)), array('uid' => local_user()));
                                }
                                $r = q("UPDATE `mailacct` SET `server` = '%s', `port` = %d, `ssltype` = '%s', `user` = '%s',
                                        `action` = %d, `movetofolder` = '%s',
@@ -261,18 +259,18 @@ function settings_post(App $a) {
                                        $eacct = $r[0];
                                        require_once('include/email.php');
                                        $mb = construct_mailbox_name($eacct);
-                                       if (strlen($eacct['server'])) {
+                                       if(strlen($eacct['server'])) {
                                                $dcrpass = '';
                                                openssl_private_decrypt(hex2bin($eacct['pass']),$dcrpass,$a->user['prvkey']);
                                                $mbox = email_connect($mb,$mail_user,$dcrpass);
                                                unset($dcrpass);
-                                               if (! $mbox) {
+                                               if(! $mbox) {
                                                        $failed = true;
                                                        notice( t('Failed to connect with email account using the settings provided.') . EOL);
                                                }
                                        }
                                }
-                               if (! $failed)
+                               if(! $failed)
                                        info( t('Email settings updated.') . EOL);
                        }
                }
@@ -283,8 +281,8 @@ function settings_post(App $a) {
 
        if (($a->argc > 1) && ($a->argv[1] === 'features')) {
                check_form_security_token_redirectOnErr('/settings/features', 'settings_features');
-               foreach ($_POST as $k => $v) {
-                       if (strpos($k,'feature_') === 0) {
+               foreach($_POST as $k => $v) {
+                       if(strpos($k,'feature_') === 0) {
                                set_pconfig(local_user(),'feature',substr($k,8),((intval($v)) ? 1 : 0));
                        }
                }
@@ -320,7 +318,7 @@ function settings_post(App $a) {
                        $itemspage_mobile_network = 100;
                }
 
-               if ($mobile_theme !== '') {
+               if($mobile_theme !== '') {
                        set_pconfig(local_user(),'system','mobile_theme',$mobile_theme);
                }
 
@@ -364,45 +362,41 @@ function settings_post(App $a) {
 
        call_hooks('settings_post', $_POST);
 
-       if ((x($_POST,'password')) || (x($_POST,'confirm'))) {
+       if((x($_POST,'password')) || (x($_POST,'confirm'))) {
 
                $newpass = $_POST['password'];
                $confirm = $_POST['confirm'];
                $oldpass = hash('whirlpool', $_POST['opassword']);
 
                $err = false;
-               if ($newpass != $confirm ) {
+               if($newpass != $confirm ) {
                        notice( t('Passwords do not match. Password unchanged.') . EOL);
                        $err = true;
                }
 
-               if ((! x($newpass)) || (! x($confirm))) {
+               if((! x($newpass)) || (! x($confirm))) {
                        notice( t('Empty passwords are not allowed. Password unchanged.') . EOL);
                        $err = true;
-               }
+        }
 
-               //  check if the old password was supplied correctly before
-               //  changing it to the new value
-               $r = q("SELECT `password` FROM `user`WHERE `uid` = %d LIMIT 1", intval(local_user()));
-               if (!dbm::is_result($r)) {
-                       /// @todo Don't quit silently here
-                       killme();
-               } elseif ( $oldpass != $r[0]['password'] ) {
-                       notice( t('Wrong password.') . EOL);
-                       $err = true;
-               }
+        //  check if the old password was supplied correctly before
+        //  changing it to the new value
+        $r = q("SELECT `password` FROM `user`WHERE `uid` = %d LIMIT 1", intval(local_user()));
+        if( $oldpass != $r[0]['password'] ) {
+            notice( t('Wrong password.') . EOL);
+            $err = true;
+        }
 
-               if (! $err) {
+               if(! $err) {
                        $password = hash('whirlpool',$newpass);
                        $r = q("UPDATE `user` SET `password` = '%s' WHERE `uid` = %d",
                                dbesc($password),
                                intval(local_user())
                        );
-                       if ($r) {
+                       if($r)
                                info( t('Password changed.') . EOL);
-                       } else {
+                       else
                                notice( t('Password update failed. Please try again.') . EOL);
-                       }
                }
        }
 
@@ -446,41 +440,32 @@ function settings_post(App $a) {
 
        $notify = 0;
 
-       if (x($_POST,'notify1')) {
+       if(x($_POST,'notify1'))
                $notify += intval($_POST['notify1']);
-       }
-       if (x($_POST,'notify2')) {
+       if(x($_POST,'notify2'))
                $notify += intval($_POST['notify2']);
-       }
-       if (x($_POST,'notify3')) {
+       if(x($_POST,'notify3'))
                $notify += intval($_POST['notify3']);
-       }
-       if (x($_POST,'notify4')) {
+       if(x($_POST,'notify4'))
                $notify += intval($_POST['notify4']);
-       }
-       if (x($_POST,'notify5')) {
+       if(x($_POST,'notify5'))
                $notify += intval($_POST['notify5']);
-       }
-       if (x($_POST,'notify6')) {
+       if(x($_POST,'notify6'))
                $notify += intval($_POST['notify6']);
-       }
-       if (x($_POST,'notify7')) {
+       if(x($_POST,'notify7'))
                $notify += intval($_POST['notify7']);
-       }
-       if (x($_POST,'notify8')) {
+       if(x($_POST,'notify8'))
                $notify += intval($_POST['notify8']);
-       }
 
        // Adjust the page flag if the account type doesn't fit to the page flag.
-       if (($account_type == ACCOUNT_TYPE_PERSON) AND !in_array($page_flags, array(PAGE_NORMAL, PAGE_SOAPBOX, PAGE_FREELOVE))) {
+       if (($account_type == ACCOUNT_TYPE_PERSON) && !in_array($page_flags, array(PAGE_NORMAL, PAGE_SOAPBOX, PAGE_FREELOVE)))
                $page_flags = PAGE_NORMAL;
-       } elseif (($account_type == ACCOUNT_TYPE_ORGANISATION) AND !in_array($page_flags, array(PAGE_SOAPBOX))) {
+       elseif (($account_type == ACCOUNT_TYPE_ORGANISATION) && !in_array($page_flags, array(PAGE_SOAPBOX)))
                $page_flags = PAGE_SOAPBOX;
-       } elseif (($account_type == ACCOUNT_TYPE_NEWS) AND !in_array($page_flags, array(PAGE_SOAPBOX))) {
+       elseif (($account_type == ACCOUNT_TYPE_NEWS) && !in_array($page_flags, array(PAGE_SOAPBOX)))
                $page_flags = PAGE_SOAPBOX;
-       } elseif (($account_type == ACCOUNT_TYPE_COMMUNITY) AND !in_array($page_flags, array(PAGE_COMMUNITY, PAGE_PRVGROUP))) {
+       elseif (($account_type == ACCOUNT_TYPE_COMMUNITY) && !in_array($page_flags, array(PAGE_COMMUNITY, PAGE_PRVGROUP)))
                $page_flags = PAGE_COMMUNITY;
-       }
 
        $email_changed = false;
 
@@ -488,17 +473,15 @@ function settings_post(App $a) {
 
        $name_change = false;
 
-       if ($username != $a->user['username']) {
+       if($username != $a->user['username']) {
                $name_change = true;
-               if (strlen($username) > 40) {
+               if(strlen($username) > 40)
                        $err .= t(' Please use a shorter name.');
-               }
-               if (strlen($username) < 3) {
+               if(strlen($username) < 3)
                        $err .= t(' Name too short.');
-               }
        }
 
-       if ($email != $a->user['email']) {
+       if($email != $a->user['email']) {
                $email_changed = true;
                //  check for the correct password
                $r = q("SELECT `password` FROM `user`WHERE `uid` = %d LIMIT 1", intval(local_user()));
@@ -508,12 +491,11 @@ function settings_post(App $a) {
                        $email = $a->user['email'];
                }
                //  check the email is valid
-               if (! valid_email($email)) {
+               if(! valid_email($email))
                        $err .= t(' Not valid email.');
-               }
                //  ensure new email is not the admin mail
-               //if ((x($a->config,'admin_email')) && (strcasecmp($email,$a->config['admin_email']) == 0)) {
-               if (x($a->config,'admin_email')) {
+               //if((x($a->config,'admin_email')) && (strcasecmp($email,$a->config['admin_email']) == 0)) {
+               if(x($a->config,'admin_email')) {
                        $adminlist = explode(",", str_replace(" ", "", strtolower($a->config['admin_email'])));
                        if (in_array(strtolower($email), $adminlist)) {
                                $err .= t(' Cannot change to that email.');
@@ -522,13 +504,14 @@ function settings_post(App $a) {
                }
        }
 
-       if (strlen($err)) {
+       if(strlen($err)) {
                notice($err . EOL);
                return;
        }
 
-       if ($timezone != $a->user['timezone'] && strlen($timezone)) {
-               date_default_timezone_set($timezone);
+       if($timezone != $a->user['timezone']) {
+               if(strlen($timezone))
+                       date_default_timezone_set($timezone);
        }
 
        $str_group_allow   = perms2str($_POST['group_allow']);
@@ -541,17 +524,17 @@ function settings_post(App $a) {
 
        // If openid has changed or if there's an openid but no openidserver, try and discover it.
 
-       if ($openid != $a->user['openid'] || (strlen($openid) && (! strlen($openidserver)))) {
+       if($openid != $a->user['openid'] || (strlen($openid) && (! strlen($openidserver)))) {
                $tmp_str = $openid;
-               if (strlen($tmp_str) && validate_url($tmp_str)) {
+               if(strlen($tmp_str) && validate_url($tmp_str)) {
                        logger('updating openidserver');
                        require_once('library/openid.php');
                        $open_id_obj = new LightOpenID;
                        $open_id_obj->identity = $openid;
                        $openidserver = $open_id_obj->discover($open_id_obj->identity);
-               } else {
-                       $openidserver = '';
                }
+               else
+                       $openidserver = '';
        }
 
        set_pconfig(local_user(),'expire','items', $expire_items);
@@ -567,13 +550,14 @@ function settings_post(App $a) {
 
        set_pconfig(local_user(),'system','email_textonly', $email_textonly);
 
-       if ($page_flags == PAGE_PRVGROUP) {
+       if($page_flags == PAGE_PRVGROUP) {
                $hidewall = 1;
-               if ((! $str_contact_allow) && (! $str_group_allow) && (! $str_contact_deny) && (! $str_group_deny)) {
-                       if ($def_gid) {
+               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 {
+                       }
+                       else {
                                notice( t('Private forum has no privacy permissions and no default privacy group.') . EOL);
                        }
                }
@@ -613,9 +597,8 @@ function settings_post(App $a) {
                        dbesc($language),
                        intval(local_user())
        );
-       if ($r) {
+       if($r)
                info( t('Settings updated.') . EOL);
-       }
 
        // clear session language
        unset($_SESSION['language']);
@@ -634,7 +617,7 @@ function settings_post(App $a) {
        );
 
 
-       if ($name_change) {
+       if($name_change) {
                q("UPDATE `contact` SET `name` = '%s', `name-date` = '%s' WHERE `uid` = %d AND `self`",
                        dbesc($username),
                        dbesc(datetime_convert()),
@@ -650,8 +633,7 @@ function settings_post(App $a) {
                }
        }
 
-       require_once('include/profile_update.php');
-       profile_change();
+       proc_run(PRIORITY_LOW, 'include/profile_update.php', local_user());
 
        // Update the global contact for the user
        update_gcontact_for_user(local_user());
@@ -684,6 +666,8 @@ function settings_content(App $a) {
                return;
        }
 
+
+
        if (($a->argc > 1) && ($a->argv[1] === 'oauth')) {
 
                if (($a->argc > 2) && ($a->argv[2] === 'add')) {
@@ -728,13 +712,13 @@ function settings_content(App $a) {
                        return $o;
                }
 
-               if (($a->argc > 3) && ($a->argv[2] === 'delete')) {
+               if(($a->argc > 3) && ($a->argv[2] === 'delete')) {
                        check_form_security_token_redirectOnErr('/settings/oauth', 'settings_oauth', 't');
 
                        $r = q("DELETE FROM clients WHERE client_id='%s' AND uid=%d",
                                        dbesc($a->argv[3]),
                                        local_user());
-                       goaway(App::get_baseurl(true)."/settings/oauth/");
+                       goaway(System::baseUrl(true)."/settings/oauth/");
                        return;
                }
 
@@ -750,7 +734,7 @@ function settings_content(App $a) {
                $tpl = get_markup_template("settings_oauth.tpl");
                $o .= replace_macros($tpl, array(
                        '$form_security_token' => get_form_security_token("settings_oauth"),
-                       '$baseurl'      => App::get_baseurl(true),
+                       '$baseurl'      => System::baseUrl(true),
                        '$title'        => t('Connected Apps'),
                        '$add'          => t('Add application'),
                        '$edit'         => t('Edit'),
@@ -792,7 +776,7 @@ function settings_content(App $a) {
                        $arr[$fname] = array();
                        $arr[$fname][0] = $fdata[0];
                        foreach (array_slice($fdata,1) as $f) {
-                               $arr[$fname][1][] = array('feature_' .$f[0],$f[1],((intval(feature_enabled(local_user(),$f[0]))) ? "1" : ''),$f[2],array(t('Off'),t('On')));
+                               $arr[$fname][1][] = array('feature_' .$f[0],$f[1],((intval(feature_enabled(local_user(),$f[0]))) ? "1" : ''),$f[2],array(t('Off'), t('On')));
                        }
                }
 
@@ -840,7 +824,7 @@ function settings_content(App $a) {
 
                /// @TODO Found to much different usage to test empty/non-empty strings (e.g. empty(), trim() == '' ) which is wanted?
                if ($legacy_contact != "") {
-                       $a->page['htmlhead'] = '<meta http-equiv="refresh" content="0; URL='.App::get_baseurl().'/ostatus_subscribe?url='.urlencode($legacy_contact).'">';
+                       $a->page['htmlhead'] = '<meta http-equiv="refresh" content="0; URL='.System::baseUrl().'/ostatus_subscribe?url='.urlencode($legacy_contact).'">';
                }
 
                $settings_connectors .= '<div id="legacy-contact-wrapper" class="field input">';
@@ -849,7 +833,7 @@ function settings_content(App $a) {
                $settings_connectors .= '<span class="field_help">'.t('If you enter your old GNU Social/Statusnet account name here (in the format user@domain.tld), your contacts will be added automatically. The field will be emptied when done.').'</span>';
                $settings_connectors .= '</div>';
 
-               $settings_connectors .= '<p><a href="'.App::get_baseurl().'/repair_ostatus">'.t("Repair OStatus subscriptions").'</a></p>';
+               $settings_connectors .= '<p><a href="'.System::baseUrl().'/repair_ostatus">'.t("Repair OStatus subscriptions").'</a></p>';
 
                $settings_connectors .= '<div class="settings-submit-wrapper" ><input type="submit" name="general-submit" class="settings-submit" value="' . t('Save Settings') . '" /></div>';
 
@@ -866,10 +850,10 @@ function settings_content(App $a) {
                }
 
                $mail_disabled = ((function_exists('imap_open') && (! get_config('system','imap_disabled'))) ? 0 : 1);
-               if (get_config('system','dfrn_only'))
+               if(get_config('system','dfrn_only'))
                        $mail_disabled = 1;
 
-               if (! $mail_disabled) {
+               if(! $mail_disabled) {
                        $r = q("SELECT * FROM `mailacct` WHERE `uid` = %d LIMIT 1",
                                local_user()
                        );
@@ -890,12 +874,7 @@ function settings_content(App $a) {
 
                $tpl = get_markup_template("settings_connectors.tpl");
 
-               if (! service_class_allows(local_user(),'email_connect')) {
-                       $mail_disabled_message = upgrade_bool_message();
-               } else {
-                       $mail_disabled_message = (($mail_disabled) ? t('Email access is disabled on this site.') : '');
-               }
-
+               $mail_disabled_message = (($mail_disabled) ? t('Email access is disabled on this site.') : '');
 
                $o .= replace_macros($tpl, array(
                        '$form_security_token' => get_form_security_token("settings_connectors"),
@@ -961,7 +940,7 @@ function settings_content(App $a) {
                                $is_experimental = file_exists('view/theme/' . $th . '/experimental');
                                $unsupported = file_exists('view/theme/' . $th . '/unsupported');
                                $is_mobile = file_exists('view/theme/' . $th . '/mobile');
-                               if (!$is_experimental or ($is_experimental && (get_config('experimentals','exp_themes')==1 or get_config('experimentals','exp_themes')===false))){
+                               if (!$is_experimental || ($is_experimental && (get_config('experimentals','exp_themes')==1 || get_config('experimentals','exp_themes')===false))){
                                        $theme_name = (($is_experimental) ?  sprintf("%s - \x28Experimental\x29", $f) : $f);
                                        if ($is_mobile) {
                                                $mobile_themes[$f]=$theme_name;
@@ -1016,7 +995,7 @@ function settings_content(App $a) {
                        '$ptitle'       => t('Display Settings'),
                        '$form_security_token' => get_form_security_token("settings_display"),
                        '$submit'       => t('Save Settings'),
-                       '$baseurl' => App::get_baseurl(true),
+                       '$baseurl' => System::baseUrl(true),
                        '$uid' => local_user(),
 
                        '$theme'        => array('theme', t('Display Theme:'), $theme_selected, '', $themes, true),
@@ -1030,7 +1009,7 @@ function settings_content(App $a) {
                        '$first_day_of_week'    => array('first_day_of_week', t('Beginning of week:'), $first_day_of_week, '', $weekdays, false),
                        '$noinfo'       => array('noinfo', t("Don't show notices"), $noinfo, ''),
                        '$infinite_scroll'      => array('infinite_scroll', t("Infinite scroll"), $infinite_scroll, ''),
-                       '$no_auto_update'       => array('no_auto_update', t("Automatic updates only at the top of the network page"), $no_auto_update, 'When disabled, the network page is updated all the time, which could be confusing while reading.'),
+                       '$no_auto_update'       => array('no_auto_update', t("Automatic updates only at the top of the network page"), $no_auto_update, t('When disabled, the network page is updated all the time, which could be confusing while reading.')),
                        '$bandwidth_saver' => array('bandwidth_saver', t('Bandwith Saver Mode'), $bandwidth_saver, t('When enabled, embedded content is not displayed on automatic updates, they only show on page reload.')),
 
                        '$d_tset' => t('General Theme Settings'),
@@ -1113,7 +1092,7 @@ function settings_content(App $a) {
 
        // Set the account type to "Community" when the page is a community page but the account type doesn't fit
        // This is only happening on the first visit after the update
-       if (in_array($a->user['page-flags'], array(PAGE_COMMUNITY, PAGE_PRVGROUP)) AND
+       if (in_array($a->user['page-flags'], array(PAGE_COMMUNITY, PAGE_PRVGROUP)) &&
                ($a->user['account-type'] != ACCOUNT_TYPE_COMMUNITY))
                $a->user['account-type'] = ACCOUNT_TYPE_COMMUNITY;
 
@@ -1130,39 +1109,39 @@ function settings_content(App $a) {
                '$type_community'       => ACCOUNT_TYPE_COMMUNITY,
 
                '$account_person'       => array('account-type', t('Personal Page'), ACCOUNT_TYPE_PERSON,
-                                                                       t('This account is a regular personal profile'),
+                                                                       t('Account for a personal profile.'),
                                                                        ($a->user['account-type'] == ACCOUNT_TYPE_PERSON)),
 
                '$account_organisation' => array('account-type', t('Organisation Page'), ACCOUNT_TYPE_ORGANISATION,
-                                                                       t('This account is a profile for an organisation'),
+                                                                       t('Account for an organisation that automatically approves contact requests as "Followers".'),
                                                                        ($a->user['account-type'] == ACCOUNT_TYPE_ORGANISATION)),
 
                '$account_news'         => array('account-type', t('News Page'), ACCOUNT_TYPE_NEWS,
-                                                                       t('This account is a news account/reflector'),
+                                                                       t('Account for a news reflector that automatically approves contact requests as "Followers".'),
                                                                        ($a->user['account-type'] == ACCOUNT_TYPE_NEWS)),
 
                '$account_community'    => array('account-type', t('Community Forum'), ACCOUNT_TYPE_COMMUNITY,
-                                                                       t('This account is a community forum where people can discuss with each other'),
+                                                                       t('Account for community discussions.'),
                                                                        ($a->user['account-type'] == ACCOUNT_TYPE_COMMUNITY)),
 
                '$page_normal'          => array('page-flags', t('Normal Account Page'), PAGE_NORMAL,
-                                                                       t('This account is a normal personal profile'),
+                                                                       t('Account for a regular personal profile that requires manual approval of "Friends" and "Followers".'),
                                                                        ($a->user['page-flags'] == PAGE_NORMAL)),
 
                '$page_soapbox'         => array('page-flags', t('Soapbox Page'), PAGE_SOAPBOX,
-                                                                       t('Automatically approve all connection/friend requests as read-only fans'),
+                                                                       t('Account for a public profile that automatically approves contact requests as "Followers".'),
                                                                        ($a->user['page-flags'] == PAGE_SOAPBOX)),
 
                '$page_community'       => array('page-flags', t('Public Forum'), PAGE_COMMUNITY,
-                                                                       t('Automatically approve all contact requests'),
+                                                                       t('Automatically approves all contact requests.'),
                                                                        ($a->user['page-flags'] == PAGE_COMMUNITY)),
 
                '$page_freelove'        => array('page-flags', t('Automatic Friend Page'), PAGE_FREELOVE,
-                                                                       t('Automatically approve all connection/friend requests as friends'),
+                                                                       t('Account for a popular profile that automatically approves contact requests as "Friends".'),
                                                                        ($a->user['page-flags'] == PAGE_FREELOVE)),
 
                '$page_prvgroup'        => array('page-flags', t('Private Forum [Experimental]'), PAGE_PRVGROUP,
-                                                                       t('Private forum - approved members only'),
+                                                                       t('Requires manual approval of contact requests.'),
                                                                        ($a->user['page-flags'] == PAGE_PRVGROUP)),
 
 
@@ -1180,45 +1159,45 @@ function settings_content(App $a) {
        if (get_config('system','publish_all')) {
                $profile_in_dir = '<input type="hidden" name="profile_in_directory" value="1" />';
        } else {
-               $profile_in_dir = replace_macros($opt_tpl,array(
-                       '$field'        => array('profile_in_directory', t('Publish your default profile in your local site directory?'), $profile['publish'], '', array(t('No'),t('Yes'))),
+               $profile_in_dir = replace_macros($opt_tpl, array(
+                       '$field' => array('profile_in_directory', t('Publish your default profile in your local site directory?'), $profile['publish'], t("Your profile may be visible in public."), array(t('No'), t('Yes')))
                ));
        }
 
        if (strlen(get_config('system','directory'))) {
-               $profile_in_net_dir = replace_macros($opt_tpl,array(
-                       '$field'        => array('profile_in_netdirectory', t('Publish your default profile in the global social directory?'), $profile['net-publish'], '', array(t('No'),t('Yes'))),
+               $profile_in_net_dir = replace_macros($opt_tpl, array(
+                       '$field' => array('profile_in_netdirectory', t('Publish your default profile in the global social directory?'), $profile['net-publish'], '', array(t('No'), t('Yes')))
                ));
        } else {
                $profile_in_net_dir = '';
        }
 
        $hide_friends = replace_macros($opt_tpl,array(
-                       '$field'        => array('hide-friends', t('Hide your contact/friend list from viewers of your default profile?'), $profile['hide-friends'], '', array(t('No'),t('Yes'))),
+                       '$field'        => array('hide-friends', t('Hide your contact/friend list from viewers of your default profile?'), $profile['hide-friends'], '', array(t('No'), t('Yes'))),
        ));
 
        $hide_wall = replace_macros($opt_tpl,array(
-                       '$field'        => array('hidewall',  t('Hide your profile details from unknown viewers?'), $a->user['hidewall'], t("If enabled, posting public messages to Diaspora and other networks isn't possible."), array(t('No'),t('Yes'))),
+                       '$field'        => array('hidewall',  t('Hide your profile details from unknown viewers?'), $a->user['hidewall'], t("If enabled, posting public messages to Diaspora and other networks isn't possible."), array(t('No'), t('Yes'))),
 
        ));
 
        $blockwall = replace_macros($opt_tpl,array(
-                       '$field'        => array('blockwall',  t('Allow friends to post to your profile page?'), (intval($a->user['blockwall']) ? '0' : '1'), '', array(t('No'),t('Yes'))),
+                       '$field'        => array('blockwall',  t('Allow friends to post to your profile page?'), (intval($a->user['blockwall']) ? '0' : '1'), '', array(t('No'), t('Yes'))),
 
        ));
 
        $blocktags = replace_macros($opt_tpl,array(
-                       '$field'        => array('blocktags',  t('Allow friends to tag your posts?'), (intval($a->user['blocktags']) ? '0' : '1'), '', array(t('No'),t('Yes'))),
+                       '$field'        => array('blocktags',  t('Allow friends to tag your posts?'), (intval($a->user['blocktags']) ? '0' : '1'), '', array(t('No'), t('Yes'))),
 
        ));
 
        $suggestme = replace_macros($opt_tpl,array(
-                       '$field'        => array('suggestme',  t('Allow us to suggest you as a potential friend to new members?'), $suggestme, '', array(t('No'),t('Yes'))),
+                       '$field'        => array('suggestme',  t('Allow us to suggest you as a potential friend to new members?'), $suggestme, '', array(t('No'), t('Yes'))),
 
        ));
 
        $unkmail = replace_macros($opt_tpl,array(
-                       '$field'        => array('unkmail',  t('Permit unknown people to send you private mail?'), $unkmail, '', array(t('No'),t('Yes'))),
+                       '$field'        => array('unkmail',  t('Permit unknown people to send you private mail?'), $unkmail, '', array(t('No'), t('Yes'))),
 
        ));
 
@@ -1234,7 +1213,7 @@ function settings_content(App $a) {
        $tpl_addr = get_markup_template("settings_nick_set.tpl");
 
        $prof_addr = replace_macros($tpl_addr,array(
-               '$desc' => sprintf(t("Your Identity Address is <strong>'%s'</strong> or '%s'."), $nickname.'@'.$a->get_hostname().$a->get_path(), App::get_baseurl().'/profile/'.$nickname),
+               '$desc' => sprintf(t("Your Identity Address is <strong>'%s'</strong> or '%s'."), $nickname.'@'.$a->get_hostname().$a->get_path(), System::baseUrl().'/profile/'.$nickname),
                '$basepath' => $a->get_hostname()
        ));
 
@@ -1244,11 +1223,11 @@ function settings_content(App $a) {
                'days' => array('expire',  t("Automatically expire posts after this many days:"), $expire, t('If empty, posts will not expire. Expired posts will be deleted')),
                'advanced' => t('Advanced expiration settings'),
                'label' => t('Advanced Expiration'),
-               'items' => array('expire_items',  t("Expire posts:"), $expire_items, '', array(t('No'),t('Yes'))),
-               'notes' => array('expire_notes',  t("Expire personal notes:"), $expire_notes, '', array(t('No'),t('Yes'))),
-               'starred' => array('expire_starred',  t("Expire starred posts:"), $expire_starred, '', array(t('No'),t('Yes'))),
-               'photos' => array('expire_photos',  t("Expire photos:"), $expire_photos, '', array(t('No'),t('Yes'))),
-               'network_only' => array('expire_network_only',  t("Only expire posts by others:"), $expire_network_only, '', array(t('No'),t('Yes'))),
+               'items' => array('expire_items',  t("Expire posts:"), $expire_items, '', array(t('No'), t('Yes'))),
+               'notes' => array('expire_notes',  t("Expire personal notes:"), $expire_notes, '', array(t('No'), t('Yes'))),
+               'starred' => array('expire_starred',  t("Expire starred posts:"), $expire_starred, '', array(t('No'), t('Yes'))),
+               'photos' => array('expire_photos',  t("Expire photos:"), $expire_photos, '', array(t('No'), t('Yes'))),
+               'network_only' => array('expire_network_only',  t("Only expire posts by others:"), $expire_network_only, '', array(t('No'), t('Yes'))),
        );
 
        require_once('include/group.php');
@@ -1282,7 +1261,7 @@ function settings_content(App $a) {
                '$ptitle'       => t('Account Settings'),
 
                '$submit'       => t('Save Settings'),
-               '$baseurl' => App::get_baseurl(true),
+               '$baseurl' => System::baseUrl(true),
                '$uid' => local_user(),
                '$form_security_token' => get_form_security_token("settings"),
                '$nickname_block' => $prof_addr,
@@ -1306,7 +1285,7 @@ function settings_content(App $a) {
 
                '$h_prv'        => t('Security and Privacy Settings'),
 
-               '$maxreq'       => array('maxreq', t('Maximum Friend Requests/Day:'), $maxreq ,t("\x28to prevent spam abuse\x29")),
+               '$maxreq'       => array('maxreq', t('Maximum Friend Requests/Day:'), $maxreq , t("\x28to prevent spam abuse\x29")),
                '$permissions' => t('Default Post Permissions'),
                '$permdesc' => t("\x28click to open/close\x29"),
                '$visibility' => $profile['net-publish'],
@@ -1336,7 +1315,7 @@ function settings_content(App $a) {
                '$hide_friends' => $hide_friends,
                '$hide_wall' => $hide_wall,
                '$unkmail' => $unkmail,
-               '$cntunkmail'   => array('cntunkmail', t('Maximum private messages per day from unknown people:'), $cntunkmail ,t("\x28to prevent spam abuse\x29")),
+               '$cntunkmail'   => array('cntunkmail', t('Maximum private messages per day from unknown people:'), $cntunkmail , t("\x28to prevent spam abuse\x29")),
 
 
                '$h_not'        => t('Notification Settings'),