X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fsettings.php;h=e2d3f4d367bf94ebdea47c62c85d3df3fb5d8f22;hb=0c9cc29a51941eb572bf16fd5489d0947d47d033;hp=556fb63e8ad294c35dae29fe6131cdf7971afba3;hpb=2be91d022692bf77db0fd03089c8adfd87e65d81;p=friendica.git
diff --git a/mod/settings.php b/mod/settings.php
index 556fb63e8a..e2d3f4d367 100644
--- a/mod/settings.php
+++ b/mod/settings.php
@@ -1,5 +1,7 @@
t('Account'),
- 'url' => $a->get_baseurl(true).'/settings',
+ 'url' => 'settings',
'selected' => (($a->argc == 1) && ($a->argv[0] === 'settings')?'active':''),
'accesskey' => 'o',
),
- array(
- 'label' => t('Additional features'),
- 'url' => $a->get_baseurl(true).'/settings/features',
- 'selected' => (($a->argc > 1) && ($a->argv[1] === 'features') ? 'active' : ''),
- 'accesskey' => 't',
- ),
- array(
- 'label' => t('Display'),
- 'url' => $a->get_baseurl(true).'/settings/display',
- 'selected' => (($a->argc > 1) && ($a->argv[1] === 'display')?'active':''),
- 'accesskey' => 'i',
- ),
+ );
- array(
- 'label' => t('Social Networks'),
- 'url' => $a->get_baseurl(true).'/settings/connectors',
- 'selected' => (($a->argc > 1) && ($a->argv[1] === 'connectors')?'active':''),
- 'accesskey' => 'w',
- ),
- array(
- 'label' => t('Plugins'),
- 'url' => $a->get_baseurl(true).'/settings/addon',
- 'selected' => (($a->argc > 1) && ($a->argv[1] === 'addon')?'active':''),
- 'accesskey' => 'l',
- ),
- array(
- 'label' => t('Delegations'),
- 'url' => $a->get_baseurl(true).'/delegate',
- 'selected' => (($a->argc == 1) && ($a->argv[0] === 'delegate')?'active':''),
- 'accesskey' => 'd',
- ),
- array(
- 'label' => t('Connected apps'),
- 'url' => $a->get_baseurl(true) . '/settings/oauth',
- 'selected' => (($a->argc > 1) && ($a->argv[1] === 'oauth')?'active':''),
- 'accesskey' => 'b',
- ),
- array(
- 'label' => t('Export personal data'),
- 'url' => $a->get_baseurl(true) . '/uexport',
- 'selected' => (($a->argc == 1) && ($a->argv[0] === 'uexport')?'active':''),
- 'accesskey' => 'e',
- ),
- array(
- 'label' => t('Remove account'),
- 'url' => $a->get_baseurl(true) . '/removeme',
- 'selected' => (($a->argc == 1) && ($a->argv[0] === 'removeme')?'active':''),
- 'accesskey' => 'r',
- )
+ if(get_features()) {
+ $tabs[] = array(
+ 'label' => t('Additional features'),
+ 'url' => 'settings/features',
+ 'selected' => (($a->argc > 1) && ($a->argv[1] === 'features') ? 'active' : ''),
+ 'accesskey' => 't',
+ );
+ }
+
+ $tabs[] = array(
+ 'label' => t('Display'),
+ 'url' => 'settings/display',
+ 'selected' => (($a->argc > 1) && ($a->argv[1] === 'display')?'active':''),
+ 'accesskey' => 'i',
);
+ $tabs[] = array(
+ 'label' => t('Social Networks'),
+ 'url' => 'settings/connectors',
+ 'selected' => (($a->argc > 1) && ($a->argv[1] === 'connectors')?'active':''),
+ 'accesskey' => 'w',
+ );
+
+ $tabs[] = array(
+ 'label' => t('Plugins'),
+ 'url' => 'settings/addon',
+ 'selected' => (($a->argc > 1) && ($a->argv[1] === 'addon')?'active':''),
+ 'accesskey' => 'l',
+ );
+
+ $tabs[] = array(
+ 'label' => t('Delegations'),
+ 'url' => 'delegate',
+ 'selected' => (($a->argc == 1) && ($a->argv[0] === 'delegate')?'active':''),
+ 'accesskey' => 'd',
+ );
+
+ $tabs[] = array(
+ 'label' => t('Connected apps'),
+ 'url' => 'settings/oauth',
+ 'selected' => (($a->argc > 1) && ($a->argv[1] === 'oauth')?'active':''),
+ 'accesskey' => 'b',
+ );
+
+ $tabs[] = array(
+ 'label' => t('Export personal data'),
+ 'url' => 'uexport',
+ 'selected' => (($a->argc == 1) && ($a->argv[0] === 'uexport')?'active':''),
+ 'accesskey' => 'e',
+ );
+
+ $tabs[] = array(
+ 'label' => t('Remove account'),
+ 'url' => 'removeme',
+ 'selected' => (($a->argc == 1) && ($a->argv[0] === 'removeme')?'active':''),
+ 'accesskey' => 'r',
+ );
+
+
$tabtpl = get_markup_template("generic_links_widget.tpl");
$a->page['aside'] = replace_macros($tabtpl, array(
'$title' => t('Settings'),
@@ -189,6 +201,7 @@ function settings_post(&$a) {
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')) {
@@ -284,13 +297,16 @@ function settings_post(&$a) {
$theme = ((x($_POST,'theme')) ? notags(trim($_POST['theme'])) : $a->user['theme']);
$mobile_theme = ((x($_POST,'mobile_theme')) ? notags(trim($_POST['mobile_theme'])) : '');
$nosmile = ((x($_POST,'nosmile')) ? intval($_POST['nosmile']) : 0);
+ $first_day_of_week = ((x($_POST,'first_day_of_week')) ? intval($_POST['first_day_of_week']) : 0);
$noinfo = ((x($_POST,'noinfo')) ? intval($_POST['noinfo']) : 0);
$infinite_scroll = ((x($_POST,'infinite_scroll')) ? intval($_POST['infinite_scroll']) : 0);
$no_auto_update = ((x($_POST,'no_auto_update')) ? intval($_POST['no_auto_update']) : 0);
$browser_update = ((x($_POST,'browser_update')) ? intval($_POST['browser_update']) : 0);
- $browser_update = $browser_update * 1000;
- if($browser_update < 10000)
- $browser_update = 10000;
+ if ($browser_update != -1) {
+ $browser_update = $browser_update * 1000;
+ if ($browser_update < 10000)
+ $browser_update = 10000;
+ }
$itemspage_network = ((x($_POST,'itemspage_network')) ? intval($_POST['itemspage_network']) : 40);
if($itemspage_network > 100)
@@ -308,6 +324,7 @@ function settings_post(&$a) {
set_pconfig(local_user(),'system','itemspage_network', $itemspage_network);
set_pconfig(local_user(),'system','itemspage_mobile_network', $itemspage_mobile_network);
set_pconfig(local_user(),'system','no_smilies',$nosmile);
+ set_pconfig(local_user(),'system','first_day_of_week',$first_day_of_week);
set_pconfig(local_user(),'system','ignore_info',$noinfo);
set_pconfig(local_user(),'system','infinite_scroll',$infinite_scroll);
set_pconfig(local_user(),'system','no_auto_update',$no_auto_update);
@@ -328,16 +345,16 @@ function settings_post(&$a) {
);
call_hooks('display_settings_post', $_POST);
- goaway($a->get_baseurl(true) . '/settings/display' );
+ goaway('settings/display' );
return; // NOTREACHED
}
check_form_security_token_redirectOnErr('/settings', 'settings');
if (x($_POST,'resend_relocate')) {
- proc_run('php', 'include/notifier.php', 'relocate', local_user());
+ proc_run(PRIORITY_HIGH, 'include/notifier.php', 'relocate', local_user());
info(t("Relocate message has been send to your contacts"));
- goaway($a->get_baseurl(true) . '/settings');
+ goaway('settings');
}
call_hooks('settings_post', $_POST);
@@ -384,6 +401,8 @@ function settings_post(&$a) {
$username = ((x($_POST,'username')) ? notags(trim($_POST['username'])) : '');
$email = ((x($_POST,'email')) ? notags(trim($_POST['email'])) : '');
$timezone = ((x($_POST,'timezone')) ? notags(trim($_POST['timezone'])) : '');
+ $language = ((x($_POST,'language')) ? notags(trim($_POST['language'])) : '');
+
$defloc = ((x($_POST,'defloc')) ? notags(trim($_POST['defloc'])) : '');
$openid = ((x($_POST,'openid_url')) ? notags(trim($_POST['openid_url'])) : '');
$maxreq = ((x($_POST,'maxreq')) ? intval($_POST['maxreq']) : 0);
@@ -530,7 +549,15 @@ function settings_post(&$a) {
}
}
- $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",
+
+ $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, `language` = '%s'
+ WHERE `uid` = %d",
dbesc($username),
dbesc($email),
dbesc($openid),
@@ -552,11 +579,15 @@ function settings_post(&$a) {
intval($blocktags),
intval($unkmail),
intval($cntunkmail),
+ dbesc($language),
intval(local_user())
);
if($r)
info( t('Settings updated.') . EOL);
+ // clear session language
+ unset($_SESSION['language']);
+
$r = q("UPDATE `profile`
SET `publish` = %d,
`name` = '%s',
@@ -572,7 +603,7 @@ function settings_post(&$a) {
if($name_change) {
- q("UPDATE `contact` SET `name` = '%s', `name-date` = '%s' WHERE `uid` = %d AND `self` = 1",
+ q("UPDATE `contact` SET `name` = '%s', `name-date` = '%s' WHERE `uid` = %d AND `self`",
dbesc($username),
dbesc(datetime_convert()),
intval(local_user())
@@ -583,14 +614,15 @@ function settings_post(&$a) {
// Update global directory in background
$url = $_SESSION['my_url'];
if($url && strlen(get_config('system','directory')))
- proc_run('php',"include/directory.php","$url");
-
+ proc_run(PRIORITY_LOW, "include/directory.php", $url);
}
-
require_once('include/profile_update.php');
profile_change();
+ // Update the global contact for the user
+ update_gcontact_for_user(local_user());
+
//$_SESSION['theme'] = $theme;
if($email_changed && $a->config['register_policy'] == REGISTER_VERIFY) {
@@ -599,12 +631,11 @@ function settings_post(&$a) {
}
- goaway($a->get_baseurl(true) . '/settings' );
+ goaway('settings');
return; // NOTREACHED
}
-if(! function_exists('settings_content')) {
function settings_content(&$a) {
$o = '';
@@ -729,7 +760,7 @@ function settings_content(&$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(get_pconfig(local_user(),'feature',$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')));
}
}
@@ -770,8 +801,11 @@ function settings_content(&$a) {
$settings_connectors .= ''.t('If you receive a message from an unknown OStatus user, this option decides what to do. If it is checked, a new contact will be created for every unknown user.').'';
$settings_connectors .= '';
+ $default_group = get_pconfig(local_user(), 'ostatus', 'default_group');
$legacy_contact = get_pconfig(local_user(), 'ostatus', 'legacy_contact');
+ $settings_connectors .= mini_group_select(local_user(), $default_group, t("Default group for OStatus contacts"));
+
if ($legacy_contact != "")
$a->page['htmlhead'] = '';
@@ -905,7 +939,8 @@ function settings_content(&$a) {
$mobile_theme_selected = (!x($_SESSION,'mobile-theme')? $default_mobile_theme : $_SESSION['mobile-theme']);
$browser_update = intval(get_pconfig(local_user(), 'system','update_interval'));
- $browser_update = (($browser_update == 0) ? 40 : $browser_update / 1000); // default if not set: 40 seconds
+ if (intval($browser_update) != -1)
+ $browser_update = (($browser_update == 0) ? 40 : $browser_update / 1000); // default if not set: 40 seconds
$itemspage_network = intval(get_pconfig(local_user(), 'system','itemspage_network'));
$itemspage_network = (($itemspage_network > 0 && $itemspage_network < 101) ? $itemspage_network : 40); // default if not set: 40 items
@@ -915,6 +950,10 @@ function settings_content(&$a) {
$nosmile = get_pconfig(local_user(),'system','no_smilies');
$nosmile = (($nosmile===false)? '0': $nosmile); // default if not set: 0
+ $first_day_of_week = get_pconfig(local_user(),'system','first_day_of_week');
+ $first_day_of_week = (($first_day_of_week===false)? '0': $first_day_of_week); // default if not set: 0
+ $weekdays = array(0 => t("Sunday"), 1 => t("Monday"));
+
$noinfo = get_pconfig(local_user(),'system','ignore_info');
$noinfo = (($noinfo===false)? '0': $noinfo); // default if not set: 0
@@ -940,14 +979,19 @@ function settings_content(&$a) {
'$theme' => array('theme', t('Display Theme:'), $theme_selected, '', $themes, true),
'$mobile_theme' => array('mobile_theme', t('Mobile Theme:'), $mobile_theme_selected, '', $mobile_themes, false),
- '$ajaxint' => array('browser_update', t("Update browser every xx seconds"), $browser_update, t('Minimum of 10 seconds, no maximum')),
+ '$ajaxint' => array('browser_update', t("Update browser every xx seconds"), $browser_update, t('Minimum of 10 seconds. Enter -1 to disable it.')),
'$itemspage_network' => array('itemspage_network', t("Number of items to display per page:"), $itemspage_network, t('Maximum of 100 items')),
'$itemspage_mobile_network' => array('itemspage_mobile_network', t("Number of items to display per page when viewed from mobile device:"), $itemspage_mobile_network, t('Maximum of 100 items')),
'$nosmile' => array('nosmile', t("Don't show emoticons"), $nosmile, ''),
+ '$calendar_title' => t('Calendar'),
+ '$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.'),
+ '$d_tset' => t('General Theme Settings'),
+ '$d_ctset' => t('Custom Theme Settings'),
+ '$d_cset' => t('Content Settings'),
'stitle' => t('Theme settings'),
'$theme_config' => $theme_config,
));
@@ -977,6 +1021,7 @@ function settings_content(&$a) {
$email = $a->user['email'];
$nickname = $a->user['nickname'];
$timezone = $a->user['timezone'];
+ $language = $a->user['language'];
$notify = $a->user['notify-flags'];
$defloc = $a->user['default-location'];
$openid = $a->user['openid'];
@@ -1117,7 +1162,7 @@ function settings_content(&$a) {
info( t('Profile is not published.') . EOL );
- //$subdir = ((strlen($a->get_path())) ? '
' . t('or') . ' ' . $a->get_baseurl(true) . '/profile/' . $nickname : '');
+ //$subdir = ((strlen($a->get_path())) ? '
' . t('or') . ' ' . 'profile/' . $nickname : '');
$tpl_addr = get_markup_template("settings_nick_set.tpl");
@@ -1160,6 +1205,8 @@ function settings_content(&$a) {
else
$public_post_link = '&public=1';
+ /* Installed langs */
+ $lang_choices = get_avaiable_languages();
$o .= replace_macros($stpl, array(
'$ptitle' => t('Account Settings'),
@@ -1182,6 +1229,7 @@ function settings_content(&$a) {
'$username' => array('username', t('Full Name:'), $username,''),
'$email' => array('email', t('Email Address:'), $email, '', '', '', 'email'),
'$timezone' => array('timezone_select' , t('Your Timezone:'), select_timezone($timezone), ''),
+ '$language' => array('language', t('Your Language:'), $language, t('Set the language we use to show you friendica interface and to send you emails'), $lang_choices),
'$defloc' => array('defloc', t('Default Post Location:'), $defloc, ''),
'$allowloc' => array('allow_location', t('Use Browser Location:'), ($a->user['allow_location'] == 1), ''),
@@ -1236,8 +1284,8 @@ function settings_content(&$a) {
'$notify7' => array('notify7', t('You are tagged in a post'), ($notify & NOTIFY_TAGSELF), NOTIFY_TAGSELF, ''),
'$notify8' => array('notify8', t('You are poked/prodded/etc. in a post'), ($notify & NOTIFY_POKE), NOTIFY_POKE, ''),
- '$desktop_notifications' => array('desktop_notifications', t('Activate desktop notifications') , false, t('Show desktop popup on new notifications')),
-
+ '$desktop_notifications' => array('desktop_notifications', t('Activate desktop notifications') , false, t('Show desktop popup on new notifications')),
+
'$email_textonly' => array('email_textonly', t('Text-only notification emails'),
get_pconfig(local_user(),'system','email_textonly'),
t('Send text only notification emails, without the html part')),
@@ -1258,5 +1306,5 @@ function settings_content(&$a) {
return $o;
-}}
+}